javascriptではなくcoffeescriptを使用する理由 [閉まっている]


24

別の言語にコンパイルする言語を構築することは、最初からJavaScriptを適切に学習するのではなく、最初から悪い考えのように感じると思います。Douglas Crockfords Good Partsを調べてみてください。また、javascriptは難しくありません。言語に関係なく、適切なコードを記述するのは困難です。javascriptで安っぽいコードを書くなら、おそらくcoffeescriptやlattescriptで安っぽいコードを書くでしょう。そして、coffeescript構文が美しいと言うのは私をパスします。私は中括弧とC構文が好きです-そして、できればそのような言語で動作するでしょう(VBでごめんなさい!)。そして、同じことを繰り返し行うためのより多くのおもちゃと言語とフレームワークは、もはや私にとって進歩したくないと感じています!


5
だから、バイトコードとC#にコンパイルするJava、VB.NETおよびILにコンパイルする他の.NET言語も悪いアイデアですか?
-Oded

10
違いは、Javascriptでのプログラミングが一般的であるのに対し、通常はバイトコードとILで直接プログラミングしないのに対して(私が間違っていない限り)、したがって彼の驚き/疑問です。
ワイルドピーク

14
この「質問」には3つの感嘆符が含まれており、疑問符はありません
azheglov

あなたがILでコーディングしたいなら、私は間違っています。私はjavascriptで十分だと思っているだけです。そして、ECMAScript 5に移行し、ブラウザに厳格モードが実装されると、さらに改善されます。しかし、他のことをするのは完全に間違っていると言っているのではありません。長所と短所、なぜあなたがjs以外の何かを好むのかについての議論が欲しい。
マルコ

3
___吸う、私は正しいですか?
TRiG

回答:


21

CoffeeScriptは、JavaScriptに加えてほとんどが異なる構文です。

JavaScriptを理解し、本当にJavaScriptを理解している場合、ホワイトスペースを好み、 ->

JSとCSの違いは、

if (thing)
{
  // code
}

if (thing) {
  // code
}

(後者の方が優れています。前者を行う人は誰でも撃たれるべきです)。

とにかく、coffeescriptの主な問題は、人々が(主にレールから)来て、javascriptを知らずにcoffeescriptを書くことです。

したがって、coffeescriptにはjQueryと同じ欠点があります。それらは、悪いプログラマーがより悪いJavaScriptを書くための単なる入り口です。どうにかしてコード品質を解決する必要があります。


8
offopicthe latter is better. Anyone who does the former should get shot-言語に依存します-最初のスタイルが好きですが、私のメイン言語であるJSとは互換性がありません ;)
c69

1
it depends on the language.私は彼がJavaScriptに関して意味したと思う。
ヴァルダマンデシュパンデ

1
また、CoffeeScriptでできないこともあります。オブジェクトの作成などを細かく制御できます。
エリックReppen

c69のコメントに追加するだけで、最初の方法をフォーマットすると、実際の問題につながる可能性があります。encosia.com
Buzzology

1
(後者の方が優れています。前者の方は撃たれるべきです)-それを証明してください!過激主義は、誰が、いつ、どこにいても悪いことです。
hrishikeshp19

13

JavaScriptは「おもちゃ」の言語として誤解されています。これにより、人々はそれを、実質的な何かに使用されるのではなく、遊ぶべきものと見なします。それをエントリの低い障壁に追加して(つまり、ブラウザとテキストエディタを既に持っているのでJavaScriptを書き始めることができます)、大量のコードを書いている言語を理解していない大勢の人になってしまいます。 「JavaScript」という名前を汚します。

そこであるため、その増加の可視性の他の言語よりも悪いJSの高い(絶対)量。悪いコードがWeb全体に広まり、正確性や優れた実践のために吟味されていないページでソースを表示するため、悪い習慣が一般的になり、JavaScriptが悪い名前で終わることになります。

これらの理由により、人々はJavaScriptに移行する、より身近な(より「本物の」)言語を構築する必要性を感じています。彼らは、古典的なオブジェクト指向、静的型付け、および他の言語に現れる他の機能の快適さを望んでいます。彼らは、JSを使用して経験の浅いプログラマーによって作成された怪物を見て、それが言語の「基本的な欠陥」(Googleを引用する)の結果であるに違いないと考えています。

</ rant>

とにかく、あなたが欲しいものを使用してください。オブジェクトリテラル、動的型付け、プロトタイプOOに固執します。ありがとう。


2
ねえ、しかしダーツはすべての問題を解決するつもりはありません!(</ sarcasm>)
Raynos

それにアーメン!(ダーツのコメントではありません!)
マルコ

2018年であり、JavaScriptは次の圧力に屈したclass:-/
ankush981

4

利点(免責事項:Webサイトの例で遊ぶ以外にCoffeeScriptを使用したことはありません)は、JavaScriptを、対象となる群衆、つまりRuby / Pythonの人々にとって少し直感的にすることです。

JavaScriptシンタックスが好きなので、私は個人的にCoffeeScriptの必要性を感じていません。しかし、私はそれがどのように役立つかを見ています。


1
ええ、私はJavascript、C#、PHP、actionscript、javaなどのCスタイルの言語でコーディングしていることが多いので、ruby / python構文は疑わしいと思います。
マルコ

4
RubyとPythonを少し使用したので、(->and =>構文を除いて)たいていはうまく見えますが、JavaScriptはどこにでもあるので、JavaScriptを隠そうとすべきではないと思います。はい、一部は不格好ですが、「純粋な」JavaScriptを学習することは、「純粋な」JavaScriptが普及しているため、IMOのほうが投資収益率が高くなります。
ウェインモリナ

0

構文が好きかどうかは主観的ですが、実際のところ、CofeeScriptが面倒なJavaScriptのいぼを処理します。もちろん、新しい言語を導入し、コンパイル手順に対処する価値があるかどうかはまだ不明です。


6
「いらいらするJavaScriptイボ」CoffeeScriptはそうではなく、砂糖と構文を提供するだけです。私は自分でthe贅を避けることができます。
-Raynos
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.