Який сучасний стан мови програмування Google Dart? [зачинено]


15

Дарт був віком (в Інтернеті років), але, судячи з Google Trends , він не набув великого галасу, і той факт, що він працює лише в Chrome, також не допомагає. Тим не менш, Chrome щодня набирає частку ринку, що дозволяє краще бачити Dart.

Яка зараз велика картина? У якій державі мова? Чи ставляться люди до цього високо? Відсоток ринку? Вітрина веб-додатків? Деякі реалізації функцій, які змушують вас перейти "я маю це використовувати"?


2
Це питання можна вважати занадто локалізованим у часі, і не знаєте, як зробити його менш локалізованим, не запитуючи думки щодо самої мови.
Матьє

1
@Matthieu: Занадто локалізовано? Серйозно?
Джим Г.

1
@JimG. : Що стосується мови, що є її 0,06 версією та оновлюється щомісяця , я вважаю, що справедливо сказати, що ця мова може бути не однаковою протягом наступних 6 місяців, і що будь-яке сьогодні рішення, винесене сьогодні, буде марним.
Матьє

1
Dart працює в сучасних браузерах, компілюючи його в JavaScript.
Сет Ладд

2
Я не дуже розумію, чому це було закрито. Для цього потрібні факти (частка ринку / використання), посилання (приклади в Інтернеті тощо), стан мови, в якому знаходиться мова (технічний попередній перегляд, як зазначено у відповідях), реалізація функцій (факт / довідка / конкретна експертиза). Пост навіть містить деяку інформацію, схожу на інформацію, яку він очікує, що є чітким і стислим
Міхаліс Багос

Відповіді:


27

Коротка відповідь на тему "Який стан Дартса?" є: це в технології попереднього перегляду. Це особливий спосіб сказати: "Ми запустили рано, щоб ми могли відкрити вихідний код і працювати на відкритому повітрі". "Попередній перегляд технологій" також означає, що "ми ще навіть не в Альфі. Ми маємо ще багато роботи, але вам там достатньо, щоб ви могли грати і давати відгуки".

Час в Інтернеті може працювати для новинних новин або ітерацій споживчих товарів, але, мабуть, не для чогось такого амбітного та широкого, як зусилля Дартса. Пам’ятайте, Дарт - це не просто мова. Це також набір бібліотек, кращий інтерфейс DOM, віртуальна машина, редактор та інтеграція з Chrome. Команда дуже наполегливо працює над багатьма паралельними нитками, але я особисто сподіваюсь, що пройде шість місяців, перш ніж у нас буде більшість творів на місці.

Неправда, що Dart працює лише в Chrome. Dart компілює в JavaScript та націлює сучасні браузери. Звичайно, Chrome буде першим, хто запустить з нативною підтримкою Dart, але забезпечення компіляції Dart для ефективного та ефективного JavaScript є основним обмеженням та особливістю проекту.

Велика картина полягає в тому, що Dart перетвориться на середовище розробки для "сучасних батарей" для сучасних веб-додатків. Основна мета Dart - допомогти забезпечити, щоб Інтернет залишався продуктивною та приємною платформою для розробки та розробки програм. Це означає, що потрібно створити багато фрагментів: мова, бібліотеки, редактори, віртуальні машини та інтеграція з браузером. Всім, ми вважаємо, що Dart стане переконливим варіантом для сучасних розробників веб-додатків.

Велика велика картина полягає в тому, що ми хочемо залучити розробників додатків до Інтернету, і ми хочемо, щоб веб-розробники писали більш складні веб-додатки. Якщо вони використовують Dart, це чудово. Але наприкінці дня мова не має значення. Важливо лише те, що будуються складні, клієнтські, висока вірність, низька затримка, прекрасні сучасні веб-програми.

Мова перебуває у стані розвитку. Ми бачимо нові випуски до специфікації приблизно один раз на місяць. Основні риси відсутні, як-от рефлексія, але ми продовжуємо її повторювати. Наприклад, ми просто додали підтримку Map () до колекції. Гілад Брача, хлопець, який знає свої мови (створивши NewSpeak і працював над Spec Java Lang) та Джош Блох, хлопець, який знає свої бібліотеки (написав Ефективну Java і працював у бібліотеках колекції Java). бібліотеки разом із більшою командою.

