この記事はcloudpackあら便利カレンダーの14日目の記事です。
折り返しすぎてますね。続くと思ってなかった。

ところで、みなさんは新しいプログラミング言語って習得してますか?
恥ずかしい話ですが僕は17歳でC言語、19歳から27歳まではPHPとJavaScriptで生きてきました。

今はちょいちょい他の言語も業務で使うようになってきたので、僕のやってきた学び方を伝授したいと思います。

学ぶ順序

プログラムの基本的な書き方は、ぐぐったらちょろいので割愛します。
ここでは 文化をどう学んでいくかにフォーカスしたいと思います。

  • 公式docを漁る
  • GitHubで調べる
  • Twitterで著名人をフォローする
  • SlackでUGを探す

振り返るとだいたい上記の順序に当てはまっていました。
逆に学習商材や書籍から学ぼうってことはあまりありません。

もうちょっと掘り下げます。

公式docを漁る

超基本ですね。
PHPだったらhttp://www.php.net/
Pythonだったらhttps://docs.python.jp/3/tutorial/
公式って公式だけあってかなーーり細かいところまで記載があったりして、その言語に携っている限り一生付き合っていくなーって感じてます。

GitHubで調べる

周辺のエコシステムをGitHub軸に展開していることが多いため、GitHubのAdvanced searchから言語を絞って眺めてます。
ここからnpmやpackagist, PyPIなどにたどり着くこともあってパッケージ管理システムについての情報もなんとなくわかったりします。
また、Starの多いリポジトリの中に潜ることで書き方や言語仕様も学ぶことができます。

Twitterで著名人をフォローする

これは半分趣味です。
今の僕じゃ全然想像もつかないバグを踏んでいたり、便利なライブラリが紹介されていたり、はたまたプルリク出してたり…。
次元の違う人が超カジュアルに情報を開示しているので、超刺激になります。
刺激がないとどうしようもない僕は、「やべえわこの人…」って半ば絶望しながら背中を追いかけていることが多いです。
探すときは書籍の執筆者の名前でググったりしてます。

SlackでUGを探す

最近じゃどの言語もSlack teamあんじゃねーの?ってくらい ${言語名} slackチャンネルでググるとすぐに出てきます。
英語ができない僕は本家チームっぽいとこで疎外感に苛まれてしまうので、 チャンネルを日本語で検索してます。
精神衛生上超おすすめ。
しょっちゅうAPIやライブラリの説明が出てくるので注意。

SlackはTwitterと違って誰宛ってわけでもなく「どうなってるのかな〜(チラッチラッ」って投げかけるとジェントルメンが答えてくれることも多々あって優しい世界を体験できます。
とはいえ、他力本願で行くと感じ悪いので注意してくださいね。

phpの場合

pythonの場合

やらないこと

やらないようにしていることについても説明いれておきます。

学習商材に手を出す

漠然と動画サイトで写経したりっていうのは、僕はほぼしません。
特に理由があるわけではないんですが、単純に僕があわないだけだと思います。

書籍を買う

形から入るタイプだったので、よく書籍を買ってニマニマしてましたが、最近じゃほぼ書籍は買ってません。
買っても逆引きくらいでオライリーなんてほんとにピンポイントでしか買ってません。
実践導入しちゃって習うより慣れろ!情報はアンテナはっとけ!って感じのスタンスになってきてるんだな、って自分で思います。

最近減ったってだけで、基礎を学ぶときは超買って超お世話になってました。

まとめ

  • アンテナをはる
  • 先人から学ぶ
  • 自分にあった学習スタイルを使う

あったりまえのことですが初学者があら便利と思ってくれたら幸いです。

元記事はこちら

俺流プログラミング言語の学び方