4つのポイント

ひとつは、コンピューターの構造、動き方の理解を深めるための言語。レジスタやメモリのイメージを意識して書くための言語だ。これには、アセンブラやCなどが該当する。アセンブラを実務で使う現場は、かなり限られているので、就職してから触るのはかなり難しい。取り組めるのは学生の時だけかもしれない。この低レベルの言語である程度のボリュームが組めるようになると、他の言語は楽勝である。

次に、手続き型のコンパイラをおさえておきたい。
メモリーイメージの理解とあわせて、Cで両方やってしまおうとする学校もあるようだが、俺がCを使い出すとき、アセンブラの知識がないとポインターの本質が理解できない・・・というアドバイスもあって、アセンブラもやった。コンパイル-リンクの意味合いもしっかり理解したい。アセンブラの知識があれば、中間ファイルの中身をみて、コンパイラの性能がどうなのか、条件文がどうアセンブラに置き換わるかなんてこともわかる。

次は、オブジェクト指向である。
C++または、JAVAのどちらか・・ではなく、両方やっておくべきだ。
理由は、ここで大事なのは、オブジェクトオリエンティッドという思想そのものが大事なのであって、言語のAPI、システムコールなんて、学生にとってはどうでもいい。この2つの言語は、オブジェクト思想を実装した処理系として代表的なものなのだが、両方をやることでその差がわかる。時間的には、どちらかは本格的にやって、もう一方は、仕様を理解しておく程度でもいいからやっておきたい。

最後は仕事上で必要になりそうな言語である。
ウィンドウズでの仕事を志向するなら、VC++ .netフレームワークは是非触っておこう。WindowsPowerShellもダウンロードして、日常で使っておきたい。

UNIX、Linux系で仕事をするなら、プログラマでも管理者でも、cはかなり深いところ、システムコールプログラミングはやっておこう。OSの深い機能を理解することは、あとで問題解決のできるSEになる基本だ。bashのプログラミング、awk sedは、どこかで自分の身を助けてくれる。レギュラーエクスプレッションも自然に身につく。

少し前だと、N88Basicをやっておくと、東南アジアの工場に納められた工場のラインの制御機器の子守の仕事があって、メイドさんのついた豪勢な社宅が貸与され、運転手付の車で送り迎え・・という話もあったぞ。これができる技術者が、もういないんだ。俺も、独身なら行ってたかもw

関連キーワード

関連ページ

今勉強すべき言語は何でしょう
今勉強すべき言語は何でしょう。現場の経験から教えて下さい・・・と、IT系の学校に通う現役の学生が言う。期待されている答えはわかっているんだ。「XXXがいいよ」「XXXがこれから旬だよ、押さえておけ」対処療法的な、風邪薬のような回答が欲しいんだと思う。 そんな万能な魔法のような言語、処理系はないw もし「この言語が最高!これは万能!」とかいう話があったら、それはその言語の開発者かw 他の言語の
4つのポイント
ひとつは、コンピューターの構造、動き方の理解を深めるための言語。レジスタやメモリのイメージを意識して書くための言語だ。これには、アセンブラやCなどが該当する。アセンブラを実務で使う現場は、かなり限られているので、就職してから触るのはかなり難しい。取り組めるのは学生の時だけかもしれない。この低レベルの言語である程度のボリュームが組めるようになると、他の言語は楽勝である。 次に、手続き型のコ
遊んでみるために
固い話を続けてきたが、言語やマシンで遊んでみることも、実はとっても大事だ この言語は、それこそなんでもいい。PerlでもPHPでもtclでもRuby+Railsでもいい。 今更smaltalkはやらんでいいだろうけど。 習得が楽で、何かができたようにすぐに思える、そういうのも、一緒にやっていかないと、モチベーションがきついだろう思う。 WEBをどうこうしたいなら、まず自分のサーバーはすぐに
習得言語と底の深さ
ところでアンドロイド開発をやりたいならJAVAだけでいいと思うかもしれない。事実JAVAは必要なんだが、貧弱なハードウェアに機能を圧縮してぶち込むには、メモリー制限のきついアセンブラの学習、そしてコンパイラの中間ファイルがどんなコードを吐き出してくれたかを見た経験がないと、チューニングや問題解決のできない使えないアンドロイドプログラマーにしかなれない。JAVAしか知らないアンドロイドプログラマ