The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Компания Google представила новый язык web-программирования Dart

10.10.2011 15:14

Компания Google анонсировала новый язык структурированного программирования для Web - Dart, который в долгосрочной перспективе позиционируется как более прогрессивная замена для языка JavaScript, решающая все имеющиеся в настоящее время проблемы с расширяемостью, производительностью и поддержкой разработки сложных приложений. Код нового языка доступен для свободной загрузки и распространяется под лицензией BSD. Кроме достаточно обширной стандартной библиотеки и интерфейсной библиотеки DOM, для Dart поставляется набор инструментов для компиляции, запуска кода в виртуальной машине, проверки кода и отладки.

Язык имеет достаточно привычный синтаксис (похож на Java и Си) и обладает нестрогой типизацией (не обязательно явно определять типы). Dart может использовать как для создания серверных, так и для клиентских приложений. Для запуска внутри браузера код на языке Dart может быть преобразован в JavaScript-представление (пока поддерживаются только браузеры Chrome, Safari 5+ и Firefox 4+) или запущен напрямую под управлением специального JavaScript-интерпретатора Dartboard. На стороне сервера приложение на языке Dart может быть выполнено внутри специальной виртуальной машины, которая обеспечивает производительность выполнения близкую к компилируемым в машинный код языкам. Виртуальную машину Dart планируется интегрировать в будущие версии браузера Chrome, что позволит выполнять приложения на языке Dart без компиляции в JavaScript. Дополнительно поддерживается встраивание Dart-кода в HTML, используя mime-тип "application/dart".

Язык подходит как для разработки одним программистом небольших скриптов без жесткой структуры, так и для создания высоко масштабируемых больших модульных проектов, поддерживаемых большим коллективом и требующих более явной типизации для того чтобы избежать неразберихи и ошибок. При этом явное задание типов не обязательно, например, можно начать разработку без указания типов, а в дальнейшем при необходимости добавить их (например, изначально написать "var x", а потом заменить на "num x"). Из поддерживаемых типов отмечаются различныхе виды хэшей, массивов и списков, очереди, числовые и строковые типы, типы для определения даты и времени, регулярные выражения (RegExp). Возможно создание своих типов.

Код Dart всегда выполняется только в рамках одного потока, для организации параллельного выполнения предлагается использовать классы с атрибутом isolate. Код, определенный в блоке isolate, выполняется полностью в изолированном пространстве в отдельной области памяти, взаимодействуя с основным процессом через отправку сообщений. В каждом скрипте используется собственное пространство имён, для использования внешних объектов, функций или переменных следует их явно импортировать при помощи конструкции "import". Все переменные по умолчанию действуют только в пределах текущего скрипта и не экспортируются глобально.

При проектировании языка преследовались следующие цели:

  • Структурированный, но гибкий язык для создания web-приложений;
  • Привычный и естественный для программистов, простой для изучения (кстати говоря, это отлично удалось, посмотрев примеры, возникает впечатление, что язык давно знаком);
  • Обеспечивающий быстрый запуск и высокую производительность для всех современных web-браузеров и различных типов окружений, от портативных устройств до мощных серверов.

Ключевые особенности:

  • Возможность определения классов и интерфейсов, позволяющих использовать инкапсуляцию и повторно использовать существующие методы и данные;
  • Необязательное указание типов, использовать или нет статические типы решает разработчик. Указание типов позволяет упростить отладку и выявление ошибок, делает код более ясным и читаемым;
  • Поддержка использования готовых и создания своих библиотек. Сторонние реализации фунуций могут подключаться в виде разделяемых библиотек;
  • Набор готовых инструментов для поддержки разработки на языке Dart, включая реализацию средств динамической разработки и отладки с исправлением кода на лету ("edit-and-continue").

Проблемы web-разработки, которые решены в Dart:

  • Небольшие скрипты, часто используемые в больших web-приложениях в неструктурированном виде, трудно поддерживать и отлаживать. Монолитные приложения проблематично разбить на части и поручить разработку каждой из частей отдельной команде программистов. Чем больше становится web-приложение, тем труднее его развивать и поддерживать;
  • Скриптовые языки популярны в основном в силу своей легковесной натуры и возможности очень быстро создать работающий код. Ценой такого подхода является проблема с восприятием логики работы по структуре самого кода, что требует написания комментариев для некоторых вещей, очевидных в строго типизированных языках. В итоге, сторонним разработчикам трудно разобраться с чужим кодом, обеспечить его поддержку и доработку;
  • Для существующих языков разработчик вынужден выбирать либо языки со статической типизацией, либо с динамической. Традиционные языки со статической типизацией требуют использования тяжелого инструментария и жесткого соблюдения стиля кодирования, из-за чего программист может чувствовать себя слишком ограниченным, а язык ощущаться как лишенный гибкости;
  • Разработчики не могли создавать однородные системы, охватывающие как клиентскую, так и серверную часть. Исключение составляют разве что Node.js и Google Web Toolkit (GWT);
  • Использование различных языков и форматов в проекте влечет за собой переключение контекста, что усложняет процесс кодирования и делает его громоздким.

