GoogleのDartプログラミング言語の現在の状態は何ですか?[閉まっている]


15

Dartは古くから(イ​​ンターネット時代)出回っていましたが、Google Trendsから判断するとあまり誇大宣伝されておらず、Chromeでのみ動作するという事実も役に立たない。それにもかかわらず、Chromeは毎日市場シェアを獲得しているため、Dartの見方が向上しています。

今の全体像は?言語はどの状態ですか?人々はそれを高く評価していますか?市場占有率?Webアプリのショーケース?あなたは「私が行かせるいくつかの機能を実装していそれを使用しますか」?


2
この質問は時間的にローカライズされていると判断される場合があり、言語自体について意見を求めずにローカライズを減らす方法がわからない場合があります。
マチュー

1
@Matthieu:ローカライズしすぎていますか?マジ?
ジムG.

1
@JimG。:0.06バージョンであり、毎月更新される言語の場合、この言語は今後6か月間は異なる可能性があり、今日合格した判断は役に立たないと言うのは公平だと思います。
マチュー

1
Dartは、JavaScriptにコンパイルすることにより、最新のブラウザーで機能します。
セス・ラッド

2
私はこれが閉じられた理由を本当に理解していません。事実(市場シェア/使用法)、参照(オンライン例など)、言語の状態(回答に記載されている技術プレビュー)、機能の実装(事実/参照/特定の専門知識)が必要です。投稿では、予想される情報と同様の情報も提供しています。これは、明確で簡潔なポイントです
ミハリスバゴス

回答:


27

「ダーツの現状は?」に対する簡単な答え 技術プレビューです。これは、「すべてをオープンソース化してオープンに作業できるように、早期に立ち上げた」という特別な言い方です。「技術プレビュー」とは、「まだアルファ版ではありません。やるべきことがたくさんありますが、あなたが遊んだりフィードバックを送ったりするのに十分なものがあります」。

インターネット時間は、ニュース記事や消費者製品の反復には有効かもしれませんが、Dartの努力ほど野心的で幅広いものにはおそらく有効ではありません。Dartは単なる言語ではありません。また、一連のライブラリ、優れたDOMインターフェイス、仮想マシン、エディター、Chromeとの統合でもあります。チームは多くの並列スレッドで一生懸命取り組んでいますが、私は個人的には、ほとんどのピースが適切に配置されるまでに6か月かかると予想しています。

DartがChromeでしか動作しないのは事実ではありません。DartはJavaScriptにコンパイルされ、最新のブラウザーをターゲットにしています。確かに、ChromeはネイティブのDartサポートで最初に起動しますが、パフォーマンスと効果的なJavaScriptにDartを確実にコンパイルすることは、プロジェクトの中心的な制約と機能です。

全体像は、Dartが最新のWebアプリの「バッテリーを含む」開発環境になることです。Dartの目標は、アプリの開発と展開のためにWebが生産的で楽しいプラットフォームであることを保証することです。つまり、言語、ライブラリ、エディター、仮想マシン、ブラウザー統合など、多くの要素を適切に配置する必要があります。まとめると、Dartは現代のWebアプリ開発者にとって魅力的な選択肢になると信じています。

大きな大きな大きな画像は、アプリ開発者をウェブに連れて行きたい、そしてウェブ開発者がより複雑なウェブアプリを書くことを望んでいるということです。Dartを使用している場合、それは素晴らしいことです。しかし、結局のところ、言語は重要ではありません。重要なのは、複雑でクライアント側の高忠実度、低遅延、美しい最新のWebアプリが構築されていることだけです。

この言語は開発中です。仕様の新しいリリースは月に1回程度見られます。リフレクションなどの主要な機能はありませんが、繰り返します。たとえば、コレクションにmap()サポートを追加しました。言語を知っている(NewSpeakを作成し、Java Lang仕様で働いていた)Gilad Brachaと、ライブラリを知っている(Effective Javaを書いて、Java Collectionライブラリで働いていた)Josh Blochが言語とライブラリ、および大規模なチーム。

Dartを一般化するのは難しいと人々は高く思っていますか?Dartで遊んだ後、自分で結論を出す必要があります。私の経験では、Java、C#、Flexなどの他のプラットフォームのアプリ開発者は、Dartを魅力的で馴染みのあるものと感じています。JavaScript開発者との経験は分かれています。そのJavaScript開発者が他のプラットフォームでアプリを構築している場合、彼らはDart(または少なくとも提供しようとしているソリューション)について慎重に楽観的です。そのJavaScript開発者がJavaScriptで育ち、JavaScriptのみでプログラミングを行っている場合は、さらにためらいがあります。これは、言語に関する基本的な懸念、快適ゾーンを離れることをためらうこと、または単にJavaScriptを使用してエッジケースにぶつからないことです。これは単なる一般化ですが、私は

