Bagaimana kondisi bahasa pemrograman Dart Google saat ini? [Tutup]

15

Dart sudah lama tidak digunakan (dalam tahun internet), tetapi menilai oleh Google Trends , itu belum mendapatkan banyak hype, dan fakta bahwa itu hanya berfungsi di Chrome juga tidak membantu. Meskipun demikian, Chrome mendapatkan pangsa pasar setiap hari, yang cocok untuk tampilan yang lebih baik tentang Dart.

Apa gambaran besarnya sekarang? Keadaan apa bahasa ini? Apakah orang-orang sangat menghargai itu? Saham? Etalase Aplikasi Web? Beberapa implementasi fitur yang membuat Anda pergi "Saya harus menggunakannya"?

Mihalis Bagos
sumber
2
Pertanyaan ini mungkin dinilai terlalu terlokalisasi dalam waktu, dan tidak yakin bagaimana membuatnya kurang terlokalisasi tanpa meminta pendapat tentang bahasa itu sendiri.
Matthieu
1
@Matthieu: Terlalu terlokalisasi? Serius?
Jim G.
1
@ Jim. : Untuk bahasa yang dalam versi 0.06-nya , dan yang diperbarui setiap bulan , saya pikir wajar untuk mengatakan bahwa bahasa ini mungkin tidak sama dalam 6 bulan ke depan, dan bahwa penilaian apa pun yang disahkan hari ini akan sia-sia saat itu.
Matthieu
1
Dart berfungsi di peramban modern dengan mengompilasinya ke JavaScript.
Seth Ladd
2
Saya tidak begitu mengerti alasan ini ditutup. Itu memang membutuhkan fakta (pangsa pasar / penggunaan), referensi (contoh online, dll), keadaan bahasa (pratinjau teknis sebagaimana tercantum dalam jawaban), implementasi fitur (fakta / referensi / keahlian khusus). Tulisan itu bahkan menyediakan beberapa info yang mirip dengan info yang diharapkannya, yang jelas ringkas dan to the point
Mihalis Bagos

Jawaban:

27

Jawaban singkat untuk "Bagaimana keadaan Dart?" adalah: ada di Technology Preview. Itu cara khusus untuk mengatakan, "kami meluncurkan lebih awal sehingga kami dapat membuka semua sumber dan bekerja di tempat terbuka." "Pratinjau teknologi" juga berarti "kita bahkan belum di Alpha, kami memiliki banyak pekerjaan yang harus dilakukan, tetapi ada cukup banyak di sana untuk Anda mainkan dan berikan umpan balik."

Waktu Internet dapat digunakan untuk berita atau pengulangan produk konsumen, tetapi mungkin tidak untuk sesuatu yang ambisius dan seluas upaya Dart. Ingat, Dart lebih dari sekedar bahasa. Ini juga seperangkat pustaka, antarmuka DOM yang lebih baik, mesin virtual, Editor, dan integrasi dengan Chrome. Tim ini bekerja sangat keras pada banyak utas paralel, tapi saya pribadi berharap itu akan menjadi enam bulan sebelum kita memiliki sebagian besar bagian di tempatnya.

Tidak benar bahwa Dart hanya berfungsi di Chrome. Dart mengkompilasi ke JavaScript dan menargetkan browser modern. Tentu, Chrome akan menjadi yang pertama diluncurkan dengan dukungan Dart asli, tetapi memastikan kompilasi Dart untuk JavaScript yang berkinerja dan efektif adalah kendala utama dan fitur proyek.

Gambaran besarnya adalah bahwa Dart akan menjadi lingkungan pengembangan "baterai termasuk" untuk aplikasi web modern. Tujuan mengemudi Dart adalah untuk membantu memastikan web tetap menjadi platform yang produktif dan menyenangkan untuk pengembangan dan penyebaran aplikasi. Ini berarti banyak bagian yang perlu dimasukkan: bahasa, perpustakaan, editor, mesin virtual, dan integrasi browser. Secara keseluruhan, kami percaya Dart akan menjadi opsi yang menarik bagi pengembang aplikasi web modern.