Язык разработан при участии двух известных экспертов: Гилада Брача (Gilad Bracha), автора объектно-ориентированного функционального языка программирования Newspeak, и разработчика (в соавторстве с Джеймсом Гослингом и Билом Джоем) второй и третьей редакции спецификаций на язык Java, и Ларса Бака (Lars Bak), одного из основоположников использования виртуальных машин, руководившего разработкой виртуальных машин HotSpot и Java ME, а также возглавляющего разработку JavaScript-движка V8.

  1. Главная ссылка к новости (http://googlecode.blogspot.com...)
  2. OpenNews: В долгосрочной перспективе Google рассматривает язык Dart как замену JavaScript
  3. OpenNews: Google представит новый язык программирования Dart
  4. OpenNews: Представлен новый открытый проект Google - язык программирования Go
Лицензия: CC-BY
Тип: Интересно / К сведению
Короткая ссылка: https://opennet.ru/31991-dart
Ключевые слова: dart, lang, google, web, javascript
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (181) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, delin (?), 16:22, 10/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Шикарно, ждём поддержки во всех актуальных браузерах.
     
     
  • 2.7, Аноним (-), 16:48, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +4 +/
    AAA!!! Революция!!!
     
  • 2.9, Аноним (-), 16:52, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • –5 +/
    >Шикарно, ждём поддержки во всех актуальных браузерах.

    Нет, не ждем. JS сам по себе довольно унылый, а в Dart включает еще и унылось Java. Вообщем, прошелся по сорцам - ничуть не впечатлило.

     
     
  • 3.12, szh (ok), 16:55, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • –2 +/
    унылый пост не содержащий никакой информации, от человека плохой репутацией (Аноним)
     
     
  • 4.14, Аноним (-), 17:17, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +4 +/
    >унылый пост не содержащий никакой информации, от человека плохой репутацией (Аноним)

    Пост приуныл потому что тред приунлыл из-за того что здесь Dart. У анонима плохая репутация? Ну и с чего вы это взяли? Думалось что анонима самая нейтральная репутация.
    И насчет языка: если уж позиционировать "как более прогрессивная замена для языка JavaScript" - то надо закладываться на простоту и ясность. Смотрю на это http://www.dartlang.org/docs/api/index.html  и на это http://www.dartlang.org/articles/optional-types/ и делаю вывод что дарт если и получится как замена JScript'у коэффициент неюзабельности сравним с унылой Java'ой. Dart скорее подойдет в качестве server-side языка, но и это неправильная дорога. Надо скрещивать List, Prolog и С. Все остальное - хождение вокруг да около, ИМХО.

     
     
  • 5.16, Аноним (-), 17:25, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > У анонима плохая репутация? Ну и с чего вы это взяли? Думалось что анонима самая нейтральная репутация.

    Некоторые люди, при отсутствии аргументов, начинают критиковать имя собеседника, или его орфографические ошибки, или еще что-то, не относящее к теме обсуждения.

     
     
  • 6.19, szh (ok), 17:38, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Некоторые люди, при отсутствии аргументов, начинают критиковать имя собеседника, или его орфографические ошибки, или еще что-то, не относящее к теме обсуждения.

    Ты критикуемый пост хоть прочитал ? Он пустой, там критиковать нечего. Слова "унылый" не содержат инфо. За это и критикуется.

     
     
  • 7.23, Аноним (-), 17:55, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >Ты критикуемый пост хоть прочитал ? Он пустой, там критиковать нечего. Слова "унылый" не
    >содержат инфо. За это и критикуется.

    Там еще пара слов была о том что Аноним прошелся по сорцам, то есть вывод об унылости был взят не с потолка, а исходит из субъективного опыта Анонима и примеров (исходников). Вы спросите что из этого? - Так вот, наличие этого факта дает понять что кто-то считает язык унылым (собственно информация, пусть и субъективная) и чтобы понять/опровергнуть/проанализировать можно просто погрузиться в сорцы. Информация есть, хоть и вцелом она "обзорная" по языку.

     
     
  • 8.27, szh (ok), 18:05, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Для того чтобы настолько пустой-обзорный пост мог быть воспринят как информация,... большой текст свёрнут, показать
     
     
  • 9.31, Аноним (-), 18:20, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Так это Ваша проблема восприятия Наверное вам следует сбросить мозговой кэш стр... текст свёрнут, показать
     
     
  • 10.52, szh (ok), 19:16, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    это не проблема восприятия, это фильтрация спама ... текст свёрнут, показать
     
     
  • 11.105, arisu (ok), 03:58, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +5 +/
    так ты бы писал поменьше 8212 и 171 спама 187 было бы меньше ... текст свёрнут, показать
     
     
  • 12.176, Аноним (-), 02:20, 12/10/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Зачинщиком флуда выступил анонимус, который выдвинул единственный забойный аргу... текст свёрнут, показать
     
     
  • 13.182, arisu (ok), 02:47, 12/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    бугурт такой бугурт ... текст свёрнут, показать
     
     
  • 14.183, Аноним (-), 12:30, 12/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Butthurt такой butthurt fixed ... текст свёрнут, показать
     
  • 10.143, Аноним (-), 14:20, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • –2 +/
    И правильно сделает Потому что то что вы прошлись по сорцам - никому не интерес... текст свёрнут, показать
     
  • 7.177, Аноним (-), 02:23, 12/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Ты критикуемый пост хоть прочитал ? Он пустой, там критиковать нечего. Слова
    > "унылый" не содержат инфо. За это и критикуется.

    Похоже что у этого анонимного дятла настолько жесткие проблемы с ЧСВ что он еще и минусы искусственно накручивает всем кто с ним не согласен. Во всяком случае я затрудняюсь представить себе толпу настоящих посетителей минусующих вашем вполне резонное возражение.

     
  • 5.26, szh (ok), 18:01, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В плане непростоты согласен, но optional types - то о чем можно было мечтать Во... большой текст свёрнут, показать
     
     
  • 6.29, Аноним (-), 18:15, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Первая мысль после обзора анонса и сорцов была какие глупости гугл творит, мог... большой текст свёрнут, показать
     
     
  • 7.41, Crazy Alex (??), 18:40, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Какая разница, если JS совместимо не лечится? Если попытаться убрать все его родовые травмы (от конкатенации строк и необязательности точки с запятой до безумной солянки из коллбеков, которую невозможно логично расположить) это будет уже не JS, а что-то другое. Так проще с нуля это самое "другое" и сделать, заодно пойдя по несколько отличному пути - я там, к примеру, у них встроенный механизм событий видел, что может подразумевать удобную многопоточность a-la Erlang, когда потоки взаимодействуют только через события. Если хорошо сделают - лапшу из коллбеков можно будет этим отлично заменить.
     
     
  • 8.54, gegMOPO4 (ok), 19:27, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Забавно, но самая популярная претензия к Dart 8212 обязательная точка с запят... текст свёрнут, показать
     
  • 8.80, Аноним (-), 22:37, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Isolations ы 8212 это не совсем процессы, как в эрланге Это actor ы, a-la Sc... текст свёрнут, показать
     
     
  • 9.145, Аноним (-), 14:22, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    и напишут node dart ... текст свёрнут, показать
     
  • 9.150, Crazy Alex (??), 14:46, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Ну там не rpc, именно отсылка сообщений, так что с этим всё в порядке Вот разд... текст свёрнут, показать
     
  • 5.34, Crazy Alex (??), 18:31, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Нетипизированный язык на большом проекте - это призыв лишних граблей. Надо понимать, что сфера применения ЯП в вебе сдвинулась от примитивных анимашек до сложных проектов, и язык нужен соответствующий - документирующий эту сложность. А уж типизация - это классическое средство борьбы с ошибками, улучшения документированности кода и повышения быстродействия - трив одном, черт возьми! А не хотите (для прототипа, скажем) - ну пишите var, тоже работать будет. Медленнее, с большим шансом на ошибку - но будет.
     
     
  • 6.61, gegMOPO4 (ok), 19:51, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Не медленнее.
     
     
  • 7.137, Crazy Alex (??), 13:59, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Может и повезёт, конечно, но принципиально статическая типизация даёт возможность применить больше оптимизаций.
     
     
  • 8.156, gegMOPO4 (ok), 16:35, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    var или явное указание типа никак не влияют на семантику, это неоднократно подчё... текст свёрнут, показать
     
     
  • 9.169, Crazy Alex (ok), 19:43, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Да Хм, идиотизм какой... текст свёрнут, показать
     
  • 9.178, Аноним (-), 02:26, 12/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Зато сколько красивых багов можно поиметь если вместо ожидаемого числа приедет с... текст свёрнут, показать
     
  • 6.69, Аноним (-), 21:40, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Феерические глупости. Работать будет как раз быстрее так как компилятор знает тип переменной и соответственно будет использовать инструкции заточенные по этот тип.
     
     
  • 7.81, Аноним (-), 22:40, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> ну пишите var, тоже работать будет. Медленнее, с большим шансом на ошибку - но будет.
    > Феерические глупости. Работать будет как раз быстрее так как компилятор знает тип
    > переменной и соответственно будет использовать инструкции заточенные по этот тип.

    Простите, что? Когда "var" то типа переменной компилятор _не знает_, как раз. Разве что type interference поможет (но что-то я упоминаний оного не вижу, хотя и препятствий наличию оного тоже).

    Он все правильно сказал.

     
  • 6.135, dq0s4y71 (??), 13:36, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А уж типизация - это классическое средство борьбы с ошибками

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

     
     
  • 7.138, Crazy Alex (??), 14:05, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    "Проблема преобразования типов" - это привлечение внимания к возможным ошибкам. Эти места сделали явно заметными, только и всего. Внимательности и квалификации это не мешает никак. А вот от ситуаций "забыли добавить в объект поле, которое там должно быть" избавляет начисто - если ждём объект типа Line, то объект типа Point не примем. Хот я бы предпочёл несоклько более расширенную модель - к примеру, возможность указать вместо типа функцию или выражение, проверяющее пригодность переданного аргумента (например, нам годится всё, в чём есть num x, y - не важно, точка это, прямая или видгет) - очень удобная штука, проверено в D.
     
     
  • 8.151, Аноним (-), 15:31, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Тайпклассы из Хацкиля в помощь ... текст свёрнут, показать
     
     
  • 9.153, Crazy Alex (??), 15:49, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Мы вообще-то про кандидат в мейнстрим говорим, там лишний метауровень ни к чему ... текст свёрнут, показать
     
  • 8.159, gegMOPO4 (ok), 16:39, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Dart 8212 примет И даже засунет в List Line , если скажут ... текст свёрнут, показать
     

     ....большая нить свёрнута, показать (36)

  • 1.2, Аноним (-), 16:23, 10/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    I want MOAR языков программирования!
     
     
  • 2.161, Аноним (-), 17:14, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Все равно ни одного толком не знаешь, так какая разница, одним больше, одним меньше...
     

  • 1.3, Аноним (-), 16:31, 10/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Разнообразность браузеров и привязанность многих пользователей к IE не позволяет окончательно перейти даже на CSS3, так что до client-side DART(a) нам вообще можно не дожить.
     
     
  • 2.6, Lain_13 (?), 16:41, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    На сколько я помню предполагается поддержка прозрачного конвертирования Dart в JS в случае отсутствия поддержки Dart. Т.е. IЁ получит свой JS и будет жевать его если зубы не обломает.
    На мелких веб-приложениях этого заметно не будет, а сложные могут и попросить запустить себя в чём-то более прогрессивном или терпеть.
     
     
  • 3.36, Crazy Alex (??), 18:32, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Будет отличный стимул мигрировать на более вменяемые браузеры заодно
     
     
  • 4.51, Аноним (-), 19:13, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Напомню, что у Windows до сих пор 90% занятого рынка десктопов. Так что здесь диктовать условия будет MS.
     
     
  • 5.55, Lain_13 (?), 19:39, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Cool story bro.
    Нет, ну ты сам подумай, какие условия они могут диктовать? Очередная новая клёвая Ферма во вконтактике/гуглосторе/на мэилрушечке или в фейсбуке попросит юзверя поставить Хром, Фокс или Оперу вместо того куска … которым он пользуется и ты думаешь юзверь не поставит? Он бегом побежит!
    Так что там МС может сделать в такой ситуации? Запретить ставить сторонние браузеры?
    Какие, к чёрту, они могут условия диктовать? Не смеши, бро.
     
  • 5.58, Аноним (-), 19:47, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >у Microsoft 42% рынка браузеров

    fxd

     
     
  • 6.68, тоже Аноним (ok), 21:28, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    По статистике рынка форумов, 90% пользователей, приводя статистические данные, используют слово "рынок", не задумываясь, имеет ли оно вообще смысл в данном контексте.
     
     
  • 7.191, Аноним (-), 17:46, 13/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > По статистике рынка форумов, 90% пользователей, приводя статистические данные, используют
    > слово "рынок", не задумываясь, имеет ли оно вообще смысл в данном контексте.

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

     
  • 4.106, arisu (ok), 04:01, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Будет отличный стимул мигрировать на более вменяемые браузеры заодно

    ага. на те, которые не таскают с собой этот недосамокат от гугеля.

     
     
  • 5.127, Аноним (-), 10:36, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > ага. на те, которые не таскают с собой этот недосамокат от гугеля.

    Как странно. Недосамокат от гугеля вас не устраивает, а недосамокат от нетскейпа почему-то устраивает, не смотря на очевидные недостатки последнего по сравнению с первым.

     
     
  • 6.128, arisu (ok), 10:40, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > а недосамокат от нетскейпа почему-то устраивает

    этого я не говорил.

    впрочем, шкафнутый самокат хотя бы интересен и self таки напоминает. а у гугеля — обычное жабоподобное УГ.

     
     
  • 7.154, Crazy Alex (??), 15:53, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Блин. Мейнстрим и должен быть "обычным" и "подобным". На нём сотням тысяч писать, если не миллионам. Если б там была экзотика, как в Go - можно было бы сразу говорить, что не взлетит. А эта штука - как раз может. Основные проблемы JS она решает, не воодя каких-то извращений и не требуя семь лет сидеть в ските изучая хаскель. Очень практичный подход.
     
  • 4.162, Аноним (-), 17:15, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Будет отличный стимул мигрировать на более вменяемые браузеры заодно

    Cool story bro. Будет ДВА костыля вместо одного. Напомнить историю или сам назовешь? От ActiveX с .NET избавиться не можем...

     
     
  • 5.194, iNode (ok), 09:48, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Это ваши оффтопичные проблемы и одной маленькой программной компании которой всё никак не даётся кроссплатформенная разработка. Хотя она вроде бы уже повернулись к миру лицом и планирует активнее использовать HTML5, отключая по умолчанию ещё один костыль (Adobe Flash Player).
     

  • 1.4, klalafuda (?), 16:34, 10/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    ASP.NET, VBasic чего там ещё было в параллель с JSом? :)
     
     
  • 2.57, Lain_13 (?), 19:44, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > ASP.NET, VBasic чего там ещё было в параллель с JSом? :)

    Да, но первое — серверное и я что-то не припомню попыток пропихнуть ASP в браузеры (MS разродилось силверлайтом, но они явно опоздали и это плагин корявый, а не стандарт), а второе — ужасное и ни кому не нужное чудовище не только в вебе, но и вообще где угодно.
    Dart же позиционируется как наследник JS, в котором исправили глупые недоработки его «родителя». Язык открытый и наверняка будет с радостью принят во все нормальные браузеры, а если MS внезапно станут в позу, то всем будет начхать.

     
  • 2.64, аноним1 (?), 20:19, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    <занудство>
    VBScript, но это несерьезно, поскольку MS-only, а Дарт вроде кросс-браузерный.
    </занудство>
     
     
  • 3.77, INM (??), 22:24, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > <занудство>
    > VBScript, но это несерьезно, поскольку MS-only, а Дарт вроде кросс-браузерный.
    > </занудство>

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

     
     
  • 4.83, аноним1 (?), 23:03, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Два движка уже поддерживаются.
    Учитывая наличие компилятора в JS, думаю поддержка Оперы и ИЕ будет обеспечена.
     
  • 4.84, аноним1 (?), 23:09, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    проверил под IE9 - "To run this code please use Chrome, Safari or Firefox (or, try anyway). IE9 support is coming soon"
    неудивительно - трансляция в JS
     

  • 1.5, Анон (?), 16:35, 10/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Лицензия BSD!
     
     
  • 2.15, Аноним (-), 17:20, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Лицензия BSD!

    А что, гуглу можно. Проблемы с привлечением разработчиков из сообщества (как для FreeBSD) для него нет, т.к. весь код написан штатными сотрудниками. Проблемы с зоопарком закрытых форков (как с иксами) тоже нет - гугловского авторитета хватит, чтобы задавить кого угодно.
    Тем более, что использование копилефта в эталонных реализациях - плохой тон, потому что ограничивает применимость продукта.

     
     
  • 3.37, Crazy Alex (??), 18:34, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Для ЯП BSD-лицензия - мастхэв, в общем-то, иначе может быть слишком много проблем с лицензированием и совместимостью полученного кода, подключаемых библиотек под хоопарком лицензий и т.п.
     

  • 1.8, Аноним (-), 16:51, 10/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Статическая типизация вместе с динамической! Я джва года ждал такой язык! Ну, на первый взгляд выглядит интересно.
     
     
  • 2.10, Аноним (-), 16:53, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Хочу, чтоб в Руби так же было. :-/
     
  • 2.20, Аноним (-), 17:38, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Есть в груви, но там смешивание статики и динамики тормозит даже больше, чем просто динамика :-/
     
     
  • 3.35, Andrey (??), 18:32, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Есть в груви, но там смешивание статики и динамики тормозит даже больше,
    > чем просто динамика :-/

    Grovy++ (?)


     
     
  • 4.59, Аноним (-), 19:49, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    А Grovy++ умеет динамический код? /me не в курсе
     
  • 2.63, vadiml (ok), 19:53, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Статическая типизация вместе с динамической! Я джва года ждал такой язык

    можно было джва года назад попробовать perl6, там это уже было

     

  • 1.11, Аноним (-), 16:54, 10/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А не подскажет ли кто-нибудь из экспертов, можно ли надеяться, что сделают компиляцию в байткод для далвика? Ну, чтобы жопа не дымилась от анального преследования Ораклом. Или Dart для этого совсем не подходит?
     
     
  • 2.21, Аноним (-), 17:41, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Можно, но возьмётся ли кто-нибудь за это - вот в чём вопрос.
     
     
  • 3.25, Аноним (-), 17:58, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >Можно, но возьмётся ли кто-нибудь за это - вот в чём вопрос.

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

     
     
  • 4.163, Аноним (-), 17:17, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >>Можно, но возьмётся ли кто-нибудь за это - вот в чём вопрос.
    >  Я возьмусь если профинансирует кто-нибудь. Найдется ли спонсор - вот в
    > чем вопрос.

    СПО ж работает жаст фор фан. Ну и нафига тебе спонсор? Энджойся!

     
     
  • 5.190, arisu (ok), 14:14, 12/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    а ему не фан, такие дела.
     
  • 3.39, Crazy Alex (??), 18:35, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Я бы сказал - с вероятностью. Всё же джава - далеко не самый приятный в использовании язык. Но сначала сам Дарт надо допилить.
     
  • 2.40, gegMOPO4 (ok), 18:40, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Совсем не подходит. Это принципиально динамический язык. Там даже int — интерфейс. И объявления типов ни к чему не обязывают, если параметр int, это не означает, что там не может оказаться строка.
     

  • 1.13, Аноним (-), 17:07, 10/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +14 +/
    > посмотрев примеры, возникает впечатление

    Подъезжая к станции с меня слетела шляпа.

     
  • 1.17, Аноним (-), 17:35, 10/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чето многопоточности не видно ;(
     
     
  • 2.24, Аноним (-), 17:57, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >Чето многопоточности не видно ;(

    Я вот тоже думал что они вкусности Go перетащат. Неясно, почему не сделали. Уж гугл-то мог бы себе позволить.

     
     
  • 3.28, Аноним (-), 18:10, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Причем ведь HTML5 WebWorkers вроде есть, ну а на серверной стороне я вообще молчу, какие там могут быть проблемы если язык (виртуальная машина) свои. Блин, в плюсах уже практически по стандарту есть, а тут...
     
     
  • 4.42, Crazy Alex (??), 18:41, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    намёки есть (например, события).  Так что может и пояивтся. В конце концов, это далеко не финальная версия языка
     
     
  • 5.99, Аноним (-), 01:14, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Dart Programming Language Speci cation
    > Version 0.01
    > October 10th, 2011
    > 10.10.2011 17:35
    > Чето многопоточности не видно ;(
    > 10.10.2011 18:41  
    > намёки есть например, события, Isolate...

    ;)

     
     
  • 6.139, Crazy Alex (??), 14:12, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Ну тем более. Я-то по диагонали его описание глядел. Хотя с heavy and light isolates - это они погорячились, такие вещи должны быть implementation detail, и явно их задавать надо в вебе разве что в каких-то экзотических случаях.
     
  • 3.45, gegMOPO4 (ok), 18:46, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    В Go с многопоточностью серьёзная проблема — благодаря неатомарности с помощью race conditions можно отэксплоить map. При выполнении недоверенного кода (для чего и предназначается Dart) это недопустимо.
     
  • 2.30, Аноним (-), 18:16, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Не надо мне многоточных скриптов в вебе.
     
     
  • 3.32, Аноним (-), 18:21, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >Не надо мне многоточных скриптов в вебе.

    Вы хотели сказать не надо многопоточных на client-side'е ?

     
     
  • 4.50, Аноним (-), 19:13, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    А оно не только для встраивания в браузер? О_о
     
     
  • 5.107, szh (ok), 04:14, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    прочитать новость ниасилил ?
     
  • 3.97, Аноним (-), 01:03, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Не надо мне многоточных скриптов в вебе.

    А мне надо ;) Спрос знаете ли рождает предложение, так что уползайте в свой уголок ;)


     
  • 2.43, gegMOPO4 (ok), 18:42, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Видно. Isolate. Просто нити не затопчут друг-другу память, коммуникация только через сообщения. И это правильно.
     
     
  • 3.94, Аноним (-), 00:52, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Ну.. если так то супер ;) !
     
  • 2.71, letsmac (ok), 21:51, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Явной может и не быть. А раскидать управляемый код по процам а-ля Apple Grand Central никто не запрещает.
     

  • 1.22, Аноним (-), 17:55, 10/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Они хотят получить ещё парочку исков от оракла?
     
  • 1.38, gegMOPO4 (ok), 18:35, 10/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    > очень похож на язык Си

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

     
     
  • 2.44, Crazy Alex (??), 18:43, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это понятно - им,в идеале, вообще нужна одна среда для веба и андроида. Причём на андроиде неплохо бы от джавы уйти - не только из-за (возможны) патентных проблем, но и просто потому что тяжеловат язык для этого применения.
     
     
  • 3.53, gegMOPO4 (ok), 19:16, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Так Dart ещё тяжелее.
     
     
  • 4.66, szh (ok), 20:45, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    сказал человек не написавший ничего на этом языке.
     
  • 4.155, Crazy Alex (??), 15:54, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Чем он тяжелее? boilerplate-кода явно меньше. А если вы о скорости - дык а вы её как смотрели? в джаваскрипт-транслированном варианте? Типы есть, классы/интерфейсы есть - на далвик оно должно лечь отлично.
     
     
  • 5.160, gegMOPO4 (ok), 17:11, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Писать-то легче, выполнять тяжелее Если скорости хватит, то вот процессорного в... большой текст свёрнут, показать
     
     
  • 6.170, Crazy Alex (ok), 19:46, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Да понятно. Мне как-то не приходило в голову, что можно так извратиться - сделать типы и никак их не использовать.
     
     
  • 7.173, gegMOPO4 (ok), 20:23, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Ну почему же, можно и использовать. Но намного менее эффективно, чем можно было бы, если бы гарантированный тип гарантировался.

    И Dart всё ещё потенциально быстрее и экономнее JavaScript и проч. (благодаря особенностям реализации ООП). Но Java на Андроиде он не конкурент.

     
     
  • 8.189, arisu (ok), 14:10, 12/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    да нет там никакого 171 ООП 187 , есть очередной убогий костыль, слизаный с ц... текст свёрнут, показать
     
  • 6.188, arisu (ok), 14:09, 12/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    фи. всё это отлично заинлайнится. реально постоянно выполняется не такой уж большой кусок кода в программе, и JIT его в конце концов вылижет, проинлайнит и устаканит. да, ресурсов заберёт чуть больше, чем сразу нативный код, но далеко не «ужас-ужас-ужас».
     
  • 2.48, вывы (?), 19:10, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    похоже но java тоже откуда то брала из то го же с++ ), так что java монополии на List нету
     
  • 2.70, тоже Аноним (ok), 21:41, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Ясно, на кого ориентируются.

    Неужели на программистов?! Внезапно, ничего не скажешь...


     

  • 1.49, опроро (?), 19:13, 10/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    да у них план такой,
    создать язык похожий на джава, создать среду,
    дальше сказать Оракл видите у нас уже свой язык, да есть неодостатки, но работает!
    потом Оракл скажет ну ладно су..и придётся сделать java бесплатной чтоб влиться в среду.

    очевидно что Java спокойно заменит JS и будет счастье.

     
     
  • 2.140, Crazy Alex (??), 14:14, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    джава в вебе? Не смешите. Оно тяжеловесное и неприятное в написании. Девелоперы просто на JS тогда останутся в массе своей, и уж точно такого роста разнообразных библиотек не будет. Да и компилировать никого не заставишь (хотя байткод был бы куда более осмысленно по сети тягать).
     
     
  • 3.164, Аноним (-), 17:23, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    И JS уже не заменят Да, он убог, да, он будет обрастать костылями НО ОН ПОВСЮД... большой текст свёрнут, показать
     
     
  • 4.171, Crazy Alex (ok), 19:51, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Я, кстати, против флеша ничегоне имею, кроме тормозной реакции адоба на баги.

    Но вот "повсюду" - не аргумент. Ну будут тянуть JS-виртуальную машину все браузеры. А новьё будет писаться под Dart - потому что там граблей на порядок меньше, и на джаву/C#/плюсы/Ruby более похоже. Больше того - невелика хитрость сделать простое взаимодействие между JS- и Dart-скриптами через сообщения - и кучу существующего кода на JS можно будет использовать.

    Да, ну и срок жизни железок (особенно больших и дорогих, под которые есть куча ещё более дорогой инфраструктуры) со сроками жизни веб-софта не сравнивайте.

     
  • 2.179, Аноним (-), 02:28, 12/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > очевидно что Java спокойно заменит JS и будет счастье.

    Какой там по счету год она все заменяет и заменяет? Я уже со счета сбился :)

     

  • 1.65, Илья (??), 20:38, 10/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Если кто видел библиотеку для работы с системой (из браузера) - ткните пожалуйста носом.
    Или там еще нет такого?
     
     
  • 2.91, Аноним (-), 00:31, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    с какой системой ?
     

  • 1.67, gegMOPO4 (ok), 21:18, 10/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > похож на Java и Си

    Исправили, называется. Ну где вы там Си увидели? Или других языков не знаете? Где в Dart указатели, сишные массивы, псевдостроки, 10 видов целых чисел, объединения, битовые поля, макропроцессор? Где в Си final, классы, new, сборка мусора, генерики, foreach, исключения? Возьмите то, чем синтаксис Си отличается от Java, и в Dart этого не будет. Возьмите то, чем синтаксис Java отличается от Си, и в Dart большая часть этого будет.

     
     
  • 2.72, Аноним (-), 21:59, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > знаете? Где в Dart указатели,

    Вероятно там они не слишком то и нужны. Браузер в котором ремотный код указатели лопатит сам как угодно - сцыкотно, да?

    > сишные массивы,

    А что, там нельзя типизированный массив объявить?

     
     
  • 3.125, gegMOPO4 (ok), 10:22, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Да, указателей нет, это не Си.

    int a[10] — так объявить массив тоже нельзя.

     
  • 3.142, Crazy Alex (??), 14:16, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    NaCl - и у вас всё будет сухо и комфортно. Просто указатели - это почему-то слишком сложно для большинства (см. статью Джоэла).
     
     
  • 4.187, arisu (ok), 14:02, 12/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > NaCl — и у вас всё будет сухо и комфортно. Просто указатели

    …это прямой путь поиметь дырень. да и писать на нединамических языках — удовольствие ниже среднего.

     
  • 2.73, Аноним (-), 22:03, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> Ну где вы там Си увидели

    В семплах:

    #import('dart:html');


     
     
  • 3.75, Аноним (-), 22:14, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Еще Виталик, светлая ему память, громко и нецензурно говорил о путающих синтаксис и семантику.

    Этот #import это, если я правильно понял из 10 минут листания спецификации, он — как import в петуне, а не #include в C.

     
  • 3.124, gegMOPO4 (ok), 10:19, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Это, по-вашему, Си?
     
  • 2.141, Crazy Alex (??), 14:15, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    С шарпом сравнивайте скорее
     

  • 1.74, Xasd (ok), 22:09, 10/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    всё это конешно круто!

    ...но что за такой старпёрский подход? (сам язык *по_виду* похож на старпёрские Java и C/C++...)

    но что меня вообще поразило -- это код хостится в SVN !!! отсутствие Git явно признак старпёрщины :-)

    # p.s.: хотя в целом конешно язык не плох :-) ... идея изоляций мне по нраву :-)

     
     
  • 2.78, Аноним (-), 22:27, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > но что меня вообще поразило -- это код хостится в SVN !!!
    > отсутствие Git явно признак старпёрщины :-)

    Корпорация бобра имеет особеность сначала все делать (за кулисами), а потом выкладывать публике.

    Ну, что, на безрыбье и Dart ничего так. Хотя и воняет жабкой.

    Я бы предпочел LLVM в браузере, хотя и осознаю, что у этого более чем достаточно минусов. Хотя один пес, JS сейчас это такой ассемблер нынче, читать его без отдельного "чистого" варианта давно нельзя, так что многие минусы под вопросом.

     
  • 2.180, Аноним (-), 02:30, 12/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > ...но что за такой старпёрский подход? (сам язык *по_виду* похож на старпёрские
    > Java и C/C++...)

    Да, давайте лучше сделаем инновационный брейнфак ;-]

     

  • 1.79, Толстый_ (?), 22:30, 10/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    Система типов без автовывода типов - фейл. Такой известной конструкции как pattern matching не сделали - фейл. Использовать <> для синтаксиса шаблонов, зная печальный опыт С++ и наоборот удачный опыт D - фейл. Ориентация на web, а не создание языка общего назначения - фейл.
     
     
  • 2.82, Аноним (-), 22:54, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Система типов без автовывода типов - фейл. Такой известной конструкции как pattern
    > matching не сделали - фейл. Использовать <> для синтаксиса шаблонов, зная
    > печальный опыт С++ и наоборот удачный опыт D - фейл. Ориентация
    > на web, а не создание языка общего назначения - фейл.

    Удваиваю вот этого господина.

    Вот это вообще пушка:

    > Engineering teams typically desire a clean build free of warnings
    > and so the checker is designed to be extremely charitable.
    > Other tools can interpret the type information more aggressively and
    > warn about violations of conventional (and sound) static type discipline.

    Ворининги пугают и мешают, поэтому мы их уберем. Ок.

     
     
  • 3.85, antat (?), 23:20, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    там есть предупреждения.
     
     
  • 4.86, Аноним (-), 23:32, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Я знаю, что есть. Если бы их вообще не было - языку было бы вообще место на помойке.

    Перечитайте процитированное, о каких предупреждениях там речь.

     
  • 4.88, Аноним (-), 23:45, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > там есть предупреждения.

    А, да, про те предупреждения, что там есть. Вот они, предупреждения: http://try-dart-lang.appspot.com/s/P9AR

    В языках со статической типизацией это — ошибка. А тут что такое, я вас спрашиваю‽ Мало того, оно *выполнилось*. На кой ляд тогда писать про «статическую типизацию»?

    Это, простите, обычные аннотации, а никакая не типизация. Это — как в Erlang, который никто, слава разуму, статически типизированным не называет, несмотря на прекрасную возможность написать '-spec foo(integer()) -> atom().'

    Тьху, мерзость.

     
     
  • 5.113, аноним1 (?), 08:04, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Dart provides, at the programmer’s option, a mixture of static and dynamic checking. When experimenting, the programmer can write untyped code for simple prototyping. As the application becomes larger and more stable, types can be added to aid debugging and impose structure where desired.

    чего здесь плохого? Или давно на Паскале не писали, чтоб прям свербит?

     
     
  • 6.117, arisu (ok), 08:25, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > чего здесь плохого? Или давно на Паскале не писали, чтоб прям свербит?

    да нет там никакого «чекинга», есть тупые аннотации.

     
     
  • 7.119, аноним1 (?), 09:28, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Ворнинги и есть чекинг, а класть на них или исправлять - ваше дело.
     
     
  • 8.120, arisu (ok), 09:31, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    BREAKING NEWS ... текст свёрнут, показать
     
  • 2.87, Аноним (-), 23:36, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Еще пушка:

    > In Dart, you can often create objects directly from an interface,
    > instead of having to find a class that implements that interface

    Вот нафига такое городить было?

     
     
  • 3.89, Аноним (-), 23:57, 10/10/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Продолжаем наблюдать полное отсутствие консистентности в языке.

    Имена типов: int и bool но Object и String. Это что, мать вашу, похапэ, что ли? Так похапэ хоть извиняет то, что его вообще никто не дизайнил, а лабали на коленке «о, посоны, давайте еще вот такое приделаем, полезно же».

    Только костыли, только зубреж каждого конкретного случая!

     
     
  • 4.90, тоже Аноним (ok), 00:25, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Мне, "крестовику", это понятно: с маленькой буквы - встроенные типы, с большой - классы.
    В той же Жабе аналогичная логика.
     
     
  • 5.92, Аноним (-), 00:32, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Мне, "крестовику", это понятно: с маленькой буквы - встроенные типы, с большой - классы.

    Да вот если бы. Мякотка-то в чем — ведь int и bool это _не_ примитивы. Это не Java'овский int, который отличается от java.lang.Integer. Это такое же классы, производные от num, кстати.

     
     
  • 6.93, Аноним (-), 00:35, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Это такое же классы, производные от num, кстати.

    Fix: такой же класс, производный от num.

    И я наврал, не класс, а интерфейс (хотя мы видели выше, что тут интерфейс можно инстанциировать, хех). Вот, если точно, цитата из спецификации:

    > Although you might expect int and double to be primitive types, they're actually interfaces that extend the num interface. This means that int and double variables are also nums.

     
     
  • 7.96, тоже Аноним (ok), 00:56, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, реализацию можно помнить. А вот ломать давно доведенные до автоматизма шаблоны не придется. Ну кому было бы приятнее работать с Int и Bool? Паскалянтам?
    И инстанцирование интерфейсов, в конце концов, всего лишь избавляет от чисто механического написания лишнего кода.
    Имхо, язык не должен быть абстрактно правильным и красивым, в первую очередь это должен быть удобный инструмент.
     
     
  • 8.98, Аноним (-), 01:08, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Вкрадчиво А как в этомвашем C называется строковой тип из стандартной библио... текст свёрнут, показать
     
     
  • 9.126, Аноним (-), 10:30, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    string В C , как ни странно, все типы называются единообразно 173 8212 с ... текст свёрнут, показать
     
  • 8.100, Аноним (-), 01:17, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Есть похожая фигня в Java 8212 анонимные классы Там оно было только потому, ... текст свёрнут, показать
     
  • 8.101, Аноним (-), 01:20, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Так вот, язык, где есть всякие исключения 171 а в LanguageName 8212 так ... текст свёрнут, показать
     
     
  • 9.102, Другой Аноним (?), 01:33, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Ребят, какая нафиг старая память Дело привычки как всегда Тут не помнишь кома... текст свёрнут, показать
     
  • 8.174, anonymous vulgaris (?), 01:38, 12/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Паскаль вообще-то не регистрозавимый поэтому там все равно Только в сиподобных ... текст свёрнут, показать
     
  • 4.108, arisu (ok), 04:17, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    так это чудо тоже никто не дизайнил, судя по всему. тупо слизали тут кусочек, там кусочек, смотали изолентой, по бокам подпёрли палками, чтобы не шаталось, и гордо предъявили.
     
     
  • 5.114, аноним1 (?), 08:08, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > так это чудо тоже никто не дизайнил, судя по всему. тупо слизали
    > тут кусочек, там кусочек, смотали изолентой, по бокам подпёрли палками, чтобы
    > не шаталось, и гордо предъявили.

    Угу. И СиШарп никто не дизайнил, ага..

     
     
  • 6.116, arisu (ok), 08:25, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Угу. И СиШарп никто не дизайнил, ага..

    а эта недомузыка вообще испорченый делфи. а.х. нужно было в детстве удавить, мир был бы чище.

     
     
  • 7.175, anonymous vulgaris (?), 01:42, 12/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > а эта недомузыка вообще испорченый делфи. а.х. нужно было в детстве удавить,  мир был бы чище.

    Если бы так. Увы С# это жаба в чистом виде, но с другими библиотеками чтоб нельзя было старый опыт использовать.


     
  • 6.118, Аноним (-), 08:33, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Угу. И СиШарп никто не дизайнил, ага..

    Судя по результату, никто.

     
     
  • 7.148, Crazy Alex (??), 14:27, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Эм... Из продакшн-языков он самый вменяемый вообще-то. Из маргинальщины - ну D удобнее. Ну скала (хотя там уже привычки ломать надо). И всё.
     
     
  • 8.181, Аноним (-), 02:34, 12/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Да И где же вменяемая вебня на сишарпе, если уж мы про продакшн Унылый корпора... текст свёрнут, показать
     
  • 4.147, Crazy Alex (??), 14:24, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Если кто не в курсе, чем отличаются value types от reference types - лучше выяснить. Здесь имеено это разделение.
     
  • 3.144, Crazy Alex (??), 14:21, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    У них интерфейс - это не только методы, но и поля. Поэтому смысл имеет.
     
     
  • 4.146, Crazy Alex (??), 14:23, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > У них интерфейс - это не только методы, но и поля. Поэтому
    > смысл имеет.

    Кто не понял - интерфейс используем как объявление структуры/записи, если его инстанцироват - получаем собственно структуру. А можно реализовать его в классе, заменив переменные на геттеры/сеттеры подсунуть этот класс.

     
  • 2.136, dq0s4y71 (??), 13:48, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Ориентация на web, а не создание языка общего назначения - фейл.

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

     
     
  • 3.172, Толстый (ok), 20:16, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, неверно абсолютно. То что на каком-то языке нельзя решить определенную задачу - только лишь недостаток этого языка. D в этом направлении сделал очень много - на нем можно писать как риал-таймовые приложения писать - игры, ядро ОС, и высокоуровневые скрипты.
    А этих изобретателей - в детсад.
     
     
  • 4.195, iNode (ok), 10:32, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Ну и где можно посмотреть на применение D в client-side web-разработке, а в телекоме?
    А реалтаймовые приложения будут зависеть от среды выполнения которую он сам не предоставляет (поскольку это язык, а не платформа), не так ли? (В то время как Runtime Erlang-а даёт soft-realtime).  Кроме того придется отказаться от GC и управлять памятью вручную. Перспектив у D много, но роста аудитории как-то не заметно.
     

     ....большая нить свёрнута, показать (33)

  • 1.95, Xasd (ok), 00:52, 11/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    на фоне Dart -- ECMAScript-6.0 будет выглядеть совсем няшкой :-D

    [хотя к тому времени Dart может быть тоже поправят :)]

     
  • 1.103, Аноним (-), 03:04, 11/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    За bsd плюсанул. Но что-то подсказывает что ничего принципиально нового этот язык не приносит, а посему, зачем он нужен?
     
     
  • 2.121, Аноним (-), 09:54, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Если будет один язык на клиенте и на сервере то уже хорошо, ну и исправления по мелочи и доделки всякие, типа #library, сообщений и т.п. тоже ведь приятно ;)
     

  • 1.104, Аноним (-), 03:32, 11/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    На самом деле ЯП не может быть немножко со строгой типизацией Это все равно к... большой текст свёрнут, показать
     
     
  • 2.109, arisu (ok), 04:21, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    у него вообще нет строгой типизации, даже в зайчатках. типы в нём — не декларации, а аннотации. строке отлично присваивается число и никто не жужжит.
     
     
  • 3.111, Аноним (-), 05:21, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • –2 +/
    На самом деле, именно это и плохо. Потому что никогда нельзя быть уверенным когда автоматическое приведение к типу сработает и чем это закончится. Короч, ЯП с мягкой типизацией на серверной стороне - флейм и глюк, имхо.
     
     
  • 4.122, Аноним (-), 10:05, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    К счастью это только ваше имхо. И бизнес-логика на сервере, на перле например, прекрасно пишется, и все при этом понятно, и проблем с автоматическим приведением нет. Вопрос привычки и опыта.
     
     
  • 5.123, arisu (ok), 10:09, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    никто не спорит, что при сноровке на костылях можно бегать, но зачем?
     
     
  • 6.129, Аноним (-), 10:44, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Ну почему на костылях то ? В чем костыльность того что я не трачу лишнее время на типизацию и при этом совершенно уверен в результате автоматического приведения ? Естественно не всегда, там где не уверен надо типизировать, а там где такая уверенность есть можно не тратить время впустую. Вопрос не в сноровке, а в том что вырабатываются соответствующие привычки и подходы, не такие как при строгой типизации, и они таки позволяют извлечь выгоду без косяков, этих котят надо просто уметь готовить ;)
     
     
  • 7.130, arisu (ok), 10:53, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну почему на костылях то ?

    ну, или на креслах-качалках.

    явная типизация — хорошо. при этом она должна быть опциональной, конечно. например, как в Strongtalk (жаль, что он в ящик сыграл; не надо было бы мне зарабатывать — всенепременно бы взялся допиливать). ну, и компилятору неплохо уметь хотя бы простое выведение типов (если это вообще возможно — а тут Strongtalk в пролёте, в общем случае там типы фиг выведешь, разве только читерить; впрочем, все читерят).

    я, собственно, за фашиствующую типизацию a-la хацкель никогда и не выступал. но и совсем без неё печально.

     
     
  • 8.192, Аноним (-), 17:47, 13/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Бы в этом мире не считается ... текст свёрнут, показать
     
     
  • 9.193, arisu (ok), 19:35, 13/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    тебе кто-то мешает скачать Strongtalk и покрутить от того, что реализация больш... текст свёрнут, показать
     
  • 7.131, Аноним (-), 11:00, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А потом другому человеку поддерживать твоё динамическое спагетти...
     
     
  • 8.152, Аноним (-), 15:40, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, а мне его статическое ... текст свёрнут, показать
     
     
  • 9.165, Аноним (-), 17:26, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Всегда я говорил, что программист - не профессия, а сексуальная ориентация Прич... текст свёрнут, показать
     
  • 5.149, Crazy Alex (??), 14:29, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    На перле? Пишется. Только не надо про "прекрасно". Начиная с невозможности сделать immutable структуру. Впрочем, конкретно в преобразования типов не врезался.
     

  • 1.110, фгд дсд (?), 04:48, 11/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Когда появится нативный интерпретатор в хроме хотя бы? Сейчас генерируется 6-метровый JavaScript.
     
     
  • 2.133, Square (ok), 12:30, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    и все это сокровище будет лопатиться на клиентских машинках...
    Кто подарит мне еще 32 гига оперативки?
     
     
  • 3.166, Аноним (-), 17:28, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > и все это сокровище будет лопатиться на клиентских машинках...
    > Кто подарит мне еще 32 гига оперативки?

    (с иронией) Пару недель назад тут один кекс доказывал, что плашка оперативы стоит дешевле лопаты д.рьма и что ты себе должен прикупить и еще одну подарить голодающим детям Африки. 8 лопат д.рьма тебе жалко что-ли? Подарит. Купи, ёопто. Тоже мне, проблема.

     
     
  • 4.168, Square (ok), 18:53, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> и все это сокровище будет лопатиться на клиентских машинках...
    >> Кто подарит мне еще 32 гига оперативки?
    > (с иронией) Пару недель назад тут один кекс доказывал, что плашка оперативы
    > стоит дешевле лопаты д.рьма и что ты себе должен прикупить и
    > еще одну подарить голодающим детям Африки. 8 лопат д.рьма тебе жалко
    > что-ли? Подарит. Купи, ёопто. Тоже мне, проблема.

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

     
  • 3.167, фгд дсд (?), 18:36, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Дак когда? Я имею ввиду дату.
     

  • 1.132, Аноним (-), 11:31, 11/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Wow, the 8 line Hello World demo for Google Dart compiles into ~17000 lines of JS. is.gd/7YtEOV
     
     
  • 2.157, Аноним (-), 16:38, 11/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Глобально. Надежно. Энтерпрайз.
     
  • 2.186, Аноним (-), 12:37, 12/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Wow, the 8 line Hello World demo for Google Dart compiles into
    > ~17000 lines of JS. is.gd/7YtEOV

    Вспомнился старинный анекдот: Hello world: 11 errors, 8 warnings :)

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2020 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру