Во-первых, сам язык javascript достаточно сложный, скрывает в себе множество подводных камней, не присущих статически-типизируемым, компилируемым языкам, поэтому, скорее всего, опыт программирования на других языках окажется для вас совершенно бесполезным при переходе на js. Даже простые, всем известные, циклы и условные переходы не так просты, как кажется на первый взгляд. Поэтому, при разработке на js больше внимания следует уделить не синтаксису, а логике программы, в чем intellisence — плохой помощник.
Во-вторых, динамическая природа языка, прототипное наследование, отсутствие типизации на уровне синтаксиса делает невозможным создание хоть сколько-нибудь полезного механизма автодополнения. Представьте, что поля и методы экземпляра класса могут поменяться в процессе работы, или, что переменная this внутри метода класса может быть переопределена вызывающим кодом, что является нормальными практиками в мире js.
Однако, не все так плохо. Есть целых три IDE, которые могут хоть чуть-чуть помочь вам в освоении новой платформы:
1. JetBrains WebStorm
2. Aptana Studio
3. Brackets IDE
Две последних являются бесплатными.
Тем не менее, я все-же рекомендую отказаться от изучения js с нуля, и сосредоточиться на изучении одного из языков, которые компилируются в javascript на сервере, а клиент исполняет только скомпилированный, не предназначенный для чтения человеком код.
Это поможет вам не тратить, по моим наблюдениям, 2-3 года жизни только на то, чтобы пройти путь от полного нуля до junior-а в мире javascript, а сразу же после изучения синтаксиса и стандартной библиотеки, писать крупные, масштабируемые проекты, используя один язык, и одни и те же модули на сервере и на клиенте.
На этом поле есть много вариантов, из которых мне особо хочется отметить 3 штуки:
1. Google Dart — новый язык, который может как исполняться в DartVM на сервере, так и компилироваться в javascript. Может похвастаться своей IDE на базе эклипса. Из плюсов — compile-time типизация.
2. JetBrains Kotlin — еще один язык, который может быть скомпилирован в javascript. На сервере, kotlin компилируется в Java байткод, т.е. работает внутри Java VM. Из плюсов — совместимость со всем Java-стеком технологий.
3. Microsoft Typescript — еще один компилируемый в javascript язык. Основное отличие от простого javascript-а — поддержка compile-time типизации. Для Visual Studio 2012, 2013 есть плагин, который поддерживает этот язык.
|