Gambaran besar BESAR adalah bahwa kami ingin membawa pengembang aplikasi ke web, dan kami ingin pengembang web menulis aplikasi web yang lebih kompleks. Jika mereka menggunakan Dart, itu hebat. Tetapi pada akhirnya, bahasanya tidak penting. Satu-satunya hal yang penting adalah aplikasi web modern yang kompleks, sisi klien, kesetiaan tinggi, latensi rendah, indah sedang dibangun.

Bahasa ini dalam kondisi perkembangan. Kami melihat rilis baru untuk spesifikasi kira-kira sebulan sekali. Fitur-fitur utama tidak ada, seperti pantulan, tetapi kami terus mengulanginya. Kami baru saja menambahkan dukungan peta () ke Koleksi, misalnya. Gilad Bracha, seorang pria yang mengerti bahasa-bahasanya (telah menciptakan NewSpeak dan mengerjakan Java Lang Spec) dan Josh Bloch, seorang pria yang tahu perpustakaannya (setelah menulis Java yang Efektif dan bekerja di perpustakaan Java Collection) sedang mengerjakan bahasa dan perpustakaan, bersama dengan tim yang lebih besar.

Apakah orang menganggap Dart sangat sulit untuk digeneralisasi, dan mungkin itu tidak terlalu berarti bagi Anda. Anda harus menarik kesimpulan sendiri setelah bermain dengan Dart. Pengalaman saya adalah bahwa pengembang aplikasi dari platform lain seperti Java, C #, atau Flex menemukan Dart menarik dan akrab. Pengalaman saya dengan pengembang JavaScript terpecah. Jika pengembang JavaScript itu juga membuat aplikasi di platform lain, mereka sangat optimis tentang Dart (atau, setidaknya, solusi yang coba disediakannya). Jika pengembang JavaScript dibesarkan di JavaScript dan hanya diprogram dalam JavaScript, masih ada lagi keraguan. Ini bisa menjadi perhatian mendasar tentang bahasa, atau ragu-ragu meninggalkan zona nyaman, atau hanya tidak berjalan ke tepi kasus dengan JavaScript. Ini hanya generalisasi, tapi saya

Adapun pangsa pasar, ini sangat awal dalam permainan. Ini mungkin bukan pertanyaan yang tepat untuk ditanyakan, karena Dart bahkan tidak mengirim. Pertanyaan yang lebih menarik adalah, "Apa pangsa pasar aplikasi di web?" dan kemudian mencari tahu bagaimana kita bisa mengatasinya.

Adapun showcase Web App, tim Dart membangun Swarm, pembaca berita yang apik. Sayangnya, kami hanya memilikinya dalam kode sumber sekarang: http://www.dartlang.org/samples/index.html

Adapun beberapa fitur "pembunuh", saya akan mengatakan ada beberapa yang cukup menarik:

  • tipe opsional sangat apik, mereka menambahkan anotasi dan dokumentasi untuk manusia dan mesin.
  • Isolat adalah cara yang bagus untuk mencapai konkurensi dengan cara yang aman.
  • Perpustakaan (modularitas) sangat dibutuhkan untuk tumpukan web, dan Dart memiliki perpustakaan dan kelas.
  • Snapshots akan memungkinkan untuk memulai yang sangat cepat
  • Perpustakaan yang dibundel (seperti koleksi, Stopwatch, dll) akan menyatukan basis kode dan mengecilkan kode shippable
  • Antarmuka DOM baru yang bagus, yang membuat bekerja dengan DOM jauh lebih menyenangkan. Rasanya seperti kode Dart asli.

Saya harap saya telah menjawab pertanyaan Anda. Saya pikir satu-satunya pertanyaan yang penting adalah, "Apakah bahasa saya membantu saya membangun aplikasi web yang kompleks, tinggi, latensi rendah, modular, dan modern?" Keadaan akhir dari semua ini hanyalah membantu lebih banyak pengembang aplikasi memberikan aplikasi yang lebih sukses ke web modern.

