トップページ > コラム

これが現代のプログラミングか


2019.03.24


イメージ写真

 実は、もう30年以上プログラムを書くこと(プログラミング)をして来なかった。最後に使っていたのはC言語というものである。その前はアセンブラを使っていた。いずれも、機能を決めて、まずはフローチャートを書いた。そのために四角やひし形やらのマークがくりぬいてあるプラスチックのテンプレートという定規みたいなものを使っていた。アセンブラのプログラムを書いていた時は、プログラムは紙(コーディングシート)に書いて、キーパンチャーにカードにパンチしてもらい、それをコンピュータに読みこませてデバッグをしていた。1日に1回か多くても2回しかコンピュータが使えず、デバッグの仕事の大半は、膨大な出力リスト(メモリーの中身が0からFまでの数字とアルファベットで記されたもの)の確認だった。C言語の時代になって、ワークステーションが使えるようになったので、プログラムの入力はキーボードから行い、デバッグはディスプレイ画面を見ながら行うようになった。しかし、大きなプログラムのデバッグは、やはり紙に印字したプログラムやデータの確認が欠かせなかった。

 さて、最近、ちょっとした事件があって、自分でもちゃんと動くプログラムが作れなければならないな、と思うようになった。近所の本屋で「JavaデベロッパーのためのEclipse完全攻略」という本を見つけた。サンプルプログラムが沢山あるので、早速買って実行しながら最近のプログラミングを学ぶことにした。2日後には、JavaとJava ScriptとSQLを使って、簡単なブログのプログラムができた。ウェブ画面から入力したコメントに入力時刻を付けてデータベースに登録し、逐次画面に表示するものである。で、そのために私がしたことの大半は、「ダウンロード」「インストール」「展開」「コピー」そして「検索」であった。後は、攻略本の教え通り『おまじない』を打ち込んで、動くことを確認しただけである。「検索」というのは、うまく動かなかったときにその現象やエラーメッセージを使って、誰かが見つけた解決策を探すことである。問題は全てインストールしたフリーのソフトウエアのバージョンの違いに起因するもので、すぐに解決した。

 こんなことでプログラミングと言えるのか、ちゃんと言語を勉強すべきではないか、と思ったので、また本屋に行った。JavaやJavaScriptの本はいずれも「入門」と書かれているものでもかなりの厚さである。すっかりやる気を失った。何かを作る目的があればそれに必要な知識だけを得ればよいし、まずは「世の中の誰かが作ったプログラム」を探し出してコピーする方がずっと効率的である。

 私がアセンブラの教育を受けて仕事を始めてから50年近くが経つ。この半世紀の間に世界中のプログラマが気の遠くなるような量のプログラムを作り、それを次世代の人に遺してきた。だから、現代のプログラミングの大半が「ダウンロード」「インストール」「展開」「コピー」になるのだ。これは生産性向上の観点からはとても良いことである。しかし、世の中の害悪になるプログラムも同じように伝えられ、増殖していることにも気を付けなければならない。ところで、プログラミング教育は何を教えるのか。とても気になる。



コラム一覧へ