Jump to content

ഡാർട്ട് (പ്രോഗ്രാമിംഗ് ഭാഷ)

വിക്കിപീഡിയ, ഒരു സ്വതന്ത്ര വിജ്ഞാനകോശം.
(Dart (programming language) എന്ന താളിൽ നിന്നും തിരിച്ചുവിട്ടതു പ്രകാരം)
ഡാർട്ട്
ശൈലി:Multi-paradigm: functional, imperative, object-oriented, reflective[1]
രൂപകൽപ്പന ചെയ്തത്:Lars Bak, Kasper Lund
വികസിപ്പിച്ചത്:Google
ഡാറ്റാടൈപ്പ് ചിട്ട:1.x: Optional
2.x: Inferred[2] (static, strong)
പ്രധാന രൂപങ്ങൾ:Dart VM, dart2native, dart2js, DDC, Flutter
അനുവാദപത്രം:BSD
വെബ് വിലാസം:dart.dev

ഒന്നിലധികം പ്ലാറ്റ്ഫോമുകളിലെ അപ്ലിക്കേഷനുകൾക്കായുള്ള ക്ലയന്റ് ഒപ്റ്റിമൈസ് ചെയ്ത [3]പ്രോഗ്രാമിംഗ് ഭാഷയാണ് ഡാർട്ട്. ഇത് ഗൂഗിൾ വികസിപ്പിച്ചെടുത്തതാണ്, ഇത് മൊബൈൽ, ഡെസ്ക്ടോപ്പ്, സെർവർ, വെബ് ആപ്ലിക്കേഷനുകൾ എന്നിവ നിർമ്മിക്കാൻ ഉപയോഗിക്കുന്നു.[4]

സി-സ്റ്റൈൽ വാക്യഘടനയോടുകൂടിയ ഒബ്ജക്റ്റ്-ഓറിയന്റഡ്, ക്ലാസ് അധിഷ്ഠിത, ഗാർബ്ബേജ് കളക്ടഡ് ഭാഷയാണ് ഡാർട്ട്. [5] ഡാർട്ട് നേറ്റീവ് കോഡിലേക്കോ ജാവാസ്ക്രിപ്റ്റിലേക്കോ കംപൈൽ ചെയ്യാൻ കഴിയും. ഇത് ഇന്റർഫേസുകൾ, മിക്സിനുകൾ, അമൂർത്ത ക്ലാസുകൾ, പരിഷ്കരിച്ച ജനറിക്സ്, തരം അനുമാനങ്ങൾ എന്നിവയെ പിന്തുണയ്ക്കുന്നു.[6]

ചരിത്രം

[തിരുത്തുക]

2011 ഒക്ടോബർ 10-12 തീയതികളിൽ ഡെൻമാർക്കിലെ അർഹസിൽ നടന്ന ഗോട്ടോ(GOTO) കോൺഫറൻസിലാണ് ഡാർട്ട് അനാച്ഛാദനം ചെയ്തത്. [7] ലാർസ് ബാക്കും കാസ്പർ ലണ്ടും ചേർന്നാണ് ഈ പദ്ധതി ആരംഭിച്ചത്. [8] ഡാർട്ട് 1.0 2013 നവംബർ 14 ന് പുറത്തിറങ്ങി.[9]ഗൂഗിളിൽ വികസിപ്പിച്ച ഡാർട്ട് പ്രോഗ്രാമിംഗ് ഭാഷയുടെ ആദ്യത്തെ സ്രഷ്ടാക്കൾ ലാർസ് ബാക്കും കാസ്പർ ലണ്ടും ആയിരുന്നു. ഡാർട്ട് 1.0 ഔദ്യോഗികമായി നവംബർ 14, 2013-ന് പുറത്തിറങ്ങി, വെബ് ഡെവലപ്‌മെൻ്റിനായി രൂപകൽപ്പന ചെയ്‌തിരിക്കുന്ന കരുത്തുറ്റതായ പ്രോഗ്രാമിംഗ് ഭാഷയായി അതിൻ്റെ പ്രവേശനം അടയാളപ്പെടുത്തുന്നു.[10] അക്കാലത്തെ ജാവാസ്ക്രിപ്റ്റുമായി താരതമ്യപ്പെടുത്തുമ്പോൾ പ്രകടനം മെച്ചപ്പെടുത്താനും, വെബ് പേജ് വികസിപ്പിക്കുമ്പോൾ മികച്ച അനുഭവം നൽകാനും ഡാർട്ട് ലക്ഷ്യമിടുന്നു. വെബ്, മൊബൈൽ, സെർവർ-സൈഡ് ആപ്ലിക്കേഷനുകൾ നിർമ്മിക്കുന്നതിന് ഈ പ്രോഗ്രാമിംഗ് ഭാഷ ജനപ്രീതി നേടുന്നു[11].

