Warum Coffeescript statt Javascript? [geschlossen]

24

Ich denke, dass es von Anfang an eine schlechte Idee ist, eine Sprache zu erstellen, die sich zu einer anderen Sprache kompiliert, anstatt Javascript von Anfang an richtig zu lernen. Schauen Sie sich Douglas Crockfords Good Parts an und schon sind Sie süchtig. Und Javascript ist nicht schwer - gutes Schreiben von Code ist schwer, unabhängig von der Sprache! Wenn Sie beschissenen Code in Javascript schreiben, werden Sie wahrscheinlich beschissenen Code in Kaffeeskript oder Latteskript schreiben oder was der Geschmack des Tages sein wird. Und zu sagen, dass die Coffeescript-Syntax wunderschön ist, passt mir. Ich mag meine geschweiften Klammern und die C-Syntax - und würde am liebsten in einer Sprache arbeiten, die so ist (sorry VB!). Und mehr Spielzeug und Sprachen und Rahmenbedingungen, um das Gleiche noch einmal zu tun, fühlen sich für mich nicht mehr nach Fortschritt an!

marko
quelle
5
Java-Kompilierung in Bytecode und C #, VB.NET und andere .NET-Sprachen, die in IL kompiliert werden, sind also ebenfalls schlechte Ideen?
Oded
10
Der Unterschied ist, dass die Leute normalerweise nicht direkt in Bytecode und IL programmieren (es sei denn, ich täusche mich), wohingegen das Programmieren in Javascript üblich ist, daher seine Überraschung / Frage.
Wildpeaks
14
Diese "Frage" enthält drei Ausrufezeichen und keine Fragezeichen
Azheglov
Wenn Sie in IL codieren möchten, irre ich mich. Ich denke nur, dass Javascript dazu ausreicht. Und wenn es zu ECMAScript 5 wechselt und der strikte Modus in Browsern implementiert wird, wird es noch besser. Aber ich sage nicht, dass es völlig falsch ist, etwas anderes zu tun. Ich möchte eine Diskussion über die Vor- und Nachteile, warum Sie etwas anderes als js bevorzugen würden.
Marko
3
___ ist scheiße, habe ich recht?
TRiG

Antworten:

21

CoffeeScript hat meist eine andere Syntax als JavaScript.

Wenn Sie JavaScript verstehen und JavaScript wirklich verstehen, ist es Ihnen gestattet, CoffeeScript zu verwenden, wenn Sie sagen, dass Sie Whitespace und bevorzugen ->

Ich betrachte den Unterschied zwischen JS & CS als den gleichen, über den man streiten muss

if (thing)
{
  // code
}

if (thing) {
  // code
}

(Letzteres ist besser. Wer Ersteres tut, sollte erschossen werden).

Wie auch immer, das Hauptproblem bei Coffeescript ist, dass Leute (hauptsächlich von Schienen) hineinkommen und dann Coffeescript schreiben, ohne Javascript zu können.

Coffeescript hat daher die gleichen Mängel wie jQuery. Sie sind nur mehr Einstiegspunkte für schlechte Programmierer, um mehr schlechtes JavaScript zu schreiben. Wir müssen die Codequalität wirklich irgendwie lösen.

Raynos
quelle
8
offopic : the latter is better. Anyone who does the former should get shot- es kommt auf die sprache an - ich mag first style, aber es ist nicht kompatibel mit js, was meine
hauptsprache
1
it depends on the language.Ich denke, er meinte in Bezug auf JavaScript.
Vardhaman Deshpande
1
Es gibt auch Dinge, die Sie in CoffeeScript einfach nicht tun können. Sie haben erheblich weniger Kontrolle über die Objekterstellung und dergleichen.
Erik Reppen
Wenn Sie nur den Kommentar von c69 ergänzen, kann das Formatieren des ersten Weges zu tatsächlichen Problemen führen: encosia.com/…
Buzzology,
1
(Letzteres ist besser. Wer Ersteres tut, sollte erschossen werden.) - Beweisen Sie es! Extremismus ist einfach schlecht, egal wer, wann, wo.
hrishikeshp19
13

