The depths to which JavaScript sucks is well-documented and well-understood. Its main faults are: its lack of module system, weak-typing, verbose function syntax¹, late binding², which has led to the creation of various static analysis tools to alleviate this language flaw³, but with limited success⁴ (there is even a static type checker⁵), finicky equality/automatic conversion, this behaviour, and lack of static types.
JavaScriptの不幸は、なまじJavaという名前がついているにもかかわらず、Javaスタイルのクラスが使えなかったから、JavaやC++やRubyやPythonのclass構文を使ったプログラミング経験のあるオブジェクト指向派の人に毛嫌いされている点かと。そのせいでprototype.jsなどのオレオレクラスの仕組みが蔓延して、ライブラリを利用しようにも仕組みが合わないから使いにくい、みたいな。その点ではThe Good Partsの本も悪評を助長させる駄本な気がしてます。しかも人気になってしまったので一層たちが悪い。
物議を醸す理由は? (スコア:2, すばらしい洞察)
物議を醸す理由がわからない。
プログラマでない人にも分かるように説明して欲しい。
Re:物議を醸す理由は? (スコア:0)
例えば今までその企業ではいくつかの言語のうちフランス語が主要言語だったのが今度からドイツ語になるようなもの
宗教に例えてもいい
とは言えGNOMEくらいならCなんかよりもスクリプト言語の方がずっとあってるのは確か
Re:物議を醸す理由は? (スコア:1, 参考になる)
本質的にJavaScriptが欠陥言語だということ。
優れた言語を目指して失敗した言語なので優れた部分はあるが失敗によるダメージが大きい。
JavaScriptで良いコードを書く人なら当然知っている常識。
オライリーからもJavaScript: The Good Partsという人気本が出ているくらいで、この本のタイトルには
「悪い部分は多数あるのは認めるが良い所だけを使おう」という意味が込められている。
もちろんJavaScriptでもまともな人が作法を守って作る限り普通にプログラミングができるが、他の言語ではあり得ない注意をしなければならない。
どんな言語でも注意するべき箇所はあるが、JavaScriptの場合はその注意をプログラマーに要請する論理的な根拠が存在しない。
Re: (スコア:0)
JavaScript自体は良い言語だと思うけどなぁ。
Webで使用された場合に、各ブラウザの互換性(DOM)がアレだったのが悪評の理由に感じる。
Re: (スコア:0)
The depths to which JavaScript sucks is well-documented and well-understood. Its main faults are: its lack of module system, weak-typing, verbose function syntax¹, late binding², which has led to the creation of various static analysis tools to alleviate this language flaw³, but with limited success⁴ (there is even a static type checker⁵), finicky equality/automatic conversion, this behaviour, and lack of static types.
http://www.haskell.org/haskellwiki/The_JavaScript_Problem [haskell.org]
Re: (スコア:0)
私もJavaScriptは大好き(本格的なプログラムはSchemeから始めたので)ですが、
多人数で開発規模が大きくなるとプログラマーのレベルに依存するところが大きすぎて正直扱いにくいですね。
関数オブジェクトを受け取るような関数オブジェクトを用意して、
必要に応じて無名関数を作って渡すようなコーディングが
JavaScriptでコーディングしていて楽しいところなんですが、
複数人でメンテしたら間違い無く悲惨なことになります。
Re: (スコア:0)
「JavaScript: The Good Parts」には、ブラウザの互換性とかそういうレベルじゃなく、
JavaScriptという言語そのものの良いところと悪いところが書かれてます。
良書なので、もしお読みになったことがなければご一読をお勧めします。
Re: (スコア:0)
今の言語はさ、なんつうの。こう、 いいものもある、だけど悪いものもあるよね。
Re:物議を醸す理由は? (スコア:1)
本心だとJavaScriptの酷さがわからない奴ってプログラマとして駄目
なんじゃないのと思ってますけどそのまま言うのは大人げないので。
わかってる奴が見ても気分悪いだろうし(言っちゃってるけど)。
Re:物議を醸す理由は? (スコア:1)
「オレもわからないが」ですね。
Re: (スコア:0)
具体的に説明できないけど酷い言語ですね!
Re: (スコア:0)
「若い山彦」か。なつかしいな。
吹いたぞ。+1
Re: (スコア:0)
JavaScript自体はほとんどいい言語だろう
他の言語の方が欠点多いよ
JavaScriptの欠点と言われてるものの9割5分はブラウザの仕様差
JSとほとんど変わらないAS2はそんなこといわれることなかったしね
Re: (スコア:0)
同意ですね。いっときのC++みたいに、その言語を使えると言えるレベルが、人により基準がまちまちになっているのがなんとも。
C++ならなんとなくのプログラムは、コンパイルできなかったりしてわかりますが、
JavaScriptになると下手に動くせいで原因究明にやたら時間がかかります。
こんなもんだろ?なんて、手を抜くと致命傷になりかねない言語です。
JavaScript: The Good Partsは良書でした。
Re: (スコア:0)
それなりに合理的だが直感に反する仕様がてんこもりなので、思い込みでコードを書くとドハマりしますね
Re: (スコア:0)
自分はそうは思わないけど具体的にどういう点がそうだと思う?
Re: (スコア:0)
C++にもEffective C++という本があってですね(略
JavaScriptの不幸は、なまじJavaという名前がついているにもかかわらず、Javaスタイルのクラスが使えなかったから、JavaやC++やRubyやPythonのclass構文を使ったプログラミング経験のあるオブジェクト指向派の人に毛嫌いされている点かと。そのせいでprototype.jsなどのオレオレクラスの仕組みが蔓延して、ライブラリを利用しようにも仕組みが合わないから使いにくい、みたいな。その点ではThe Good Partsの本も悪評を助長させる駄本な気がしてます。しかも人気になってしまったので一層たちが悪い。
コンストラクタ関数とprototypeを使ったクラス作成。最初は誰しも違和感を感じますが、素直にこれで開発するのがシンプルだな、と感じるようになりました。
Re: (スコア:0)
thisの扱い等問題のある箇所は多いと思うけど、欠陥言語とまではどうかな、と感じる。
よろしければ、具体的にどういうところがそう思うのか教えてください。
The Good Partsは、JavaやPHP、C++とかも同名の本があるので、それを欠陥言語の理由として使うのは微妙では。JavaやPHP、C++も欠陥言語である、と断じるなら、まぁ、それはそういう主張なのかもしれないけど。
Re: (スコア:0)
> JavaやPHP、C++も欠陥言語である
ここだけ読んだが断じます断じます
Re: (スコア:0)
>フランス語が主要言語だったのが今度からドイツ語になる
謎の言葉"バブビボビュ"が頭に浮かんだ。
#『最後の授業』ね。
謎の言葉 (スコア:0)
CROATOAN