BAKの日記: アセンブラ不要論
というのもおもしろいな. いろんなことを考えさせられる.
ぼくの場合はパソコンいじりの初期の段階からアセンブラをいじってたので,アセンブラを知らずにコンピュータをいじる,という感覚はわからない,というか,体験できない.
ま,確かに現在,アプリケーションレベルのプログラミングでは,(ほぼ)高級言語レベルで閉じた開発になっている. こういう状況でアセンブラ学習の存在理由,となると,うーん. 「芸の肥やし」というのはどうだろう.
「芸の肥やし」というのは,役者や芸人が,自分の芸の幅を広げるために日舞や楽器などの習い事をすることで,これは,その人の芸とは直接には関係のないものである. が,深いところでつながっていて,芸にも反映されるはず,というのが,「芸の肥やし」.
考えてみると,大学教育,というのも「芸の肥やし」に似たようなところがあるのかもしれない. 工学系の場合でも,自分の(将来就く)職業に直接関係のある分野というのは,全カリキュラムのほんの一部である. が,その他の部分についても直接は役には立っていないが,技術的なバックボーンの確立には寄与しているとは感じる.
あと,こういうところが確立されていると,技術の変化にも対応しやすいのではないか,と思う. たとえば,トラッドなアルゴリズム論では FFT のオーダは O(n log n) である. これは「フォン・ノイマン的な逐次実行形のマシンの上で」という但書きがある.
これが並列計算の可能なマシン,少なくともバタフライ回路を縦続接続したハードウェア計算機では,スループットは O(1) で,ターンアラウンドタイムは O(log N) になる.
で,ここで高級なレベルに基礎を築いている人だと,この変化は「コペルニクス的」なことで,技術的バックボーンが自分の足下から崩れることになる. が,もっとローレベルなあたりに足下がある人ならば,ただ単に「技術の主流がある技術からほかに移った」というだけの認識で済んだりする.
一時期「プログラマ30歳定年説」というのがあったが,これに 当てはまるのは前者の人で,後者の人はじじいになっても元気にプログラム組んでいられるのではないかな,と思う.