Google Code Universityというのがあるみたいですね。いろんなプログラミング講座の動画や解説がちりばめられていて、独学のとっかかりにはもってこいではないでしょうか?ある程度「何をする」という目的があった方が有効活用できそうですね。
Google Code University
プログラミングというと初心者は記述の方に目がいきますが、実際のところやってみると記述なんてプログラミング間でほぼ同じで、やっぱりそのコンセプトや機能を理解するのが大事だと思います。メモリを有効活用する方法とか、スレッドを操る方法とか、再利用しやすいソフト設計とか。もっと大枠のフレームワークの使い方とかもありますね。
僕自身は、C言語しか使ったことがなく、しかも組み込み系のプログラミングなので、実際のところあんまり複雑なコードを書いたりしないのですが、フレームワークがしっかりしていると、いろんなことがやりやすくなったりします。でも、同じ関数をいろんなところで呼ぶと、バグが発生した時にデバッグ項目が増えて困った、ということにもなったりします。外部のハードウェアを動かしたりもするので、ソフト単体でのデバッグでは全てを見切ることができないので、注意が必要です。
組み込み系だと、動作実績のある関数とかをなかなかいじれないし、メモリの量もPCのソフトに比べるとかなり制約があったりするので、本当のソフト開発とはまた別の世界なのかもしれない。ウェブのアプリみたいに、リリースしてからも気軽に改良できるわけじゃなくて、組み込みソフトはアップデートが容易ではないのも、違いですかね。産業装置とかだと装置を止めてソフトをアップデートするとかだと、顧客の生産性にも関わってしまうので、これまた難しいところ。
まあ、いろんな意味で緊張感があるのが組み込み系プログラミングですかね。純粋にコンピューターサイエンスを学んだ人がやったりすると、ちょっとしたカルチャーショックがあるかもしれない。
<関連記事>
・ FringeはX-Fileを超えるか?
・ マチュピチュの高解像度画像
・ オリンピック金メダル Shaun White のプライベートハーフパイプ
<追伸>
最近PS3のアンチャーテッドというゲームを買ったのですが、これまたよくできたゲームですね。パズル的な要素あり、銃撃戦あり、謎解きあり、ドラマあり、といろんな要素が詰まっています。グラフィックもよく、まるで映画の世界を駆け巡っているかのような気持ちになりますね。ファミコンからゲームやってますが、世界は大きく変わったなぁ。これ以上先ってあるの?