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:物議を醸す理由は? (スコア:2)
まったく物議をかもしませんね。
S式からjavascriptに変換すればいいのさ〜
#どうせ言語なんて木構造が機械語にどう変わるかの規約程度の違いしか無い
新人。プログラマレベルをポケモンで言うと、コラッタぐらい
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
Re: (スコア:0)
GNOMEって元々言語中立の立場をとっていたからじゃね?コア部分をCで書いているのは言語バインディングを作りやすいから。
Re: (スコア:0)
gtk系統はコード規約やライブラリ特有の型名がひとつの言語と言っても差し支えない。
10年前なら、まだ、環境の差を吸収するためにtypedefしまくるのは当たり前のように行われていた。でも、もう要らないでしょ。Cにしたって"標準化"が進んでいるんだから。
Re: (スコア:0)
UNIXでは伝統的な暗黙ルールとして開発言語はC言語という考えがあった。
まぁ日本人は日本語でしょ。ってな感じ。
そこをJavaScriptでというのは、UNIXにライドオンしたマカーのやりかで、
つまりマカーによる浸食がついにここまで来たのかという驚きの表れなのさ。
Re: (スコア:0)
こういうこと言う人はEmacs好きな"自称"ハッカーだから近づかないのが無難
Re: (スコア:0)
そこをJavaScriptでというのは、UNIXにライドオンしたマカーのやりかで、
つまりマカーによる浸食がついにここまで来たのかという驚きの表れなのさ。
Mac OSデスクトップアプリの主要開発言語がJavaScriptであったことなど、ただの一度もない。
どこがマカーのやり方なのか?
Re:物議を醸す理由は? (スコア:1)
デスクトップアプリはともかく Dashboard ウィジェットはJavascriptだったような。
Re: (スコア:0)
国連が「これからは韓国語を推奨します」と発言した感じ。
事実上、標準となった(プラットホームを作っている)団体が、
長年標準で使われてた言語を差し置いて、
新しく勢いがあるが癖のある新興言語を推奨するって言ったからさあ大変。
ああ、楽○天のことか (スコア:1)
「社内公用語はJava」