LINUX.ORG.RU

JavaScript 2 (ECMAScript v.4) для Web 2

 , ,


0

0

Автор статьи обращает внимание на интересные моменты разрабатываемого стандарта JavaScript 2.0
Вводится ключевое слово class с модификаторами (final, dynamic, extends, implements, etc.)
Появляется режим компиляции strict, при котором происходит проверка типов на этапе компиляции.
Вводится понятие модуля, который загружается при обращении к нему, константы, пространства имён, перегрузка операторов и многое другое.
Обзор http://www.ecmascript.org/es4/spec/ov... (pdf)

>>> Подробности(на английском)

★★★

Проверено: anonymous_incognito ()
Последнее исправление: cetjs2 (всего исправлений: 2)

Ответ на: комментарий от dmiceman

Пока единственное разумное высказывание.

anonymous
()

ну нафейхуа они хотят сделать из хорошего удобного языка опять какого-то ктулху...

anonymous
()
Ответ на: комментарий от anonymous

>Собстно втопку питон с руби. Даёшь скриптование страниц на lua!

нет, только не луа... тогда луа станет помойкой вроде яваскрипта

anonymous
()
Ответ на: комментарий от anonymous

> Ага, рулит, пока не попытаешся в какомнить миднайткоммандере быстро отредактировать чужой скриптик, а сей шалун пофиксит всю табуляцию по своему внутреннему разумению в пробелы. И начнуться многострочные проблемы не связанные с программироанием.

темные силы электричества, мля...

питон в топку, потому что он не поддерживает mcedit!

anonymous
()

жабоскрипт прекрасно выполняет свои функции. расширять функционал там некуда, разве что добавлять локальные фичи что грозит очередными дырками в безопасности. проходили с активХ, спасибо, кушайте сами.

а так двумя руками за, пора бы его заменить на нечто вроде groovy или ruby (groovy даже предпочтительней ибо сможет выполнять и старые приложеньица). питон не подходит из-за табуляции в первую очередь, тащить кучу табов нерационально, часто скрипты в 500кб нужно ужимать во вменяемые 40-50.

gigabito
()
Ответ на: комментарий от gigabito

>жабоскрипт прекрасно выполняет свои функции. расширять функционал там некуда, разве что добавлять локальные фичи что грозит очередными дырками в безопасности.

Яваскрипт - полнофункциональный язык. На нем пол-файрфокса написано.

Развивать его надо, иначе загнется. Тем более, такие вещи как статическую типизацию, классы и пр.

>питон не подходит из-за табуляции в первую очередь, тащить кучу табов нерационально, часто скрипты в 500кб нужно ужимать во вменяемые 40-50

Кто заставляет тащить сырец! Тащи байт-код.

Однако пока питон появится во всех браузерах, пройдет еще 20 лет, так что увы, не вариант.

AVL2 ★★★★★
()
Ответ на: комментарий от Legioner

>Построчный аналог:

Бгг. final int[] sum; -- это построчный аналог? :) Это именно то ограничение, о котором я и говорил. Его можно обойти, но получается криво. Плюс у тебя each привязан к Array, а у меня его можно применить к любому объекту, который мы научим each. Хотя в твоем случае, можно и полиморфизм заюзать, сделать N each для каждого типа. Плюс у тебя интерфейс левый описывается, можно, конечно, сделать дженерик интерфейсы типа Func1<A1, R> { public R do(A1 arg1); }, и.т.д до Func10, но это все только доказывает мои слова :)

WFrag ★★★★
()
Ответ на: комментарий от Karapuz

>А зачем придурки по-новой жабу изобретают? Для апплетов?
Вы бы, как минимум, поинтересовались что такое JavaScript, прежде чем вспоминать про апплеты.

NonHuman ★★★
() автор топика
Ответ на: комментарий от xTERM

Если бы вы открыли ссылку, то смогли бы убедится, что как раз class это просто замена function.
.... Хотя, как говортся, если бы у бабушки был хуй оня бфла бы дедушкой. Когорта спорящих о том, чего не понимают.

NonHuman ★★★
() автор топика
Ответ на: комментарий от beastie

>вот и подтянулось поколение не осилившое :set tabstop=4

+1000

Не понимаю, как народ не видит неоспоримых плюсов использования табуляции взамен пробелов?

