Показать сообщение отдельно
  #41 (permalink)  
Старый 13.12.2013, 13:17
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от nerv_ Посмотреть сообщение
Пожалуйста, расскажи мне о "впечатляющих перспективах развития JS"
Новшества добавляемые в ECMAScript6 - это заимствования из других языков, вроде Python и Ruby. Перенимать ещё многое можно.

Сообщение от nerv_ Посмотреть сообщение
Можешь перечислить 3 самые острые надуманные проблемы, которые "лечатся соглашениями", и еще 3, кот. нивелирует новый стандарт?
1) Невозможно уследить за типами объектов, т.к. прототип объекта может быть изменён, а instanceof проверяет наличие прототипа в объекта указанного как Function.prototype, который также можно изменить, т.е:

function Foo() {}
var foo = new Foo;

foo instanceof Foo; // true
Foo.prototype = {};

foo instanceof Foo; // false


Лечится соглашением: не делайте так, описывайте прототипы, как если бы вы описывали класс, т.е. статически и спокойно сравнивайте типы по instanceof.


В ECMA6 лечится сахаром в виде class

2) Отсутствие модулей приводит к захламлению глобального пространства.

Лечится соглашением: используйте анонимные самовызываемые функции, свойства объектов как пространства имён и паттерн "модуль".

В ECMA6 лечится сахаром module

3) Плохая поддержка автокомплита и статического анализа в ИДЕ, т.к. нет явной декларации типов.
Лечится соглашением об обязательном использовании JSDoc.

4) JavaScript жутко медленный, ужас!
Не складывайте строки с числами, не меняйте динамически прототипы во время исполнения, не вызывайте eval внутри eval и вы удивитесь, как быстро может работать ваш код.

5) Громоздкий старомодный синтаксис функций, функциональная область видимости.
ArrowFunction, let ...

Могу долго перечислять.

Сообщение от nerv_ Посмотреть сообщение
Мне, почему то, монополия JS не кажется жуткой. Жутким кажется 3+ языков в браузере, в кот. придется разбираться.
Зачем разбираться в 3-х?


Сообщение от nerv_ Посмотреть сообщение
правильная мысль, т.к. я могу писать в простом блокноте
Попиши на Яве или С# в блокноте. Явная декларация типов для того и создана, чтобы IDE могла вам помогать. В Dart тоже явная декларация типов, и тоже с целью поддержки в ИДЕ. Если ты не будешь пользоваться ИДЕ под Дарт, то тебя он будет только бесить.
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 13.12.2013 в 13:29.
Ответить с цитированием