僕は數學の大學院前期課程を修了して以來、三十年以上プログラマーとして生きてきた。色々な言語で仕事をしたが、素晴らしいと感じた言語は二つしかない。
一つはSchemeといふLispの方言である。何年か完全にハマつてゐたが、ある時、自分はSchemeのプログラマーとして生きるには頭が惡すぎる事に氣づいた。
それは置いとくとして、以前にも書いたが、僕はSchemeを日本語化しようとした事がある。その結果、途中で重大な事に氣づいた。
Schemeは歐羅巴語のやうな分ち書きの言語の處理に向いた言語なのである。漢字假名交り文で膠著語の日本語の處理には向かない。
これは、自分でインタープリタを作らうとしなければ氣づかなかつたらう。今でもSchemeは素晴らしい言語だと想ふが、さういふ訣で最近は使つてゐない。
もう一つの僕が素晴らしいと思つた言語は、Pythonである。これはブロック(プログラムの塊)を括弧で圍むのではなく、字下げで區別する書式の言語だ。
たつた是れだけの工夫で、プログラムは可讀性が上がるのである。また、豫約語が他の言語に比べて少いのも良い。つまり構造が單純なのである。
同じオブジェクト指向型の言語であるC++は、C言語に無理やりオブジェクト指向の機能を付け加へたものだが、その爲に言語仕樣がC言語の倍以上になつた。
習得も難しければ、可讀性も惡い言語である。コーディング規則等を嚴密に定めて置かないと、他人のプログラムなど讀めるものではない。
つまり言語仕樣の習得の手間だけでなく、コーディング規則まで覺える必要がある手間のかかる言語なりである。
アップルのObjective-Cなどは同じコンセプトでもC言語に單純にSmallTalkを付け足したものなので、習得するのはC++より簡單で可讀性も高い。
Objective-Cの長處は、機能を割り切つてC++よりも出來る事を少なくした點にあるのである。昔、アップルはOS X用にJavaの開発環境を用意した事がある。
此の環境は開發者に支持されず、アップルはいつのまにかJavaの開發環境をサポートするのをやめた。要するに、Objective-CはJavaよりも格段に使ひやすい言語なのである。
Javaに比べれば、マイクロソフトが同じコンセプトで開発したC#の方がはるかに出來が良い。まあ、後智慧の仕樣といふ事もあるけどね。
それでもC#よりはRubyやPythonの方が使ひやすいだらう。僕はRubyはPythonに比べて仕樣(出來る事)が多すぎると想ふが、Rubyも綺麗な言語ではある。
これらに比べればPerlの言語仕樣は汚いの一語に盡きる。それでも其の汚い言語仕樣のお陰で同じスクリプト言語なのにPythonの十倍は早い。
もつとも僕はPythonの處理速度が遲い爲に困つた事なんかない。最近のパソコンは十年前のパソコンにくらべたらとんでもなく早いから、氣にならないのだ。
つまり、美しくて單純な仕樣の言語の方が可讀性が高く再利用しやすいのだ。最近はSharp developとIron Pythonの組合せで實行形式(exeファイル)も簡單につくれるしね。
一つはSchemeといふLispの方言である。何年か完全にハマつてゐたが、ある時、自分はSchemeのプログラマーとして生きるには頭が惡すぎる事に氣づいた。
それは置いとくとして、以前にも書いたが、僕はSchemeを日本語化しようとした事がある。その結果、途中で重大な事に氣づいた。
Schemeは歐羅巴語のやうな分ち書きの言語の處理に向いた言語なのである。漢字假名交り文で膠著語の日本語の處理には向かない。
これは、自分でインタープリタを作らうとしなければ氣づかなかつたらう。今でもSchemeは素晴らしい言語だと想ふが、さういふ訣で最近は使つてゐない。
もう一つの僕が素晴らしいと思つた言語は、Pythonである。これはブロック(プログラムの塊)を括弧で圍むのではなく、字下げで區別する書式の言語だ。
たつた是れだけの工夫で、プログラムは可讀性が上がるのである。また、豫約語が他の言語に比べて少いのも良い。つまり構造が單純なのである。
同じオブジェクト指向型の言語であるC++は、C言語に無理やりオブジェクト指向の機能を付け加へたものだが、その爲に言語仕樣がC言語の倍以上になつた。
習得も難しければ、可讀性も惡い言語である。コーディング規則等を嚴密に定めて置かないと、他人のプログラムなど讀めるものではない。
つまり言語仕樣の習得の手間だけでなく、コーディング規則まで覺える必要がある手間のかかる言語なりである。
アップルのObjective-Cなどは同じコンセプトでもC言語に單純にSmallTalkを付け足したものなので、習得するのはC++より簡單で可讀性も高い。
Objective-Cの長處は、機能を割り切つてC++よりも出來る事を少なくした點にあるのである。昔、アップルはOS X用にJavaの開発環境を用意した事がある。
此の環境は開發者に支持されず、アップルはいつのまにかJavaの開發環境をサポートするのをやめた。要するに、Objective-CはJavaよりも格段に使ひやすい言語なのである。
Javaに比べれば、マイクロソフトが同じコンセプトで開発したC#の方がはるかに出來が良い。まあ、後智慧の仕樣といふ事もあるけどね。
それでもC#よりはRubyやPythonの方が使ひやすいだらう。僕はRubyはPythonに比べて仕樣(出來る事)が多すぎると想ふが、Rubyも綺麗な言語ではある。
これらに比べればPerlの言語仕樣は汚いの一語に盡きる。それでも其の汚い言語仕樣のお陰で同じスクリプト言語なのにPythonの十倍は早い。
もつとも僕はPythonの處理速度が遲い爲に困つた事なんかない。最近のパソコンは十年前のパソコンにくらべたらとんでもなく早いから、氣にならないのだ。
つまり、美しくて單純な仕樣の言語の方が可讀性が高く再利用しやすいのだ。最近はSharp developとIron Pythonの組合せで實行形式(exeファイル)も簡單につくれるしね。