Чи дуже люди ставляться до Дартса важко узагальнити, і це, мабуть, для вас не має великого значення. Ви повинні зробити власні висновки після того, як зіграли з Дарт. Мій досвід полягає в тому, що розробники додатків з інших платформ, таких як Java, C # або Flex, вважають Dart привабливим і звичним. Мій досвід роботи з розробниками JavaScript розділений. Якщо цей розробник JavaScript також створив додатки на інших платформах, вони з обережністю оптимістично ставляться до Dart (або, принаймні, рішення, яке він намагається надати). Якщо той розробник JavaScript виріс на JavaScript і програмував лише на JavaScript, більше вагань. Це може бути певним занепокоєнням мови, або колись у виході із зони комфорту, або просто просто не стикаються з кращими справами з JavaScript. Це просто узагальнення, але я '

Що стосується частки ринку, то це надзвичайно рано в грі. Це, мабуть, не правильне запитання, оскільки Дарт навіть не доставляє. Більш цікавим було б питання "Яка частка ринку додатків в Інтернеті?" а потім зрозумійте, як ми можемо вирішити це.

Що стосується вітрини веб-додатків, команда Dart побудувала Swarm - гладкий читач новин. На жаль, ми маємо його лише у вихідному коді зараз: http://www.dartlang.org/samples/index.html

Щодо деяких "вбивчих" особливостей, я б сказав, що є кілька досить цікавих:

  • необов'язкові типи гладкі, вони додають примітки та документації для людей та машин.
  • Ізоляти - це чудовий спосіб досягти одночасності безпечним способом.
  • Бібліотеки (модульність) дуже потрібні для веб-стека, а Dart має бібліотеки та класи.
  • Знімки дозволять зробити надзвичайно швидкий запуск
  • Пакетні бібліотеки (наприклад, колекції, секундомір тощо) уніфікують кодові бази та зменшать код, що може бути завантажений
  • Приємний новий інтерфейс DOM, який робить роботу з DOM набагато приємнішою. Це схоже на рідний код Дартса.

Я сподіваюся, що я відповів на ваші запитання. Я думаю, що єдине важливе питання полягає в тому, "чи допомагає моя мова створити складні, високі точності, низькі затримки, модульні, сучасні веб-програми?" Кінцевий стан всього цього просто допомагає більшості розробників додатків доставляти більш успішні додатки до сучасної мережі.


прийшов до цієї теми під час перегляду вашого відео Introduction to Dart. Готові до практичних дій на Дарт. :)
SachinGutte

8

Ви не можете вимірювати вік мови програмування в "Інтернет-роки". Насправді, ви не можете виміряти жодну реальну технологію за роки Інтернет. Все, що ви дійсно можете виміряти за Інтернет-роки, - це обман, але обман не відображає реальність.

Дартс публічний з 3 місяців. Порівняйте це з "свіжими" та "гарячими" технологіями у цій галузі, як-то CoffeeScript або Node.js, які публічні з 2 років та майже 3 років відповідно. Також варто відзначити, що обидва порівняно невеликі кроки порівняно з Dart. В основному CoffeeScript означав підключення JavaScript-генератора до аналізатора на основі Ruby, а Node.js означав прив'язку неблокуючого вводу-виводу до Google V8.

Dart - це спроба переглянути дизайн веб-програмування на всіх рівнях, тобто синтаксис, особливості мови, середовище виконання, API. Порівняти, наприклад, Dart з CoffeeScript, це як порівняння прототипу персонального літального апарату, що працює з сонячною енергією, з GT Shelby GT 1968 року. Звичайно, колишній має набагато більший потенціал, але інвестувати в нього, не кажучи вже про посадку на борт, потрібно багато зухвалість. Останній має масу відомих недоліків, але вони відомі, що робить всю справу передбачуваною та надійною.

