Dart, Գուգլ ընկերության ստեղծած ծրագրավորման լեզու։ Dart-ը ստեղծվել է որպես JavaScript լեզվին փոխարինող/այլընտրանք։ Լեզվի ստեղծողներից Մարկ Միլերը գրել է, որ JavaScript լեզուն ունի «հիմնարար թերություններ»[3] («Javascript has fundamental flaws…»), որոնք հնարավոր չէ շտկել։ Դրա համար էլ ստեղծվեց Dart-ը։

Dart
Изображение логотипа
Տեսակօբյեկտ կողմնորոշված ծրագրավորման լեզու, վեբ ծրագրի հենք, scripting language?, իմպերատիվ ծրագրավորման լեզու, պծրագրավորման ռեֆլեքսիվ լեզու, ֆունկցիոնալ ծրագրավորման լեզու և բազմահարացուցային ծրագրավորման լեզու
Առաջացել էհոկտեմբերի 10, 2011
ՍտեղծողԳուգլ
ՆախագծողLars Bak? և Kasper Lund?
Ընդլայնումներ.dart
ՕՀբազմապլատֆորմ
Համացանցի տվյալների տեսակapplication/dart[1] և application/vnd-dart[2]
Ներշնչվել էStrongtalk?, Ջավա, ՋավաՍկրիպտ, Smalltalk, Erlang և C Sharp
ԱրտոնագիրBSD արտոնագիր
ՀմայագիրDash?
Կայքdart.dev(անգլ.)
Ելակոդgithub.com/dart-lang/sdk
 Dart (programming language) Վիքիպահեստում

Լեզվի մասին առաջին հրապարակային մատչելի տեղեկատվությունը հայտնվեց 2011 թվականի սեպտեմբերի 12-ին Goto ծրագրավորողների կոնֆերանսի ժամանակ[4]։ 2011 թվականի հոկտեմբերի 10-ին տեղի ունեցավ Google Dart լեզվի պաշտոնական ներկայացումը։

Լեզվի ստեղծողների առաջ դրված խնդիրները․[5]

  • Ստեղծել վեբ ծրագրավորման համար կառուցվածքային և միաժամանակ ճկուն լեզու
  • Ուսումը պարզեցնելու համար լեզուն դարձնել գոյություն ունեցողներին նման
  • Ստեղծված ծրագրերի բարձր արագագործություն ինչպես դիտարկիչում, այնպես էլ այլ միջավայրներում, սկսած սմարթֆոններից մինչև սերվերներ։

Նախապես առաջարկվել է Dart ծրագրի օգտագործման երկու տարբերակ․ վիրտուալ մեքենայի օգտագործմամբ կամ միջանկյալ թարգմանություն JavaScript-ում[5][6]։

2013 թվականի նոյեմբերի 15-ին Գուգլ ընկերությունը թողարկեց իր Dart լեզվի առաջին կայուն SDK 1.0 տարբերակը։ 2014 թվականի հուլիսի 4-ին ECMA-ն հաստատեց լեզվի առաջին չափորոշիչները, որը տացավ ECMA-408 անվանումը[7]։

Օրինակ խմբագրել

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

Պարզունակ դաս

// sqrt() ֆունկցիայի հասանելիության համար math գրադարանի կցում
import 'dart:math' as math;

// Point դասի ստեղծում
class Point {

    // Որպես final հայտարարված փոփոխականները չեն կարող փոփոխվել ինիցիալիզացիայից հետո
    // Երկու թվային դաշտի հայտարարում
    final num x, y;

    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. https://github.com/dart-lang/mime/blob/0.9.6%2B1/lib/src/default_extension_map.dart#L153
  2. https://www.iana.org/assignments/media-types/application/vnd-dart — 2011.
  3. Լեզվի ստեղծման առաջին հաղորդագրությունը
  4. Keynote: Dart, a new programming language for structured web programming
  5. 5,0 5,1 Dart: a language for structured web programming, The official Google Code blog 2011-10
  6. Язык Dart — Structured web programming, Хабрахабр, 2011 — перевод Dart Technical Overview
  7. «Ecma approves the 1st edition of the Dart language specification» (անգլերեն). dartlang.org. 4 июля 2014.

Գրականություն խմբագրել

  • Matt Fisher, 8. Exporting to HTML5, Google Dart, HTML5 for Flash Developers (Packt Publishing, Limited) — 322 էջ, ISBN 9781849693325։

Արտաքին հղումներ խմբագրել