Dart

У этого термина существуют и другие значения, см. DART (значения).

Dart

Класс языка |  объектно-ориентированный, веб-фреймворк, сценарный язык, императивный, рефлексивный язык программирования[вд], язык функционального программирования и мультипарадигмальный
Тип исполнения |  компилятор
Появился в |  10 октября 2011
Автор |  Google
Разработчик |  Google
Расширение файлов |  `.dart`
Выпуск |

* 3.5.3 (12 сентября 2024)[1]

Система типов |  статическая с версии Dart 2[2]
Испытал влияние |  C, Java, JavaScript, CoffeeScript, Go
Лицензия |  BSD
Сайт |  dart.dev
Платформа |  кроссплатформенность
ОС |  кроссплатформенность
Медиафайлы на Викискладе

Dart — язык программирования, созданный Google. Dart позиционируется в качестве замены/альтернативы JavaScript.

## Содержание

* 1 История
* 2 Пример
* 3 См. также
* 4 Примечания
* 5 Литература
* 6 Ссылки

## История

[править | править код]

Первая общедоступная информация об этом языке программирования появилась 12 сентября 2011 года на конференции разработчиков Goto[3]. 10 октября 2011 была проведена официальная презентация языка Google Dart.

Один из разработчиков языка Марк Миллер (Mark S. Miller) во внутренней переписке в компании Google в 2010 году написал, что JavaScript «имеет фундаментальные изъяны, которые невозможно исправить» и назвал это одной из причин появления языка Dart[4].

Задачи, поставленные перед разработчиками языка:[5]

* Создать структурированный и в то же время гибкий язык для веб-программирования
* Сделать язык похожим на существующие для упрощения обучения
* Высокая производительность получаемых программ как в браузерах, так и в иных окружениях, начиная от смартфонов и заканчивая серверами.

Изначально было предложено два способа исполнения Dart-программ: с использованием виртуальной машины (в поддерживающих язык браузерах) или с промежуточной трансляцией в javascript (универсальный)[5][6].

15 ноября 2013 года Google выпустили первую стабильную версию своего языка программирования — Dart SDK 1.0 .

4 июля 2014 года ECMA одобрили первую редакцию стандарта языка, стандарт получил название ECMA-408[7].

В феврале 2018 года Google выпустила обновленную версию языка — Dart 2.0[8][9]. В язык добавлена строгая статическая типизация и новый компилятор для разработки dartdevc.

## Пример

[править | править код]

Простое приложение, выводящее надпись Hello, world!:

void main() {
print('Hello World!');

Функция для расчета n-го числа Фибоначчи:

int fib(int n) {
return (n <= 2) ? 1 : (fib(n - 1) + fib(n - 2));

main() {
print('fib(20) = ${fib(20)}');

Простой класс:

// Подключить библиотеку math для доступа к функции sqrt()
import 'dart:math' as math;

// Создание класса Point
class Point {

// Переменные, объявленные как final, не могут быть изменены после инициализации
// Объявление двух числовых полей
final num x, y;

// Конструктор c "синтаксическим сахаром", инициализирующий поля объекта значениями аргументов
Point(this.x, this.y);

// Именованный конструктор со списком инициализации по умолчанию
Point.origin() : x = 0, y = 0;

// Метод класса
num distanceTo(Point other) {
var dx = x - other.x;
var dy = y - other.y;
return math.sqrt(dx * dx + dy * dy);

// Все программы на Dart начинают выполнение с функции main()
main() {
// Создание двух объектов класса Point
var p1 = new Point(10, 10);
var p2 = new Point.origin();
var distance = p1.distanceTo(p2);
print(distance);

## См. также

[править | править код]

* TypeScript
* CoffeeScript

## Примечания

[править | править код]

1. ↑ Release 3.5.3
2. ↑ FAQ Dart (англ.). Дата обращения: 2 мая 2023. Архивировано 16 апреля 2019 года.
3. ↑ Keynote: Dart, a new programming language for structured web programming (неопр.). Дата обращения: 12 сентября 2011. Архивировано 25 июля 2014 года.
4. ↑ Первое сообщение при создании языка (англ.). Дата обращения: 14 декабря 2015. Архивировано 28 октября 2015 года.
5. ↑ 1 2 Dart: a language for structured web programming Архивная копия от 13 июля 2016 на Wayback Machine, The official Google Code blog 2011-10
6. ↑ Язык Dart — Structured web programming Архивная копия от 21 ноября 2016 на Wayback Machine, Хабрахабр, 2011 — перевод Dart Technical Overview
7. ↑ Ecma approves the 1st edition of the Dart language specification (англ.). dartlang.org (4 июля 2014). Дата обращения: 6 августа 2014. Архивировано 24 апреля 2015 года.
8. ↑ Anders Thorhauge Sandholm. Announcing Dart 2: Optimized for Client-Side Development (англ.). Medium (22 февраля 2018). Дата обращения: 9 сентября 2021. Архивировано 31 июля 2018 года.
9. ↑ Dart 2 migration guide (неопр.). dart.dev. Дата обращения: 9 сентября 2021.

## Литература

[править | править код]

На русском

* Крис Бакетт. Dart в действии = Dart in Action / ред. Д. Мовчан. — ДМК Пресс, 2013. — 528 с. — ISBN 978-1-6172-9086-2, 978-5-94074-918-9.

На английском

* Matt Fisher. 8\. Exporting to HTML5, Google Dart // HTML5 for Flash Developers. — Packt Publishing, Limited, 2013. — 322 p. — ISBN 9781849693325.
* Walrath, K. and Ladd, S. Dart: Up and Running. — O'Reilly, 2012. — 152 p. — ISBN 9781449330897.

* Chris Buckett. Dart in Action. — O'Reilly, 2013. — 424 p. — ISBN 9781617290862.
* Walrath, K. and Ladd, S. What is Dart?. — O'Reilly Media, 2012. — 20 p. — ISBN 9781449332334.

## Ссылки

[править | править код]

* http://www.dartlang.org
* http://www.dartdocs.org/
* http://dart.academy/

Это заготовка статьи о компьютерных языках. Помогите Википедии, дополнив её.

|

Языки программирования

* История
* Хронология

* 1C
* Ада
* Алгол
* Ассемблер
* APL
* Бейсик
* Си
* C++
* C#
* D
* Delphi
* Кобол
* Erlang
* F#
* Форт
* Фортран
* Go
* Groovy
* Haskell
* Java
* JavaScript
* Julia
* Kotlin
* Лисп
* Lua
* MATLAB
* Оберон
* Objective-C
* OCaml
* Паскаль
* Perl
* PL/SQL
* PHP
* Python
* Ruby
* Rust
* Scala
* UNIX Shell
* Smalltalk
* Swift
* Visual Basic .NET
* Zig

Google LLC

* Председатель совета директоров: Эрик Шмидт
* Директор, президент по технологиям и сооснователь: Сергей Брин
* Главный исполнительный директор и сооснователь: Ларри Пейдж
Материнская компания: Alphabet

Реклама|

* AdMob
* Adscape[англ.]
* AdSense
* Advertising Professional[англ.]
* Ads
* Analytics
* DoubleClick
* Insights for Search
* Trends
* Wallet
* Google Университет[англ.]

Коммуникации|

* Allo
* Google+
* Calendar
* Friend Connect
* Duo
* Gmail
* Inbox
* Groups
* Hangouts
* Meet
* Messages
* Вопросы и ответы[англ.]
* Talk
* Translate
* Voice

ПО|

* Chrome
* Chromium
* Earth
* Gadgets
* Goggles
* Now
* SketchUp
* Talk
* Google Assistant
* Toolbar

Платформы|

* Account
* Android
* App Engine
* BigTable
* Chromecast
* Chrome OS
* Google Workspace
* Пользовательский поиск
* Native Client
* GFS
* Nexus
* OpenSocial
* Pixel
* Play
* Public DNS
* Stadia
* TV
* Fuchsia

Инструменты
разработки|

* Android Studio
* Dart
* Gadgets API[англ.]
* GData[англ.]
* Go
* Googlebot
* Guice
* GWS
* Highly Open Participation Contest[англ.]
* KML
* MapReduce
* Mediabot[англ.]
* Pinyin[англ.]
* SketchUp Ruby[англ.]
* Sitemaps (index)
* Summer of Code
* AtGoogleTalks[англ.]
* Web Toolkit
* Google Website Optimizer

Публикация|

* Alerts
* Blogger
* Bookmarks[англ.]
* Документы
* FeedBurner
* Library Project[англ.]
* Map Maker
* Sites
* YouTube
* Диск
* Фото
* Keep

Поиск (PageRank)|

* Appliance
* Audio[англ.]
* Books
* Images
* Maps (Mars
* Moon
* Ocean[англ.]
* Sky
* Street View)
* News
* Patents[англ.]
* Покупки
* Scholar
* Usenet
* Video
* Web

Тематические проекты|

* Finance
* Google Glass
* Беспилотный автомобиль Google
* Loon
* Проект Tango
* Google Cardboard
* Noto
* Code Jam

Закрытые проекты|

* Вопросы и ответы[англ.]
* Browser Sync
* Base
* Buzz
* Checkout
* Click-to-call[англ.]
* Code
* Desktop
* Dodgeball[англ.]
* Gears
* GOOG-411
* Health
* iGoogle
* Image Labeler[англ.]
* Jaiku
* Knol
* Labs
* Lively
* Mashup Editor[англ.]
* Notebook
* Orkut
* Pack
* Panoramio
* Picasa
* Page Creator
* Picnik
* Reader
* SearchWiki[англ.]
* Updater
* Video Marketplace[англ.]
* Wave
* Web Accelerator
* Google Play Music

См. также|

* История
* Поглощения
* Список сервисов и инструментов
* Логотип
* Doodle
* Цензура[англ.]
* Ara
* Arts & Culture
* Calico
* Current[англ.]
* Earth Outreach[англ.]
* Foundation (Google.org)
* Google China[англ.]
* Googleplex
* Google X
* Lunar X Prize
* I/O
* WiFi[англ.]
* Zeitgeist[англ.]
* «Бомбы»
* Гуглизация
* Dinosaur Game

Свободное и открытое программное обеспечение Google

Программное обеспечение|

| Приложения|

* Chromium
* OpenRefine
* Tesseract

|

Языки программирования|

* Carbon
* Dart
* Go
* Sawzall

Фреймворки и
инструменты разработки|

* AMP
* Angular
* AngularJS
* Beam
* Bazel
* Блокли
* Closure Tools
* Cpplint
* FlatBuffers
* Flutter
* Gears
* Gerrit
* Guava
* gRPC
* Gson
* Guetzli
* Guice
* gVisor
* Kubernetes
* LevelDB
* libvpx
* NaCl
* OR-Tools
* Polymer
* Protocol Buffers
* TensorFlow

Операционные системы|

* AOSP
* Chromium OS
* Fuchsia
* gLinux
* Goobuntu

Связанное|

* Code-in
* Google LLC v. Oracle America, Inc.
* Open Source Security Foundation
* Summer of Code

Ссылки на внешние ресурсы

В социальных сетях

* X

Тематические сайты|

* GitHub

В библиографических каталогах|

* J9U: 987007407419905171
* LCCN: sh2014100182