このブログについて
プログラミングのスキルを鍛える10の方法

プログラミングのスキルを鍛える10の方法

ステキな英文の記事を見つけました。10 ways to improve your programming skills。どれも自分が実践していることでもあって,「なるほどな−」と思うものばかり。

たっぷりプログラミングしたあとは,節電も忘れずに:-)。

 

1. 新しいプログラミング言語を学ぶ

新しいプログラミング言語を学ぶことで,新しいプログラミングに対する考え方に触れることができる。そのプログラミング言語が今まで知らなかったパラダイムに根ざしている場合ならなおさら。新しい手法の多くは,すでに知っている知識になぞらえることができるので,習得はそれほど難しくないはず。

 

2. やる気をそそられる良書を読む

本から学べることは多い。実践は重要だが,気力を奮い起こしてくれるような良書を読むことで,考え方が変わったり,自分自身をレベルアップすることができる。ただし,「サルでも分かる」とか「一日で理解できる」「21日でコース完成」というような本は避けた方が良い。

 

3. オープンソースプロジェクトに入ってみる

オープンソースプロジェクトに関わることの利点の一つは,他のプロジェクトメンバーと協調作業ができること。コードベースを咀嚼して理解する機会を得られるのも良い点。

(訳者注:日本人の場合は英語でのコミュニケーションが壁になることがおおいけど,相当ヘタな英語でもたいてい理解してくれる - 英語ネイティブだけでなく,ヨーロッパやアジアの開発者が多くなってきている - ので心配しない方がいい。英語のスキルアップにもなるはず)

 

4. プログラミングの問題(難問)を解く

Webで検索すると沢山見つかるプログラミングの問題。これを解いてみるのもいい。数学に特化したプロジェクトオイラーなどは,おそらく最も有名なプログラミングの問題だ。

コードゴルフにチャレンジしてみるのもいい。コードゴルフとは,与えられた問題を最短のキータイプ数(文字数)で解くというもの。コードゴルフを解くことで,プログラミング言語のより深淵で普段目にしない機能に触れることが出来るし,プログラミングに対してよりクリエイティブになれる。

 

5. プログラミングをする

ゼロからプログラムを書いてみる。ゼロから設計をして実装をしてみる。そしてそれを繰り返す。

プログラミングを学ぶ最良の方法はプログラミングをすることだ。間違いをするかも知れないが間違いから学べることもある。プログラムを完成させることは,本を読むよりずっと楽しいしやりがいがある。

 

6. コードを読み,学ぶ

プログラムを読んでコードを学ぶのもいい。Linuxカーネルのように有名なコード(巨大なので注意)がいい。教育目的としておすすめできるのはMIMIX3だろう。新しいコーディングの慣用句や,ソフトの設計について学ぶことが出来る。よくしらない分野のコードを読むのは最初は気が引けるが,得るものも大きい。

よく使っているAPIやプログラミング言語のソースコードを読むことで,それ自体への理解を深めることができるはずだ。

 

7. プログラミングに特化したWebサイトやブログを読む

StackOverflowのようなサイトに行くと,いろいろなプログラマや,彼らの持つ考え方に出会うことが出来る。また,プログラミングの記事をよく書いているブログを読んでみるのもいい。

 

8. プログラミングについて記事を書く

自分のブログでプログラミングについて書いてみよう。最初は自分のためだけに書いた記事でもいい。Q&Aサイトに答えを書いてみてもいい。プログラミングについて記事を書くとき,正しい用語を使うよう心がけるだろうし,説明をするためにより深く考えるようになるはずだ。

 

9. 低水準プログラミングについて学ぶ

CPUやメモリを直接扱うような低水準のプログラムについて学ぶことによって,コンピュータについてより深い理解を得られる。Cやアセンブラを学ぼう。

コンピュータがどのようにプログラムを実行するかを学ぼう。本気で低水準プログラミングについて学びたいなら,コンピュータの構造,OSや組み込みシステムの仕組み,ドライバの開発手法などについて学ぶと良い。

 

10. 質問サイトに逃げるな,考えろ!

自分の作ったプログラムに問題が見つかったからといって,すぐに質問サイトに駆け込むのは良くない。十分な時間を使って自分で問題を解決するように心がけよう。紙とペンを使って問題を図にしてみるのもいい。もしそれでもだめなら,少し休んでリフレッシュして,もういちど考えてみよう。

一時間ほど悩んで,それでも解決できないようなら,質問サイトに行くようにしよう。とにかく最初は自分で考えてみることだ。

2011-07-01 00:29