プログラミング言語

 最近、自分の軸足が少しぶれているような気がしているので、軸足を思い出す意味でも、プログラミング言語について考えてみました。
 自分のプログラミング言語の母国語は、やはり、C言語なのだと思います。それは、組み込みプログラマーという側面もありますが、やはり、一番最初に実用的なプログラムを書いた言語だということが大きい気がします。C言語は、今でも、自分の頭の中で最もしっくりとくる言語です。
 現在、仕事で主に使用しているのは、GNUC++言語です。この言語は、C言語との相性が比較的良いとい点と、ある程度コーディング規則を決めてしまえば、実用的であるという点で、すぐれた言語だと思います。
 直近の入ったプロジェクトでは、JavaScriptJavaに取り組んでします。Javaに関して言えば、僕の中では、実用的な第一外国語といったところです。オブジェクト指向的なプログラミング言語という意味では、ほぼ、母国語に近いものがあります。言語仕様的には、C++よりも、いろいろな意味で考えられていると思います。ガベッジコレクタータイプのメモリ管理が許容される環境では、非常に実用的な言語です。一つの欠点は、Sun以外のVMで実行する場合には、実行環境依存の部分に気をつけないといけないという点です。これは、特に組み込み分野では顕著な問題になってきます。
 もうひとつ、最近、仕事で取り組み始めたのが、JavaScriptです。個人的には、言語仕様的に、いま一つ言語のように思います。変数のスコープの扱いや、クラス宣言の方法など、少し癖があるので、きちんと使おうとすると、迷うことがあります。この言語の一番の問題は、実行環境への依存度が非常に高いという点です。それは、実装に必要なライブラリが、実行環境のブラウザの影響を受けてしまうということです。汎用的なプログラムを、組み込みブラウザで扱おうとすると、目もあてられないような状況になってしまいます。そういった意味では、特に組み込みでは、その環境で動かすためのプログラムを書くという用途になってしまうことが多いようです。JavaScriptに代わる言語が出てきて欲しいところですが、もうしばらく時間がかかりそうな状況だと感じています。
 そのほかの、普段使用しているのは、Rubyです。こちらは、僕からすると日常的なちょっとしたことを行うスクリプト言語です。ただ、しばらく書かないと、すぐに忘れてしまうという、第2外国語のような存在です。shellで書くのはちょっと大変だし、他の人に配布しないものには適していると考えています。なんとかして、実行環境が広まってほしいものですが、そのような雰囲気はあまりなさそうですね。
 で、しばらく前までは、いろいろな言語を試していたのですが、最近あまり新しい言語に触れていません。ちょっと気になっている言語がいくつかあるので、がんばってやってみようと考えています。
 こんなことを書いているのは、プログラマーにとって、使用する言語は非常に重要ですが、ほとんどの場合、自分で言語を選択できないという代物だからです。そいうった意味では、いろいろな言語に触れておくというのは、とても重要だと感じています。