Показать сообщение отдельно
  #6 (permalink)  
Старый 15.06.2011, 21:53
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

Сообщение от x-yuri
Меня, например, больше интересует, как планируется его воплощать в жизнь. Может быть, предусматривается что-то на подобие feature detection?
Вообще, основная идея звучит как "не ломать Web". В идеале это означает, что старый код должен работать на новых движках.

В реальности же, естественно будут появляться какие-то несовместимые синтаксические конструкции, которые повлекут за собой эту самую "поломку" старого кода. Однако, это то, что Brendan Eich называет "a migration tax" (т.е. амортизация, накладные расходы) -- то, ради чего все-таки можно пожертвовать старым кодом. Это, как правило, очень важные конструкции, которые заслуживают, чтобы "ими можно было поломать web" (какие именно -- можно посмотреть здесь -- http://wiki.ecmascript.org/doku.php?...mony:proposals).

Для этого скорей всего будет введено версионирование (например, не type="text/javascript", а type="application/ecmascript;v=6").

Сообщение от x-yuri
И ожидается ли статическая типизация и классы?
Классы как раз сейчас активно обсуждаются в es-discuss, очень велика вероятность, что они будут -- как сахар над делегацией (такие же классы, как Python и CoffeeScript, которые оба являются прототипными языками).

Насчет статической типизации -- нет, нет активных обсуждений. Но будут типизированные массивы (уже есть) и структурированные типы -- для эффективного использования памяти и быстрого к ней обращения. Типы так же фигурируют в предложении value_proxies, но это тоже пока только обсуждается и не окончательно утверждено. Самих же статических типов на уровне языка -- нет, нет активного обсуждения по этому поводу.

Сообщение от monolithed
как я понял Brendan Eich хочет реализовать часть парадигмы из CoffeeScript и Python
Да, но JS и так уже (еще в ES3) многое взял из Python (оба языка писались в одно время -- в 1995 году). CoffeeScript -- да, очень классный язык, и Brendan (спустя год, после того, как я упомянул его на es-discuss и предложил -> функции) сам увлекся Coffee и уже сам, через год, заговорил о них.

В целом же, -> не новация Coffee, стрелка тесно связана с функциями еще с математики, стрелка -- это тип функции в типизированном лямбда-исчислении, стрелки-функции использутся во многих других языках, которые появились задолго до JavaScript и CoffeeScript -- например, Erlang -- 1986 год, -- кстати, это язык на котором я программирую сейчас на моей основной работе; Haskell тоже стрелки использует для функций. Так что, не нужно бояться стрелок -- они вполне себе ассоциированы с функциями (просто я слышал на Twitter высказывания вроде "как эти символы связаны с функцией вообще?" -- самое интересное -- самым прямым способом ).

Сообщение от monolithed
нововведения не будут лишними и их не нужно боятся
Абсолютно.

Сообщение от monolithed
PS: константы из ES6 уже сейчас поддерживают все браузеры кроме IE!
В Opera они просто синоним var.

Сообщение от monolithed
многие языки поддерживают эту парадигму, но на мой взгляд в JS она как-то "вяло" проявляется
В JS императивное программирование проявлено достаточно полно (изменяемое состояние, последовательные инструкции и т.д.). Как, впрочем, и часть функционального.
__________________
Тонкости ECMAScript

Последний раз редактировалось Dmitry A. Soshnikov, 15.06.2011 в 21:56.
Ответить с цитированием