Звичайно, це лише міркування, але я думаю, що Дарт - це глухий кут, який, врешті-решт, буде врятований для переміщення JavaScript вперед чи інших рішень. Якщо ви хочете динамічної мови, CoffeeScript і Parenscript вже виконують те, що обіцяє Dart. Якщо ви віддаєте перевагу статично набраній мові, то haXe та Opa зроблять трюк. Усі четверо мають головний старт на Дарт. І всі вони розроблені для компіляції в JavaScript як за замовчуванням, а не просто як резервного.


3
Я думаю, що, як Дарт - нова мова, я не бачив у ній нічого особливо інноваційного . Наскільки я можу сказати, він переважно складається з функцій із старих мов. Тож це насправді не дуже схоже на "прототип енергетичного персонального літального апарату, що працює на енергії".
Тихон Єлвіс

@ back2dos +1 "Ви не можете вимірювати вік мови програмування в" Інтернет-роках ". Насправді, ви не можете виміряти будь-яку фактичну технологію за Інтернет-роки." Це відкрило для мене нове розуміння. Чому не можна і як можна виміряти технологію в епохи до і після Інтернету?
Ubermensch

@TikhonJelvis: Порівняння стосувалося більш зрілості. Але все ж існують сонячна енергетика, автопілотування та авіація, тому транспортний засіб, який я описав, схоже на Дарт, "просто" рекомбінація існуючих ідей. Завдання інженерії - не рекомбінувати, а змусити його літати;)
back2dos

Порівнювати Dart з іншими мовами не входить у цю дискусію, і наскільки я можу собі уявити будь-яку дискусію, оскільки вони так чи інакше є різними. Dart - це більше, ніж препроцесор, і він точно не орієнтований на сервер. Я погоджуюся з приводу міркувань щодо майбутнього
дартса

@MihalisBagos: Ну, оскільки Dart може компілювати в JS, ви можете вже запустити його на Node.js, тому його можна використовувати на стороні сервера. Також час важко виміряти значущим чином, тому, щоб зрозуміти, наскільки далеко може зайти Dart за який час, порівняння з певною мовою на подальшому етапі із зрозумілою кількістю функцій - це майже найкращий орієнтир, який ви можете отримати.
back2dos

5

Дарт все ще знаходиться в технічному попередньому перегляді. На даний момент мовна специфікація має версію 0.0.6, очікується десь на цьому тижні 0.0.7. Це далеко не "повно". У сховищі є кілька прикладів: http://www.dartlang.org/samples/index.html

Ось один погляд на те, що краще в синтаксичному відношенні, ніж у JavaScript: http://www.grobmeier.de/10-reasons-why-dart-is-cooler-than-javascript-03012012.html Відмова: це моя посада . Мені тут потрібно сказати, що мені подобається JavaScript, але в деяких моментах він має химерність, що мені не дуже подобається.

Навколо нього також існує зростаюча спільнота: http://www.dartosphere.org

Деяким людям вдалося перенести Box2D до Дарт, інший хлопець підключений до CouchDB. У будь-якому випадку, у виробництві немає нічого, що слід використовувати.

Певний час Джош Блохуа приєднався до команди, щоб працювати над рефакторингом API. Ви можете очікувати деяких змін навіть у API API.

Підтримка браузера: ви можете перекомпілювати Dart в JavaScript, бажано з Frog (не DartC, він збирається у величезні файли javascript). Dartium - це один із браузерів, який підтримує рідний Dart, десь також є дискусійні гілки Webkit.

Моє особисте сподівання - отримати щось конкретніше в середині наступного року. З мого досвіду Google Devs робить багато для того, щоб зробити мову належною та доброю, запозичивши не лише Java, але й Erlang та JavaScript.

Ось приклад гри, перенесеної з JavaScript: http://blog.sethladd.com/2011/12/10-lessons-from-porting-javascript-to.html

Можна очікувати, що Dart приїде на Android, можливо навіть як "основну мову". Люди кажуть, що він прийде до AppEngine.

Особисто я вважаю Дарт дуже елегантним і вже досить приємним. Крім того, я думаю, що після його завершення він матиме спільний ринок.

Ви знайдете багато запитань, на які відповіли в цьому FAQ: http://www.dartlang.org/support/faq.html#compare-to-coffeescript