Es gibt ein Missverständnis von JavaScript als "Spielzeug" -Sprache. Dies führt dazu, dass die Leute es als etwas ansehen, mit dem man spielen kann, anstatt es für etwas Wesentliches zu verwenden. Fügen Sie dies der niedrigen Eintrittsbarriere hinzu (dh Sie haben bereits einen Browser und einen Texteditor, sodass Sie mit dem Schreiben von JavaScript beginnen können) den Namen "JavaScript" beschmutzen.

Aufgrund dieser erhöhten Sichtbarkeit gibt es eine höhere (absolute) Menge an schlechten JS als in anderen Sprachen. Schlechte Gewohnheiten sind an der Tagesordnung, da sich der schlechte Code im gesamten Web verbreitet und die Benutzer Quellen auf Seiten anzeigen, die nicht auf ihre Richtigkeit oder gute Praxis überprüft wurden, und JavaScript deshalb einen schlechten Ruf hat.

Aus diesen Gründen haben die Menschen das Bedürfnis, vertrautere ("realere") Sprachen zu erstellen, die sich für JavaScript eignen. Sie möchten den Komfort von klassischem OO, statischem Tippen und anderen Funktionen, die in anderen Sprachen verfügbar sind. Sie sehen die Ungeheuerlichkeiten von unerfahrenen Programmierern erstellt JS verwenden, und denken , es muss ein Ergebnis der „grundlegenden Mängel“ sein (zu zitieren Google) in der Sprache.

</ rant>

Wie auch immer, verwenden Sie, was Sie wollen. Ich bleibe bei meinen Objektliteralen, der dynamischen Typisierung und dem prototypischen OO, danke.

Ryan Kinal
quelle
2
Hey, aber Dart wird nicht all unser Problem lösen! (</
sarcasm
Und so ist es! (Nicht der Dart-Kommentar!)
Marko
Es ist 2018 und JavaScript ist dem Druck von class: - /
ankush981
4

Ich denke, der Vorteil (Haftungsausschluss: Ich habe kein CoffeeScript verwendet, außer dass ich mit dem Beispiel auf der Website gespielt habe) ist, dass JavaScript ein wenig intuitiver für die Zielgruppe ist, für die es bestimmt ist: die Ruby / Python-Leute.

Ich persönlich sehe keinen Bedarf für CoffeeScript, da mir die JavaScript-Syntax gefällt. Ich sehe jedoch, wie nützlich es sein könnte.

Wayne Molina
quelle
1
Ja, ich denke, die Ruby / Python-Syntax sieht verdächtig aus, weil ich hauptsächlich in C-Stil-Sprachen wie Javascript, C #, PHP, Actionscript und Java programmiert habe.
Marko
4
Es sieht für mich meistens gut aus (mit Ausnahme von ->und =>Syntax), da ich Ruby / Python ein wenig verwendet habe, aber ich denke, wir sollten nicht versuchen, JavaScript zu verstecken, da es allgegenwärtig ist. Ja, ein Teil davon ist umständlich, aber das Erlernen von "reinem" JavaScript ist meiner Meinung nach eine bessere Kapitalrendite, da "reines" JavaScript in freier Wildbahn verbreitet wird.
Wayne Molina
0

Ob Sie die Syntax mögen oder nicht, ist subjektiv. Tatsache ist jedoch, dass CofeeScript einige lästige JavaScript-Warzen entfernt. Es bleibt natürlich weiterhin unklar, ob es sich lohnt, eine neue Sprache einzuführen und den Kompilierungsschritt zu bewältigen.

Nemanja Trifunovic
quelle
6
"ärgerliche Javascript-Warzen" CoffeeScript gibt es nicht, es gibt nur Zucker und Syntax. Ich kann den Warzen selbst ausweichen, und das tue ich.
Raynos