Kuratani Shigeru Weblog

***
2019年1月27日

自分は古い人間だと思う今日この頃

私のプログラミング言語

世の中には数百以上のプログラミング言語があるそうです。
その中で私が、入門書を手にとって学んでみた言語は数言語に過ぎません。
今の仕事に就くようになって、今現在「これ良いな!使っていこう!」というプログラミング言語は以下になります。

  • Java
  • C言語
  • Perl

こうして眺めて見ると本当に少ないですね...
「これ良いな!」と思えたプログラミング言語を考えていて、「自分は古い人間なのかな?」と感じたので、記事にしてみました。

これいいなと思った理由を思い返す

Java

開発業務に携わるようになって数年はあるスクリプト言語での開発案件に参画しておりました。
当時はその言語しか知らなかったので、特に意識はしていなかったのですが、Javaを学習するようになり、Javaを使用した開発案件に参画するようになって、「多人数で規模の大きなシステムを開発するには、本当に適した言語だ」と感じました。
グローバルなスコープがなく処理はオブジェクトの協調動作として実行されなければならないという制約や、強い型付けなど、大きなシステムを構築するのに適した言語仕様だと感じて、これまで資格もアップグレードするなどして、学習を続けています。
エンタープライズシステム向けの仕様もJava EE(Jakarta EE)として継続的に追加・改善されており、比較的規模のあるものを作るなら、迷わずJavaを選びます。

C言語

プログラミング言語を学習するようになってしばらくして、入門書を手に取り、学習するようになりました。実務では、C言語で作られたツールを改修するなどの経験しかないのですが、ハードウェアに密着した言語であり、高速に実行できるバイナリを作成できること、ハードウェアを含めたコンピュータ全体の知識を身に着けることができると考えて、今も学習をしています。
資格取得にもチャレンジして、継続して学習しています。
ここ数年、盛り上がっているIoTで活用できるのも魅力だと思います。

Perl

Java・C言語は中間言語(バイトコード)や実行可能形式(機械語コード)にコンパイルする言語です。
ツールを作成したり、コンパイルせずに迅速にトライ&エラーを繰り返すことができるスクリプト言語で何か良いものはないかなとずっと思っていました。
数年前にPerlと出会って「これだよ!」と思いました。
定型の処理は本当に少ないステップで開発ができて、C言語やC++言語で作成したバイナリとの連携もすごくやりやすいです。
Perlがリリースされた時期に先人が感じた良さもこういうところなのかなと感じたりします。

自分の好きなプログラミング言語を眺めてみて

Java・C言語・Perlすべて歴史のある言語です。
Javaに関しては、現在主に使用されているプログラミング言語と同様に、1990年台に誕生した言語ですが、C言語は1972年に誕生した言語であり、私とほぼ同じ年です(私は1973年生まれです)。 また、Perlも1987年誕生で、ともて歴史があります。
自分が好きなプログラミグ言語を眺めてみると、「歴史のある言語を好んでいる」と思いました。
私は30歳を過ぎてからこの業界に入ってきましたので、年齢の割にプログラミング経験はありません。しかし、私と同じ40代のベテランの方が使用するプログラミング言語を使っているのかな?と勝手に想像をしています。
少し細かい理由ですが、C言語だとman、Perlだとperldocを使用して、ローカルで直ぐにリファレンスを参照できるのも「とても良いな」と思っています。
(Javaに関してはWEBとの親和性が高いのでAPI仕様書は基本的にWEBにホストされています)
この点も、今の若い技術者の方は、上手にWEB上の情報を参照しながら、プログラミグをされるのだと思っています。

終わりに

ここ数年、AIや機械学習の分野でPythonが注目されています。
20代の技術者の方はPython・Rubyを使用する方が多いと、WEB上の記事で見たこともあります。
システム開発で使用される言語も変遷をしていくと思いますので、「自分の好きな言語」だけに固執せずに、柔軟に他の言語も学んでいかなければならないのだろうなと思っています。