Дякуємо за орієнтовану відповідь, дуже цікаві посилання!
Михаліс Багош

0

Дарт був у віці (в Інтернеті років)

Він навіть не використовується широко, і він незрілий. Технології, готові до виробництва, існують вже 10-15 років ... для Dart ви навіть не можете сказати, що це попередня альфа. Нові технології завжди добре виглядають на папері, коли ніхто не використовує їх.

це не набуло великої галасливості

Я думаю, що навпаки. Прикро, що така погана, відстала мова отримала настільки позитивні відгуки. Це повертається з прекрасного Ecma / Java Script OOP з паразитарним успадкуванням, закриттями та зворотними зворотами до дерев’яного, десятилітнього OOP, знятого з Java з усіма жахливими методами програмування, з якими Java поставляється.

Деякі реалізації функцій, які змушують вас перейти "я маю це використовувати"?

Жоден. Якщо ви знаєте java та маєте нетерпимість до знань, щоб правильно вивчити Ecma / JavaScript. Dart - це, мабуть, єдине, що буде працювати для вас.

Ви знаєте, як працює Google. Вони використовують Java дуже багато, тому, ймовірно, саме тому вони випустили таку жахливу мову ... вони просто звикли до неї.

Окрім того, це подальше фрагментація Інтернету, і я можу лише сподіватися, що Mozilla та Opera ніколи цього не реалізують (адже MS точно не додасть підтримку для деяких google Java, як мова). Окрім того, що вся концепція DATED, нам слід позбутися таких мов, як C ++ або Java, принаймні при кодуванні інтерфейсів, оскільки вони дуже неефективні. Це як замінити C ++ на Assembler, тому що кодери в кінці 50-х років відмовляються пізнавати нове.


2
Можливо, ви захочете трохи зменшити зміщення мови; ваш перший абзац дає хороший підсумок, і ви закінчуєте приємне спостереження, але вони губляться у всьому "жахливому".
Патрік Хьюз

+1 для зменшення тональності, c ++ ще дуже живий (як і асемблер) для конкретних програм. Це може бути не найкращим інструментом для кожної роботи, але за багатьох обставин це приголомшливо. Наприклад, Assembler використовується в ігрових двигунах.
Пол Хіемстра

Я не сказав, що Java або C ++ - це погано ... обидва погані для користувальницьких інтерфейсів, а саме те, що JS використовується (головним чином) для програмування. І те, і інше добре в інших сферах. Дарт - це просто наївний підхід людей, які програмують лише Java, тому вони, напевно, думають, що Java хороша для всього. Крім того, я працював з MFC та Java над інтерфейсами, тому я думаю, що я маю право так сказати :) Це як би сказати, що Assembler є більш розвиненим, ніж C, оскільки ASM - це все, що ви знаєте :)
Slawek

Я працював з Java та JavaScript, і можу сказати, що ваша публікація жахлива та наївна. Мови програмування не є релігією, і Дарт має досить хороший підхід. Я не думаю, що ми можемо чи повинні позбуватися таких мов, як Java. Це просто хакерська мова без жодних міркувань.
Крістіан

Розум? Ви можете зробити те ж саме в JS, що і на Java ... просто на пару ЧАСІВ швидше + код набагато простіше керувати та змінювати, якщо ми говоримо про інтерфейси користувача. Час = гроші. Це було досить погано, коли у нас були VBScript та ECma в браузерах разом ... навіщо повертатися до 90-х? JS є специфічною мовою для дуже конкретного випадку, чому замінити її чимось загальним і шаленим?
Славек

0

Dart - це недосконала концепція, яка слідує слідам Javascript. Google повинен співпрацювати над створенням стандартних режимів виконання веб-браузерів (на зразок HTML 6). Схожий на байт-код Java або IL.

Ми не повинні бути стандартизованими на конкретні мови, а на час виконання. "Браузер - це операційна система". Правильно? Google WTF? Дотримуйтесь власного бачення !!!


2
Байт-код Java - це конкретна мова. Як і CIL.
Йорг W Міттаг
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.