Сообщение от 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 императивное программирование проявлено достаточно полно (изменяемое состояние, последовательные инструкции и т.д.). Как, впрочем, и часть функционального.