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)

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

>> Зато в жабаскрипте будет статическая типизация...

> Нахрен она нужна в javascript? Как раз в той области, где он применяется, динамическая типизация предпочтительнее.

Причем здесь область применения? Впрочем, тебе не нужно - не пользуйся, она опциональная.

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

> Жаба должна умереть!

никто на спорит, мы тут про javascript вообще-то

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

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

О, аристократы прибежали. Ну давай, расскажи нам, быдлу, пишущему на быдло-C, быдло-C++, быдло-Java, быдло-C# (да-да, как мы могли забыть о быдлонедоязыке), ну и быдло-JavaScript, конечно, на каком языке пишут настоящие аристократы?

anonymous
()

скажите, а можно ли яваскрипт который на страницах чем-то кроме браузера отлаживать?

по кр мере пропустить html-ину через пайп в какое-то приложение чтобы на выходе результирующий html был с яваскрипт-выводом?

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

Тогда проще использовать яву, благо там все это уже есть, но нет велосипедостроители не дремлют.

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

> Тогда проще использовать яву

Чем проще? С каких пор Яву можно встраивать в веб-страницы и исполнять на стороне клиента?

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

С тех пор как придумали апплеты (это полностью отвечает на ваш вопрос), хотя использовать яву как js, для извратов над страницами вроде пока нельзя, но почему бы господам велосипедофилам не реализовать эту возможность раз уж хочется.

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

> О, аристократы прибежали. Ну давай, расскажи нам, быдлу, пишущему на быдло-C, быдло-C++, быдло-Java, быдло-C# (да-да, как мы могли забыть о быдлонедоязыке), ну и быдло-JavaScript, конечно, на каком языке пишут настоящие аристократы?

Оп-па. Ну и вопрос - глупее некуда. Ты что, в первый день на лоре? Пророка не застал?

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

Удивляют странные люди, использующие табы, а не пробелы в Питоне!!!

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

>Так уже заменили. http://silverlight.net/ >Писать можно на IronRuby, IronPython, C# поделка от мелкософта тогда уж лучше флеш

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

В Java нет нормальных замыканий + расширений существующих объектов (метаклассы или то как в JS сделано -- не суть важно) и это сильно сказывается на выразительность. Там, где применив мозг и хотя бы простенький Prototype можно уложиться в пару строк на JS, на Java будет тонна кода.

JS -- рулит, DOM и поддержка в браузерах сосут.

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

>В Java нет нормальных замыканий + расширений существующих объектов (метаклассы или то как в JS сделано -- не суть важно) и это сильно сказывается на выразительность.

Моежт тогда ruby? Весьма выразительное тормозиллище, как раз к мозилле добавить будет сладкая парочка, ах да, еще на висте запустить.

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

>Им не просто Java нужна. им нужна java, которая позволяет куски кода размазывать по html-кам...

И что это будет? Swing RIA приложение в браузере? А сейчас что, этого нет?

>2. ты социализм не видел... иначе бы по трате ресурсов претензий не выдвигал :-)))

Я не видел? А ты уверен?

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

>В Java нет нормальных замыканий + расширений существующих объектов (метаклассы или то как в JS сделано -- не суть важно) и это сильно сказывается на выразительность. Там, где применив мозг и хотя бы простенький Prototype можно уложиться в пару строк на JS, на Java будет тонна кода.

Ога, и зато в проце от тонны жаба кода останется 100 байт оптимальных инструкций, а две строчки и прототайп нагенерят несколько кб неявных условных переходов, вызовов и черт-те чего еще, и затормозят самый крутой пентиум4 в сотни раз. Примеры в блогах, многочисленные на сегодняшний день. Мир уже оценил "прелести" Руби, оценил и пробежал мимо

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

facepalm.jpg Ох нет, умоляю скажи что ты пошутил! Я не верю что такое быдло может оказаться на ЛОРе.

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

>Ога, и зато в проце от тонны жаба кода останется 100 байт оптимальных инструкций, а две строчки и прототайп нагенерят несколько кб неявных условных переходов, вызовов и черт-те чего еще, и затормозят самый крутой пентиум4 в сотни раз. Примеры в блогах, многочисленные на сегодняшний день. Мир уже оценил "прелести" Руби, оценил и пробежал мимо

Так и есть. Но кого волнует, сколько у тебя там кода на отработку чекбокса срабатывает, если отрабатывает в пределах разумного? Важно latency, поэтому JS на клиенте вполне нормален. Если без фанатизма, конечно. Хотя даже вон GWT вполне ничего так работает :) Тем более, что я на 90% уверен, что в оптимизацию JS вложились сильно меньше, чем в оптимизацию той же Java.

С другой стороны, на сервере обычно как раз наоборот -- важен throughput, поэтому там Java лучше. :)

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

> В Java нет нормальных замыканий

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

> + расширений существующих объектов (метаклассы или то как в JS сделано -- не суть важно) и это сильно сказывается на выразительность. Там, где применив мозг и хотя бы простенький Prototype можно уложиться в пару строк на JS, на Java будет тонна кода.

А покажите ка пример. Proof on concept. Чтобы действительно 2 строчки на JS и тысяча на Java (ну или хотя бы сотня).

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

Я тут вижу у народа крыша совсем съехала. Ладно, я еще понимаю, спорить Java vs C#, Java vs C++, ну можно еще с натяжкой Java vs C. Но Java vs JavaScript... Предлагаю спор "мороженое vs отбивная".

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

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

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