Seth Ladd
sumber
datang ke utas ini saat menonton video Anda Introduction to Dart. Siap untuk latihan langsung di Dart. :)
SachinGutte
8

Anda tidak dapat mengukur usia bahasa pemrograman di "tahun internet". Bahkan, Anda tidak dapat mengukur teknologi aktual apa pun di internet. Yang Anda dapat benar-benar ukur dalam tahun internet adalah hip, tetapi hip tidak mencerminkan kenyataan.

Dart terbuka untuk umum sejak 3 bulan sekarang. Bandingkan dengan teknologi "segar" dan "panas" di bidang ini, seperti CoffeeScript atau Node.js, yang bersifat publik sejak masing-masing 2 tahun dan hampir 3 tahun. Juga perlu dicatat bahwa keduanya merupakan langkah yang relatif kecil dibandingkan dengan Dart. Pada dasarnya CoffeeScript berarti memasukkan generator JavaScript ke parser berbasis Ruby dan Node.js berarti mengikat I / O non-pemblokiran ke Google V8.

Dart adalah upaya untuk mendesain ulang pemrograman web ujung depan di semua tingkatan, yaitu sintaks, fitur bahasa, lingkungan runtime, API. Membandingkan Dart dengan CoffeeScript misalnya, seperti membandingkan prototipe pesawat pribadi bertenaga surya yang diujicobakan secara otomatis dengan Shelby GT 1968. Tentu, yang pertama memiliki potensi yang jauh lebih besar, tetapi berinvestasi di dalamnya, apalagi naik pesawat itu membutuhkan banyak keberanian. Yang terakhir memiliki banyak kekurangan yang diketahui, tetapi mereka diketahui, yang membuat semuanya dapat diprediksi dan dapat diandalkan.

Tentu saja ini hanya spekulasi, tapi saya pikir Dart adalah jalan buntu, yang pada akhirnya akan diselamatkan untuk memajukan JavaScript, atau solusi lain. Jika Anda menginginkan bahasa yang dinamis, CoffeeScript dan Parenscript sudah melakukan apa yang dijanjikan Dart. Jika Anda lebih suka bahasa yang diketik secara statis, maka haXe dan Opa akan melakukan triknya. Keempatnya memiliki awal yang baik di Dart. Dan semuanya dirancang untuk dikompilasi ke JavaScript sebagai default, bukan hanya sebagai fallback.

back2dos
sumber
3
Saya pikir sementara Dart baru sebagai bahasa, saya belum melihat sesuatu yang sangat inovatif di dalamnya. Sejauh yang saya tahu, sebagian besar terdiri dari fitur-fitur dari bahasa yang lebih tua. Jadi itu benar-benar tidak jauh seperti "prototipe dari solare bertenaga energi, pesawat pribadi yang diujicobakan secara otomatis".
Tikhon Jelvis
@ back2dos +1 "Anda tidak dapat mengukur usia bahasa pemrograman dalam" tahun internet ". Bahkan, Anda tidak dapat mengukur teknologi aktual apa pun di tahun internet." Ini membuka wawasan baru bagi saya untuk berpikir. Mengapa tidak bisa dan bagaimana teknologi dapat diukur di era pra dan pasca internet?
Ubermensch
@TikhonJelvis: Perbandingannya lebih tentang jatuh tempo. Tetap saja, tenaga surya, pilot otomatis dan penerbangan semua ada, jadi kendaraan yang saya gambarkan mirip dengan Dart, "hanya" rekombinasi ide yang ada. Tantangan rekayasa bukan untuk menggabungkan kembali, tetapi untuk membuatnya terbang;)
back2dos
Membandingkan Dart dengan bahasa lain tidak termasuk dalam diskusi ini, dan sejauh yang saya bisa bayangkan untuk diskusi apa pun, karena mereka adalah hal yang berbeda pula. Dart lebih dari sekadar preprosesor dan tentu saja tidak berorientasi pada sisi server. Saya setuju dengan spekulasi tentang masa depan anak panah, dan itu adalah salah satu hal yang saya nantikan untuk dijawab
Mihalis Bagos
@ MihalisBagos: Ya, karena Dart dapat dikompilasi ke JS, Anda sudah bisa menjalankannya di Node.js, sehingga bisa digunakan di sisi server. Juga waktu sulit untuk mengukur secara bermakna, jadi untuk mendapatkan pemahaman tentang seberapa jauh Dart bisa bergerak pada jam berapa, perbandingan dengan bahasa tertentu pada tahap lebih lanjut dengan sejumlah fitur yang dapat dipahami adalah cukup banyak kerangka referensi terbaik yang bisa Anda dapatkan.
back2dos
5