Ay49Mihas ★★★★
()
Ответ на: комментарий от anonymous

Настоящие аристократы? не пишун ничего, кроме высокомерных постов, потому они и аристократы.

NonHuman ★★★
() автор топика
Ответ на: комментарий от NonHuman

>Если бы вы открыли ссылку, то смогли бы убедится, что как раз class это просто замена function. .... Хотя, как говортся, если бы у бабушки был хуй оня бфла бы дедушкой. Когорта спорящих о том, чего не понимают.

This is LOR!!! Здесь обдуманные аргументы не в чести.

Ay49Mihas ★★★★
()
Ответ на: комментарий от wfrr

Вы видимо не в курсе, но можно, хотя это и очень неудобно. Я в своё время повоевал с этим дерьмом.
Не советую упоминать о нём в приличном месте. Побьют-с.

NonHuman ★★★
() автор топика
Ответ на: комментарий от AVL2

Насколько я помню, в Gecko с версии 1.8 обещалась поддерживка питона.
Судя по отсутствию интереса, потребности в нём нет.

NonHuman ★★★
() автор топика
Ответ на: комментарий от anonymous

>Даёшь скриптование страниц на lua!

эх, который уже год я об этом мечтаю…

mirage
()
Ответ на: комментарий от AVL2

>Однако пока питон появится во всех браузерах, пройдет еще 20 лет

надеюсь, не менее двухсот.

mirage
()
Ответ на: комментарий от NonHuman

> Судя по отсутствию интереса, потребности в нём нет

Поддержку нужно внедрять не в движок, а в стандарт, тогда и интерес появится.

troorl ★★
()
Ответ на: комментарий от WFrag

> Это именно то ограничение, о котором я и говорил

Где ограничение то? Я говорил, что синтаксис ужасный, тем не менее работает, переменные захватывает.

> Его можно обойти, но получается криво.

Что криво получается?

> Плюс у тебя each привязан к Array, а у меня его можно применить к любому объекту, который мы научим each.

man статическая типизация. Эти претензии совершенно не обоснованы.

> это все только доказывает мои слова :)

Это всё ничего не доказывает. Пишешь же ты в JavaScript-е классы без синтаксиса классов, используя хеши. Я когда это в первый раз увидел, тоже долго ржал, потом привык. Про перл говорить не буду, не будем о грустном. Вот и здесь пиши замыкания, руками указывая переменные, которые оно захватывает. Кривой синтаксис, не более. Функционально они ни чем не хуже аналогов из JavaScript-а/функциональных языков. BTW в 7 Java синтаксис вроде будет поприличней.

Legioner ★★★★★
()
Ответ на: комментарий от mirage

>Lua 5.1.3+LuaJIT: 0.35 Жаль что luajit не поддерживает x86_64 8( Да и с C++ у мено какието проблемы были (lua скомпиленый как с++). А так цены ему не было бы.

anonymous
()
Ответ на: комментарий от beastie

> :set tabstop=4

Еретик детектед ;) Таб - это 8 пробелов, и никак иначе.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

>Впрочем, если тебя всё устраивает - чему ты возмущаешься? У тебя ничего не отбирают.

Вы случаем не попутали свою логику? Это вы сказали, что вам нужна java вместо js2

wfrr ★★☆
()
Ответ на: комментарий от troorl

> Поддержку нужно внедрять не в движок, а в стандарт, тогда и интерес появится.

Ага, MS сразу заинтересуется пайтоном.

Rikz ★★★
()
Ответ на: комментарий от tailgunner

Память у вас никудышная, а для явы память нужна:

>> Вы жжоте, а оно надо? > Смотря кому, смотря для чего. Чтобы выполнять задачи, которые выполняет JS - да, надо.

wfrr ★★☆
()
Ответ на: комментарий от wfrr

>Память у вас никудышная, а для явы память нужна:

>>> Вы жжоте, а оно надо?

>> Смотря кому, смотря для чего. Чтобы выполнять задачи, которые выполняет JS - да, надо.

Возможно, у меня плохая память... а у тебя проблемы с пониманием русского языка. Приведенная тобой моя фраза не говорит о том, что мне нужна Ява. Или о том, что она нужна в браузере.

tailgunner ★★★★★
()
Ответ на: комментарий от Legioner

