っていうかぶっちゃけCかJavaでよくね?
とか思うことってたまにあります。
正直現実的ではないですけどね。
環境に最適化した言語があったほうが良いのは確かですし。
主に作る側のパフォーマンスが断然変わってきます。
特にOS依存の機能周りと連携を始めるとそうなりますね。
例えるなら、英語圏じゃない国に片言の英語だけ覚えて一人旅に出るレベル。
無用な苦労をすることになる。
話を戻すと、機器的な進化があれば機能も進化しますし、そのために渡される値とかも変わってきます。
それに対応するために独自の言語を作る。
それは、不自然なことじゃないし作る側として正しい姿勢だと思います。
その点CだとかJavaだとかだと『メモリとCPU上での動作』は変わらないけどタッチパネルだとかそういうのに対応しきれない。
特にOSのバージョンが進めば値が変わったりするということは、『実環境上での動作』が変わってしまう場合も考えられますからね。
そのあたりが嫌ならWebシステムにしてしまう、という方法もなくはない。
それならブラウザ依存は多少あるもののおおまかな機能って変わりませんし。
パフォーマンスが下がるだとか運用コストが跳ね上がるだとか問題点がない訳ではないですがね。
まあ何が言いたいかって、すべての環境で同じように動作する言語があれば良いじゃないかとか言ってみたところで、それならそれで環境の変化を追い続ける必要が出てきて現実的じゃないと、そういう話なんですけどね。
とは言っても、OSベンダ頼りでやるとそれはそれで問題がないわけでもない。
OSバージョンによる違いというやつですが、要するにアプリ側でサポートするOSバージョンそれぞれに合わせた修正とかそれ用の中間動作とかを作らないといけなくなる場合が結構あります。
今動作してるOSバージョン取ってきて処理を分岐する、とか。
それでサポート終わったOS用の動作とかがソースに残り続けたりする場合があったりするんですよね。
そして変な処理が乗ってて下手に取り除こうとするとバグの元になる。
それで開発コスト爆発的に跳ね上がるんだけど、本当に旧OSを幅広くサポートする必要性ってあるんだろうか……というのは常々疑問ですね。
Google ChromeとかまだMicrosoft的にサポートされてるはずのVistaすら切ろうとしてる感ありますしね。
まあVistaだからなぁ、と、思わなくもないですが。
全然違うはずなのにいろいろとMillennium Editionを彷彿とさせるなにかがありましたし。