Dart masih dalam pratinjau teknis. Saat ini spesifikasi bahasa memiliki versi 0.0.6, sebuah 0.0.7 diharapkan di suatu tempat minggu ini. Itu jauh dari "lengkap". Ada beberapa contoh di repositori: http://www.dartlang.org/samples/index.html

Berikut ini adalah satu pandangan tentang apa yang lebih baik dalam hal sintaksis daripada dalam JavaScript: http://www.grobmeier.de/10-reason-why-dart-is-cooler-than-javascript-03012012.html Penafian: ini adalah posting saya . Saya perlu mengatakan di sini saya suka JavaScript, tetapi pada beberapa titik ini memiliki kebiasaan, yang sangat tidak saya sukai.

Ada juga komunitas yang berkembang di sekitarnya: http://www.dartosphere.org

Beberapa orang telah berhasil melakukan port Box2D ke Dart, orang lain yang terhubung ke CouchDB. Lagi pula, tidak ada yang harus Anda gunakan dalam produksi.

Sebelum beberapa saat, Josh Blochua bergabung dengan tim untuk mengerjakan refactoring API. Anda dapat mengharapkan beberapa perubahan bahkan di API Inti.

Dukungan browser: Anda dapat mentranskompilasi Dart ke JavaScript, lebih disukai dengan Frog (bukan DartC, ia mengkompilasi ke file javascript besar). Dartium adalah salah satu browser yang mendukung Dart asli, kontroversi yang dibahas cabang Webkit juga ada di suatu tempat.

Harapan pribadi saya adalah mendapatkan sesuatu yang lebih konkret di pertengahan tahun depan. Dari pengalaman saya, Google Devs melakukan banyak hal untuk membuat bahasa menjadi layak dan bagus, meminjam tidak hanya dari Jawa, tetapi juga dari Erlang dan JavaScript.

Berikut ini sebuah contoh, permainan yang diangkut dari JavaScript: http://blog.sethladd.com/2011/12/10-lessons-from-porting-javascript-to.html

Orang bisa berharap Dart tiba di Android, bahkan mungkin sebagai "bahasa utama". Orang-orang mengatakan itu akan datang ke AppEngine.

Secara pribadi saya pikir Dart sangat elegan dan sudah cukup bagus. Selain itu saya pikir itu akan memiliki pangsa pasar begitu selesai.

Anda akan menemukan banyak pertanyaan Anda dijawab dalam FAQ ini: http://www.dartlang.org/support/faq.html#compare-to-coffeescript

Kristen
sumber
Terima kasih atas balasan berorientasi langsung, tautan yang sangat menarik!
Mihalis Bagos
0

Dart telah lama tidak digunakan (dalam tahun internet)

Itu bahkan tidak digunakan secara luas dan tidak dewasa. Teknologi siap produksi telah ada selama 10-15 + tahun ... untuk Dart Anda bahkan tidak dapat mengatakan itu adalah pra-alfa. Teknologi baru selalu terlihat bagus, di atas kertas, ketika tidak ada yang menggunakannya.

itu belum banyak hype