> BTW, для ресурсоёмких web-приложений, Java бы отлично подошла.

Чтобы веб-приложения стали ресурсоемкими? 8) Если серьезно, для веб-приложения (насколько я понимаю) нужно позволить апплету рулить браузером и манипулировать DOM страницы - когда я писал апплеты, это было невозможно. Может, сейчас что-нибудь изменилось, но поезд уже ушел.

tailgunner ★★★★★
()

То что было по ссылке для веба совершенно не годится, оно пригодно исключительно для встраивания в приложения.

Этакий гибрид из Java, Python и C++

SV0L0CH
()
Ответ на: комментарий от SV0L0CH

> То что было по ссылке для веба совершенно не годится

Ну может хоть ты объяснишь, почему? Вроде все старые возможности сохранены, не хочешь пользоваться новыми - не пользуйся.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

>Вроде все старые возможности сохранены

Я как-раз таки заметил, что часть возможностей убраны.

Строгая типизация затруднит пользование функциями как обычными объектами. Я тепперь не представляю как теперь будут организованы обработчики событий. Похоже, что придётся вместо старого кода придумывать новые другие костыли. Глобальный объект это вообще ужас, как теперь быть с межфреймовым взаимодействием?

В общем, ключевые вопросы это работа с DOM и XML, обработка событий и фреймы с окнами.

В остальном мне новый язык даже нравится :)

SV0L0CH
()
Ответ на: комментарий от SV0L0CH

>>Вроде все старые возможности сохранены

>Я как-раз таки заметил, что часть возможностей убраны.

>Строгая типизация затруднит пользование функциями как обычными объектами

Ну. это зависит от принятой объектной модели. Кроме того, "JavaScript 2.0 components can request to be compiled in strict mode" - то есть это опциональная возможность.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Как говорится, ждём ebuilds ^W первых реализаций... ;-)

SV0L0CH
()
Ответ на: комментарий от tailgunner

> Кроме того, "JavaScript 2.0 components can request to be compiled in strict mode" - то есть это опциональная возможность.

А это как в перле будет. Вроде use warnings; use strict не обязательно использовать, но на тех, кто их не используют, косятся и называют разными матершинными словами.

Вообще опции в ЯП — дурацкая штука. Языки должны быть ортогональны.

Legioner ★★★★★
()
Ответ на: комментарий от tailgunner

>> BTW, для ресурсоёмких web-приложений, Java бы отлично подошла.
> Чтобы веб-приложения стали ресурсоемкими? 8)

С чего бы это? Новые версии Java 6.0 совсем не ресурсоёмки по сравнению со старыми версиями до Java 5.0 включительно.

> Если серьезно, для веб-приложения (насколько я понимаю) нужно позволить апплету рулить браузером и манипулировать DOM страницы - когда я писал апплеты, это было невозможно. Может, сейчас что-нибудь изменилось, но поезд уже ушел.

А зачем апплету рулить DOM-страницы, если он сам по себе является Web-приложением и более эффективно/быстро управляет контентом внутри себя. Апплеты на Java 6.0 (особенно в оттюненой машине Java SE 6 Update N Early Access) выполняются заметно быстрее, чем ролики Adobe Flash 9, и не грузят процессор интерпретацией кода, как это происходит с JavaScript'ом.

Очень многим не нравится серо-мышиный цвет панели апплета внутри Web-браузера. Может быть основная причина именно в этом эмоциональном факторе? ;)

iZEN ★★★★★
()
Ответ на: комментарий от tailgunner

>Приведенная тобой моя фраза не говорит о том, что мне нужна Ява. Или о том, что она нужна в браузере.

Вы часто от своих слов отказываетесь?

wfrr ★★☆
()
Ответ на: комментарий от wfrr

>> Приведенная тобой моя фраза не говорит о том, что мне нужна Ява. Или о том, что она нужна в браузере.

> Вы часто от своих слов отказываетесь?

Гораздо реже, чем ты не понимаешь чужие слова.

tailgunner ★★★★★
()
Ответ на: комментарий от iZEN

> С чего бы это? Новые версии Java 6.0 совсем не ресурсоёмки по сравнению со старыми версиями до Java 5.0 включительно.

Рад за Яву. Только она малость опоздала стать "нересурсоемкой".

