初学者的プログラミング勉強法まとめ
札幌でプログラミングを勉強しているユエと申します。
主にReactを使ってWebを開発するのをメインでやNode.js、ちょっとSwiftを勉強中です。
プログラミングにおいて、インプットだけではなくアウトプットも非常に重要だなーと感じる事が最近多く、まずは初学者的な視点から勉強方法をまとめてみました。
抽象的だったり噛み砕いた表現になっている箇所も多いので、プログラミング歴1年弱の初学者の所感程度に読んでいただけると幸いです。
1 コードをまる暗記ではなく使い方を記憶する
コードの書き方をまるまる暗記するのではなく いつ使う、どう使うかが大切という事です。
もちろん記述方法を記憶することでコードを書く速度や生産性は上がりますが、動いたとしてもなぜ使うのかやコードを読めていないとバグの温床になったり、変更したい時や振り返った時に意味が分からない、という事が起きます。
関連ワードやコードの検索方法を癖づける事を普段から意識して勉強するとよりスムーズだと思います。
2 他の言語を始める前にやってみたい事を整理する
プログラムには言語ごとに得意・不得意があります。
- ホームページのデザインや動きを作るのが得意な言語
- 通販サイトの仕組みを作るのが得意な言語
- ソフトウェアを作るのが得意な言語
- 械学習や統計学が得意な言語
など、自分が興味の出たものや作りたいもので言語を選ぶとモチベーションも保ちやすいです。
また言語ごとに情報や会社の雰囲気も違う事があり、自分の考えや性格に合いそうなものを選ぶと良いと思います。
3 とりあえず手を動かしてみる
やってみたい事や気になる言語がなんとなく決まってきた!そんな貴方には
とりあえず興味出たらプログラムを書いてみる。というのがとにかく大事です。
新しく言語を勉強し始めると、最初はソフトをインストールしたり、プログラムの実行方法や読み方がよくわからなかったりと挫折ポイントは多いと思います。
それも何度か挑戦してみると絶対にだんだん楽しくなってくるはず。
最近だとぼざろを観てギターを始めて続かないなんてオタクだとよく聞く話ですが、とにかく挫けず続けるのがギターでもプログラミングでも大事だと感じます。
言語を調べると ”流行ってない、オワコン” なんて言葉もよく検索に出てきますが、検索の上位に出てくるのはエンジニアじゃない人や詳しくない人が記述している記事も多く存在しているので、気にせずとりあえず興味が出たらやってみる!が大事です。
学習できるサイトや場所
progate
Webブラウザ上で学習できるサイトです。
VScodeとか、ソフトインストールしたりとか難しそうだから、とりあえずやってみる!にお勧め
似たサイトにドットインストールなども国内では有名です。
Progate(プロゲート) | プログラミングの入門なら基礎から学べるProgate[プロゲート]
Udemy
数百円の前後はありますが1000円台から買える動画の参考書のようなサイトです。
1講座数万円の時期もありますがたいてい毎月セールはやっていて2000円でおつりが来るぐらいが標準価格です。
テーマや言語に沿った学習が出来ますし、内容は参考書1冊以上の内容のものもあり、講座内容が古くなれば新しい動画に更新されたりと新しい記述が学べます。
自分みたいに本を読んでると眠くなってくるという人にはお勧め。
Online Courses - Learn Anything, On Your Schedule | Udemy
YouTube
無料で解説やハンズオン形式で解説する動画が多くあります。
ソフトをインストールしたり、環境を構築するところも解説してくれるような講座もあるのできっかけとしてはいいかも。
ただ、少し情報が古かったり偏ったりしている場合もあるので信頼しすぎず、自分に合ったものを選ぶと吉です。
自分はフロントエンドの動画に寄った視聴でしたが、なぜJavaScriptを使うのか?やどうしてこの機能を使うのか?など初学者が疑問にしがちな部分を解説してくれている動画を出してくれてる方や
Next.jsやReactなども環境構築から基礎を教えてくれる動画もあるのでとりあえずなんか出来た!まで漕ぎ着けました。
札幌市図書・情報館
これは札幌の方向けの情報になりますが、大通から直通の創生スクエアに入っている無料で使える情報館兼作業スペースです。
特に2階には多くの技術書やデザイン書を始め様々なジャンルを無料で読む事が出来ます。
貸出は不可ですが、専門書は買うと高いので本で勉強したい!という時には土日も開放しているので作業や待ち時間にお勧めです。
共有コミュニティサイト
Noteやブログをエンジニアに特化させたようなイメージで、国内ではZennやQiitaといったサイトが代表例です。
初学者向けの記事から、機能の実装方法やおすすめの使い方までプログラミングに関わる事の様々な記事が毎日投稿されています。
言語によってはQiita、Zennそれぞれ物量が違うのでそれぞれチェックしておくといいかもしれません。SwiftはQiitaの情報量が断然多かったです。
流行している言語やフレームワークの傾向などもなんとなく読んでいると掴めるのでお勧めです。
エンジニアに関する知識を記録・共有するためのサービス - Qiita
さいごに
本や動画、サイトなどそれぞれのメリットやデメリットはあるのでいろいろと試しながら自分に合う方法を探してみてください。
ご覧頂きありがとうございました。