01.05.2014, 20:52
|
|
猫
|
|
Регистрация: 07.06.2007
Сообщений: 7,504
|
|
Сообщение от dmitry111
|
а зачем он нужен этот es6 ?
|
По твоему нужно всю жизнь мучиться с for in и не использовать for of потому что тебе лень?
Не использовать let, который добавляет удобство и гибкость?
Любой язык либо развивается под современные нужды, либо его забывают, как VBScript ( http://msdn.microsoft.com/ru-ru/libr...=vs.85%29.aspx)
es5 не тот язык на котором я хочу писать большие приложения. Неудобно.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
|
|
01.05.2014, 21:05
|
|
猫
|
|
Регистрация: 07.06.2007
Сообщений: 7,504
|
|
Например, чтобы забыть это хак(считаю это хаком):
function f(x, y, z) { }
var args = [0, 1, 2];
f.apply(null, args);
With ES6 spread you can now write the above as:
function f(x, y, z) { }
var args = [0, 1, 2];
f(...args);
Есть очень много клевых фишек, для которых сейчас нужно городить велосипед. Уже весь код велосипедами завален и на велосипедах строится. В es5 нет возможностей для написания вменяемого кода, который бы не погряз в лапше.
Пусть сейчас лапша будет на выходе, но я хочу писать на новом языке, а не на устаревшей недоделке, состоящей чуть более чем полностью из костылей.
Не понимаешь зачем надо, посмотри на Python, на CoffeScript, может дойдет.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Последний раз редактировалось Gozar, 01.05.2014 в 21:16.
|
|
01.05.2014, 23:15
|
Особый гость
|
|
Регистрация: 02.04.2010
Сообщений: 4,260
|
|
Сообщение от dmitry111
|
И уже переменные можно ставить где попало. Зачем?
|
И сейчас можно.
Попробую угадать что ты имел ввиду:
Зачем вообще объявлять все переменные в самом начале функции если они могут быть невостребованными?
Помню в ANCI C 89/90 можно было объявлять переменные только в начале функции, но потом одумались и отменили это обязательное поведение.
Однако если ты блочную область видимости, то {let ...} это от части "костыль".
Не в том смысле что сейчас можно писать (считаю очень круто, что нашли компромисс в этом вопросе, т.к. долго не хотели принимать эту запись):
for (let foo of object) ...
А это:
if (false) {
var foo = 1;
}
alert(foo);
Переменная foo хоть и имеет значение undefined, но как-никак, она определена и let в этом плане спасательный "костыль"!
А вообще, мне кажется, что ты мало пишешь на JS раз не понимаешь зачем ES6
Последний раз редактировалось monolithed, 01.05.2014 в 23:52.
|
|
02.05.2014, 12:42
|
|
Профессор
|
|
Регистрация: 26.03.2012
Сообщений: 823
|
|
Сообщение от monolithed
|
А вообще, мне кажется, что ты мало пишешь на JS раз не понимаешь зачем ES6
|
да не, не мало))
Речь о другом.
Я не спорю, возможно обновления нужны! Но неужели трудно сесть и написать идеальный стандарт, а не следующую версию. Зачем это?
Мне не хотелось бы, что js превращался в новый php, где обновления происходят довольно часто. php - это сервер, какую версию установил, с такой и работаешь! JS - это браузеры и как следствие несовместимости!
Не хотелось бы видеть сначала es6, потом es7, потом es8 и тд..
Это не просто создает путаницу, но мешает формированию code style, да и в целом сказывается негативно на профессиональных качествах программистов
ИМХО)
Последний раз редактировалось dmitry111, 02.05.2014 в 13:00.
|
|
02.05.2014, 13:15
|
|
猫
|
|
Регистрация: 07.06.2007
Сообщений: 7,504
|
|
Сообщение от dmitry111
|
Не хотелось бы видеть сначала es6, потом es7, потом es8 и тд..
|
не смотри, не увидишь, потому что так скорее всего и будет.
Сообщение от dmitry111
|
неужели трудно сесть и написать идеальный стандарт
|
Я вот все думаю, кого черта? Неужели трудно в Хроме сразу сделать поддержку давления пером при использовании планшета, как в ФФ? Могли бы сразу сделать, а нифига ... Мысль надеюсь понятна?
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
|
|
02.05.2014, 13:16
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Цитата:
|
Но неужели трудно сесть и написать идеальный стандарт
|
К сожалению трудно, особенно если развитие идёт эволюционным путём.
Цитата:
|
Не хотелось бы видеть сначала es6, потом es7, потом es8 и тд..
|
А мне бы хотелось, т.к. оч долгое время язык в принципе не развивался и нужно догонять. ES6 не вводит чего то принципиально нового, а просто добавляет то, чего языку явно не хватало и вынуждало разработчиков писать свои велосипеды.
К тому же новые версии стандарта - это не только новый синтаксис, а также улучшение стандартной библиотеки, которая сейчас в JS практически отсутствует.
Цитата:
|
Это не просто создает путаницу, но мешает формированию code style, да и в целом сказывается негативно на профессиональных качествах программистов
|
Т.е. ты хочешь один раз выучить что-то и не развиваться дальше? Моё мнение: если программист перестаёт изучать новые языки, подходы и т.д. то перестаёт быть таковым.
|
|
02.05.2014, 13:53
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
|
|
02.05.2014, 14:24
|
Особый гость
|
|
Регистрация: 02.04.2010
Сообщений: 4,260
|
|
Сообщение от dmitry111
|
Я не спорю, возможно обновления нужны! Но неужели трудно сесть и написать идеальный стандарт, а не следующую версию
|
Почему люди сразу не рождаются взрослыми?
Сообщение от dmitry111
|
Мне не хотелось бы, что js превращался в новый php, где обновления происходят довольно часто
|
Пока обратная совместимость не нарушается итерационный цикл не важен.
Сообщение от dmitry111
|
Не хотелось бы видеть сначала es6, потом es7, потом es8 и тд..
Это не просто создает путаницу, но мешает формированию code style, да и в целом сказывается негативно на профессиональных качествах программистов
|
Напомни сколько тебе лет?
|
|
02.05.2014, 17:09
|
|
Профессор
|
|
Регистрация: 26.03.2012
Сообщений: 823
|
|
Сообщение от monolithed
|
Почему люди сразу не рождаются взрослыми?
Напомни сколько тебе лет?
|
сколько раз обновлялся Си с 72 года?
На самом деле в es6 не появится чего-то нового, появится то, что есть уже в других языках. Думаю производительность тоже не изменится
Проблема c js в том, что все обновления нужно внедрить везде где есть js. А так как те, кто пишет стандарты тоже люди и могут где-то что-то упустить из виду могут появляться разнообразные баги, так как все что не описано в стандарте будет реализовываться как этого захочет компания-разработчик. И будет в хроме одно, в ff другое.
Думаю es6 возник под давлением конкурентов (дарт, тайпскрипт или как их там).
Ну чтож будем изучать es6, хотя меня es5 всем устраивал!
|
|
|
|