തുടക്കത്തിൽ ഡാർട്ടിന് സമ്മിശ്ര സ്വീകരണമാണ് ലഭിച്ചത്, ക്രോമിൽ ഒരു ഡാർട്ട് വിഎം ഉൾപ്പെടുത്താനുള്ള യഥാർത്ഥ പദ്ധതികൾ കാരണം ഡാർട്ട് സംരംഭത്തെ വെബിൽ ഫ്രാഗ്മെന്റ് ചെയ്യുന്നതിനെ ചിലർ വിമർശിച്ചു. ഡാർട്ടിനെ ജാവാസ്ക്രിപ്റ്റിലേക്ക് കംപൈൽ ചെയ്യുന്നതിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നതിനായി ഡാർട്ടിന്റെ 1.9 പ്രകാശനത്തോടെ 2015 ൽ ആ പദ്ധതികൾ ഉപേക്ഷിച്ചു. [12]

ശബ്‌ദ തരം സംവിധാനം ഉൾപ്പെടെയുള്ള ഭാഷാ മാറ്റങ്ങളോടെ 2018 ഓഗസ്റ്റിൽ ഡാർട്ട് 2.0 പുറത്തിറങ്ങി. [13]

ഡാർട്ട് 2.6 dart2nativeഎന്ന പുതിയ എക്സ്റ്റൻക്ഷൻ അവതരിപ്പിച്ചു. ഈ സവിശേഷത ലിനക്സ്, മാക്ഒഎസ്, വിൻഡോസ് ഡെസ്ക്ടോപ്പ് പ്ലാറ്റ്ഫോമുകളിലേക്ക് നേറ്റീവ് കംപൈലേഷൻ വിപുലീകരിക്കുന്നു. മുമ്പുള്ള ഡവലപ്പർമാർക്ക് ആൻഡ്രോയിഡ് അല്ലെങ്കിൽ ഐഒഎസ്(iOS) ഉപകരണങ്ങൾ ഉപയോഗിച്ച് മാത്രമെ പുതിയവ സൃഷ്ടിക്കാൻ സാധിച്ചിരുന്നുള്ളു. മാത്രമല്ല, ഈ വിപുലീകരണത്തിലൂടെ ഒരു ഡാർട്ട് പ്രോഗ്രാം സ്വയം ഉൾക്കൊള്ളുന്ന എക്സിക്യൂട്ടബിളുകളിലേക്ക് രചിക്കാൻ കഴിയും. അതിനാൽ, കമ്പനി പ്രതിനിധികൾ പറയുന്നതനുസരിച്ച്, ഡാർട്ട് എസ്ഡികെ ഇൻസ്റ്റാൾ ചെയ്യണമെന്ന നിർബന്ധനയില്ല, സ്വയം ഉൾക്കൊള്ളുന്ന എക്സിക്യൂട്ടബിളുകൾക്ക് ഇപ്പോൾ കുറച്ച് നിമിഷങ്ങൾക്കുള്ളിൽ പ്രവർത്തിക്കാൻ കഴിയും. പുതിയ എക്സ്റ്റൻക്ഷൻ ഫ്ലട്ടർ ടൂൾകിറ്റുമായി സംയോജിപ്പിച്ചിരിക്കുന്നു, അതിനാൽ ചെറിയ സേവനങ്ങളിൽ കംപൈലർ ഉപയോഗിക്കുന്നത് സാധ്യമാക്കുന്നു (ഉദാഹരണത്തിന് ബാക്കെൻഡിനെ പിന്തുണയ്ക്കുന്നു).[14][15]

2023 മെയ് മാസത്തിൽ പുറത്തിറങ്ങിയ ഡാർട്ട് 3.0, മൻഡേറ്ററി സൗണ്ട് നൾ സേഫ്റ്റി(മൻഡേറ്ററി സൗണ്ട് നൾ സേഫ്റ്റി എന്നത്, `?` ചിഹ്നം ഉപയോഗിക്കാൻ അനുവദിച്ചില്ലെങ്കിൽ ഡാർട്ടിലെ വേരിയബിളുകൾക്ക് `null` ഹോൾഡ് ചെയ്യാൻ കഴിയില്ലെന്ന് ഉറപ്പാക്കുന്നു. ഇത് മൂലം അസാധുവായ പിശകുകൾ തടയുകയും കോഡ് സുരക്ഷിതവും കൂടുതൽ വിശ്വസനീയവുമാക്കുകയും ചെയ്യുന്നു. ഉദാ: int a = 5; (നോൺ-നള്ളബിൾ, a എന്ന വെരിയബിളിന് null വാല്യൂ ഹോൾഡ് ചെയ്യാൻ സാധിക്കില്ല) int? b = null; (നള്ളബിൾ, b എന്ന വെരിയബിളിന് null ഹോൾഡ് ചെയ്യാൻ സാധിക്കും)) അവതരിപ്പിക്കുകയും മെച്ചപ്പെട്ട കോഡിംഗിനായി വ്യക്തതയ്ക്കും ഘടനയ്ക്കുമായി റെക്കോർഡുകൾ, പാറ്റേണുകൾ, ക്ലാസ് മോഡിഫയറുകൾ എന്നിവ പോലുള്ള ഫീച്ചറുകൾ ചേർത്തു[16][17].

പതിപ്പ് 3.4 മുതൽ വെബ് അസംബ്ലിയിലേക്ക് കംപൈൽ ചെയ്യാൻ ഡാർട്ടിന് കഴിയും[18].

