Создать тему  Создать ответ 
(Школа №2) Заседание 3: Dart
14-11-2013, 21:22    
Сообщение: #1
Agrest

井蛙 / жабенєтко в керниці
Сообщений: 1556
Зарегистрирован: 08.08.12

(Школа №2) Заседание 3: Dart
Dart — это язык программирования от Google, призванный заменить JavaScript. Не далее как вчера вышла версия 1.0 — предполагается, что язык готов для серьёзного применения. Предлагается ознакомиться с ним и описать свои впечатления.

https://www.dartlang.org/
http://blog.chromium.org/2013/11/dart-10...d-web.html

«билингв мусорит в обоих языках — и первом, и втором» © Python
Вебсайт Найти все сообщения
Цитировать это сообщение
14-11-2013, 21:30    
Сообщение: #2
Flavia

Senior Member
Сообщений: 579
Зарегистрирован: 13.11.12

RE: (Школа №2) Заседание 3: Dart
А можно вкратце объяснить, зачем он нужен? В чём его преимущество перед JavaScript?

Je suis un Ange déchu.
Найти все сообщения
Цитировать это сообщение
14-11-2013, 21:58    
Сообщение: #3
Agrest

井蛙 / жабенєтко в керниці
Сообщений: 1556
Зарегистрирован: 08.08.12

 
(14-11-2013 21:30)Flavia писал(а):  А можно вкратце объяснить, зачем он нужен?
Вот описание в блоге проекта Blossom, почему они перешли на Dart: http://www.ramen.io/post/46936028144/we-...o-dart-why

(14-11-2013 21:30)Flavia писал(а):  В чём его преимущество перед JavaScript?
Принцип наименьшего удивления для программистов на мейнстримных языках типа Java, лучшая стандартная библиотека, акцент на большую производительность.

«билингв мусорит в обоих языках — и первом, и втором» © Python
Вебсайт Найти все сообщения
Цитировать это сообщение
14-11-2013, 22:09    
Сообщение: #4
arseniiv

± ∓
Сообщений: 227
Зарегистрирован: 05.07.12

 
(Шаг 1.)
Пока могу отметить только интересный синтаксис лямбд (args) { body } и однострочных функций fun(args) => expr. Для меня из-за C# и Python это немного контр-интуитивно.

(Шаг 2.)
Ленивые потоки с возвращением Future, .then(f) которого ставит асинхронный обработчик значения, которое должно из потока когда-нибудь вылезти — нра!

(Шаг 3.)
Заявляют, что компилятор в JS минимизирует импорт ненужного и ещё и может делать компактный по длине JS. Если так, это без сомнений замечательно.

(Шаг 2,5.)
Пока вид кода мне более-менее нравился.

(Шаг 4.)
Вижу значительное влияние Python’а. Оно и к лучшему.

(Шаг 5.)
В любом случае, объявление функций без кошмарно длинного function — это шаг вперёд.

(Шаг 6.)
Объявление значения по умолчанию для именованного и позиционного(ощущение, что есть лучший перевод) параметров разным способом (именованный — {param: default}, позиционный — [​param=default]) — не айс. Зачем =?

(Шаг 7.)
Привнесение ++ и -- из JS… Хм. Ну, постфиксные ещё терпимо, но зачем префиксные?‥

Honor thy error as a hidden intention
Вебсайт Найти все сообщения
Цитировать это сообщение
14-11-2013, 22:52    
Сообщение: #5
Gaeilgeóir

Moderator
Сообщений: 1497
Зарегистрирован: 25.10.12

RE: (Школа №2) Заседание 3: Dart
А я думал вы о пригородной электричке Дублина - DART :angel:
[Изображение: Dart.jpg]
Найти все сообщения
Цитировать это сообщение
14-11-2013, 23:18    
Сообщение: #6
arseniiv

± ∓
Сообщений: 227
Зарегистрирован: 05.07.12

 
(Шаг 8.)
Оператор .. — неплохая идея.

(Шаг 9.)
Константные конструкторы — тоже неплохо, хотя сильно ли это улучшает производительность конкретно в Dart, не знааю.
Сахар в определении конструктора вида Point.alongXAxis(num x) : this(x, 0); (вызвает  другой конструктор) тоже хорош, но был бы он где-нибудь в C#? Тут он не обязателен, хотя я и не против.

(Шаг 10.)
Ага, фабричные конструкторы!! Вот это даже просто замечательно! (Интересно, где они ещё есть?)

(Шаг 11.)
Слава богу, объявлять типы не обязательно, ведь перенесение сюда typedef в оригинальном синтаксисе — это не знаю как и назвать. :( Сейчас:  typedef int Compare(int a, int b);
Могло бы быть:  typedef Compare = int (int a, int b);

(Шаг 10,5.)
Ах да, модульность. Вроде неплохо описывается. По-моему, хорошо, что в файле — части пакета описывается, часть какого он пакета. Почему-то у меня есть опасения когда-нибудь где-нибудь запустить такой кусок пакета и получить что-то иррационально страшное, если язык не узнает, что это не самостоятельный файл.

Планирую вот это на завтра. Пока всё.

Honor thy error as a hidden intention
Вебсайт Найти все сообщения
Цитировать это сообщение
16-11-2013, 20:07    
Сообщение: #7
Python

Senior Member
Сообщений: 462
Зарегистрирован: 11.07.12

RE: (Школа №2) Заседание 3: Dart
А где-то можно скачать документацию к нему одним файлом?

LF agent
Вебсайт Найти все сообщения
Цитировать это сообщение
Создать ответ 


Переход:


Пользователи просматривают эту тему: 1 Гость(ей)