После трёх месяцев разработки представлен (https://news.dartlang.org/2018/11/announcing-dart-21.html) релиз языка программирования Dart 2.1 (https://www.dartlang.org/dart-2), в котором продолжено развитие кардинально переработанной ветки Dart 2, переориентированной на разработку для Web и мобильных систем и оптимизированной для создания компонентов, выполняемых на стороне клиента.Dart 2 отличается от изначального варианта языка Dart применением строгой статической типизации (типы могут выводиться автоматически, поэтому указание типов не является обязательным, но динамическая типизация больше не используется и вычисленный изначально тип закрепляется за переменной и в дальнейшем применяется строгая проверка типа). Для разработки Web-приложений предлагается (https://webdev.dartlang.org/) набор специфичных библиотек, таких как dart:html, а также web-фреймворк Angular. Для создания мобильных приложений продвигается фреймворк Flutter (https://flutter.io/), на основе которого в том числе построена пользовательская оболочка развиваемой в Google новой микроядерной операционной системы Fuchsia (https://www.opennet.me/opennews/art.shtml?num=46517).
Особенности (https://medium.com/dartlang/announcing-dart-2-1-improved-per... нового выпуска:
- Обеспечена проверка типов на этапе компиляции (ранее проверка осуществлялась на этапе редактирования в IDE с использованием Dart Analyzer). Код проверки типов синхронизирован между компилятором и утилитой для анализа кода. Реализован вывод более ясных сообщений об ошибках, связанных с некорректным использованием типов;- Значительно ускорено выполнение проверки типов, как для компилируемого кода, так и для кода, выполняемого в виртуальной машине с JIT. Внесённые оптимизации позволили существенно ускорить работу инструментов для разработчиков. Например, время выполнения операции анализа кода крупного приложения, использующего фреймворк Flutter, уменьшилось с 41 до 25 секунд;
- Повышена компактность генерируемого кода для Web. Размер кода выдаваемого транслятором dart2js (https://webdev.dartlang.org/tools/dart2js) в режиме минимизации вывода сокращён на 17%, а время компиляции сокращено на 15%;
- Предложен новый синтаксис для "примесей (https://ru.wikipedia.org/wiki/%D0%9F%D1%... (mixin). Добавлено новое ключевое слово "mixin", которое можно использовать для определения классов, которые можно использовать только в виде примесей. Реализована возможность использования примесей для расширения других классов и вызова методов в образуемых примесями суперклассах;
- Добавлена поддержка использования переменных с типом "int" в конструкциях с типом "double" (в подобных случаях int автоматически преобразуется в double). Например, переменные с типом "int" теперь можно использовать в качестве аргументов вызовов, определённых с типом "double";
- Добавлена официальная поддержка языка protobuf (Protocol buffers), используемого для сериализации структурированных данных.
URL: https://news.dartlang.org/2018/11/announcing-dart-21.html
Новость: https://www.opennet.me/opennews/art.shtml?num=49622
>Dart 2, переориентированной на разработку для Web и мобильных систем и оптимизированной для создания компонентов, выполняемых на стороне клиента.Для Веб, но для клиента...
Это как разработать самолёт на базе космической ракеты, но оптимизировать для езды по земле.
Маразматики.
«Память нынче дешёвая».
640 кб хватит всем
Мб я чегото не понимаю, но _кто_ и _зачем_ вечно пишет эту нафталиновую фразу ?
Вместо дурацких подчёркиваний лучше бы одно тире поставил. А фраза эта чем старее тем актуальней.
Анонимы NOPеннета настолько суровы, что приходится их просвещать луркованием:http://lurkmore.to/640_килобайт
А насколько читабельный у него синтаксис? Попугайте что ли.
Да скорее всего какая-то неСи-подобная срань на которую и смотреть противно. Иначе зачем было бы придумывать новый язык?
Чем-то близок к C#, D, Vala. Есть property (get/set, как в C#), mixin, generics, interface, Future, async/await, строгая типизация, скорость работы в некоторых тестах, которые я видел, быстрее LuaJIT/Python, на уровне с Java.
но LuaJIT быстрее Java
Не обязательно, тем более что как в Java, так и в Dart за последний год с быстродействием лучше.
Нет не улучшили. Просто тесты с результатами LuaJIT, сныкали что-бы сравнивать с Java9 с lua-5.3.
https://www.dartlang.org/samplesна TypeScript похожу... короче УГ
> 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);Что руководит этими людьми, которые считают это читабельным?
Ваш вариант, сэр?
Классические arrow functions из JS. В чем вопрос? Вам рассказать про lambda - функции? Отвечаю - так короче, проще, быстрее. Но надо помнить, что контекст (по-крайней мере в JS) может быть разный для обычной функции и для lambda.
Си подобные языки можно сваливать на свалку истории, попробуй pithon он не вероятно легкий для изучение и на нем пишут искуственый хай лоад биг дата интелект
я забыл упомянуть еще про мэйшин лернинг это будующее ИИ
Лондон из капитал грит британ?
МГИМО финишт?
Эскд
Модуль грамматики для твоего интеллекта тоже на нём написали?
Хотя что это я, даже не слишком жирно.
это потому что ты не любишь скобочки писать (и другие знаки препинания)
Си-подобные языки очень хороши тем что используют все доступные знаки, особенно скобки - круглые, квадратные, угловые, фигурные...
Ага, и увеличивают энтропию
Развитие unicode требует новых языков!
Прочитал "и на нем пишут искуственый код..."
void main() {
print('Hello, World!');
}
Как раз на Си-подобное смотреть давно тошно. Синтаксис Си был хорош по сравнению с другими древними языками, но с тех пор уже научились делать намного более лаконичные и используется он только по инерции т.к. школьники-пхписты привыкли к нему.
Уж договорились бы Гугл и M$ и объедилили бы Dart и TypeScript, какой смысл распыляться на два языка со схожими задачами (исправление ошибок дизайна JS и его замена)?
Насколько могу понять, у них разные задачи. Dart же -- замена JS, а TypeScript -- JS, скрытый от лап разработчиков.
И все 3 языка - полная шляпа!
Dart задумывался, чтобы можно было делать что-то без оглядки на обратную совместимость с js. Это вообще новый язык.TypeScript же просто проверка типов. Они не добавляют в язык кардинальные изменения. Таким образом, добавление какой-то фичи зависит от стандарта в JS, что сводится к куче обсуждений в TC39.
Но Google и там имеет своих людей.
Я пишу малеха на нем. Язык очень стандартный во всем, порог входа крайне низкий, буквально несколько часов и можете на нем начать писать если есть опыт программирования. Интересен он может быть исключительно из-за проекта https://flutter.io/ в который гугл вкладывает много ресурсов, написание чего-либо вне контекста флаттера на дарте мне кажется сомнительной идеей, так как экосистема скудная и сам дарт проигрывает в скорости всем кому попало, даже ноде.
походу хотят сделать стандарт для всего: обоих мобил, декстопа и сервера. Походу стандарт на java и GWT не получился
Патенты оракла и прочая копирастическая срань помешали сему случиться. Кто-то рассматривает в этом качестве Kotlin.
Котлин отличная тема. Для андроида стал писать на нем, после явы как глоток свеженого воздуха.
Ещё бы - Скалой вдохновлялись же.
У них с патентами проблемы только с Java? А с JVM есть ли проблемы? В конечном счете все же на JVM работает
уже можно дебажить иначе, чем ставить их сборку хромиум или source maps?
Их сборка хромиума это дела давно минувших дней. Для веба нужны будут сорсмапы конечно, код же транспайлится в жс. Они не только для дарта нужны сейчас, но и для всего остального, даже для жс, так как он тоже транспайлится в ES5 для поддержки старых браузеров. Но проблемы с этим нет, все удобно. Если же речь про flutter, то там все уже есть и дебагер и хотрелоад приложение при изменении исходников и прочие удобства предоставляемые IDE. Иногда еще глюки встречаются, но уже все довольно удобно.
Сопцмэп нужен и для wasm
В гугле сидят инженеры, которые должны хоть что-то делать, чтобы продолжать получать зарплату. А так смотрите - мы типа свой язычок пишем, мы типа делом заняты. Ну это все равно лучше, чем те черти, что портят интерфейс ютуба
Надоела уже эта тыща умирающих языков, прикрутите уже модули и UFCS к C++ наконец
Чтобы к 2035 C++ таки стал D?
да, только без GC (только не надо мифов, что в D GC можно отключить)
Только не надо мифов, что в D GC нельзя отключить.
Free Pascal - отнюдь не умирающий.
"Больше языков божеству языков!"
> "Больше языков божеству языков!"Кто не знает б-жественный Perl, те изобретают всё новые и новые ненужные языки.
И они даже не в курсе, что на перле можно писать и клиентский web!
https://www.facebook.com/groups/perlprogrammers/permalink/21.../
Спасибо. Обойдемся LISP, Scheme и Clojure ;)
Это в большинстве случаев дело вкуса, я думаю. Предпочтение тех или иных языков программирования, парадигм программирования, стиля оформления исходного текста очень зависят от характера, темперамента, интеллектуального развития человека, даже его текущего настроения и состояния. Скажем, кое-кто аж писается от восторга, что Python склоняет к одному и единственному решению задачи, а есть люди, кто любят полную свободу выражения мысли посредством синтаксиса Perl, а кое-кто, наверное, из всех доступных средств для написания какой-то важной программы с бизнес-логикой выберет Кобол. Не бывает плохих ЯП, в общем и целом. Бывает неверное их применение. Умному взрослому человеку это должно быть понятно, а не очень умные и взрослые — ну, вот, бугуртят. :)
Полностью поддерживаю. Clojure идеален. Нахрена люди выдумывают что-то ещё непонятно.