学部の授業
前回に続き、大学時代以降です。
大学に入って最初に授業で触れたのはPascalでした。ここでコンパイル言語というものに初めて触れました。これまでインタプリタ言語しか触ってこなかったので「コンパイルする」というのは初めて触れる概念でした。
その後、大学では授業や実習ではC、Java(ほんとに出たての頃)、アセンブラ(68000系)、scheme、SQLを使いました。
研究室では並列処理関係の研究室だったので、C++とMPIを使っていました。
趣味のプログラミング
この頃FreeBSDに傾倒し、プログラムを書くのはほぼFreeBSD上でemacsを使って行うようになっていました。
こんな中でこの時期に一番嵌まって書いていたのがX11用のプログラムでした。Xtで書くことで、イベントドリブンという考え方を初めて理解しました。
emacsを使っていたこともあってlispやemacs lispもチャレンジしてみましたが、関数型はどうにも理解できず今に至ってます。これはトラウマというか人生の宿題みたいな意識があるので、定期的に関数型はチャレンジしてますが毎度挫折してます(笑)
アルバイト
この頃、大学のとあるシステムを作るプロジェクトに学生アルバイトで参加しました。そこでperlに初めて触れました。そして、その経験を生かし、先輩の会社でやっていたアルバイトでもperlを使っていました。
仕事でperl使ったもう一つ理由は、担当したプロダクトがwebアプリ(当時はCGIと言ってました。正しくはCGIは規格というか機能の名前だからちょい表現としては微妙ですが)で、インターネットプロバイダーのサービスで借りられるwebサーバで動かす必要があったので他に選択肢がなかったというのもあります。
気軽にwebサーバを自分で構築して公開できる時代ではなく、動的なwebページと言えばほとんどはperlで書いたCGIでしので「なんでrails使わなかったの?」といったツッコミはご遠慮ください。だって、その頃rubyはようやく正式版がリリースされるかされないかくらいで、railsは影も形も世の中になかったのです。Javaも出たてで、Javaで動的なwebページと言えばアプレットという頃でした。
お仕事
その後、先輩の会社でやっていたアルバイトのお仕事が本格化して、事業として独立して先輩と新しい会社を作ることになりました。
それがまさか20年続き、その間ずっとperlと付き合うことになるとはこのときは夢にも思いませんでした(笑)
そういった経緯もあって業務ではメインがperl、フロントエンドでJavaScript、必要に応じてC、Java、ruby、PHP、python、goなどを使うという感じでした。railsは波に乗り損なって結局使わずじまいでした。DBはつかうのでSQLも使ってますね。
そして、転職してからC#をさわり始めたという所です。
まとめ
振り返ってみると結構色んな言語で書いてますね。シェルスクリプトやsedやawkも基本くらいは使いますし、挙げてないけど多少は使える程度の言語はもうちょっとあります。
なんにせよ、新しい言語を学ぶのは色々楽しいです。是非皆さんも機会があれば新しい言語にチャレンジされてはいかがでしょうか。一つ二つ覚えると、次の言語はそれほど苦労なくある程度は行けるようになると思います(たぶん)。
私は落ち着いたらまた関数型のチャレンジしたいと思います!