昔、私が運転免許を取った頃、世の中にはまだ「カーナビ」というものが存在していませんでした。
どこかに出かける際には前日に地図でルートを確認。
当日はもちろん車内に地図を常備。
帰ってきてからも再度地図を見て、実際に通った道が正しかったかどうか、復習したものです。
それが今ではすっかりカーナビ頼み。道など覚える必要がありません。
技術の進化とはそういうものですが、しかし、ふと思うこともあります。
「これで本当に良いのかな?」と。
「目的地への道どころか、近隣地域の方角や幹線道路の構造すら知らないままで?」と。
私がこの業界に入って最初に組んだプログラムは、C言語を使ったベタベタのWindowsプログラムと、ホストコンピュータのCOBOLプログラムでした。
昔話になりますが、C言語ベタベタにせよCOBOLプログラムにせよ、当時まだ優れた開発ツール類は存在しておらず、本当に「OSと直接対話するプログラム」でした。
なので、ちょっとしたバグで瞬時にシステム全体が落ちたりします。
特に「メモリ」の扱いは厳格で、「使用することを宣言し、確保した領域」を1バイトでも踏み越えると大変なことになったものです。
また、「データ型」も種類少なくかつ厳密で、「暗黙のデータ型変換」などという気の利いたものは一切ありませんでした。
プログラム言語がそのあたりを、とても「便利」というか「あまり気にしなくてもいい」ようになったのは、VisualBasicの全盛時代くらいからでしょうか。
そして現在。
技術はさらに進化し、「データ型?データ長?なにそれおいしいの?」みたいなプログラムやデータベース設計が散見、というか、そもそもそのようにしか書くことができないプログラム言語が主流だったりします。
「道なんか知らなくてもカーナビ使えば目的地にたどり着ける」のと同様に、
「データ型やデータ長など考えなくても正確に動作するプログラムは書ける」のです。
進化といえば進化なのですが…
「本当にそれでいいのかな?」と思うことがあります。
「プロとして、本当にそれで?」と。どうしても。
古いのかな…?