Dart — язык программирования, созданный Google. Dart позиционируется в качестве замены/альтернативы JavaScript. Один из разработчиков языка Марк Миллер (Mark S. Miller) написал, что JavaScript «имеет фундаментальные изъяны»[2] («Javascript has fundamental flaws…»), которые невозможно исправить. Поэтому и был создан Dart.
Dart | |
---|---|
![]() | |
Класс языка | объектно-ориентированный язык программирования, веб-фреймворк, сценарный язык, императивный язык программирования, reflective programming language[d], язык функционального программирования и мультипарадигмальный язык программирования |
Тип исполнения | компилятор |
Появился в | 10 октября 2011 |
Автор | |
Разработчик | |
Расширение файлов |
.dart |
Выпуск | 2.17.6 (13 июля 2022 года)[1] |
Система типов | статическая с версии Dart 2 |
Испытал влияние | C, Java, JavaScript, CoffeeScript, Go |
Лицензия | BSD |
Сайт | dart.dev |
Платформа | кроссплатформенность |
![]() |
Первая общедоступная информация об этом языке программирования появилась 12 сентября 2011 года на конференции разработчиков Goto[3]. 10 октября 2011 была проведена официальная презентация языка Google Dart.
Задачи, поставленные перед разработчиками языка:[4]
Изначально было предложено два способа исполнения Dart-программ: с использованием виртуальной машины (в поддерживающих язык браузерах) или с промежуточной трансляцией в javascript (универсальный)[4][5].
15 ноября 2013 года Google выпустили первую стабильную версию своего языка программирования — Dart SDK 1.0 .
4 июля 2014 года ECMA одобрили первую редакцию стандарта языка, стандарт получил название ECMA-408[6].
В феврале 2018 года Google выпустила обновленную версию языка — Dart 2.0[7][8]. В язык добавлена строгая статическая типизация и новый компилятор для разработки 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);
}
![]() | Это «статья-заготовка» о компьютерных языках. Вы можете помочь проекту, дополнив эту статью, как и любую другую в Википедии. Нажмите и узнайте подробности. |
![]() Языки программирования | |
---|---|
| |
|
![]() Google LLC | |
---|---|
| |
Реклама |
|
Коммуникации |
|
ПО |
|
Платформы |
|
Инструменты разработки | |
Публикация |
|
Поиск (PageRank) |
|
Тематические проекты |
|
Закрытые проекты |
|
См. также |