Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.06.2011, 14:39
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

Слайды "ECMAScript 6"
Слайды с DevConf "ECMAScript > Будущее"

http://www.slideshare.net/dmitrysosh...ript-6-8211902
__________________
Тонкости ECMAScript
Ответить с цитированием
  #2 (permalink)  
Старый 14.06.2011, 16:57
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Положительное будущее Хотя не могу сказать, что мне его не хватает. Меня, например, больше интересует, как планируется его воплощать в жизнь. Может быть, предусматривается что-то на подобие feature detection? И ожидается ли статическая типизация и классы?
Ответить с цитированием
  #3 (permalink)  
Старый 14.06.2011, 22:57
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от Dmitry A. Soshnikov
Слайды с DevConf "ECMAScript > Будущее"
на прошлой неделе как раз наткнулся на эти слайды, интересно только про Proxy хотелось бы по больше узнать в частности о расширении синтаксических конструкций.
Эта тема меня просто покорила, как я понял Brendan Eich хочет реализовать часть парадигмы из CoffeeScript и Python, за что ему нужно отдать должное т.к. расширение в сторону функционального программирования это большой прогресс для языка.

Сообщение от x-yuri
Хотя не могу сказать, что мне его не хватает
если уж Brendan Eich считает синтаксис JavaScript морально устаревшим, то нововведения не будут лишними и их не нужно боятся))

Сообщение от x-yuri
Меня, например, больше интересует, как планируется его воплощать в жизнь.
Печально, но похоже так же как и сейчас, в этой ветке Brendan Eich говорил, что старый синтаксис тоже сохранится (к примеру если появится arrow syntax, то function никуда не денется, вроде как невозможно избавится, по крайней мере пока).

Сообщение от x-yuri
И ожидается ли статическая типизация и классы?
Тут где-то поднимался этот вопрос, и мне почему-то помнится, что это запланировано в ES7 (Strawman)
Есть такая штука как Traceur для тестирования будущих фишек.
Вообще у меня есть желание написать плагин для браузеров, который бы реализовывал возможности будущих версий. Не с кем проконсультироваться на эту тему((

Кстати вот очень интересный доклад на эту же тему от Brendan Eich'a

PS: константы из ES6 уже сейчас поддерживают все браузеры кроме IE!

const foo = function(a) {
     return a;
};

alert(foo(10));


PS: Дмитрий, какие требования к участникам комитета TC-39?

Последний раз редактировалось monolithed, 16.06.2011 в 08:36.
Ответить с цитированием
  #4 (permalink)  
Старый 15.06.2011, 15:43
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от monolithed
Эта тема меня просто покорила, как я понял Brendan Eich хочет реализовать часть парадигмы из CoffeeScript и Python, за что ему нужно отдать должное т.к. расширение в сторону функционального и императивного программирования это большой прогресс для языка.
императивного? Ты не ошибся?

Сообщение от monolithed
если уж Brendan Eich считает синтаксис JavaScript морально устаревшим, то нововведения не будут лишними и их не нужно боятся))
я их не боюсь, я их не жду

Сообщение от monolithed
Печально, но похоже так же как и сейчас, в этой ветке Brendan Eich говорил, что старый синтаксис тоже сохранится (к примеру если появится arrow syntax, то function никуда не денется, вроде как невозможно избавится, по крайней мере пока).
а я думал, это должно печалить только разработчиков реализаций

Сообщение от monolithed
PS: константы из ES6 уже сейчас поддерживают все браузеры кроме IE!
вот и я о том же. Если это какой-нибудь новый метод, можно проверить есть ли он и воспользоваться своей реализацией, если нету. Или еще что-нибудь сделать. Если же это синтаксис... надо ждать пока браузеры начнут это поддерживать. Но "начнут это поддерживать" - довольно расплывчатое условие. А так как не очень-то и хотелось, можно расслабиться
Ответить с цитированием
  #5 (permalink)  