Saya pikir sebaliknya. Sayang sekali bahasa yang buruk dan terbelakang ini mendapat ulasan yang sangat positif. Ini akan kembali dari OOP Ecma / Java Script yang indah dengan warisan parasit, penutupan dan panggilan balik ke beberapa OOP kayu, dekade tua yang diambil dari Jawa dengan semua praktik pemrograman yang mengerikan yang disertakan dengan Java.

Beberapa implementasi fitur yang membuat Anda pergi "Saya harus menggunakannya"?

Tidak ada Jika Anda tahu java dan Anda tidak memiliki toleransi untuk pengetahuan untuk belajar Ecma / JavaScript dengan benar Dart mungkin satu-satunya hal yang akan bekerja untuk Anda.

Anda tahu cara kerja google. Mereka banyak menggunakan Java, jadi mungkin itu sebabnya mereka menghasilkan bahasa yang mengerikan ... mereka hanya terbiasa dengan itu.

Selain itu memecah-mecah web dan saya hanya bisa berharap Mozilla dan Opera tidak pernah mengimplementasikan ini (karena MS tidak akan menambahkan dukungan untuk beberapa bahasa seperti google java pasti). Di samping keseluruhan konsep DATE, kita harus menyingkirkan bahasa seperti C ++ atau Java setidaknya ketika coding UI karena ini sangat tidak efektif. Ini seperti mengganti C ++ dengan Assembler, karena coders di akhir 50-an menolak untuk mempelajari hal-hal baru.

Slawek
sumber
2
Anda mungkin ingin sedikit mengurangi bias bahasa Anda; paragraf pertama Anda membuat ringkasan yang baik dan Anda berakhir dengan pengamatan yang bagus tetapi semua tersesat di semua "mengerikan."
Patrick Hughes
+1 pada saat menurunkan, c ++ masih sangat hidup (seperti assembler) untuk aplikasi tertentu. Ini mungkin bukan alat terbaik untuk setiap pekerjaan, tetapi dalam banyak situasi itu luar biasa. Assembler misalnya digunakan di mesin game yang saya percaya.
Paul Hiemstra
Saya tidak mengatakan Java atau C ++ buruk ... keduanya buruk untuk antarmuka pengguna yang digunakan JS (terutama) untuk memprogram. Keduanya bagus di bidang lain. Dart hanyalah pendekatan naif oleh orang-orang yang hanya memprogram di Jawa sehingga mereka mungkin berpikir Java baik untuk semuanya. Selain saya bekerja dengan MFC dan Java pada UI jadi saya pikir saya berhak mengatakan demikian :) Ini seperti mengatakan Assembler lebih maju daripada C karena ASM adalah yang Anda tahu :)
Slawek
Saya telah bekerja dengan Java dan JavaScript dan saya dapat mengatakan bahwa posting Anda mengerikan dan naif. Bahasa pemrograman bukan agama, dan Dart memiliki pendekatan yang cukup bagus. Saya tidak berpikir kita bisa atau harus menyingkirkan bahasa seperti Java. Ini hanya pidato hacker tanpa alasan.
Christian
Pemikiran? Anda dapat melakukan hal yang sama di JS yang di Java ... hanya beberapa KALI lebih cepat + kode lebih mudah dikelola dan diubah, jika kita berbicara tentang UI. Waktu = Uang. Sudah cukup buruk ketika kami memiliki VBScript dan ECma di browser bersama-sama ... mengapa kembali ke 90-an? JS adalah bahasa khusus untuk kasus yang sangat spesifik mengapa menggantinya dengan sesuatu yang umum dan jelek?
Slawek
0

Dart adalah konsep cacat mengikuti jejak Javascript. Google harus berkolaborasi dalam membuat runtime standar untuk browser web (semacam HTML 6). Mirip dengan kode byte java atau IL microsoft.

Kita seharusnya tidak menstandarisasi bahasa tertentu, tetapi pada runtimes. "Browser adalah sistem operasi". Baik? WTF google? Ikuti visi Anda sendiri !!!

Tuan Tydus
sumber
2
Bytecode Java adalah bahasa tertentu. Seperti halnya CIL.
Jörg W Mittag