Подтвердить что ты не робот

Должен ли я изучать JavaScript до CoffeeScript?

Я ищу кое-какие знания по изучению CoffeeScript без изучения чистого JavaScript.

В настоящее время я пишу CSS/SASS и HTML/HAML, и я хотел бы изучить JavaScript. Я знаю очень простой JavaScript, но я не зашел так далеко. Мне очень нравится синтаксис CoffeeScript, и для меня это имеет смысл.

Узнал бы, только CoffeeScript завуалирует мое обучение?

4b9b3361

Ответ 1

Да, сначала изучите javascript! Coffeescript компилируется в него, и когда клиент запускает ваш код, он будет сырым javascript. Как вы ожидаете отладки без понимания языка?

Ответ 2

На этом этапе есть два ответа на этот вопрос. Asawyer говорит, что вы должны знать JavaScript для отладки CoffeeScript. Тревор предполагает, что в идеале вы должны быть как минимум программистом на уровне среднего уровня. Я дам вам третий взгляд.

Самый быстрый способ освоить CoffeeScript - это начать писать на CoffeeScript, но вы будете изучать JavaScript, когда идете. Вам все равно нужно много узнать о Javascript, включая стандартные объекты (Object, Array, Date, Math, XHR и т.д.). Но другие вещи вы можете узнать с точки зрения CoffeeScript. Например, в книге Trevor есть большая глава о jQuery. Это куда я иду всякий раз, когда мне нужно обновить DOM-манипуляцию. Другим примером является область охвата; как только вы поймете разницу между тонкими стрелками и жирными стрелками (концепции CoffeeScript), вы узнаете два хороших способа обработки области закрытия в JavaScript.

Если вы не знаете объектно-ориентированное программирование, я предлагаю вам начать с книги, например, книги HeadFirst Design Patterns, хотя она основана на java, потому что это самый быстрый способ, который я знаю, чтобы перепрограммировать ваш мозг для OO. Трудно учиться хорошим методам OO, начиная с JavaScript... менее сложно с CoffeeScript.

Данные

У меня есть фон в Java, Python и ActionScript, но я начал писать на CoffeeScript всего 3 месяца назад, и мне удалось быстро наращивать скорость, чтобы написать 4500 строк производственного кода, включая 2 оригинальных проекта, которые помогите с разработкой CoffeeScript (CoffeeDocTest и Line Commands for Coda), и моя основная работа над инструментом для моего PhD под названием Lumenize, а также внести вклад в два других проекта CoffeeScript (coffedoc и Режим CoffeeScript для Coda). Я никогда не собирался писать или изучать JavaScript.

Дополнительная логика

Я не основываю свое заключение исключительно на собственном опыте. Вот еще несколько причин:

  • Вы можете избежать потраченного времени на изучение, где все бородавки находятся в JavaScript. Я до сих пор не знаю разницы между == и ===, и мне все равно! [Обновление: теперь я разбираюсь в разнице, но кто хочет "1", строка должна быть от 1 до 1, номер? Я все еще счастлив использовать === всюду]. В каких браузерах и при каких обстоятельствах безопасно забыть о двоеточии? Ваш код будет работать отлично во время тестирования, а затем провалится в другом браузере. Конечно, есть такие инструменты, как jslint, но требуется время, чтобы увеличить их использование. Переход прямо к CoffeeScript пропускает это время.

  • Вы узнаете хорошие привычки OO для создания классов и наследования в CoffeeScript, чем JavaScript.

  • Сопоставление списков и поддержка языков для петель меняют ваши привычки. Разработчики JavaScript часто используют функциональный стиль обратного вызова для итерации над коллекциями ($(). Each(), например). Использование функционального стиля, такого как гораздо менее эффективно, но это гораздо более чистый синтаксис, чем тот, который предоставляет JavaScript изначально. С CoffeeScript вы получаете скорость собственной реализации с еще большей читабельностью, чем синтаксис jQuery.

  • Аргумент отладки завышен. Все идентификаторы и общая структура сохраняются при компиляции кода. Очень легко увидеть свой собственный код в скомпилированном JavaScript. Сначала мне нужно было изучить, как меня конвертировал CoffeeScript, но как я научился писать "хороший" JavaScript. Теперь я могу легко прочитать скомпилированный JavaScript.

Ответ 3

Интерактивная книга Smooth CoffeeScript направлена ​​на то, чтобы преподавать CoffeeScript в качестве первого языка. Но большинство ресурсов, включая мою собственную книгу CoffeeScript: ускоренная разработка JavaScript, нацелены на людей, имеющих средний уровень знаний JavaScript. Брендан Эйч, создатель JavaScript, взревел книгу, сказав, что она "помогает читателям стать лучшими разработчиками JavaScript в процессе изучения CoffeeScript".

Итак, я бы предложил сначала сделать хотя бы несколько руководств по JavaScript (например, на Codecademy), а затем рассмотреть возможность инвестирования в книгу на CoffeeScript.;)