スローライフエンジニアライフ

私naoの色々なことを書いたブログ

【未経験者が語る】プログラミング未経験が独学を始めて1ヵ月の人がやること。

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

★この記事を書いてからSE就職した僕が振り返っても我ながら良い記事だと思いました。だけど、一個言えることは、プログラミングは勉強ではなく、開発をするためにすること。何でもいいから開発をしてください。

 

 

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

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

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

qiita.com

↑技術ブログQiitaの方でもプログラミング独学者に向けた記事を書いているので、是非こちらも読んでみてください。

 

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

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

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

 

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

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

触れてみて最初に思ったこと『意外といけるんじゃないか?』

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

しかし、フロントサイドのプログラミングは実はprogateのような開発環境から実行環境まで整えられているところではプログラムが動くが、実際に習得した言語を用いてweb上に個人で公開してみるとなると、まず開発環境を整えて、サイトを作成し、そのあとに数多くあるレンタルサーバを月額500円~1000円で借りて始めて世に公開できるものだということが分かった。

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

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

 

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

 

ブログとかホームページを作成するということは、web上で公開して目的を達成する必要があるために仕方なくプログラミングをしているというのが普通だと思う。

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

 

言語を一つ決めて本格的に技術書を買う。僕はJava

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

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

 

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

『スッキリわかるJava 入門』(2600円税抜)

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

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

スッキリわかるJava入門 第2版 スッキリわかるシリーズ

スッキリわかるJava入門 第2版 スッキリわかるシリーズ

 

 

自分のパソコンで開発環境を構築・インストール。

僕は現在、Eclipseという統合開発環境をインストールして色々書いている。

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

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

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

 

自分で開発をしてみる経験がめちゃくちゃ大事。

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

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

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

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

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

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

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

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

 

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

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

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

まとめ

プログラミング独学初心者がやること。

  • Progateなど、オンライン学習サービスを始める。

  • 開発環境をインストールし、パソコンで構築する。

  • 実際にモノ(サイト、アプリ、ゲームetc...)を開発する。

この順番が王道です。ほぼこれからプログラミングが流行り、多くの方が経験するでしょう。

 

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