WikiSort.ru - Программирование

ПОИСК ПО САЙТУ | о проекте
Dart
Класс языка объектно-ориентированный язык программирования, каркас веб-приложений, язык программирования, сценарный язык, императивный язык программирования[d], reflective programming language[d], язык функционального программирования и мультипарадигмальный язык программирования
Тип исполнения интерпретатор
Появился в 10 октября 2011
Автор Google
Разработчик Google
Расширение файлов .dart
Выпуск 2.0 (09 августа 2018)
Система типов статическая с версии Dart 2
Испытал влияние Java, JavaScript, CoffeeScript, Go
Лицензия BSD
Платформа кроссплатформенность
Сайт dartlang.org

Dart — язык программирования, созданный Google. Dart позиционируется в качестве замены/альтернативы JavaScript. Один из разработчиков языка Марк Миллер (Mark S. Miller) написал, что JavaScript «имеет фундаментальные изъяны»[1] («Javascript has fundamental flaws…»), которые невозможно исправить. Поэтому и был создан Dart.

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

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

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

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

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

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

Пример

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

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);
}

См. также

Примечания

Литература

На русском
  • Крис Бакетт. 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.

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии