Чому coffeescript замість javascript? [зачинено]


24

Я думаю, що побудова мови, яка компілюється з іншою мовою, відчуває себе поганою ідеєю з самого початку, замість того, щоб вивчити JavaScript з самого початку. Погляньте на хороші частини Дугласа Крокфордса, і тоді вас зачепить. І JavaScript не важкий - писати хороший код важко незалежно від мови! Якщо ви пишете банальний код у javascript, то ви, можливо, будете писати банальний код у coffeescript або lattescript або який аромат буде сьогодні. І сказати, що синтаксис coffeescript є прекрасним. Мені подобаються мої фігурні дужки та синтаксис С - і бажано працювати такою мовою (вибачте, VB!). І більше іграшок, мов та рамок для того ж робити знову і знову не відчуваєш прогресу для мене!


5
Отже, компіляція Java у байт-код та C #, VB.NET та інші .NET мови, що збираються в IL, також є поганими ідеями?
Одід

10
Різниця в тому, що люди зазвичай не програмують безпосередньо в байт-коді та IL (якщо я не помиляюся), тоді як програмування в Javascript є загальним, отже, його сюрприз / питання.
wildpeaks

14
це "запитання" містить три знаки оклику та жодних знаків запитання
azheglov

Якщо вам подобається кодувати в IL, то я помиляюся. Я думаю лише, що JavaScript у ньому достатній. А коли він перейде до ECMAScript 5 і суворий режим буде впроваджений у браузери, тоді буде ще краще. Але я не кажу, що робити щось інше - зовсім неправильно. Я хочу обговорити плюси і мінуси, чому ви віддаєте перевагу чомусь іншому, ніж js.
marko

3
___ смокче, я прав?
TRiG

Відповіді:


21

CoffeeScript - це здебільшого інший синтаксис поверх JavaScript.

Якщо ви розумієте JavaScript і по-справжньому розумієте JavaScript, тоді вам дозволяється використовувати CoffeeScript, якщо ви скажете, віддайте перевагу пробілу та ->

Я вважаю, що різниця між JS & CS є такою ж, як і сперечатися

if (thing)
{
  // code
}

if (thing) {
  // code
}

(останнє краще. Кожен, хто робить першого, повинен бути застрелений).

У будь-якому разі, головна проблема з coffeescript полягає в тому, щоб люди заходили в нього (в основному з рейок), а потім писали coffeescript, не знаючи JavaScript.

Тому coffeescript має всі ті ж вади, що й jQuery. Вони просто більше вхідних пунктів для поганих програмістів, щоб писати більше поганого JavaScript. Нам дійсно потрібно якось вирішити якість коду.


8
offopic : the latter is better. Anyone who does the former should get shot- це залежить від мови - мені подобається перший стиль, але він не сумісний з JS, який є моєю основною мовою;)
c69,

1
it depends on the language.Я думаю, що він мав на увазі щодо JavaScript.
Вардхаман Дешпанде

1
Є також речі, які ви просто не можете зробити в CoffeeScript. Ви маєте значно менший рівень деталізованого контролю над створенням об'єктів тощо.
Erik Reppen

Просто додавши до коментаря c69, форматування першого способу може призвести до актуальних проблем: encosia.com/…
Buzzology

1
(останнє краще. Кожен, хто робить першого, повинен бути застрелений) - Доведіть! Екстремізм просто поганий незалежно від того, хто, коли, де.
hrishikeshp19

13

Існує неправильне уявлення про JavaScript як "іграшкової" мови. Це змушує людей розглядати це як щось, з чим можна грати, а не використовувати його для чогось істотного. Додайте це до низького бар'єру для входу (тобто у вас вже є браузер і текстовий редактор, щоб ви могли почати писати JavaScript), і ви отримаєте масу людей, які не розуміють мови, що пише масові кількості коду, і сулінг назви "JavaScript".

Там є вищим (абсолютним) кількістю поганих JS , ніж інші мови з - за цю підвищену видимість. Погані звички стають звичними, оскільки поганий код поширюється в Інтернеті, і люди переглядають джерело на сторінках, які не були перевірені на предмет точності чи належної практики, а JavaScript внаслідок цього є невірним ім'ям.

З цих причин люди відчувають потребу в створенні більш звичних (більш "справжніх") мов, які перетворюються на JavaScript. Вони хочуть комфорту класичного OO, статичного набору тексту та інших функцій, які з’являються іншими мовами. Вони бачать жахливі явища, створені недосвідченими програмістами, що використовують JS, і вважають, що це повинно бути результатом "основних недоліків" (цитувати Google) у мові.

</rant>

У будь-якому випадку, використовуйте те, що ви хочете. Я буду дотримуватися мої об'єктні літерали, динамічне введення тексту та прототиповий ОО, дякую.


2
Гей, але хіба не дартс вирішить всю нашу проблему! (</sarcasm>)
Райнос

Амін тому! (Не коментар дартса!)
marko

Настав 2018 рік, і JavaScript піддався тиску class: - /
ankush981

4

Я думаю, що вигода (відмова від відповідальності: я не використовував CoffeeScript, крім того, щоб грати з прикладом на веб-сайті) полягає в тому, що це робить JavaScript трохи інтуїтивнішим для натовпу, яким він обслуговує: тобто людей Ruby / Python.

Я особисто не бачу необхідності в CoffeeScript, оскільки мені подобається синтаксис JavaScript. Однак я бачу, як це може бути корисним.


1
Так, я думаю, що синтаксис ruby ​​/ python мені здається підозрілим, оскільки я здебільшого кодував такі мови мов, як Javascript, C #, PHP, scriptcript та java.
marko

4
Він виглядає добре для мене в основному ( за винятком ->і =>синтаксису) , так як я використав Ruby / Python трохи, але я думаю , що ми не повинні намагатися сховатися JavaScript з - за того , як всюдисущий це. Так, деякі з них є незграбними, але вивчення "чистого" JavaScript - це ІМО краща окупність інвестицій завдяки розповсюдженню "чистого" JavaScript у дикій природі.
Уейн Моліна

0

Незалежно від того, чи подобається вам синтаксис чи ні, це суб'єктивне, однак факт полягає в тому, що CofeeScript піклується про деякі дратівливі бородавки JavaScript. Звичайно, досі залишається незрозумілим, чи варто запровадити нову мову та впоратися з кроком компіляції.


6
"дратівливих бородавок Javascript" CoffeeScript не робить, він просто надає цукор і синтаксис. Я можу уникати бородавок, і це роблю.
Райнос
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.