Здравствуйте, Mamut, Вы писали:
L>>Введение статической типизации потребует наличия полновесных механизмов reflection и boxing/unboxing. И это существенно усложнит язык. А этого сильно не хотелось бы. Сила JS — именно в его простоте. M>Помимо этого есть сложность и в другом. Я лично не хочу изучать все прелести DOM и писать:
Тебя никто не будет заставлять использовать статическую типизацию.
Здравствуйте, Mamut, Вы писали:
M>Ну и идею namespaces я не очень понял
Там есть вот такой пример:
package actors {
public namespace English
public namespace French
public class BilingualGreeter {
English function hello() {
print("hello, world")
}
French function hello() {
print("bonjour, le monde")
}
}
}
import actors.*
var greeter : BilingualGreeter = new BilingualGreeter
use namespace English // Make all identifiers in the English namespace visible
greeter.hello() // Invoke the English version
greeter.French::hello() // Invoke the French version
Hello, anonymous!
You wrote on Thu, 01 Mar 2007 12:11:20 GMT:
D>> Вот толь, непонятно как дела будут обстоять с поддержкой этого D>> чуда у Microsoft, Apple и Opera
a> JavaScript 2 это ECMAScript 4.
Ничего подобного. Т.н. ECMAScript Edition 4 выдуман в Mozilla, это не стандарт и неизвестно будет ли он стандартизирован в таком виде — этот proposal висит в ECMA уже не первый год.
a> А ECMAScript стараются поддерживать a> все разработчики.
Поддерживают стандарты. JavaScript 2 это проприетарное решение Mozilla.
Здравствуйте, YК, Вы писали:
a>> JavaScript 2 это ECMAScript 4. YК>Ничего подобного. Т.н. ECMAScript Edition 4 выдуман в Mozilla, это не стандарт и неизвестно будет ли он стандартизирован в таком виде — этот proposal висит в ECMA уже не первый год.
ECMA и Mozilla Foundation — не одна и та же организация. Именно ECMA выпустила спецификации предыдущих трёх версий ECMAScript (3 версия: http://www.ecma-international.org/publications/standards/Ecma-262.htm), и именно в ECMA сейчас трудится TG1 (http://www.ecma-international.org/memento/TC39-TG1.htm), работающая сейчас над ECMAScript 4. Да, согласен это еще не стандарт, но спецификацию обещают выпустить в конце перого квартала этого года.
a>> А ECMAScript стараются поддерживать a>> все разработчики. YК>Поддерживают стандарты. JavaScript 2 это проприетарное решение Mozilla.
Hello, anonymous!
You wrote on Thu, 01 Mar 2007 17:06:09 GMT:
a>>> JavaScript 2 это ECMAScript 4. YК>> Ничего подобного. Т.н. ECMAScript Edition 4 выдуман в Mozilla, YК>> это не стандарт и неизвестно будет ли он стандартизирован в YК>> таком виде — этот proposal висит в ECMA уже не первый год.
a> ECMA и Mozilla Foundation — не одна и та же организация.
А то я не знаю
a> в ECMA сейчас трудится TG1 a> (http://www.ecma-international.org/memento/TC39-TG1.htm), a> работающая сейчас над ECMAScript 4. Да, согласен это еще не a> стандарт, но спецификацию обещают выпустить в конце перого a> квартала этого года.
Откуда все эти данные? На сайте ECMA вообще нет никаких упоминаний о ведущейся работе над новой редакцией ECMAScript, не говоря уже о сроках.
Вся информация о т.н. ECMAScript 4 исходит от Mozilla, где можно найти чудные документы, обещающие его выпуск еще в 2002-м году — http://www.mozilla.org/js/language/es4/
a>>> А ECMAScript стараются поддерживать все разработчики. YК>> Поддерживают стандарты. JavaScript 2 это проприетарное решение YК>> Mozilla.
a> Да кто ж будет с этим спорить, конечно JavaScript продукт Mozilla, a> решение от Microsoft называется JScript. ) Что же касается a> поддержки ECMAScript 4, то вот: a> http://search.microsoft.com/results.aspx?mkt=en-US&mkt=en-US&q= a> ECMAScript+Edition+4&x=0&y=0
Как-то негусто, если за основу брать Мозилловский proposal, не находишь? Оно и неудивительно: смысла реализовывать какие-то черновые спецификации немного. В Microsoft один раз уже накололись с WD-XSL
Потом, это реализовано только в JScript.NET, а он не включен даже в IE7. Учитывая ту скорость, с которой MS выпускает новые версии броузеров, для web-разработки это станет доступным ой как нескоро.
Если говорить о JavaScript 1.7, то добавленные в него генераторы позволяют интересным образом эмулировать многопоточность — Threading in JavaScript 1.7.
Здравствуйте, YК, Вы писали:
YК>Откуда все эти данные?
Не поверишь. ) Из презентации, со ссылки на которую и началось это обсуждение:
* Access to the ECMA TG1 wiki in June 2006
* JS1.7 in Firefox 2 this fall
* JS1.9 (probably) in Firefox 3, Q1 2007
* ECMAScript Edition 4 spec deadline: end of Q1 2007
* JS2 based on final ES4 in Q2 2007
Первые 2 пункта уже выполнены. Ссылку на вики ECMA TG1 я тут приводил. Кстати, одновременно с открытием своей вики разработчики создали и список рассылки https://mail.mozilla.org/listinfo/es4-discuss для обсуждения этой новой редакции.
YК>На сайте ECMA вообще нет никаких упоминаний о ведущейся работе над новой редакцией ECMAScript, не говоря уже о сроках.
Она есть, но её там мало (вообще, очень неинформативный сайт). В пресс-релизах говорится, что ведутся работы, правда сроки постоянно переносятся. Типа такого:
ECMA is in the process of harmonizing the various diverging extensions of ECMAScript. The
full second version of the language is scheduled for publication as ECMA-262 Edition 4 in Q1
2004. This will update the standard with respect to the language and the various differing
implementations.
YК>Вся информация о т.н. ECMAScript 4 исходит от Mozilla, где можно найти чудные документы, обещающие его выпуск еще в 2002-м году — http://www.mozilla.org/js/language/es4/
Я полагаю, именно Mozilla это больше всех и надо. И мне кажется, что они все таки доведут эту работу до конца.
YК>Потом, это реализовано только в JScript.NET, а он не включен даже в IE7. Учитывая ту скорость, с которой MS выпускает новые версии броузеров, для web-разработки это станет доступным ой как нескоро.
Веб-разработка сейчас это не только IE, но это другой разговор.
Здравствуйте, Left2, Вы писали:
L>Вот, наткнулся на статейку о нововведениях в JavaScript: L>http://developer.mozilla.org/presentations/xtech2006/javascript/
L>Честно говоря, глаза разбегаются L>И первым делом — возникла мысль — а стоит ли оно того? L>Получается, что JavaScript вырастает во что-то вроде питона/руби. L>Исчезает самое ценное в нём (ценное на мой субьективный взляд, конечно) — предельная чистота концепций. Хотя писать что-то более-менее обьёмное на JS, похоже, станет проще .
Абсолютно непонятно зачем одновременно с Generators (yield) введены Iterators, да еще так коряво.
Это ж ведь идентичные сущности.
И еще предполагается что такой код:
function range(begin, end) {
for (let i = begin; i < end; ++i) {
yield i;
}
}
var evens = [i for (i in range(0, 21)) if (i % 2 == 0)];
будет как бы яснее и понятнее чем вот такой:
var evens = []; for (var i=0; i <= 20; i++) if (i % 2 == 0) evens.push(i);
Здравствуйте, Left2, Вы писали:
L>Исчезает самое ценное в нём (ценное на мой субьективный взляд, конечно) — предельная чистота концепций. Хотя писать что-то более-менее обьёмное на JS, похоже, станет проще .
Согласен. Это все куда-то не туда заносит.
По-моему, если уж так хочется то нужно просто вернуться к Java.
Только встраивать Java не как апплеты а как например всю ту же систему behaviors которую я сделал в Sciter.
Здравствуйте, Left2, Вы писали:
L>Вот, наткнулся на статейку о нововведениях в JavaScript: L>http://developer.mozilla.org/presentations/xtech2006/javascript/
L>Честно говоря, глаза разбегаются L>И первым делом — возникла мысль — а стоит ли оно того? L>Получается, что JavaScript вырастает во что-то вроде питона/руби. L>Исчезает самое ценное в нём (ценное на мой субьективный взляд, конечно) — предельная чистота концепций. Хотя писать что-то более-менее обьёмное на JS, похоже, станет проще .
CS>function range(begin, end) {
CS> for (let i = begin; i < end; ++i) {
CS> yield i;
CS> }
CS>}
CS>var evens = [i for (i in range(0, 21)) if (i % 2 == 0)];
CS>
CS>будет как бы яснее и понятнее чем вот такой:
CS>
CS>var evens = []; for (var i=0; i <= 20; i++) if (i % 2 == 0) evens.push(i);
CS>
CS>(из главы Array Comprehensions)
Это у них (имхо) корявая реализация типа (смесь Яваскрипта и Эрланга ):
var evens = [i | i <- range(0, 21), i % 2 == 0]
Корявая в том смысле, что за скобочками кода не видно
Left2 wrote:
> M>Ну, из 1.7 мне нравится destructuring assignment. > Киньте в меня камнем если подобное не делается (с чуть другим > синтаксисом) на обычном JS:
> var a, b, c;
> destructuring_assignment([a, b, c], arr);
Погоди, ты имеешь в виду, что можно написать функцию, которая присвоит значения этим переменным? Ты уверен? Значением
[a,b,c] переданным в эту функцию будет массив [undefined,undefined,undefined], и ничего ты с ним не сделаешь.
Posted via RSDN NNTP Server 2.0
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
anonymous wrote:
> .>Лучше бы они питон встроили наряду с js, чем ещё один язык сочинять... > И так остро стоит проблема несовместимости браузеров, так ты предлагаешь > её ещё усугубить.
А смысл, если эти все фичи будут работать только в FF?
Что-то мне кажется, что всё это дело появится в IE или даже в Opera очень не скоро, если вообще когда-нибудь случится
такое чудо.
Для чего это включают в FF, имхо, основное — не веб-страницы, а сам браузер (доволно много js-кода там), плагины, XUL и
прочие вкусности, там в нутро эти фичи уже частенько встречаются.
Posted via RSDN NNTP Server 2.0
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
>> var a, b, c;
>> destructuring_assignment([a, b, c], arr);
.>
.>Погоди, ты имеешь в виду, что можно написать функцию, которая присвоит значения этим переменным? Ты уверен? Значением .>[a,b,c] переданным в эту функцию будет массив [undefined,undefined,undefined], и ничего ты с ним не сделаешь.
Hello, anonymous!
You wrote on Thu, 01 Mar 2007 22:08:29 GMT:
YК>> Откуда все эти данные?
a> Не поверишь. ) Из презентации, со ссылки на которую и началось это a> обсуждение: a>
a> * Access to the ECMA TG1 wiki in June 2006
a> * JS1.7 in Firefox 2 this fall
a> * JS1.9 (probably) in Firefox 3, Q1 2007
a> * ECMAScript Edition 4 spec deadline: end of Q1 2007
a> * JS2 based on final ES4 in Q2 2007
Так это все опять информация от Mozilla. Я нахожу очень странным, что официальной информации о ECMAScript Edition 4 толком нет. В ее отсутствие, по-моему, преждевременно ставить знак равенства между JavaScript 2 и ECMAScript Edition 4. Если все фичи, которые наворотили в JavaScript 2 войдут в стандарт, то проблем не будет, но есть опасность получить частичную несовместимость броузеров со всеми вытекающими последствиями.
a> Ссылку на вики ECMA TG1 я тут приводил