The OpenNET Project / Index page

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

Доступен язык программирования Dart 2.1

16.11.2018 19:50

После трёх месяцев разработки представлен релиз языка программирования Dart 2.1, в котором продолжено развитие кардинально переработанной ветки Dart 2, переориентированной на разработку для Web и мобильных систем и оптимизированной для создания компонентов, выполняемых на стороне клиента.

Dart 2 отличается от изначального варианта языка Dart применением строгой статической типизации (типы могут выводиться автоматически, поэтому указание типов не является обязательным, но динамическая типизация больше не используется и вычисленный изначально тип закрепляется за переменной и в дальнейшем применяется строгая проверка типа). Для разработки Web-приложений предлагается набор специфичных библиотек, таких как dart:html, а также web-фреймворк Angular. Для создания мобильных приложений продвигается фреймворк Flutter, на основе которого в том числе построена пользовательская оболочка развиваемой в Google новой микроядерной операционной системы Fuchsia.

Особенности нового выпуска:

  • Обеспечена проверка типов на этапе компиляции (ранее проверка осуществлялась на этапе редактирования в IDE с использованием Dart Analyzer). Код проверки типов синхронизирован между компилятором и утилитой для анализа кода. Реализован вывод более ясных сообщений об ошибках, связанных с некорректным использованием типов;
  • Значительно ускорено выполнение проверки типов, как для компилируемого кода, так и для кода, выполняемого в виртуальной машине с JIT. Внесённые оптимизации позволили существенно ускорить работу инструментов для разработчиков. Например, время выполнения операции анализа кода крупного приложения, использующего фреймворк Flutter, уменьшилось с 41 до 25 секунд;
  • Повышена компактность генерируемого кода для Web. Размер кода выдаваемого транслятором dart2js в режиме минимизации вывода сокращён на 17%, а время компиляции сокращено на 15%;
  • Предложен новый синтаксис для "примесей" (mixin). Добавлено новое ключевое слово "mixin", которое можно использовать для определения классов, которые можно использовать только в виде примесей. Реализована возможность использования примесей для расширения других классов и вызова методов в образуемых примесями суперклассах;
  • Добавлена поддержка использования переменных с типом "int" в конструкциях с типом "double" (в подобных случаях int автоматически преобразуется в double). Например, переменные с типом "int" теперь можно использовать в качестве аргументов вызовов, определённых с типом "double";
  • Добавлена официальная поддержка языка protobuf (Protocol buffers), используемого для сериализации структурированных данных.


  1. Главная ссылка к новости (https://news.dartlang.org/2018...)
  2. OpenNews: Выпуск языка программирования Dart 2.0
  3. OpenNews: Выпуск языка программирования Dart 1.23
  4. OpenNews: Google представит новый язык программирования Dart
  5. OpenNews: В долгосрочной перспективе Google рассматривает язык Dart как замену JavaScript
  6. OpenNews: Компания Google представила новый язык web-программирования Dart
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/49622-dart
Ключевые слова: dart
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (55) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, A.Stahl (ok), 19:56, 16/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >Dart 2, переориентированной на разработку для Web и мобильных систем и оптимизированной для создания компонентов, выполняемых на стороне клиента.

    Для Веб, но для клиента...
    Это как разработать самолёт на базе космической ракеты, но оптимизировать для езды по земле.
    Маразматики.

     
     
  • 2.6, КГБ СССР (?), 20:38, 16/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    «Память нынче дешёвая».
     
     
  • 3.22, Аноним (22), 23:55, 16/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    640 кб хватит всем
     
     
  • 4.28, Аноним (28), 00:20, 17/11/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Мб  я чегото не понимаю, но _кто_ и _зачем_ вечно пишет эту нафталиновую фразу ?  


     
     
  • 5.36, Джава_бот (?), 15:03, 17/11/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Вместо дурацких подчёркиваний лучше бы одно тире поставил. А фраза эта чем старее тем актуальней.
     
     
  • 6.39, КГБ СССР (?), 16:21, 17/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Анонимы NOPеннета настолько суровы, что приходится их просвещать луркованием:

    http://lurkmore.to/640_килобайт

     

  • 1.2, Аноним (2), 19:56, 16/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А насколько читабельный у него синтаксис? Попугайте что ли.
     
     
  • 2.3, A.Stahl (ok), 19:57, 16/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Да скорее всего какая-то неСи-подобная срань на которую и смотреть противно. Иначе зачем было бы придумывать новый язык?


     
     
  • 3.8, Иваныч (??), 21:28, 16/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Чем-то близок к C#, D, Vala. Есть property (get/set, как в C#), mixin, generics, interface, Future, async/await, строгая типизация, скорость работы в некоторых тестах, которые я видел, быстрее LuaJIT/Python, на уровне с Java.
     
     
  • 4.23, Аноним (22), 23:57, 16/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    но LuaJIT быстрее Java
     
     
  • 5.27, Иваныч (??), 00:00, 17/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Не обязательно, тем более что как в Java, так и в Dart за последний год с быстродействием лучше.
     
     
  • 6.54, barmaglot (??), 21:44, 19/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Нет не улучшили. Просто тесты с результатами LuaJIT, сныкали что-бы сравнивать с Java9 с lua-5.3.
     
  • 3.9, Maxim (??), 21:29, 16/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    https://www.dartlang.org/samples

    на TypeScript похожу... короче УГ

     
     
  • 4.30, Аноним (2), 01:33, 17/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > A shorthand => (arrow) syntax is handy for functions that contain a single statement. This syntax is especially useful when passing anonymous functions as arguments:
    > flybyObjects.where((name) => name.contains('turn')).forEach(print);

    Что руководит этими людьми, которые считают это читабельным?

     
     
  • 5.31, интеллигентный разработчик (?), 02:14, 17/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ваш вариант, сэр?
     
  • 5.45, Попугай Кеша (?), 15:32, 19/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Классические arrow functions из JS. В чем вопрос? Вам рассказать про lambda - функции? Отвечаю - так короче, проще, быстрее. Но надо помнить, что контекст (по-крайней мере в JS) может быть разный для обычной функции и для lambda.
     
  • 3.11, Аноним (11), 21:46, 16/11/2018 [^] [^^] [^^^] [ответить]  
  • –11 +/
    Си подобные языки можно сваливать на свалку истории, попробуй pithon он не вероятно легкий для изучение и на нем пишут искуственый хай лоад биг дата интелект
     
     
  • 4.13, Аноним (11), 21:57, 16/11/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    я забыл упомянуть еще про мэйшин лернинг это будующее ИИ
     
     
  • 5.37, Джава_бот (?), 15:06, 17/11/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Лондон из капитал грит британ?
     
     
  • 6.55, Анонисимус (?), 06:47, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    МГИМО финишт?
     
     
  • 7.57, Аноним (57), 10:55, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Эскд
     
  • 4.16, antonius (?), 23:01, 16/11/2018 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Модуль грамматики для твоего интеллекта тоже на нём написали?
     
     
  • 5.17, antonius (?), 23:02, 16/11/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Хотя что это я, даже не слишком жирно.
     
  • 4.25, Аноним (22), 23:58, 16/11/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    это потому что ты не любишь скобочки писать (и другие знаки препинания)
     
     
  • 5.42, Бог (?), 19:29, 17/11/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Си-подобные языки очень хороши тем что используют все доступные знаки, особенно скобки - круглые, квадратные, угловые, фигурные...
     
     
  • 6.46, Попугай Кеша (?), 15:32, 19/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, и увеличивают энтропию
     
  • 6.56, Анонисимус (?), 06:48, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Развитие unicode требует новых языков!
     
  • 4.41, vitalif (ok), 18:20, 17/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Прочитал "и на нем пишут искуственый код..."
     
  • 3.34, Annoynymous (ok), 10:32, 17/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    void main() {
      print('Hello, World!');
    }
     
  • 3.50, Онаним (?), 17:31, 19/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Как раз на Си-подобное смотреть давно тошно. Синтаксис Си был хорош по сравнению с другими древними языками, но с тех пор уже научились делать намного более лаконичные и используется он только по инерции т.к. школьники-пхписты привыкли к нему.
     

  • 1.4, nc (ok), 20:18, 16/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Уж договорились бы Гугл и M$ и объедилили бы Dart и TypeScript, какой смысл распыляться на два языка со схожими задачами (исправление ошибок дизайна JS и его замена)?
     
     
  • 2.7, Аноним (7), 20:40, 16/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Насколько могу понять, у них разные задачи. Dart же -- замена JS, а TypeScript -- JS, скрытый от лап разработчиков.
     
     
  • 3.10, Maxim (??), 21:30, 16/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    И все 3 языка - полная шляпа!
     
  • 2.32, интеллигентный разработчик (?), 02:23, 17/11/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Dart задумывался, чтобы можно было делать что-то без оглядки на обратную совместимость с js. Это вообще новый язык.

    TypeScript же просто проверка типов. Они не добавляют в язык кардинальные изменения. Таким образом, добавление какой-то фичи зависит от стандарта в JS, что сводится к куче обсуждений в TC39.

    Но Google и там имеет своих людей.  

     

  • 1.5, Виталик (??), 20:37, 16/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Я пишу малеха на нем. Язык очень стандартный во всем, порог входа крайне низкий, буквально несколько часов и можете на нем начать писать если есть опыт программирования. Интересен он может быть исключительно из-за проекта https://flutter.io/ в который гугл вкладывает много ресурсов, написание чего-либо вне контекста флаттера на дарте мне кажется сомнительной идеей, так как экосистема скудная и сам дарт проигрывает в скорости всем кому попало, даже ноде.
     
     
  • 2.12, Dmitry77 (ok), 21:48, 16/11/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    походу хотят сделать  стандарт для всего: обоих мобил, декстопа и сервера. Походу стандарт на java и GWT не получился
     
     
  • 3.18, antonius (?), 23:04, 16/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Патенты оракла и прочая копирастическая срань помешали сему случиться. Кто-то рассматривает в этом качестве Kotlin.
     
     
  • 4.33, Аноним (33), 06:02, 17/11/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Котлин отличная тема. Для андроида стал писать на нем, после явы как глоток свеженого воздуха.
     
     
  • 5.51, Онаним (?), 17:33, 19/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ещё бы - Скалой вдохновлялись же.
     
  • 4.47, Попугай Кеша (?), 15:33, 19/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    У них с патентами проблемы только с Java? А с JVM есть ли проблемы? В конечном счете все же на JVM работает
     
  • 2.14, myinterest (?), 22:11, 16/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    уже можно дебажить иначе, чем ставить их сборку хромиум или source maps?
     
     
  • 3.15, Виталик (??), 22:30, 16/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Их сборка хромиума это дела давно минувших дней. Для веба нужны будут сорсмапы конечно, код же транспайлится в жс. Они не только для дарта нужны сейчас, но и для всего остального, даже для жс, так как он тоже транспайлится в ES5 для поддержки старых браузеров. Но проблемы с этим нет, все удобно. Если же речь про flutter, то там все уже есть и дебагер и хотрелоад приложение при изменении исходников и прочие удобства предоставляемые IDE. Иногда еще глюки встречаются, но уже все довольно удобно.
     
     
  • 4.19, Wasm (?), 23:17, 16/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Сопцмэп нужен и для wasm
     
  • 2.21, Аноним (22), 23:53, 16/11/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В гугле сидят инженеры, которые должны хоть что-то делать, чтобы продолжать получать зарплату. А так смотрите - мы типа свой язычок пишем, мы типа делом заняты. Ну это все равно лучше, чем те черти, что портят интерфейс ютуба
     

  • 1.20, Аноним (22), 23:51, 16/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Надоела уже эта тыща умирающих языков, прикрутите уже модули и UFCS к C++ наконец
     
     
  • 2.24, Иваныч (??), 23:57, 16/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Чтобы к 2035 C++ таки стал D?
     
     
  • 3.26, Аноним (22), 00:00, 17/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    да, только без GC (только не надо мифов, что в D GC можно отключить)
     
     
  • 4.43, Аноним (43), 22:19, 17/11/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Только не надо мифов, что в D GC нельзя отключить.
     
  • 2.35, Retrosharer (?), 11:05, 17/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Free Pascal - отнюдь не умирающий.
     

  • 1.38, InuYasha (?), 15:34, 17/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    "Больше языков божеству языков!"
     
     
  • 2.40, КГБ СССР (?), 16:23, 17/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > "Больше языков божеству языков!"

    Кто не знает б-жественный Perl, те изобретают всё новые и новые ненужные языки.

     
     
  • 3.44, Pilat (ok), 02:12, 18/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    И они даже не в курсе, что на перле можно писать и клиентский web!
    https://www.facebook.com/groups/perlprogrammers/permalink/2141844605848316/
     
  • 3.48, Попугай Кеша (?), 15:34, 19/11/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Спасибо. Обойдемся LISP, Scheme и Clojure ;)
     
     
  • 4.49, КГБ СССР (?), 15:46, 19/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Это в большинстве случаев дело вкуса, я думаю. Предпочтение тех или иных языков программирования, парадигм программирования, стиля оформления исходного текста очень зависят от характера, темперамента, интеллектуального развития человека, даже его текущего настроения и состояния. Скажем, кое-кто аж писается от восторга, что Python склоняет к одному и единственному решению задачи, а есть люди, кто любят полную свободу выражения мысли посредством синтаксиса Perl, а кое-кто, наверное, из всех доступных средств для написания какой-то важной программы с бизнес-логикой выберет Кобол. Не бывает плохих ЯП, в общем и целом. Бывает неверное их применение. Умному взрослому человеку это должно быть понятно, а не очень умные и взрослые — ну, вот, бугуртят. :)
     
  • 4.53, Онаним (?), 17:36, 19/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Полностью поддерживаю. Clojure идеален. Нахрена люди выдумывают что-то ещё непонятно.
     

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



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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