> А зачем апплету рулить DOM-страницы, если он сам по себе является Web-приложением

ИМХО, апплет является обычным приложением, без всяких приставок "Веб". А то, что сейчас понимается под веб-приложением - это фактически скриптование браузера.

> Апплеты на Java 6.0 (особенно в оттюненой машине Java SE 6 Update N Early Access) выполняются заметно быстрее, чем ролики Adobe Flash 9

Если это так, снова рад за Яву. Как жаль, что она опоздала.

> не грузят процессор интерпретацией кода, как это происходит с JavaScript'ом.

<шутка>Они грузят процессор JIT-компиляцией и JIT-рекомпиляцией</шутка>

tailgunner ★★★★★
()
Ответ на: комментарий от troorl

В стандарт чего? Питона? Так он вроде есть, но интереса к питону в браузере так и нет и думаю не будет.
А кто мещает разработчикам на питоне писать на нём?
Вот troorl, к примеру, ниасилил JavaScript, чтож вы не пишете на на любимом питоне, а мучаете ненависны JS?

NonHuman ★★★
() автор топика
Ответ на: комментарий от wfrr

> Не канает, LamerOk смехотворно не доверяет объективным тестам

Читаем по новой мое сообщение и _пытаемся понять смысл_. А так же ищем, где я _не доверяю_ "объективным" тестам )))

LamerOk ★★★★★
()

firefox strict

> Появляется режим компиляции strict,

кстати firefox -> about:config -> javascript.options.strict -> true (для вебдевелопера, юзеру не надо)

szh ★★★★
()
Ответ на: комментарий от iZEN

>С чего бы это? Новые версии Java 6.0 совсем не ресурсоёмки по сравнению со старыми версиями до Java 5.0 включительно.

Вот именно: по сравнению со старыми версиями до Java 5.0 включительно.

Ни с чем другим сравнить такеи тормоза не получится.

anonymous
()
Ответ на: комментарий от Legioner

>Где ограничение то? Я говорил, что синтаксис ужасный, тем не менее работает, переменные захватывает.

Ограничение в том, что переменные, на которые мы замыкаемся -- R/O. Приходится применять хаки в виде массивов.

>Что криво получается?

Вот именно это криво и получается. Попробуй в таком стиле попиши, сам увидишь. Десяток замыканий на паре страниц. Выглядеть будет ужасно, хотя для, например, обхода/фильтрации/и.т.д функциональный подход рулит безбожно. Когда можно писать в виде data.filter(function(elem) { ... }).invoke("remove");

>man статическая типизация. Эти претензии совершенно не обоснованы.

Эти претензции очень даже обоснованы, когда речь идет о сокращении кода. Когда я пишу на Java мне важнее типизация, когда я пишу UI на HTML/JS, мне важнее объем кода. Потому что приходит завтра заказчик и говорит, что надо UI перевернуть с ног на голову. Приходится выкидывать код и переписывать, например, функциональные зависимости между контролами по-другому.

>Это всё ничего не доказывает.

Я ничего не собираюсь доказывать. Просто на Java выходит больше кода на операциях типа обработки массивов, деревьев, и.т.д -- факт.

>Пишешь же ты в JavaScript-е классы без синтаксиса классов, используя хеши. Я когда это в первый раз увидел, тоже долго ржал, потом привык.

А че ржать-то? Бесклассовое ООП, основанное на прототипах. Рулит, когда нужно в динамике "обогатить" объекты :)

WFrag ★★★★
()

Хмм....а у Санов вроде было какое-то JavaFX вроде. Там конечно нечто похожее больше на Flash...но это лучше чем скрипты подобные...ИМХО

Burmuley
()

идея может и хорошая, но как она будет реализована в смотрелках?

anonymous
()
Ответ на: комментарий от Legioner

>амыкания это конечно здорово, но в джаве они есть, пусть и с отвратительным синтаксисом.

что уже можно изнутри жабобыдло"замыкания" обращаться к не final переменным внешнего локального окружения?

anonymous
()
Ответ на: комментарий от WFrag

> Бесклассовое ООП, основанное на прототипах.

И чем оно лучше class-based?

> Рулит, когда нужно в динамике "обогатить" объекты :)

Ну да, самомодифицурующийся код - это прикольно... писать.

tailgunner ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.