2021年2月22日月曜日

「プログラミング言語」2021版

その昔,先輩エンジニアから「IT技術者たるもの1年にひとつくらいは新しいプログラミング言語を覚えなければダメだ」という指導を受けた.その話をいまでもときどき講義で紹介する.すると「飯尾はいったいいくつくらいのプログラミング言語を使えるのか?」という質問を受けることも. というわけで,いま私はどんなプログラミング言語を使えるようになったのだろう?と,自問自答してみた.

  1.  C
    • まずは何をさておきコレは外せない.本まで出しているくらいだから(おっと… 宣伝すみません) 
    • 日本語,英語に続いて3番目に使いこなしている言語である
  2. C++
    • これも昔は仕事でバリバリと使いこなしていた
    • C++のコードを直接コンパイルできなくて,cfrontというツールでいったんCに変換してからCのコンパイラで処理していた時代
    • ただしC++は現場を離れてから10年以上経ってしまったので,最新の状況はまったく分からない
    • テンプレートを活用したいかにもモダンC++らしいプログラムは… 書けない orz 
  3. Java
    • これも昔は(…以下同じ)
    • Javaがまだアルファ版とかベータ版とか言っていたころからのお付き合い
    • プログラミングコンテストで優勝したこともある(過去の栄光)
    • 最新動向を追えていないのはC++と同じ(さらに反省)
  4. JavaScript
    • 出てきた当時は「Javaのパチもん?」と軽んじていたものだが……
    • まさかここまで成長するとは予想だにしてなかった.ちょっと遊ぶ程度には,活用している(講義でも使っている)
  5. Shell(sed, awk等のスクリプティングを含む)
    • ちょっとしたバッチ処理に欠かせない
    • データ処理もたいがいコマンドをパイプでつないでやっちゃう
    • 少しずつ試しながらできるので作業が捗る.もっとも複雑なプログラムは書かない
    • そもそも構文からして怪しい(「[」(test)コマンドって何だよ!って,これは酷いと思いつつ使っている) 
  6. Perl
    • Shellで対応できないときはPerlの登場(だった).ただし,もっぱら使い捨てプログラム
    • あの可読性の悪さ,なんとかして!一週間前の自分は他人だよね
    • 最近はもう使ってないなあ
  7. Ruby
    • Perlの可読性が悪いことに辟易してPerlの代わりに使い始めた
    • Pythonはインデントでスコープを表すというやり方が嫌なので
    • 開発フレームワークの講義やネットワーク技術の講義でも,ちょっとしたサーバサイドプログラミングに使わせてもらっていた
    • こんどRails開発の本出します!(宣伝すみません)
  8. PHP
    • サーバサイドといえば,これか……
    • ペチパーといえるほど使いこなせてはいないかな
    • 2000年前後にとあるプロジェクトで使ったのがきっかけで,それ以来は付かず離れずといった感じ
    • 使い捨てのWebアプリ作るときにときどき使う.それなりに重宝してる
  9. Python
    • 嫌い嫌いといいつつ,便利なので使っている
    • とうとう雑誌に連載記事まで書くようになってしまった
  10. Elm
    • いま個人的に注目の言語で勉強中
    • なにか一つくらいちゃんとしたアプリ作ってみたいところ
  11. LISP
    • 私の卒論はコレ(utilisp)で書いた(本文は日本語!卒論で扱ったプログラムはLISPだったということね)
    • Emacsを使っていた時代はemacs lispなんかもよく使ってた
    • 最近はとんとご無沙汰で……人工知能論の講義でちょっと紹介してただけ(これも今はしてない)
  12. Prolog
    • まさか自分が教えることになるとは(人工知能論で扱っていた)
    • というか文学部PC教室のコンピュータにインストールされていたという事実が驚きだった
    • 論理プログラミング,これはこれで楽しいものだ
  13. R
    • プログラミング言語に入れて良いのだろうか
    • データの統計処理が必要なときに使う
    • まあ,あまりプログラミング言語らしい使い方はしてないかも
  14. Matlab
    • これも同様.データ処理でたまに使う程度
    • 実際に使う処理系はOctaveだけど
    • StanfordのAndrew Ng先生の機械学習コース(MOOCs)で多用されてた.あれは凄い
  15. Pascal
    • 大学で最初に勉強したプログラミング言語がコレだった
    • いま利用できる処理系あるのかな
  16. BASIC
    • 人生でいちばん最初に親しんだプログラミング言語
    • 懐かしくて涙が出そう……
  17. Assembler
    • これを忘れてた.短歌は読めないけど
    • DSP(Digital Signal Processor)のボードなんかも弄った経験があるので,一時期はそれなりにやってた
    • いまはもうすっかり忘れたが,昔取った杵柄で,対応はできるはず
  18. SQL
    • SQLをプログラミング言語に入れてよいものかどうか
    • まあSQLで数独を解くなんていう荒業もあるくらいなので入れさせてもらう
  19. Tcl/Tk
    • 忘れてた
    • いままだ使える処理系あるのかな.Perl/Tkでシステム書いたこともある
  20. PostScript
    • ヒルベルト曲線を描くプログラムを学生時代の演習で書いた
    • WebサーバをPSで書いた変態がいるというタレコミをいただいたのでプログラム言語として認める
  21. LaTeX
    • これをプログラム言語とするのもどうかと思うがライフゲーム書いたという記事があったので認めることにする

ちょっと怪しいのも含めて21個あった.1年にひとつ……は残念ながら達成できておらず(苦笑). あとは,ちょっとだけ齧った程度ならDだのObjective-CだのProcessing(これはJavaなのか)だのいくつか.それに,GoとかSwiftとか大手が出してくる新しい言語はチェックしとかなきゃなーという気持ちは忘れていない(なかなか時間をとれないけれど).HaskellとかScala,Lua,TypeScriptあたりも身につけておきたいところ.

そしてHTMLはプログラム言語じゃない(という見解)

FORTRAN?COBOL?これまで縁がなかった.たぶん今後も.



0 件のコメント:

コメントを投稿