LINUX.ORG.RU

Google представляет язык Dart

 ,


0

0

10-го октября на GOTO Conference компанией Google был представлен язык Dart.

Dart — экспериментальный язык програмирования, разработанный в Google. Среди разработчиков языка — Lars Bak и Gilad Bracha, также известные по работе над Self, Beta, Strongtalk и Newspeak.

Dart является объектно-ориентированным языком, предназначеным для создания структурированных веб-приложений. Основными целями при проектировании были простота, эффективность и масштабируемость. Dart поддерживает опциональную статическую типизацию и mixins.

Также существует совершенно случайно ставшее достоянием общественности письмо из внутренней переписки Google, в котором идёт речь о том, что язык Dart (Dash) рассматривается как возможная замена JavaScript в будущем.

Сайт проекта

Репозиторий

>>> Подробности

★★

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

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

это потому что новость слишком неполно описывает суть языка и возможности его платформы, на opennet более подробно, если оно может в js преобразовываться и в компилируемый код + работать без браузера - возможно оно найдет применение в будущем, кто-то будет это юзать, пусть даже один только гугль

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

>> 538 кб и 17259 строк кода.

>Походу компилятор всегда вкрячивает в код всю стандартную библиотеку. Интересно, это от тупости компилятора, или просто динамические языки говно by design.

Есть такой проект, называется ocamljs. «Ocamljs compiles OCaml to Javascript»

Так вот, такой простой helloworld:

let hello () =
  Dom.window#alert "Hello!"
;;

Dom.window#_set_onload hello

при переводе в javascript занимает 48 кб и 1343 строк - https://gist.github.com/1279071

но, там стандарт еще не до конца реализован, хотя жить можно. мне кажется, что проект НАМНОГО интереснее чем Darts, жаль что ему вряд ли уделят внимание такие гиганты как Google...

Если проект кого-то заинтересовал, то можно посмотреть примеры тут.
Для их компиляции потребуются ocaml-ounit и ocaml-ulex.

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

Походу компилятор всегда вкрячивает в код всю стандартную библиотеку.

В комментариях пишут, что иначе не будет работать разная lazy-подгрузка кода.

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

Читать спеки языка лень, но интересно, укладывается ли он в спецификацию ECMAScript.

В утекшем письме все расписано.

liberte
()

Новый Dart с фреймворками: Vader, Sidious и Maul. Приди на сторону Google! (У нас есть permanent cookies!)

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

>жаль что ему вряд ли уделят внимание такие гиганты как Google...

Ты не понимаешь. Гуглу ничего не стоит использовать язык с кучей матана, ML-style синтаксисом и кучей действительно классных вещей.

Только есть одно «но». На таком языке будет очень сложно программировать. И не потому что он будет сложным... Он как раз будет НАМНОГО проще... У него будет другая идиоматика, ее нужно будет осваивать, а никто из «промышленных» программистов ее осваивать не станет.

У гугла уже есть опыт, не-мейнстрим языка. И, как я понимаю, ничего хорошего пока из этого не вышло. Для тех, кому традиционализм не очень интересен в силу объективных и субъективных причин есть хаскель, скала, окамл, эрланг, кложуре и КЛ. А те, для кого в силу тех же самых причин традиционализм нужен, так даже и близко не подойдут.

Я очень сильно надеялся, что «новый» язык для веб-разработки будет во многом похож на Go. Но не сложилось. И как я понимаю, из за того что Гугл, хотя и является Корпорацией Добра и Большим Братом, ничего из идиоматики пока предложить не смог: т.е. банально сам не знает как на своем Go разрабатывать программы.

Dart же — образец традиционализма, и компромиссности, а поэтому будет тепло принят. Кроме того, Dart все еще в начале пути и в него можно, абсолютно не нарушая его семантики и идиоматики, добавить следующие вкусные вещи:

1. Алгебраические типы, а-ля case class в Скале.

2. Типы-члены.

3. Множественное наследование с линеаризацией иерархии.

Кроме того, не стоит забывать об использовании акторов. Как я понял, некоторые компоненты стандартной библиотеки работают как независимые, части, обрабатывающие сообщения. Кстати, это классический Смаллтолковский подход: вызов метода — это посылка сообщения. Конечно, это все спрятано за интерфейсом... Но факт остался фактом.

Так что, пусть гугл форсит свой Dart.

Macil ★★★★★
()

А где же трейты или хотя бы микшены?

Зачем еще одна упрощенная джава?

anonymous
()

