Честно говоря, глаза разбегаются
И первым делом — возникла мысль — а стоит ли оно того?
Получается, что JavaScript вырастает во что-то вроде питона/руби.
Исчезает самое ценное в нём (ценное на мой субьективный взляд, конечно) — предельная чистота концепций. Хотя писать что-то более-менее обьёмное на JS, похоже, станет проще .
То, что там написано, частично реализовано в JavaScript 1.7 в Firefox 2: http://developer.mozilla.org/en/docs/New_in_JavaScript_1.7
L>Честно говоря, глаза разбегаются L>И первым делом — возникла мысль — а стоит ли оно того? L>Получается, что JavaScript вырастает во что-то вроде питона/руби. L>Исчезает самое ценное в нём (ценное на мой субьективный взляд, конечно) — предельная чистота концепций. Хотя писать что-то более-менее обьёмное на JS, похоже, станет проще .
Самое главное мне не нравится type annotations. Dynamic typing в Яваскрипте рулит.
Здравствуйте, Left2, Вы писали:
L>Вот, наткнулся на статейку о нововведениях в JavaScript: L>http://developer.mozilla.org/presentations/xtech2006/javascript/
L>Честно говоря, глаза разбегаются L>И первым делом — возникла мысль — а стоит ли оно того? L>Получается, что JavaScript вырастает во что-то вроде питона/руби.
Я бы предпочел чтобы он вырос во что-то вроде Java Лично мне нравиться путь, которым идет GWT, думаю. для AJAX — это то, что доктор прописал.. Если еще можно будет исполнять GWT-код без трансляции в JavaScript — вообще круто будет
Здравствуйте, Left2, Вы писали:
L>Вот, наткнулся на статейку о нововведениях в JavaScript: L>http://developer.mozilla.org/presentations/xtech2006/javascript/
L>Честно говоря, глаза разбегаются L>И первым делом — возникла мысль — а стоит ли оно того? L>Получается, что JavaScript вырастает во что-то вроде питона/руби. L>Исчезает самое ценное в нём (ценное на мой субьективный взляд, конечно) — предельная чистота концепций. Хотя писать что-то более-менее обьёмное на JS, похоже, станет проще .
С развитием Web 2.0 все к тому и будет идти. Вот толь, непонятно как дела будут обстоять с поддержкой этого чуда у Microsoft, Apple и Opera
D>С развитием Web 2.0 все к тому и будет идти. Вот толь, непонятно как дела будут обстоять с поддержкой этого чуда у Microsoft, Apple и Opera
Ну, там есть идеи насчёт того чтобы иметь транслятор JS 2.0 -> JS 1. То есть, на сервере лежит JS 2.0, а если пришёл старый (некошерный) браузер — ему отдают JS 1.
M>Самое главное мне не нравится type annotations. Dynamic typing в Яваскрипте рулит.
Согласен. Боюсь, не превратится ли таким путём язык в помойку типа Perl.
Лично мне JavaScript понравился именно тем что это был первый язык в который ничего не захотелось добавить
Здравствуйте, Left2, Вы писали:
M>>Самое главное мне не нравится type annotations. Dynamic typing в Яваскрипте рулит.
L>Согласен. Боюсь, не превратится ли таким путём язык в помойку типа Perl. L>Лично мне JavaScript понравился именно тем что это был первый язык в который ничего не захотелось добавить
Ну, из 1.7 мне нравится destructuring assignment. А еще я не отказался бы от packages. Вот только зачем мешать в кучу packages и namespaces, как предложено для Js2, я не понимаю.
M>Ну, из 1.7 мне нравится destructuring assignment.
Киньте в меня камнем если подобное не делается (с чуть другим синтаксисом) на обычном JS:
var a, b, c;
destructuring_assignment([a, b, c], arr);
M>А еще я не отказался бы от packages. Вот только зачем мешать в кучу packages и namespaces, как предложено для Js2, я не понимаю.
Packages...
Ну мне тоже кажется что это решабельно — из каждого файла выставляется один обьект, который имеет все нужные функции-переменные:
var MyPackage = {
MyFunction: function() { };
MyIntVariable: 0;
}
// В другом пакете:
MyPackage.MyFunction(MyPackage.MyIntVariable);
M>>Ну, из 1.7 мне нравится destructuring assignment. L>Киньте в меня камнем если подобное не делается (с чуть другим синтаксисом) на обычном JS:
L>
L>var a, b, c;
L>destructuring_assignment([a, b, c], arr);
L>
Это откуда? Поиск по javascript destructuring_assignment ничего не дал, если только такую функцию не писать самому ручками. На самом деле возможность написать
это всего лишь синтаксический сахар, имхо. Но приятный
M>>А еще я не отказался бы от packages. Вот только зачем мешать в кучу packages и namespaces, как предложено для Js2, я не понимаю. L>Packages... L>Ну мне тоже кажется что это решабельно — из каждого файла выставляется один обьект, который имеет все нужные функции-переменные:
L>
L>var MyPackage = {
L> MyFunction: function() { };
L> MyIntVariable: 0;
L>}
L>// В другом пакете:
L>MyPackage.MyFunction(MyPackage.MyIntVariable);
L>
L>Зато не разводим лишние сущности в языке
Тут такая фишка, что иногда пишешь что-то вроде фреймворка И не хочется делать один гигантский класс. И не хочется засорять глобальное пространство. А так — упаковал все в package aka модуль и радуешься
M>Это откуда? Поиск по javascript destructuring_assignment ничего не дал, если только такую функцию не писать самому ручками.
Ручками, естественно. Сорри, это я невнятно выразился
M>это всего лишь синтаксический сахар, имхо. Но приятный
Ага, именно — всего лишь сахар
M>Тут такая фишка, что иногда пишешь что-то вроде фреймворка И не хочется делать один гигантский класс. И не хочется засорять глобальное пространство. А так — упаковал все в package aka модуль и радуешься
Почему один гигантский класс? Можно ж всё это вложеным делать:
var MyPackage = {
MyFunction: function() { };
MyIntVariable: 0;
MySubPackage1 {
MyClass : function(par1, par2) {}
}
MySubPackage2 {
MyClass : function(par1, par2) {}
}
}
// и потом:var a = new MyPackage.MySubPackage1.MyClass(1, 2);
var b = new MyPackage.MySubPackage2.MyClass(1, 2);
Здравствуйте, Left2, Вы писали:
L>Я лично её PgDown-ом проталкивал.
А я мышью, но не в этом дело. При изменении размеров шрифта задержка ощутима, а при изменении размеров окна браузера последний и вовсе задумывается на пару секунд. Может это и есть Web 2.0? А не ну его тогда?
Здравствуйте, Mamut, Вы писали:
L>>Вот, наткнулся на статейку о нововведениях в JavaScript: L>>http://developer.mozilla.org/presentations/xtech2006/javascript/
У меня что-то ссылка не работает
M>Самое главное мне не нравится type annotations. Dynamic typing в Яваскрипте рулит.
А можно спросить чем не нравится type annotations? И что такого хорошего в Dynamic typing? На скриптах довольно много приходилось писать, но Dynamic typing мягко говоря не полюбил.
M>>Самое главное мне не нравится type annotations. Dynamic typing в Яваскрипте рулит. E>А можно спросить чем не нравится type annotations? И что такого хорошего в Dynamic typing? На скриптах довольно много приходилось писать, но Dynamic typing мягко говоря не полюбил.
Можно я попробую ответить насчёт Dynamic typing?
Чисто сугубо моё личное ИМХО.
Сама по себе возможность иметь статическую типизацию для языка типа JS — это, в целом, хорошо. Во-1 — уходит часть ошибок, во-2 — теоретически это должно повысить производительность. Вот только лично мне кажется что наличие статической типизации очень сильно усложнит язык. На данный момент в JavaScript все переменные равны, то есть для того чтобы пройтись по всем полям обьекта — мне нужно только написать:
for (var strName in obj)
{
var oMethodOrFunc = obj[strName];
}
Введение статической типизации потребует наличия полновесных механизмов reflection и boxing/unboxing. И это существенно усложнит язык. А этого сильно не хотелось бы. Сила JS — именно в его простоте.
Здравствуйте, Left2, Вы писали:
L>Можно я попробую ответить насчёт Dynamic typing? L>Чисто сугубо моё личное ИМХО. L>Сама по себе возможность иметь статическую типизацию для языка типа JS — это, в целом, хорошо. Во-1 — уходит часть ошибок, во-2 — теоретически это должно повысить производительность. Вот только лично мне кажется что наличие статической типизации очень сильно усложнит язык. На данный момент в JavaScript все переменные равны, то есть для того чтобы пройтись по всем полям обьекта — мне нужно только написать: L>Введение статической типизации потребует наличия полновесных механизмов reflection и boxing/unboxing. И это существенно усложнит язык. А этого сильно не хотелось бы. Сила JS — именно в его простоте.
Насколько я понял, никто не собирается отменять динамическую типизацию. Более того, статическая типизация была введена как раз для удобства разработки и поддержки больших проектов. Т. е. каждый сам для себя решает в зависимости от задачи, какую типизацию выбрать. Главное, что можно продолжать писать скрипты по-старинке, при этом даже не подозревая о наличии статической типизации. Получаем как бы 2 уровня языка: простой (то, что имеем сейчас) и продвинутый (статическая типизация и т. п.).
L>Введение статической типизации потребует наличия полновесных механизмов reflection и boxing/unboxing. И это существенно усложнит язык. А этого сильно не хотелось бы. Сила JS — именно в его простоте.
Помимо этого есть сложность и в другом. Я лично не хочу изучать все прелести DOM и писать:
str: String;
el: HTMLElement;
el = document.getElementById("myEl");
str = el.innerHTML;