読者です 読者をやめる 読者になる 読者になる

謎言語使いの徒然

適当に気になった技術や言語を流すブログ。

なんとなくやり取りを見て

日記

http://wise9.jp/archives/2245
http://d.hatena.ne.jp/JavaBlack/20110601/p1

このやりとりを見てなんとなく。

そもそも戦争なんてしてるんだろうか?という疑問はないではない。正直畑が違うだろうとツッコミを入れたい所ではある。
実際のところ公式の発表で目の敵にしてる宣言が無いので、その点はなんとも言えない。*1

うーん,こういう書き方している時点で,プログラミングのことを全く知らないんじゃないかと思うくらいに酷い.

という節があるが、書き方の問題で主張は問題無いという意味だろうか?
とりあえず以下の句に間違いは無いはずだ。

さて、Javaだが、JavaC++の流れを汲む言語だ。

根拠となるのは、Javaの産みの親である、James Arthur Gosling氏のA WhitePaper The Java Language Environmentの1.2.1だ。

Even though C++ was rejected as an implementation language, keeping the Java programming language looking like C++ as far as possible results in it being a familiar language, while removing the unnecessary complexities of C++. Having the Java programming language retain many of the object-oriented features and the "look and feel" of C++ means that programmers can migrate easily to the Java platform and be productive quickly.

C++ は実装言語としてこそ選ばれはしなかったが、類似の言語として、可能なかぎり C++ の構文と、それによる結果が同一となるよう保持しており、C++から不必要な複雑性を排除している。
Java言語においては、C++の数々のオブジェクト指向やルック&フィールを踏襲し、これはJavaプラットフォームへの移行を円滑に行えるほか、生産も素早く行えることを意味している。

ブラウザ戦争でブレークしたかどうかは不明。公式なドキュメントなんてあるはずもなく。

訴訟の際のソース

今年3月に米Sun Microsystemsが、MicrosoftがSunのJavaと互換性のない独自のJavaをWindowsに搭載した行為が独禁法違反にあたるとして、同社を相手取って提訴していた。

なので、互換性がなかったことが問題視されたという点で、ここはJavaBlack氏が正しい。

JavaScriptを勉強することは正義となり、JavaScriptがきちんと動作しないブラウザは粗悪品となった。主にIEだが。

そっちの畑専属なワケでも無いから断言は出来ないですが、ここ最近(2011/06/01現在)のWeb業界さん的には「勉強することは正義」は正しいと思う。枯れてないから厳密には「正しくなりそう?」がいいところかも?
正義かどうかなんて価値観だからソースあるわけじゃなし。が、RIA絡みのスキルとして、JavaScriptは十分選択肢ですから、そういう業界視点なら正解かなぁ?

ブラウザの粗悪品どうこうの部分は、JavaScriptレンダリングして、綺麗に表示されないサイトを見て、自分のブラウザが悪いのだと、ブラウザを乗り換える一般の方がどれだけいるんだろう?
これが居ないからこそIEがここまで普及し、減ったとはいえIEがまだまだ多いのではなかろうか?

言語がいい悪いは仕様を気に入るかどうかの宗教論なので傍観を決め込むに限る。
ただ、ポテンシャルの高い言語や、自由度の高い言語は人を選ぶよ?とだけ。

どちらにせよ、「ブラウザの中でしか動かないのがJavaScriptで、どこでも動くのがJava」と一言では語り尽くせない状況ではあるので

同じ条件下で一緒くたには出来ないかと、、、、。とよくある使い分け論をかけてみる。

尚、「Cの源流は…」が気になって調べてみた。
文書はBell 研究所の公式文書、The Development of the C Language

かなり冒頭の所に書いてあった。

its parent B [Johnson 73] and its grandparent BCPL [Richards 79], and instead concentrate on characteristic elements of each language and how they evolved.

この父親はB言語で、祖父はBCPL、そして両言語より特徴的な要素を集中させ、発展させた。

よって

C++の源流は言うまでもなくCにあり、Cの源流はPascalFORTRANといった手続き型言語にある。

は微妙。厳密には源流はBとBCPLであると明記されている。
源流ではなく、影響を受けたという意味では「Pascal」と「Algol」は、公式文書中でも多く見られる。
FORTRAN はヒトコトも出ていない。

*1:言語として喧嘩売ってるのとは少し違うけど、[http://www.rubyist.net/~matz/20080126.html:title=こういうの]はどうなんだろう?売ってるのか、、、、な。