今月も半ば過ぎてから書いている。
実は仕事がなかなか進まず、長時間仕事をしているので日記を書く気力がないのである。
まあ、それはいいとして。
と言いながら、ネットサーフはそれなりにしている。
最近はまったのが、原生動物と生物の進化の系統樹
原生生物図鑑と筑波大学の藻類画像データを見つけたのでこれをじっくりと読んでみたのです。
んでわかったことは、植物や動物という定義が今では非常に曖昧になってしまっていると言うこと。
古くは生物は動物と植物に分かれていて、植物には菌類なども含めていました。
しかし、今では「動物」「植物」「菌類」という分類をしようにもその中に様々な別系統の生物が含まれてしまうため
この分け方ではうまくいかないと言うのが生物学者の認識になっているらしいのです。
今、植物と呼べる生物は何か、と生物学者に聞くと、だいたい次のように答えます。
狭義
植物になった物は皆、葉緑素を持った生物を捕食したり寄生されたりしたことにより共生関係になり
光合成の能力を得て植物様の生物になったと言うことらしいです。
中には葉緑素を捨てた生物もありますが、どうも見たところそれらは全て寄生生物になったみたいです。
更に私は怖いと思ったのですが、一度複雑な構造を持った動物まで進化したにもかかわらず、
寄生生活に慣れてしまったあげく単細胞生物まで退化した物もいるらしいのです。
なんと三胚葉生物(外胚葉、中胚葉、内胚葉を持った生物。クラゲよりも高等とされる)が単細胞生物になったという。
これを見て思ったのは、動物として生きるのが一番難しく、寄生するのが一番楽なのではないかと言うことです。
捕食性(動物)は自分で力を作らないかわりに、自分で動き、食べ、排泄しなければなりません。
独立栄養(植物)は、自力で栄養を作りますが光さえ有れば何処でも生きられますから、動く必要が無くなります。
寄生(菌)は、相手にくっついていれば何もしなくても良いのです。
なんか、いろいろ考えさせられますね。
話変わってコンピューター関係
最近、とあるところで「JAVAとC++はどちらが良い?」という質問やら主張やらがあったので思ったことを。
この二つの言語は文法は良く似通っていますが、実は良い悪いを比べられる相手ではありません。
というのは、C++はコンパイラ言語でJAVAはインタプリタであること、
C++はOSやドライバの開発などにも使えるのに対し、JAVAは基本的にVM上でしか動かせないこと、
そしてJAVAはライブラリまでがほぼ強制的にセットになっているのに対し、
C++は全てのライブラリをフルスクラッチで書けることなど、全く土俵が違っているのです。
強いて言えば、C++はコンパイラさえ有ればJAVAのかわりにもなれますが、JAVAはC++の代わりになれない場面はあります。
JAVAはサポートされている環境が有れば何処でも動かせる(と言われていますが)のは、インタプリタであるからで、
インタプリタがサポートされていない環境では全く動かせません。
逆にC++はコンパイラさえ有ればどのようなCPUでも開発できますが、コンパイラであるために環境ごとにコンパイルしなければ
動かすことができません。
どうもプログラムを生業とする人にも、この辺りの認識が変な人が居るようです。
たぶん、自分の専門の付近しか見ていないために、自分が使っている言語の射程距離がわからないのだと思います。
良くも悪くも、プログラマも分業化が進んでいると言うことでしょう。
私は比較的低レベルプログラミングをやっていますし、簡単なことならスクリプトで済ませたりもしますので、
アプリしか作っていなかったり、Webスクリプトしかしていない人、科学計算だけやってる学者さん達よりは
その辺の射程が広いと思っています。
もちろん、専業でその辺りのノウハウを溜めスキルを上げている人は立派ですが、
言語の比較をするのならば、ちゃんと範囲を決めてやるべきです。
アセンブラとPerlを比較するのはナンセンスです。
Windowsアプリ開発ならばVBとDelphiやVC++を比べることはできますが、ドライバ開発ではVC++しか選べません。
マイクロチップのPICをJAVAでプログラムすることは無理です。Cでならコンパイラがあります。
組込用のZ80系列のCPUのプログラムをPerlでやる人が居たら僕は頭を抱えます。たぶん不可能ではないでしょうけれど。
もしかしたらアプリ屋やスクリプト屋の人たちの中には、CPUの値段が数百円でも高いという世界がよくわからない人が居るかもしれません。
今でも数百円のCPUは現役です。そしてそのCPUの中にはどうやってもJAVAを動かすことができないものもあります。
しかしCは動かせるのです。C++はコンパイラが少ないでしょうが有れば動かせることもありえます。
そこまで認識してから言語の優劣を語って欲しいですね。