パスワードを忘れた? アカウント作成
815231 story
Google

Google、新プログラミング言語「Dart」を発表 31

ストーリー by reo
セミコロンが許されるのは小学生までだよねー 部門より

hylom 曰く、

Google が以前から予告されていた新プログラミング言語「Dart」を発表した (Internet Watch の記事SourceForge.JP Magazine の記事より) 。

Dart は Web アプリケーション開発向けの言語。C や Java、JavaScript など既存の言語に近い文法を持ち、学習しやすい言語を目指しているという。Dart で記述したコードは専用の仮想マシン上で動作するほか、JavaScript コードへ変換するコンパイラも用意され、一般的な Web ブラウザ上で実行させることができるという。また、サーバーサイドでの利用も可能。

Google 発の言語といえば Go があるが、まだそんなに普及はしていない。サーバーサイドで JavaScript を利用する「Node.js」なども普及の兆しを見せる中、Dart がどのような立ち位置となるか、注目して行きたいところだ。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by misty_rc (2036) on 2011年10月12日 10時32分 (#2033195) 日記

    手元で用意できるUbuntu上でbuildしてみました。x64環境だとia32用のcompile環境も必要なようで
    (--arch=x64だとbuildでコケる)

    http://code.google.com/p/dart/wiki/PreparingYourMachine [google.com]

    この辺を参考にいろいろぶちこんでみました

    d8というreplとdart_binというスクリプト実行用コマンド、dartcというJSコンパイラができました
    d8はまだまだ機能不足で実用的じゃないですね

    当面はdartスクリプトを書いてdart_binで実行、という感じでしょうか
    書いたdartスクリプトはdartcでJSへ変換できるのですが…

    https://gist.github.com/1277224 [github.com]

    簡単なHelloWorldのdartをjsへコンパイルしたら17259行のjavascriptファイルができて
    盛り上がってる状況です

    google的にはブラウザにdart実行環境を実装するのが目標のようですが…
    dart->jsでできたスクリプトをブラウザで読み込むのは正直現実的ではないかも

    #サンプルのwebアプリをコンパイルしたらjsファイルが10MBぐらいになったし…

    • ピコーン!jsファイルをzipで読み込んで実行する新技術を開発すれば……!
      親コメント
    • by Anonymous Coward

      何か昔のC言語論争を思い出した。

      HelloWorldをコンパイルしたらウン10KBになったってヤツ……
      C言語は糞だ、アセンブラ最高だぜって結論だったよね……

      # ライブラリをダイナミックリンクできなきゃそうなるよね

      • by misty_rc (2036) on 2011年10月12日 13時22分 (#2033344) 日記

        まあそうなんですけどね。にしても許容できる範囲かといわれると
        現時点では正直無理ですね。
        明らかに重いですから。ブラウザがフリーズしたかと思いましたもん

        まあjs -> dartというパラダイムシフトを狙ってたとしてもこれが
        そのつなぎを担えるかと言われるとちょっと「?」という感じです

        せめてvmを乗っけたchromiumでも用意して「ほら!jsみたいにdart実行できるんだよ!」
        みたいなことができるようにしてから出しても良かったんじゃ…という気はします

        親コメント
      • by epgrec (43527) on 2011年10月12日 19時17分 (#2033556)

        MS-DOS時代の話ですかね。printfみたいな太りすぎのをstaticでリンクするから
        でかくなるので、fputsに変えるだけで結構小さくなりますね。

        それでもアレだという場合、必要最小限のスタートアップをアセンブラで書いておいて、
        DOSのシステムコールを呼ぶとこをインラインアセンブラかアセンブラで書けばかなり
        Hello,worldを小さくできるです。で、そうまでしてでもCで書きたいという場合もあったり、あと組込み
        だと、このような経験が結構役に立ったり。

        親コメント
  • by Anonymous Coward on 2011年10月12日 10時28分 (#2033190)

    Dart Compilation — Gist [github.com]
    Dartで"Hello, Darter"をコンパイルしてjsにしたら、17260行にもなったというオチが。
    単なる置き換えというより、アプリケーションの全体を生成している感じなのですが、とにかくちょっとした話題に。

  • by Anonymous Coward on 2011年10月12日 12時02分 (#2033267)

    かつてMSがSunと揉めた挙句にC#と.NET作ったように。

    毎度こうなるんじゃもう次にJavaを基盤にプラットフォーム作ろうって所は出てこないだろうな。

    • MSのJavaは、JavaですとかいっときながらWindowsベタベタの拡張したJava潰しみたいなもんだからね。

      GAEとAndoroidのJavaは最初からJavaのある部分は変えてますって言って出してるし違いはわかりやすい。
      とはいえまぁMS-Javaとどう違うんだと言われると一緒…なのか?(個人的には潰し目的か、活かす目的かで違うと思うんだけども)

      >Javaを基盤にプラットフォーム
      JavaVMに別言語のっけて文句言われずやってるのは色々あるよ(JRuby、Scala等)

      親コメント
      • by Anonymous Coward

        潰しに見えるのか活かしに見えるのかは観察者の好みによるんじゃないかな。

        あの当時のJavaをそのまま弄らずに使えって言われてもそれは無理難題ってもんだ。特にデスクトップGUIアプリケーションに関しては今でも酷い。Javaの考え方や言語の素性は良かったからこそMSはWindowsで使いやすいように活かそうと思って手を入れたんじゃないかな。潰すためだけにそこまで手をかけるのは合理的でない。Windows以外のプラットフォームの都合まで考えてあげなかったのは責められるようなことだろうかと今でも疑問。

        .NETで回り道しなければwin32とMFCとCOMを捨てられる時代がもう少し早く来てたかもしれんね。だとしたらSunは世界中のプログラマに随分と酷いことをしたね。

        • の意味を調べる所から出なおして下さい。

          あと自分の元コメントに追加だけど、
          MSはJavaVMを名乗ってた。
          AndoroidはDalvikVMと言ってるしJavaではないと最初から言ってる。

          親コメント
          • by Anonymous Coward

            だからそれはあくまでもSunの都合でありお題目であって、MSがそれに賛同して従わなきゃならん義理はないでしょ。

            Javaの商標を使う条件だったから当然負けたけど。

            • >だからそれはあくまでもSunの都合でありお題目であって、MSがそれに賛同して従わなきゃならん>義理はないでしょ。

              義理があるから

              >Javaの商標を使う条件だったから当然負けたけど。

              負けたんだろ?

              まぁそれは置いといて、、、
              Netbeansだって初期の頃より最近はEclipseに負けず劣らずだし、astah*(Judo)も良いし、今はあれだけどLimeWireなんてのもあった。理想と現実は違ったかもしれないけどある程度は実現してる。業務WebアプリなんかもWindowsで開発するけど実環境のサーバはLinuxなんてのも普通に動く。
              Windowsベタベタの部分なんて必要ないし、もしMS-JavaVMほっといたら悪影響しかなかった。

              .NETはWindows以外、例えばMONOなんかたいした互換無いくせに、純正.NETをWindows上で動かしてもクソ遅い。

              親コメント
    • by Anonymous Coward

      JavaVMはそろそろ仕様的に古くなってきているので、ここいらで一新して欲しくもあったりします。

  • by Anonymous Coward on 2011年10月12日 12時30分 (#2033290)

    すでにガッカリとさんざん叩かれているようですが、大規模開発したことがあるかどうかで評価がわかれているような気がします。
    C#やJavaに非常に近い文法の上、実行モードとデバッグモードみたいな二つの実行形式があるようなので、GmailやGoogle Docsみたいな大規模なJavaScriptによるUI開発を助けるものなんでしょう。
    多くのJavaScriptプログラマは大規模開発と無縁のような気がするのでガッカリ、一方JavaScriptはオカシイと思ってる大規模よりの人たちにはウケているのではないでしょうか。

    • Javascriptで遊んでいると、自分用ライブラリを整備したくなってしょうがなくなる。それをやるぐらいならprototype.jsなりを使えよ、とツッコミを受けそうなので絶対やらないぞ、と決意してたけど、いつの間にか自分用ライブラリが充実してきてしまう。

      そんな感じで、なにかしら強力なライブラリとコード規約が無いとすぐに発散してしまう言語というイメージを常々持ってるので、まあ、言語からやり直すってのも有りだと思う。
      親コメント
    • たれ込みにもあったけど、nodejsについてたりrailsについてたりするcoffeescriptと比べるとどうなの?
      あっちの方がもっとjavascriptよりっぽいけど

  • by Anonymous Coward on 2011年10月12日 10時28分 (#2033188)

    Web関係でもC言語が普及してくれませんかねぇ。

    • by epgrec (43527) on 2011年10月12日 10時54分 (#2033216)

      使いたければ使えばいいんでは。
      サーバーサイトではapacheのmodとかcgiとかいろいろインタフェースがあるし
      クライアントサイトではプラグインがありますよ、プラグインは将来が怪しいけど。

      メモリ管理を自分でやんなきゃならないCはセキュリティホールが超出やすいし
      テンポが速いWebの世界ではスクラップ&ビルドがやりやすい方がいいしで
      余り使いたくないというとこでしょう普通。

      C言語みたいなのをやたら増やしてどうすんじゃってのはあるけど、JavaScriptは
      変態的で馴染めなかったり、JavaはOracleだし、PHPは汚らしいとか、いろいろ
      人それぞれの好みがあるけれども、一方でCの完結な記述は覚えやすく馴染みやすい
      のでC言語風ってのが量産されるんでしょうな。

      親コメント
    • by minyu (32684) on 2011年10月12日 13時57分 (#2033371) 日記
      サーバーサイドで使うとして, サーバーの更新ごとにコンパイルしなきゃいかんのも勘弁して。
      # つい最近FedoraからDebianに切り替えた。
      親コメント
    • by Anonymous Coward

      昔CGIをC言語+PRO-Cで作ったことありますけど、文字列操作で死ねるのであんまり普及されても困ります。

      最低限文字列を普通に扱えて、正規表現系が使えないとWeb系は辛いです。

    • by Anonymous Coward

      GoogleさんはGo言語をどうしたいんだよーと。
      勉強がてら自作プログラムをいくつか移植してみたけど、クセが強いし、メモリも速度もメリットないし、なかなか使う場面が見つからない。
      今度はDartのお勉強か・・・

  • by Anonymous Coward on 2011年10月12日 12時08分 (#2033271)

    Go言語のときも、「C++までは時代的に仕方なかったと思うけどこれだけインターネットが普及してから登場したC#とかGoとかは命名した奴を小一時間問い詰めたい」みたいなコメントがあったと思うんだけどリニューアルの影響か見つけられなかった。
    Google+とか、Facobookと検索で(ネタ的にでも)簡単に比較できる名前にすると困るからじゃないかとか邪推したくなってくる。

typodupeerror

一つのことを行い、またそれをうまくやるプログラムを書け -- Malcolm Douglas McIlroy

読み込み中...