プログラマyasuhoの隠れ家

某ソフトウェア企業に勤務するおじさんプログラマyasuhoです

新しいプログラミング言語の覚え方

基本的なことはサイトとかで適当に勉強するじゃん?
その後は?

VIPPERな俺 : プログラミング勉強してる人ってどういう順序で勉強してるの?

そうだねえ。ぼくの場合は…

新しいプログラミング言語を覚えようと思ったら

まずは何か作るものを決める

読んでるだけだと全然頭に入ってこなくて、分かったつもりになるだけなので。概要をつかむためにざっと読んだりはするけど、あまり時間はかけない。

手始めに手を動かすことから始める。サンプルコードとか読んで、大体の感じをつかんだら、練習がてらプログラムを書いてみる。

分からないところが出てきた時点で、初めてマニュアルを読む。ウェブサイトを検索したりする。コードを書く。この繰り返し。

「こんな時はどうするんだろ」って思ったら

他の人が書いたソースコードの真似をする。コピペはあまりしない。コードを読んで理屈だけ理解したら、自分なりに書くようにしている。その方が覚えるような気がするから。

最初からキレイに書こうとはしない。つぎはぎでもいいのでガシガシ書いていく。言語のクセや流儀が分かってくるにつれて、自然にキレイになっていく気がする。

デバッグする

デバッガを使って実際の動きを確認すると、理解が深まる。ブレークポイントはったり、データ構造を観たり、スタックトレースを見たりする。いわゆるprintfデバッグもよく使う。

よく分からない部分は簡単なプログラムを書いて動作を確認したり。

ひたすら他人のコードを読む

他の人が書いたコードはノウハウの固まり。いい悪いは気にせず、とにかく読む。いいところは真似をし、悪い部分も反面教師になる。

ここで改めて本を読みます

概要レベルしか読んでなかった本を読んでみる。最初は分からなかった部分が分かるようになり、理解が深まる。

これは個人の感想なので

人によってベストな学習方法は異なると思う。自分でやってみて、最適な方法を見つけるのがいいよ。

いずれにしても、自分で作って動かしてみることは必須。いつそこへ到達するかが違うだけじゃないかな。