സ്പെസിഫിക്കേഷൻ

[തിരുത്തുക]

ഡാർട്ട് ഭാഷാ സ്പെസിഫിക്കേഷൻ്റെ അഞ്ചാം പതിപ്പ് 2021 ഏപ്രിൽ 9-ന് പുറത്തിറങ്ങി. ഇത് ഡാർട്ട് 2.10 വഴിയുള്ള എല്ലാ സിന്റാക്സുകളും ഉൾക്കൊള്ളുന്നു[19]. ഇത് പതിപ്പ് 2.10 വരെയുള്ള എല്ലാ ഡാർട്ട് സിന്റാക്സും ഉൾക്കൊള്ളുന്നു. ആറാം പതിപ്പ് ഡ്രാഫ്റ്റ് പതിപ്പ് 2.13 വരെ അപ്ഡേറ്റുകൾ ചേർക്കുന്നു[20]. Accepted proposals ഈ ലിങ്കിൽ ക്ലിക്ക് ചെയ്യുമ്പോൾ ഡാർട്ട് അംഗീകരിച്ച നിർദ്ദേശങ്ങൾ ഗിറ്റ്ഹബിൽ ഡാർട്ട് ഭാഷാ ശേഖരത്തിൽ കാണാം[21].

ഡാർട്ട് പ്രോഗ്രാമിംഗ് ഭാഷയെ സ്റ്റാൻഡേർഡ് ചെയ്യുന്നതിനായി ഇഗ്മ(ECMA) ഇൻ്റർനാഷണൽ ടിസി52(TC52) സൃഷ്ടിച്ചു[22]. ആദ്യത്തെ ഡാർട്ട് ഭാഷാ സ്പെസിഫിക്കേഷൻ, ഇഗ്മ-408, 2014 ജൂലൈയിൽ ഇഗ്മയുടെ 107-ാമത് ജനറൽ അസംബ്ലിയിൽ അംഗീകരിച്ചു[23]. 2014 ഡിസംബർ, 2015 ജൂൺ[24], 2015 ഡിസംബർ മാസങ്ങളിൽ അപ്ഡേറ്റ് ചെയ്ത പതിപ്പുകൾ തുടർന്നു[25].

അവലംബം

[തിരുത്തുക]
  1. Kopec, David (30 June 2014). Dart for Absolute Beginners. Apress. p. 56. ISBN 9781430264828. Retrieved 24 November 2015.
  2. "The Dart type system". dart.dev.
  3. "A programming language optimized for building user interfaces with features such as the spread operator for expanding collections, and collection if for customizing UI for each platform". dart.dev.
  4. "Dart programming language". dart.dev.
  5. "A Tour of the Dart Language". dart.dev. Retrieved 2018-08-09.
  6. "The Dart type system". dart.dev.
  7. "Dart, a new programming language for structured web programming", GOTO conference (presentation) (opening keynote), Århus conference, 2011-10-10{{citation}}: CS1 maint: location missing publisher (link)
  8. Ladd, Seth. "What is Dart". What is Dart?. O'Reilly. Retrieved August 16, 2014.
  9. "Dart 1.0: A stable SDK for structured web apps". news.dartlang.org. Retrieved 2018-08-08.
  10. Ladd, Seth. "What is Dart". What is Dart?. O'Reilly. Retrieved August 16, 2014.
  11. "Dart 1.0: A stable SDK for structured web apps". news.dartlang.org. Retrieved 2018-08-08.
  12. Seth Ladd. "Dart News & Updates". dartlang.org.
  13. Moore, Kevin (2018-08-07). "Announcing Dart 2 Stable and the Dart Web Platform". Dart. Retrieved 2018-08-08.
  14. "Dart 2.5 brings native compilation to the desktop". Infoworld. Retrieved 2019-11-28.{{cite web}}: CS1 maint: url-status (link)
  15. "Dart 2.6 released with dart2native". SDtimes. Retrieved 2019-11-28.{{cite web}}: CS1 maint: url-status (link)
  16. "Dart language evolution". dart.dev (in ഇംഗ്ലീഷ്). Retrieved 2024-01-09.
  17. "Class modifiers".
  18. Thomsen, Michael (2024-05-14). "Landing Flutter 3.22 and Dart 3.4 at Google I/O 2024". Flutter (in ഇംഗ്ലീഷ്). Retrieved 2024-05-17.
  19. "Dart Programming Language Specification, 5th edition" (PDF).
  20. "Dart Programming Language Specification, 6th edition draft" (PDF).
  21. "Dart language GitHub repository". GitHub.
  22. "TC52 - Dart". Archived from the original on 2016-08-02. Retrieved 2013-12-16.
  23. "ECMA-408". Ecma International (in അമേരിക്കൻ ഇംഗ്ലീഷ്). Retrieved 2023-05-12.
  24. Anders Thorhauge Sandholm (10 September 2019). "Dart News & Updates". dartlang.org.
  25. Anders Thorhauge Sandholm (10 September 2019). "Dart News & Updates". dartlang.org.