以前、このような投稿をしました。
そしていざ、プログラミングの勉強を始めよう!となった時に自分がプログラミングを習得して実現したい事は何か、考えました。
このブログは、私がプログラミングを学び始めようとした時の言語選定に関する独り言です。
後半は、JavaScriptをどのような流れで勉強し始めたか、自分の体験談です。
技術的な内容は一切ございませんので、こういう考え方もあるんだ!程度で流し見してくれると嬉しいです。
言語選定から見直し
2月頃に「よし!プログラミング頑張るぞ🔥」と勢いで前回の記事を投稿しました。
あの頃は特に何も調べず、結構浅い理由で入りました。そこらへんは記事内で詳しく触れてるのでもしよければ立ち読みしていってください。
あの頃の自分は「プログラミング 始め方」でググるだけ・・・
自分が何をしたいのかも分かっていませんでした。
なので、プログラミングで実現したい事を明確にする作業から始めました。
- 自作のwebサイト作成
- アプリ作り
- 業務効率化(作業の自動化)
プログラミングで何が出来るのか調べて、自分が興味を持ったのは上記3つです。
自作webサイト
このブログはwordpressで比較的簡単に立ち上げることができ、正直プログラミングを知らなくても実現出来ました。
しかし、細かな挙動を制御しようとするとバックエンドのPHPやフロントエンドのJavaScriptなどをカスタマイズする知識が必要になってきます。
しかし、私には力がありません。(チカラガホシイ)
なので、将来的にはこのブログを良い形にカスタマイズすることを目標に、まずは自作でシンプルなwebサイトを一つ立ち上げてみようかなと思いました。
そこでフロントを構築する上で必要になってくるJavaScriptを勉強しようと思いました。
同時に、HTMLとCSSも軽く勉強しています。この二つはプログラミング言語ではないので自分の中ではカウントしていません。(ここで戦争を始めるつもりも全くありません)
アプリ作り
ここでは、スマホアプリやネイティブアプリ全般を指しています。(webアプリは除いています)
web系のプログラミング以外だと、この選択も有りかなと思いました。
今の世の中スマホがあるのは当たり前。
スマホアプリも山の様に存在するので、自分も何か一つアプリ作りを通してプログラミングを学んでみようかなと思いました。
結果的に、自作webサイト作りより優先して取り組みたいと思わなかったので、いつか取り組んでみたいなという妄想で止まっています。
ネイティブアプリに関しても、スマホアプリと同様の理由です。
興味はあるので、いずれ何か作り上げたいです。
業務効率化(作業の自動化)
業務上の単純作業をプログラミングで自動化しようと思いました。
該当するプログラミング言語がいくつかありましたが、普段スプレッドシートなどのGoogle関連のサービスを使う機会が多いためGoogle Apps Script(GAS)に目をつけました。
GASはJavaScriptがベースなので、webサイトを作るついでに取り組む感じ。
他にも調べていると、Python、VBAなどが見つかりましたが、
- pythonの環境構築で挫折
- VBAは昔触っていましたが、業務でOffice製品をあまり触らない
上記二点の理由で、今はいいかなってなりました。
pythonは近年注目のプログラミング言語なので、いずれ触ってみるつもりです。
JavaScriptはいいぞぉ
- webのフロント技術の主人公(HTML/CSSは知らない)
- GASにも知識を応用出来る
これらの理由から、JavaScriptを学ぶことにしました。
というよりも3月ごろから3ヶ月間JavaScriptを勉強していました。
そして、心に余裕が出てきたのでこうしてブログに書き起こした次第です。
「プログラミング学習は何から手をつけていいか分からない」「作りたいものが特にない」などの理由で足踏み状態の方が前に進むきっかけになったら嬉しいです。
ここからは、私が実際に利用した学習サイトと学習の流れを紹介します。
学習サイト(無料)
ドキュメントが豊富です。
ネットでググったらたくさん出てきます。
MDNというweb関連のドキュメントにも初心者用のチュートリアルが用意されています。しかも日本語です。
JavaScriptに関すること、使い方、リファレンスなど広く知識を得られます。
他にも、現代のJavaScriptチュートリアルもおすすめです。
他にもたくさんありますが、私はこの二つが見やすかったです。
私の場合、基本的な文法などは上記サイトで学んで、実際にコードを書いて分からなかった場所などは、質問サイトで調べるようにしています。
QiitaやZennは日本語で情報を得られて、それでも見つからない場合は、Stack Overflowで探すか、なければ質問を投稿します。日本語版もありますが、英語版の方が圧倒的な情報量なので翻訳しながら頑張っています。
学習サイト(有料)
- Progate
- ドットインストール(少し)
- Udemy
お金をかけずに学びたい場合は上記の方法で可能ですが、課金に抵抗がなければProgateがおすすめです。
私も、一番最初はProgateで基礎中の基礎を学習しました。
スライドの説明がめちゃくちゃ分かりやすいので、プログラミングを一切触ったことない人でも比較的すんなり頭に入ってくるかと思います。
月額サブスクなので、私の場合は一ヶ月集中して基礎を固めて解約しました。
ドットインストールなども無料会員で触れる範囲で触ってみました。
環境構築を学べるのは良いなぁといった印象です。
(Progateは言語学習メインで、環境構築に関してはあまり触れていないような印象でした。私が見つけきれなかっただけで、そういうレッスンが存在するかもしれませんが・・・)
この段階で、基本的な文法は一通り触れたので、より詳しくJavaScriptを知るためにUdemyでメカニズムを学ぶことにしました。
【JS】ガチで学びたい人のためのJavaScriptメカニズムという講座です。
Udemyは月に何回かセールをするので、そのタイミングで買うことをお勧めします。90%OFFとかなので!
この講座で更に詳しく知識を得ることが出来ました。
20時間ぐらいの大ボリューム講座なので、空いてる時間にセクション単位で見てました。
感想
私個人の感想では
- 基礎知識は有料学習サイトの方が分かりやすい
- 無料学習サイトは、自走出来るようになると重宝する
といった感じです。
現在
言語はTypeScriptを使用して、viewライブラリにReact、フレームワークはNextjsでいろいろ作ったりして遊んでいます。
Gatsbyjsでブログを立ち上げたりもしてみました。
JavaScript関連の技術は日々進化していて、昨日es2022が正式仕様としてリリースされました。
私は、プログラミングで食っていくのが目標ではないので、これからもまったりJavaScriptと戯れようと思います。