Ответ 1
Да, сначала изучите javascript! Coffeescript компилируется в него, и когда клиент запускает ваш код, он будет сырым javascript. Как вы ожидаете отладки без понимания языка?
Я ищу кое-какие знания по изучению CoffeeScript без изучения чистого JavaScript.
В настоящее время я пишу CSS/SASS и HTML/HAML, и я хотел бы изучить JavaScript. Я знаю очень простой JavaScript, но я не зашел так далеко. Мне очень нравится синтаксис CoffeeScript, и для меня это имеет смысл.
Узнал бы, только CoffeeScript завуалирует мое обучение?
Да, сначала изучите javascript! Coffeescript компилируется в него, и когда клиент запускает ваш код, он будет сырым javascript. Как вы ожидаете отладки без понимания языка?
На этом этапе есть два ответа на этот вопрос. 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.
Интерактивная книга Smooth CoffeeScript направлена на то, чтобы преподавать CoffeeScript в качестве первого языка. Но большинство ресурсов, включая мою собственную книгу CoffeeScript: ускоренная разработка JavaScript, нацелены на людей, имеющих средний уровень знаний JavaScript. Брендан Эйч, создатель JavaScript, взревел книгу, сказав, что она "помогает читателям стать лучшими разработчиками JavaScript в процессе изучения CoffeeScript".
Итак, я бы предложил сначала сделать хотя бы несколько руководств по JavaScript (например, на Codecademy), а затем рассмотреть возможность инвестирования в книгу на CoffeeScript.;)