市場シェアに関しては、ゲームの非常に早い段階です。Dartは出荷すらしていないので、おそらく質問するのは正しい質問ではありません。さらに興味深い質問は、「Web上のアプリの市場シェアはどのくらいですか?」そしてどのように対処できるかを考えてみてください。

Webアプリのショーケースに関しては、Dartチームは洗練されたニュースリーダーであるSwarmを構築しました。残念ながら、現時点ではソースコードにのみ含まれています:http : //www.dartlang.org/samples/index.html

いくつかの「キラー」機能については、いくつかの非常に興味深い機能があると思います。

  • オプションのタイプは滑らかで、人間と機械の注釈とドキュメントを追加します。
  • Isolatesは、安全な方法で同時実行を実現するための優れた方法です。
  • ライブラリ(モジュール)はWebスタックに非常に必要であり、Dartにはライブラリとクラスがあります。
  • スナップショットにより、非常に高速な起動が可能になります
  • バンドルライブラリ(コレクション、ストップウォッチなど)は、コードベースを統合し、出荷可能なコードを縮小します。
  • 優れた新しいDOMインターフェイス。DOMでの作業がより楽しくなります。ネイティブのDartコードのように感じます。

私はあなたの質問に答えたことを望みます。重要な問題は、「私の言語は複雑で、忠実度が高く、待ち時間が短く、モジュール式の最新のWebアプリを構築するのに役立ちますか?」これらすべての最終状態は、より多くのアプリ開発者がより成功したアプリを最新のWebに配信できるようにすることです。


あなたのビデオを見ながらこのスレッドに来ましたIntroduction to Dart。Dartを実際に試してみましょう。:)
SachinGutte

8

「インターネット年」でプログラミング言語の年齢を測定することはできません。実際、インターネット時代に実際のテクノロジーを測定することはできません。インターネット時代にあなたが本当に測定できるのは誇大広告だけですが、誇大広告は現実を反映していません。

Dartは3か月間公開されています。それを、CoffeeScriptやNode.jsなど、それぞれ2年前とほぼ3年前から公開されている分野の「新鮮な」技術と「ホットな」技術と比較してください。また、どちらもDartに比べて比較的小さなステップであることに注意してください。基本的にCoffeeScriptはJavaScriptジェネレーターをRubyベースのパーサーにプラグインすることを意味し、Node.jsは非ブロッキングI / OをGoogle V8にバインドすることを意味しました。

Dartは、構文、言語機能、ランタイム環境、APIなど、すべてのレベルでフロントエンドのWebプログラミングを再設計する試みです。たとえば、DartをCoffeeScriptと比較することは、太陽エネルギーを動力とする自動操縦された個人用航空機のプロトタイプを1968年のShelby GTと比較するようなものです。確かに、前者にははるかに多くの可能性がありますが、それに乗り込むことはもちろん、それに投資することには多くの大胆さが必要です。後者には多くの既知の欠陥がありますが、それらは既知であるため、全体が予測可能で信頼できるものになります。

もちろん、これは単なる推測に過ぎませんが、Dartは行き止まりであり、最終的にはJavaScriptやその他のソリューションを前進させるために救われると思います。動的言語が必要な場合、CoffeeScriptとParenscriptはすでにDartが約束することを実行します。静的に型付けされた言語を好む場合は、haXeとOpaがトリックを行います。4つすべてがDartで有利なスタートを切りました。そして、それらはすべて、フォールバックとしてだけでなく、デフォルトとしてJavaScriptにコンパイルされるように設計されています。


3
Dartは言語としては新しいものの、特に革新的なものは見ていません。私が知る限り、それはほとんどが古い言語の機能で構成されています。そのため、実際には「ソーラーエネルギーを動力とする自動操縦された個人用航空機のプロトタイプ」とはあまり似ていません。
Tikhon Jelvis

@ back2dos +1「「インターネット年」でプログラミング言語の年齢を測定することはできません。実際、インターネット年では実際のテクノロジーを測定することはできません。」これは私が考える新しい洞察を開きました。インターネット時代の前後でテクノロジーを測定できないのはなぜですか?
-Ubermensch

@TikhonJelvis:比較は成熟度に関するものでした。それでも、太陽光発電、自動操縦、航空はすべて存在するため、私が説明した車両は、既存のアイデアの「単なる」再結合であるダートに似ています。エンジニアリングの課題は、再結合することではなく、飛行させることです;)
back2dos

Dartを他の言語と比較することは、この議論から外れています。とにかく異なる議論なので、議論の中で想像できる限りでは。Dartはプリプロセッサ以上のものであり、サーバーサイド指向ではありません。私はダーツの未来についての憶測に同意します、そして、それは私が答えられることを楽しみにしていたことの一つです
ミハリス・バゴス

