その昔、先輩エンジニアから、IT技術者たるもの1年にひとつくらいは新しいプログラミング言語を覚えなければダメだ、という指導を受けました。その話をときどき講義で紹介します。すると「飯尾はいったいいくつくらいのプログラミング言語を使えるのか?」という質問を受けることも。
というわけで、いま私はどんなプログラミング言語を使えるようになったのだろう?と、自問自答してみました。
- C
- まずは何をさておきコレは外せないでしょうね。本まで出しているくらいだから(おっと… 宣伝すみません)
 - 日本語、英語に続いて3番目に使いこなしている言語といえるでしょう
 - といっても最近はあまり書いてないなあ(反省)
 
 - C++
- これも昔は仕事でバリバリと使いこなしていました
 - C++のコードを直接コンパイルできなくて、cfrontというツールでいったんCに変換してからCのコンパイラで処理していた時代
 - ただしC++は現場を離れてから10年以上経ってしまったので、最新の状況はまったく分かりません
 - テンプレートを活用した、いかにもモダンC++らしいプログラムは… 書けません orz
 
 - Java
- これも昔は(…以下同じ)
 - Javaがまだアルファ版とかベータ版とか言っていたころからのお付き合い
 - プログラミングコンテストで優勝したこともありますよ(過去の栄光)
 - 最新動向を追えていないのはC++と同じです(さらに反省)
 
 - JavaScript
- 出てきた当時は「Javaのパチもん?」と軽んじていたものですが…
 - まさかここまで成長するとは予想だにしていませんでした
 - ちょっと遊ぶ程度には、活用しています(講義でも使っています)
 
 - Shellスクリプト(sed, awk等のスクリプティングを含む)
- ちょっとしたバッチ処理に欠かせません
 - データ処理も、たいがいコマンドをパイプでつないでやっちゃいます
 - 少しずつ試しながらできるので作業が捗りますね
 - もっとも複雑なプログラムは書けません
 - そもそも構文からして怪しい(「[」(test)コマンドって何だよ!って、これは酷いと思ってます)
 
 - Perl
- Shellで対応できないときはPerlの登場
 - ただし、もっぱら使い捨てプログラムです
 - あの可読性の悪さ、なんとかして!一週間前の自分は他人です
 
 - Ruby
- Perlの可読性が悪いことに辟易して、Perlの代わりに使い始めました
 - Pythonはインデントでスコープを表すというやり方が嫌なので
 - 開発フレームワークの講義やネットワーク技術の講義でも、ちょっとしたサーバサイドプログラミングに使わせてもらっています
 
 - PHP
- サーバサイドといえば、これか…
 - ペチパーといえるほど使いこなせてはいません
 - 2000年前後にとあるプロジェクトで使ったのがきっかけで、それ以来は付かず離れずといった感じかな
 
 - LISP
- 私の卒論はコレで書きました(本文は日本語!卒論で扱ったプログラムはLISPだったということね)
 - Emacsを使っていた時代は、emacs lispなんかもよく使ってました
 - 最近はとんとご無沙汰で… 人工知能論の講義でちょっと紹介するだけですね
 
 - Prolog
- まさか自分が教えることになるとは(人工知能論で扱っています)
 - というか文学部PC教室のコンピュータにインストールされていたという事実が驚きでした
 - 論理プログラミング、これはこれで楽しいものです
 
 - R
- プログラミング言語に入れて良いのでしょうか
 - データの統計処理が必要なときに使います
 - まあ、あまりプログラミング言語らしい使い方はしてないかも
 
 - Pascal
- 大学で最初に勉強したプログラミング言語がコレでした
 - いま利用できる処理系あるのかな
 
 - BASIC
- 人生でいちばん最初に親しんだプログラミング言語です
 - 懐かしくて涙が出そう…
 
 - アセンブラ
- これを忘れてました、短歌は読めないけど
 - DSP(Digital Signal Processor)のボードなんかも弄った経験があるので、一時期はそれなりにやってました
 - いまはもうすっかり忘れましたが、昔取った杵柄で、対応できるかもしれません
 
 
ちょっと怪しいのも含めて14個ありました。1年にひとつ… は残念ながら達成できていませんね(苦笑)。
あとは、ちょっとだけ齧った程度なら、DだのObjective-CだのProcessing(これはJavaなのか)だのいくつか。それに、GoとかSwiftとか大手が出してくる新しい言語はチェックしとかなきゃなーという気持ちは忘れてません。FORTRAN?COBOL?これまで縁がありませんでした。たぶん今後も。