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.
物議を醸す理由は? (スコア: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という言語そのものの良いところと悪いところが書かれてます。
良書なので、もしお読みになったことがなければご一読をお勧めします。