未経験者がプログラミングの独学を初めて１ヵ月経った今、考えていること。

プログラミングって面白そうじゃん！って思い始めてprogateにお世話になってからはや一ヵ月。HTML、CSS、PHP、Javaに触れてみて感じたことを書きたいと思います。

 
# 目次

* プログラミングを始めるならprogateがおすすめ*
* 初心者におすすめな言語が誰にでもおすすめじゃない。*
* Javaの勉強を本格スタート。*
* 自宅のパソコンでJavaの開発環境を整える。*
* 自分で開発をしてみる経験が大事。*


# プログラミングを始めるならprogateがおすすめ。


初心者がプログラミングに興味を持ち始めたらまず最初に手を出すのがオンライン学習サービスだと思う。なぜなら途中まで無料だから。

書籍だとどうしても2500円以上かかることが想定される。学生にとってはもしかしたら『プログラミング合わないや、っぽい☆』ってなったときに初期投資として出資した2500円は少々高いからである。

 

ネット検索をするとプログラミング初心者に向けたブログやサイト、サービスがたくさんある。しかし、全ての情報が自分にとって本当に分かりやすく、かつ有益な情報になるとは限らないことが判明した。

そこで、初心者おすすめの動画コンテンツ、ドットインストールとホリエモンが絶賛しているprogateが最初に目につく。

『動画で見たってなんかプログラミングをしているとは言いづらいし、まあprogateかな。』ということでプログラミング開始。

 

# 初心者におすすめな言語が誰にでもおすすめじゃない。

僕はプログラミングなんか全くの無知だったし、挫折とかしたくなかったので、まずは習得が簡単と言われている~~フロントサイドの言語(PHP・HTML・CSS)~~を習得してみようと考えた。

触れてみて最初に思ったこと『よかった、意外と簡単だ。』(←少し触れた程度)

まあ、学習を進めていけばそんなことはないのだが、僕がこれらの言語に触れてみて正直こう感じた。

しかし、~~フロントサイドのプログラミングは~~(PHPはフロントサイドではない)実はprogateのような開発環境から実行環境まで整えられているところではプログラムが動くが、実際に習得した言語を用いてweb上に個人で公開してみるとなると、まずwordpressをインストールして、そのあとにさくらネット(？)とか色々あるレンタルサーバーを月額500円～1000円で借りて始めて公開できるということを知った。

まずそもそも、webで公開したいようなモノが僕になかった。

ネット販売をしろと？趣味で撮った写真を公開しろと？作った料理でも公開するのか？

 

**実際、プログラミングは手段でしかないのでは。**

 

Webサイト、Webサービス、アプリ、ゲームを作成するのは、なぜか？
考えてみましたが、結局僕自身に対して出た答えは**『web上で公開することで果たせる目的を作成するための手段、それがプログラミングだ』**ということ。

僕はそもそもプログラミングを手段として何か目的を達成するようなその目的自体がなかったので、そもそもこれやってても意味がないな。と思い急遽変更。Javaの学習を始めた。

##Javaの勉強を本格スタート。##

Javaを触れてみて感想。『ゲーム作れるなら当分ゲームを作ることが目標でできそうやん。』

あとwebだけじゃなくてandroidアプリとか色々作れるらしいし、汎用性も高く、人気の言語ということで目的がそこまではっきりしていない人ならJavaから初めてみるのがおすすめ。(だと思う。巷だとPHPとかPerlから始めるのがおすすめらしいが)

 

Javaでプログラミングのいろはを学ぼうと思い、ついに書籍を購入。

[『スッキリわかるJava　入門』(2600円税抜)](https://www.amazon.co.jp/%E3%82%B9%E3%83%83%E3%82%AD%E3%83%AA%E3%82%8F%E3%81%8B%E3%82%8BJava%E5%85%A5%E9%96%80-%E7%AC%AC3%E7%89%88-%E3%82%B9%E3%83%83%E3%82%AD%E3%83%AA%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E4%B8%AD%E5%B1%B1%E6%B8%85%E5%96%AC/dp/4295007803/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=2GIUED6R5VMG4&dchild=1&keywords=%E3%81%99%E3%81%A3%E3%81%8D%E3%82%8A%E5%88%86%E3%81%8B%E3%82%8Bjava&qid=1611246464&sprefix=%E3%81%99%E3%81%A3%E3%81%8D%E3%82%8A%E5%88%86%E3%81%8B%E3%82%8BJava%2Cinstant-video%2C301&sr=8-1)

本屋に行くと『はじめてのJava』と『スッキリわかるJava』で入門書２大勢力となっているらしかった。

僕は本屋が閉店するギリギリのタイミングまでめちゃくちゃ悩んだ挙句にイラストが面白いという子供みたいな理由でスッキリの方を選んだ。(まあモチベーションが保てたし、これで正解だったと思う)


*スッキリわかるJava入門 第2版 スッキリわかるシリーズ
作者: 中山清喬,国本大悟
出版社/メーカー: インプレス
発売日: 2014/08/12*
 
 

# 自宅のパソコンでJavaの開発環境を整える。


僕はeclipseという統合開発環境(JDK)をインストールして色々書いている。

オラクル社のJava開発環境だとなんかテキスト入力をしていく画面の他にコンパイラとかテキストエディタとか３つくらいインストールしなくちゃいけないらしく、めんどくさいので、eclipseというこれらを統合した開発環境を無料でインストールした。

でもこれってなんか最初英語で表記されているので、日本語化するとかなんとかでやたら苦労した。(日本語化が一番苦労した)

で、progateさんとかpaizaさんとか色々開発環境が整っている鳥かごから巣立っていざ本格的にJavaの開発をするための環境が整い、本も購入したことだし、ここから一気に勉強が加速した。

 

# 自分で開発をしてみる経験が大事。

Javaで開発をしようと思うと、オブジェクト指向が難関だと言われていて、ここで挫折してしまう人が多いのだとか。

しかし、オブジェクト指向が難しいのではなくて、そもそもオブジェクト指向を使って開発をしていく必要がなく、初心者・独学者にとって必要性が感じられないという理由で、モチベーションが下がるのだと思う。

一通り、開発ができるくらいの学習が済んだら即行で開発したらいいんじゃないかと思う。

しかし、そこで立ちはだかる難関が出てくる。

『ところでゲーム開発ってどうしたらいいの？』

今まで本とかオンラインサービスで勉強していたことは開発をするためのアイデアを提供してくれるわけではなかったし、自分が作りたいのを手助けしてくれる物ではなかった。当然ネット検索とか他の書籍を買う必要が出てくる。

APIリファレンスを駆使してやっとゲーム開発ができるのがわかって、いざAPIを参照してみても、どれが自分の作りたいやつに必要なメソッド、あるいはクラスなのかわからない。

ということでAPIリファレンスを駆使する感覚と自分が作りたいものを想像し、設計に落とすという段階を踏むための経験をしなくてはならない状況にあるのが今の状況。

 

実際にプログラミングの勉強だといって肩に力を入れて本を買い、最後まで読み通すことはそこまで大事ではなくて、むしろ、開発をして作品を残すということが重要。

だと思って、今色々と試行錯誤しているところ。

一つ何かを開発したという経験が多分プログラミングでは大事なんじゃないかなという考えに至っている状態です。

 

以上僕がプログラミングを勉強し始めて１ヵ月が経過した時点での過程記録でした。

※追記
~~qiitaに初めての投稿ですが、はてなとは違い、HTMLの知識が必要なんですねｗ
機能が最初からない分俄然やる気がわきますね。~~