@MihalisBagos:DartはJSにコンパイルできるため、Node.jsで既に実行できるので、サーバー側で使用できます。また、時間を有意義に測定することは困難です。そのため、Dartがどのくらいの時間まで進むことができるかを理解するために、理解可能な数の機能を備えたさらなる段階で特定の言語と比較することは、得られる最高の参照フレームです。
back2dos

5

Dartはまだ技術プレビュー中です。現時点では、言語仕様のバージョンは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に接続しているもう1人のDartに移植した人もいます。とにかく、本番環境で使用すべきものは何もありません。

しばらく前に、Josh Blochuaがチームに加わり、APIのリファクタリングに取り組みました。Core APIでもいくつかの変更が期待できます。

ブラウザのサポート:DartをJavaScriptにトランスコンパイルできます。できればFrogを使用してください(DartCではなく、巨大なJavaScriptファイルにコンパイルします)。DartiumはネイティブのDartをサポートするブラウザーの1つであり、Webkitブランチについて議論されている論争はどこかにあります。

私の個人的な期待は、来年半ばにもっと具体的なものを手に入れることです。私の経験から、Google開発者は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

Dartは長年にわたって(インターネット時代に)出てきました

それは広範に使用されることすらなく、未熟です。生産準備の整った技術は10〜15年以上存在します... Dartの場合、それはプレアルファとは言えません。誰も使用していないとき、新しい技術は常に紙の上でよく見えます。

あまり誇大宣伝されていない

私は反対だと思います。悪い、後方言語が非常に肯定的なレビューを得たのは残念です。寄生継承、クロージャ、コールバックを備えた美しいEcma / Java Script OOPから、Javaに付属するすべての恐ろしいプログラミングプラクティスを取り入れた10年前の木製のOOPに戻ります。

「使用する必要があります」と思わせる機能の実装はありますか?

なし。Javaを知っていて、Ecma / JavaScriptを適切に学習するための知識に不寛容である場合、Dartはおそらくあなたのために働く唯一のものです。

あなたはグーグルの仕組みを知っています。彼らはJavaを頻繁に使用するので、恐らくそのような恐ろしい言語を生み出したのはそのためでしょう...彼らはJavaに慣れているだけです。

Webがさらに細分化されていることに加えて、MozillaとOperaがこれを実装しないことを願っています(MSは確かにgoogle javaのような言語のサポートを追加しないため)。概念全体がDATEDであることに加えて、少なくともUIをコーディングするときはC ++やJavaなどの言語を取り除く必要があります。これらは非常に効果がないためです。50代後半のコーダーは新しいことを学ぶことを拒否するため、C ++をアセンブラーに置き換えるようなものです。


2
言語の偏りを少し抑えたい場合があります。あなたの最初の段落は良い要約を作り、あなたは素晴らしい観察に終わりますが、それらはすべての「恐ろしい」中で失われます。
パトリックヒューズ

トーンダウンの+1では、特定のアプリケーションに対してc ++は(アセンブラーと同様に)まだ非常に有効です。それはすべての仕事に最適なツールではないかもしれませんが、多くの状況では素晴らしいです。アセンブラは、たとえば私が信じているゲームエンジンで使用されています。
ポールヒエムストラ

私はJavaやC ++が悪いとは言いませんでした...どちらもJSが(主に)プログラムに使用されるユーザーインターフェイスにとって悪いです。どちらも他の分野で優れています。Dartは、Javaのみでプログラミングを行う人々による単純なアプローチなので、おそらくJavaはすべてに適していると考えています。私はUIでMFCとJavaを使ったので、そう言う権利があると思う:) ASMはあなたが知っているすべてだからアセンブラーはCよりも高度だと言っているようだ:)
Slawek

私はJavaとJavaScriptを扱ってきましたが、あなたの投稿は恐ろしく素朴であると言えます。プログラミング言語は宗教ではありません。Dartのアプローチは非常に優れています。Javaのような言語を取り除くことはできない、またはすべきではないと思います。これは、推論のない単なるハッカー音声です。
クリスチャン

推論?Javaの場合と同じことをJSで行うことができます。UIについて言えば、わずか数回の高速化+コードの管理と変更がはるかに簡単です。時間=お金。ブラウザでVBScriptとECmaを一緒に使用した場合、それは十分に悪かった...なぜ90年代に戻ったのか?JSは非常に特殊なケースのための特定の言語であり、なぜそれを一般的でくだらないものに置き換えるのですか?
スラウェク

0

DartはJavascriptの足跡をたどる欠陥のある概念です。Googleは、Webブラウザーの標準ランタイム(HTML 6のようなもの)の作成に協力する必要があります。JavaバイトコードまたはマイクロソフトのILに似ています。

特定の言語ではなく、ランタイムで標準化する必要があります。「ブラウザはオペレーティングシステムです」。正しい?WTF google?あなた自身のビジョンに従ってください!!!


2
Javaバイトコード特定の言語です。CILも同様です。
ヨルグWミットタグ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.