Вот в таком варианте, то, что между строк //1 и //2 на Java так
работать не будет:

var arr = [1, 2, 3, 4, 5];
arr.each = function(func) {
  for (var i = 0, length = this.length; i < length; i++) {
    func(this[i]);
  }
}
// 1
var sum = 0;
arr.each(function(val) { sum += val; });
alert(sum);
// 2

Пример, естественно, надуманный. :) На самом деле, синтаксическая
жирность -- большая проблема, но и это ограничение иногда дает о себе
знать.

>А покажите ка пример. Proof on concept. Чтобы действительно 2 строчки
на JS и тысяча на Java (ну или хотя бы сотня).

Такого не покажу. Речь не идет о сокращении в 1000 или в 100 раз. А
вот в 5-10 раз сократить можно.

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

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

public class Main {
    interface Closure {
        void run(int x);
    }

    static class Array {
        public int[] items;
        void each(Closure callback) {
            for (int item : items) {
                callback.run(item);
            }
        }
    }

    public static void main(String[] args) {
        Array array = new Array();
        array.items = new int[]{1, 2, 3, 4, 5};

        final int[] sum = new int[1];
        sum[0] = 0;
        array.each(new Closure() {
            public void run(int x) {
                sum[0] += x;
            }
        });
        System.out.println(sum[0]);
    }

}

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

>Чем проще? С каких пор Яву можно встраивать в веб-страницы и исполнять на стороне клиента?

С 1995 года в виде апплетов

Karapuz ★★★★★
()

Как же хорошо быть анонимусом......

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

>> Чем проще? С каких пор Яву можно встраивать в веб-страницы и исполнять на стороне клиента?

> С 1995 года в виде апплетов

Я знал, что какой-нибудь умник так ответи :D Возьми с полки пирожок, скушай, и пойми, что речь идет не о том.

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

> С тех пор как придумали апплеты (это полностью отвечает на ваш вопрос)

Ты математик, не?

> использовать яву как js, для извратов над страницами вроде пока нельзя

аха, 10+ лет - и всё "пока"

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

Какой вопрос такой и ответ, не все облядают навыками телепатии, чтобы понимать о чем вы.

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

>> Ты математик, не?

> Комплексы, да?

Гы, я угадал :D

>> аха, 10+ лет - и всё "пока"

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

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

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

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

Так сделайте, мне хватает ECMAScript, и всяческие увеличения его версии с добавлением наворотов мне мнятся избыточными. Лучше сделать так, что бы существующие технологии поддерживались везде одинаково хорошо, чем новые лисапеды мутить.

С точки зрения "одинаковой поддержки" хорошо и flash и java, тк они поддерживаются плагинами от производителя, и если работают то одинаково, что в ie что в konqueror, не в пример HTML 4.1 и реализациям его DOM

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

>Возьми с полки пирожок, скушай, и пойми, что речь идет не о том.

Жую уже пирожок, а о чем речь, не понял. Ты писал "встраивать в веб-страницы и исполнять на стороне клиента". <object> чем не встраивание?

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

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

> Так сделайте, мне хватает ECMAScrip

Consciousness stream parsing error

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

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

>> Возьми с полки пирожок, скушай, и пойми, что речь идет не о том.

> Жую уже пирожок, а о чем речь, не понял

Возьми еще один, пожуй и его.

> <object> чем не встраивание?

Понятия не имею, что такое <object>, <applet> не встраивание тем, что не имеет доступа к странице и браузеру. JS - это фактически скриптование браузера, а Ява-апплет - это программка в песочнице внутри VM.

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

> > Жую уже пирожок, а о чем речь, не понял

> Возьми еще один, пожуй и его.

А можно и мне пирожок?

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

> А можно и мне пирожок?

Пирожок нужно заслужить 8)

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

> Привет коллегам в анабиозе, этот линк боян

Не канает. Сравни порядки результатов этих тестов по пистону и руби по отношению к с, плюсам, яве. По сравнению с ними разница между питоном и руби смехотворна.

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

> Не канает. Сравни порядки результатов этих тестов по пистону и руби по отношению к с, плюсам, яве. По сравнению с ними разница между питоном и руби смехотворна.

http://www.timestretch.com/FractalBenchmark.html ?
Собстно втопку питон с руби. Даёшь скриптование страниц на lua!

ЗЫ. Теперь мне можно пирожок?=)

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

Тогда это будет Java2, но уже без -Script.

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

>С точки зрения "одинаковой поддержки" хорошо и flash и java, тк они поддерживаются плагинами от производителя, и если работают то одинаково, что в ie что в konqueror, не в пример HTML 4.1 и реализациям его DOM

То есть Вы, быдло, не тестируете свои флешки в Gnash? Кстати, сейчас далеко не у всех, например, последние версии flash и java, тогда как браузеры обновляют практически все, и вполне нормально ориентироваться только на FF2/O9/K4/IE7.

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

Что, PHP на клиенте уже может асилить даже то, на что способна OperaMini, в которой я пишу это сообщение?

iZEN ★★★★★
()

Все что начининается на "жаба" в топку. Задрали они со своми меняющимися стандартами и несовместимостями.

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

ахтунг! клоуны на моем ЛОРе!

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