妙なネタが盛り上がってるようだが基本的にはこのエントリに同意。コメント欄も含めて読めるなぁ。基本的にアセンブラを一通りやって、あとは言語毎の特徴(OOPであるとか色々)だけ一週間程度で理解すればどんな言語だってとりあえず使えちゃうのが正しい。それぞれの言語の利点・欠点まできっちりコードに組み込めるかは技量次第。だからコメ欄で一部盛り上がってるPHP云々は全然別の話だろうと。
ちなみに「アセンブラをやれ!」ってのはそれが全ての根本だから(CASL/COMETで十分だお)、どんなコンピュータでも根源は「引き算」で動いて「ZフラグとCフラグで制御」するだけなのだ、比較だって内部的には引き算した結果が0かどうかで判断してる。そういった意味では「True/Falseの実態が何か?」という一時期迷走してた定義は迷惑なだけだよなアレ。アセンブラをやっておけばC言語のポインタなんて悩まない、むしろ「こういう実装方法があるのか!」と感動する。ポインタが目に見えないjavaとかでも結局は同じだしな。
そういった意味で「ポインタが理解出来ない」という奴らというのがオレには理解出来ない。それは「カタコトの日本語で小説を書く」に等しい行為かも知れん、…言い過ぎ? いやでもポインタが理解出来ないってのはメモリアドレッシングが理解出来てないって事だよなぁ、そんなのプログラマ以前の問題だと思うんだが。
日本語で読み書き出来るならとりあえず作文はでっち上げられる、でも人に読ませられる文章を書けるかどうかってのはもの凄くハードルが高い。ましてや「面白い」「ためになる」という文章なんてもはや才能が絡む世界だ。プログラミングってのはそれに似ている。「頑張れば誰でもプログラムは書ける」のは真実だが、そこには絶対才能の壁は存在する。プログラミングに限った話じゃないよね。
個人的にはBASIC、FORTRAN、C(C++)言語、Delphi(ObjectPascal)、java(その他も色々)とやってきたけど、基本的にどれも言うほど思考方法は変わらない、書きやすさ、メンテしやすさとか好き嫌いの差は無論あるけどそれは別の話なのでパス。それよりアセンブラでSIMDをやらされた時の方が思考的にかなりキツかった、基本的に制御構造文が存在しないのだよあれは、代わりにフラグで全部処理する(そうしないと全SIMDプロセッサで同期しないから)。グローバルプロセッサでは流石に制御構造文は書けるけど。
ついでにコメント欄からちょっと興味深いモノをピックアップしておく
> 言語は死なないから後の世代が不の遺産を継ぐわけだけど本来死ぬべき言語を使うプログラマーは確実に死んでいく。
> 最後の汚らしい一行コードがPerlの運命を物語ってる。
> こんなレガシーコードをメンテしなけりゃいけないコボラーならぬ時代遅れパーラーは可哀相だね。
> 現場は弾先生のようなレベルの高いプログラマーだけではないので、そう簡単にPHPからPerlやRubyには変わらないのでないかというのが実感です。
> 実際にRubyを使用することにはなかなか許可が下りない現場が多いですし。
まぁこれも現実よね。しかしコレは本来「そんなレベルの低いコードに対価を支払うべきでは無い」という話もあったりする。結局は「コーダは最下層でFA」の世界だ、もう本当に「プログラマ」と「コーダ」を分類した方が良いかもしれない。その境界線を誰が引くかって? オレは辞退しておく。そんなに偉そうな事を言えない立場というのは自覚してるつもりだし。