Dart
Изображение логотипа
Класс языка объектно-ориентированный, веб-фреймворк, сценарный язык, императивный, рефлексивный язык программирования[вд], язык функционального программирования и мультипарадигмальный
Тип исполнения компилятор
Появился в 10 октября 2011
Автор Google
Разработчик Google
Расширение файлов .dart
Выпуск
Система типов статическая с версии Dart 2[2]
Испытал влияние C, Java, JavaScript, CoffeeScript, Go
Лицензия BSD
Сайт dart.dev
Платформа кроссплатформенность
ОС кроссплатформенность
Логотип Викисклада Медиафайлы на Викискладе

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

История

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

Первая общедоступная информация об этом языке программирования появилась 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);
}

См. также

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

Примечания

[править | править код]
  1. Release 3.4.4
  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.

Литература

[править | править код]
На русском
На английском

Ссылки

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