Старый 15.06.2011, 18:15
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от x-yuri
императивного? Ты не ошибся?
многие языки поддерживают эту парадигму, но на мой взгляд в JS она как-то "вяло" проявляется. То что мы имеем сейчас в отличии от того же Python, мало похоже на это
Ответить с цитированием
  #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.
Ответить с цитированием
  #7 (permalink)  
Старый 16.06.2011, 01:45
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от monolithed
Эта тема меня просто покорила, как я понял Brendan Eich хочет реализовать часть парадигмы из CoffeeScript и Python, за что ему нужно отдать должное т.к. расширение в сторону функционального и императивного программирования это большой прогресс для языка.
Я просто не понял, где там расширение в сторону фукционального/императивного программирования. Просто синтаксис упростили

А по поводу императивного программирования, по-моему как раз только оно и проявляется. Императивное программирование - это когда ты указываешь последовательность действий и есть состояние. Функциональное программирование - это совсем другой подход к проблеме: ты описываешь как решить задачу, но не указываешь последовательность действий. Я бы сказал, что это императивный язык, заимствующий идеи из функциональных языков.

Последний раз редактировалось x-yuri, 16.06.2011 в 01:49.
Ответить с цитированием
  #8 (permalink)  
Старый 16.06.2011, 02:45
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

...

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

хм, а coffeescript используется в реальных проектах?

и я тут не так давно натыкался на на письмо Брендана Айка
Цитата:
...
One of the use-cases for namespaces in ES4 was early binding (use
namespace intrinsic), both for performance and for programmer
comprehension -- no chance of runtime name binding disagreeing with
any earlier binding. But early binding in any dynamic code loading
scenario like the web requires a prioritization or reservation
mechanism to avoid early versus late binding conflicts.

Plus, as some JS implementors have noted with concern, multiple open
namespaces impose runtime cost unless an implementation works
significantly harder.

For these reasons, namespaces and early binding (like packages before
them, this past April) must go. This is final, they are not even a
future possibility. To achieve harmony, we have to focus not only on
nearer term improvements -- on "what's in" or what could be in -- we
must also strive to agree on what's out.

Once namespaces and early binding are out, classes can desugar to
lambda-coding + Object.freeze and friends from ES3.1. There's no need
for new runtime semantics to model what we talked about in Oslo as a
harmonized class proposal (I will publish wiki pages shortly to show
what was discussed).

We talked about desugaring classes in some detail in Oslo. During
these exchanges, we discussed several separable issues, including
classes, inheritance, like patterns, and type annotations. I'll avoid
writing more here, except to note that there were clear axes of
disagreement and agreement, grounds for hope that the committee could
reach consensus on some of these ideas, and general preference for
starting with the simplest proposals and keeping consensus as we go.
...
в котором он говорит о чем-то близком. Но непонятно, о каком раннем связывании идет речь, почему оно не возможно и как это влияет на классы (а может и на статическую типизацию). И кстати, о "замораживании" объектов сейчас речь не идет в контексте классов?
Ответить с цитированием
  #9 (permalink)  
Старый 16.06.2011, 05:01
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Сообщение от monolithed
Вообще у меня есть желание написать плагин для браузеров, который бы реализовывал возможности будущих версий. Не с кем проконсультироваться на эту тему
Эм, а в чем сложность? Компилятор ведь имеется.
Ответить с цитированием
  #10 (permalink)  
Старый 16.06.2011, 08:33
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от FINoM
Эм, а в чем сложность?
на первый взгляд ничего, но есть моменты, которые для меня пока не понятны...
Сообщение от FINoM
Компилятор ведь имеется.
в каком смысле?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Слайды "ECMAScript сегодня и в будущем" Dmitry A. Soshnikov Учебные материалы 0 01.05.2011 01:22
слайды с превью sg550 Prototype & script.aculo.us 1 08.11.2010 15:42
Слайды работ nemo Общие вопросы Javascript 4 26.06.2010 15:51