совершенно случайно ставшее достоянием общественности

Да ладно, знаем мы этих пиарщиков :)

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

налепи что-ли чёрную полоску на аватар..

\\ не ну вот тут то откуда дежавю?

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

меняем имя переменной на ЖУЙ жмём ран меняем имя переменной на XXX делаем скриншот -> гугл кагбэ намекает... Жуй своё XXX

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

Это не js, а нечто монструозное на выхлопе. Вся jQuery поменьше будет, чем такой hello world. Кто такое использовать будет?

lucentcode ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Транслировать java-подобный код в js дело не хитрое, а поддержка компилируемого кода и работы без браузера есть в очень большом количестве языков. Например, тот же Ruby (хотя по мне так тот еще мамонт) или erlang (великий у ужасный. Как раз прогу на нем пытаюсь поправить). Да даже java все это может. Из новичков есть go от того же гугла, который тоже все это умеет. Зачем плодить сущности, если нет никакой серьезной проблемы, которую они решали бы?

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

> Нафига???
чтоб со временем выпилить JS и ВСЁ перетащить в WEB


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

delete83 ★★
()

как я понимаю гуглу просто необходима замена жаваскрипту вот они дарта и наваяле... нужно это или нет покажет время...

perchibald
()

> Среди разработчиков языка — Lars Bak и Gilad Bracha, также известные по работе над Self, Beta, Strongtalk и Newspeak.

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

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

> Javascript RIP. Html5 съело ряд его возможностей. PHP обходится без него. Ajax только, но это «серверный» javascript.

что ? =))))

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

> хоть один из них до ума доведен?

Критерий доведения языка до ума в студию.

А прототипное ОО из Self, между прочим, разбежалось потом по всяким джяваскриптам и ио

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

> Dart все еще в начале пути и в него можно, абсолютно не нарушая его семантики и идиоматики, добавить следующие вкусные вещи: 1. Алгебраические типы, а-ля case class в Скале. ...

ну ты оптимиииииииииииииииист

в спецификации дарта описание дженериков занимает половину (!) страницы

можно параметризовывать только классы, и задавать *только верхнюю* границу для Т

за одно это язык нужно отправлять в топку

(хотя они типа поддерживают F-bounded quantification, но это больше вопрос видимости)

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

> А прототипное ОО из Self, между прочим, разбежалось потом по всяким джяваскриптам и ио

Ага, и что из этого получилось? JS = УГ.

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

>в спецификации дарта описание дженериков занимает половину (!) страницы

Все-таки, это еще не окончательная спецификация. Может быть и добавят, почему бы и нет?

Хотя, лично я как-то подозрительно отношусь к субтиповому полиморфизму, особенно на фоне принудительного наследования интерфейса и догмата LSP. Ни к чему хорошошему, кроме «рака оберток» он не приводит, IRL по крайненй мере.

Мне намного более привлекательной кажется перспектива использования абстрактных типов данных и механизма модулей а-ля Окамл.

Macil ★★★★★
()

Ужыс. Хоть один язык из недр гугла стал использоваться массово?

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

2 yoghurt:

Критерий доведения языка до ума в студию.

Ну например, переведённое на русский руководство по его основам. А то лежат на гитхабе благородные кости некоего проэкта: Текущая сборка (английский и русский вперемежку) (последнее обновление 22.11.2010). И фиг бы с ним, с проэктом — но порядочного человека, который этим занимался, КУДА ДЕЛИ???

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

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

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

>Уже сейчас можно легко писать веб-приложения на Go

Уже сейчас можно веб-приложения и на хаскеле писать. Не в этом дело. Видимо, пока индустрия не готова принимать другие парадигмы. И гуглу с этим приходится считаться. Кроме того, резкая ее смена будет означать полный херинг всех существующих JS наработок. А так, можно легко портировать уже существующие, не по принципу 1:1, конечно, но и без серьезных идиоматических рассогласований.

Macil ★★★★★
()

Статическая типизация, да ещё опциональная - это сильная вещь. Традиционный ООП - тоже хорошо. То, что в основе языка лежат некоторые концепции из Smalltalk, посылка сообщений и т.п. - тоже плюс.

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

Ajax - клиентский JS. Который в асинхронном режиме запрашивает данные с сервера. И не более. Это я вам, как кэп очевидность, говорю.

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

> Убирайся с ЛОРа!

... сказал тот, кого удалили :-))

bbk123 ★★★★★
()

а что такое «структурированный язык»??

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