プログラミング
この春、私の甥が大学の理工学部に入学しました。
大学でコンピューター関連の授業が開始されプログラミングもカリキュラムに入っていたのですが最初に学ぶ言語がjavaとのことでした。
私は約10年ほどコンピューター関連の仕事をやっているのですが、最初に勉強したのははるか昔、アセンブリ言語で8bitのマイクロコンピュータのプログラムを作成したのですが、それと比較すると隔世の感があります。
今ではコンピューターのハードウェアやOSまでもブラックボックスとして扱うことで、高級言語をより効率良く学ぶことが出来る時代ですが昔はハードウェアとソフトウェアは密接な関係があって、マイクロコンピューターやその周辺回路まで熟知していないと何も出来ないという状態でした。
今の時代のシステムはちよっとした製品ひとつをとってもソフトウェアの開発には膨大なプログラムの量が必要であり、いちいちハードウェアの細かいことまで考えていたらキリがありません。
個人でも、ヒットアプリを出せば生活できるような環境がある反面、ソフトウェア資産管理など、本来プログラマーの領域で無い知識も必要になります。
しかしながら高級言語を用いる上流工程のソフトウェアエンジニアは多いけれど、よりハードウェアに近いソフトウェアエンジニアは少なくなっていると聞きます。
物事の一番細部がどうなっているのか、どういう原理で動いているのかを突き詰めるのもなかなか面白いものですが、今日もインターネットやゲームに夢中になっている甥にそんな事を理解して貰うのは難しそうです。