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 がどのような立ち位置となるか、注目して行きたいところだ。
とりあえず (スコア:3)
手元で用意できる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ぐらいになったし…
Re:とりあえず (スコア:1)
Re:とりあえず (スコア:1)
とりあえず転送経路的な意味だけで言っても、今時圧縮転送に対応していない Web ブラウザーも Web サーバーもレアですから。
Re: (スコア:0)
もしかして: jar
Re: (スコア:0)
何か昔のC言語論争を思い出した。
HelloWorldをコンパイルしたらウン10KBになったってヤツ……
C言語は糞だ、アセンブラ最高だぜって結論だったよね……
# ライブラリをダイナミックリンクできなきゃそうなるよね
Re:とりあえず (スコア:2)
まあそうなんですけどね。にしても許容できる範囲かといわれると
現時点では正直無理ですね。
明らかに重いですから。ブラウザがフリーズしたかと思いましたもん
まあjs -> dartというパラダイムシフトを狙ってたとしてもこれが
そのつなぎを担えるかと言われるとちょっと「?」という感じです
せめてvmを乗っけたchromiumでも用意して「ほら!jsみたいにdart実行できるんだよ!」
みたいなことができるようにしてから出しても良かったんじゃ…という気はします
Re:とりあえず (スコア:2)
MS-DOS時代の話ですかね。printfみたいな太りすぎのをstaticでリンクするから
でかくなるので、fputsに変えるだけで結構小さくなりますね。
それでもアレだという場合、必要最小限のスタートアップをアセンブラで書いておいて、
DOSのシステムコールを呼ぶとこをインラインアセンブラかアセンブラで書けばかなり
Hello,worldを小さくできるです。で、そうまでしてでもCで書きたいという場合もあったり、あと組込み
だと、このような経験が結構役に立ったり。
そしてネタ言語へ (スコア:2, 興味深い)
Dart Compilation — Gist [github.com]
Dartで"Hello, Darter"をコンパイルしてjsにしたら、17260行にもなったというオチが。
単なる置き換えというより、アプリケーションの全体を生成している感じなのですが、とにかくちょっとした話題に。
Re:そしてネタ言語へ (スコア:2)
ランタイムでしょ。
まだ試作だし、そんなに驚く量じゃないよ。
Re: (スコア:0)
問題はJavaScriptがあるのに気長に見守っている必要など全然ないことであって。
使いものにならなければサクっと無視されて終わるだけ。
Re:そしてネタ言語へ (スコア:1)
Dart の内部処理系が Javascript で全部ダンプされたのかな。
Re: (スコア:0)
Dirtって呼ばれるまで後17260秒に賭けるぜ
androidはこっちに行くのかな (スコア:1)
かつてMSがSunと揉めた挙句にC#と.NET作ったように。
毎度こうなるんじゃもう次にJavaを基盤にプラットフォーム作ろうって所は出てこないだろうな。
Re:androidはこっちに行くのかな (スコア:2)
MSのJavaは、JavaですとかいっときながらWindowsベタベタの拡張したJava潰しみたいなもんだからね。
GAEとAndoroidのJavaは最初からJavaのある部分は変えてますって言って出してるし違いはわかりやすい。
とはいえまぁMS-Javaとどう違うんだと言われると一緒…なのか?(個人的には潰し目的か、活かす目的かで違うと思うんだけども)
>Javaを基盤にプラットフォーム
JavaVMに別言語のっけて文句言われずやってるのは色々あるよ(JRuby、Scala等)
Re: (スコア:0)
潰しに見えるのか活かしに見えるのかは観察者の好みによるんじゃないかな。
あの当時のJavaをそのまま弄らずに使えって言われてもそれは無理難題ってもんだ。特にデスクトップGUIアプリケーションに関しては今でも酷い。Javaの考え方や言語の素性は良かったからこそMSはWindowsで使いやすいように活かそうと思って手を入れたんじゃないかな。潰すためだけにそこまで手をかけるのは合理的でない。Windows以外のプラットフォームの都合まで考えてあげなかったのは責められるようなことだろうかと今でも疑問。
.NETで回り道しなければwin32とMFCとCOMを捨てられる時代がもう少し早く来てたかもしれんね。だとしたらSunは世界中のプログラマに随分と酷いことをしたね。
Write once, run anywhere (スコア:2)
の意味を調べる所から出なおして下さい。
あと自分の元コメントに追加だけど、
MSはJavaVMを名乗ってた。
AndoroidはDalvikVMと言ってるしJavaではないと最初から言ってる。
Re: (スコア:0)
だからそれはあくまでもSunの都合でありお題目であって、MSがそれに賛同して従わなきゃならん義理はないでしょ。
Javaの商標を使う条件だったから当然負けたけど。
Re:Write once, run anywhere (スコア:2)
>だからそれはあくまでもSunの都合でありお題目であって、MSがそれに賛同して従わなきゃならん>義理はないでしょ。
義理があるから
>Javaの商標を使う条件だったから当然負けたけど。
負けたんだろ?
まぁそれは置いといて、、、
Netbeansだって初期の頃より最近はEclipseに負けず劣らずだし、astah*(Judo)も良いし、今はあれだけどLimeWireなんてのもあった。理想と現実は違ったかもしれないけどある程度は実現してる。業務WebアプリなんかもWindowsで開発するけど実環境のサーバはLinuxなんてのも普通に動く。
Windowsベタベタの部分なんて必要ないし、もしMS-JavaVMほっといたら悪影響しかなかった。
.NETはWindows以外、例えばMONOなんかたいした互換無いくせに、純正.NETをWindows上で動かしてもクソ遅い。
Re: (スコア:0)
だから観察者の好みだと最初から言ってるのに通じてないね。
Re:Write once, run anywhere (スコア:2)
好みの問題ではないと言うレスポンスなんだけど。通じてない?
Re: (スコア:0)
JavaVMはそろそろ仕様的に古くなってきているので、ここいらで一新して欲しくもあったりします。
大規模なwebのUI向け言語 (スコア:1)
すでにガッカリとさんざん叩かれているようですが、大規模開発したことがあるかどうかで評価がわかれているような気がします。
C#やJavaに非常に近い文法の上、実行モードとデバッグモードみたいな二つの実行形式があるようなので、GmailやGoogle Docsみたいな大規模なJavaScriptによるUI開発を助けるものなんでしょう。
多くのJavaScriptプログラマは大規模開発と無縁のような気がするのでガッカリ、一方JavaScriptはオカシイと思ってる大規模よりの人たちにはウケているのではないでしょうか。
Re:大規模なwebのUI向け言語 (スコア:1)
そんな感じで、なにかしら強力なライブラリとコード規約が無いとすぐに発散してしまう言語というイメージを常々持ってるので、まあ、言語からやり直すってのも有りだと思う。
coffeescriptと比べてどうなの? (スコア:0)
たれ込みにもあったけど、nodejsについてたりrailsについてたりするcoffeescriptと比べるとどうなの?
あっちの方がもっとjavascriptよりっぽいけど
C言語 (スコア:0)
Web関係でもC言語が普及してくれませんかねぇ。
Re:C言語 (スコア:1)
使いたければ使えばいいんでは。
サーバーサイトではapacheのmodとかcgiとかいろいろインタフェースがあるし
クライアントサイトではプラグインがありますよ、プラグインは将来が怪しいけど。
メモリ管理を自分でやんなきゃならないCはセキュリティホールが超出やすいし
テンポが速いWebの世界ではスクラップ&ビルドがやりやすい方がいいしで
余り使いたくないというとこでしょう普通。
C言語みたいなのをやたら増やしてどうすんじゃってのはあるけど、JavaScriptは
変態的で馴染めなかったり、JavaはOracleだし、PHPは汚らしいとか、いろいろ
人それぞれの好みがあるけれども、一方でCの完結な記述は覚えやすく馴染みやすい
のでC言語風ってのが量産されるんでしょうな。
Re:C言語 (スコア:1)
# つい最近FedoraからDebianに切り替えた。
Re: (スコア:0)
昔CGIをC言語+PRO-Cで作ったことありますけど、文字列操作で死ねるのであんまり普及されても困ります。
最低限文字列を普通に扱えて、正規表現系が使えないとWeb系は辛いです。
Re: (スコア:0)
GoogleさんはGo言語をどうしたいんだよーと。
勉強がてら自作プログラムをいくつか移植してみたけど、クセが強いし、メモリも速度もメリットないし、なかなか使う場面が見つからない。
今度はDartのお勉強か・・・
相変わらずググラビリティを微塵も考慮してないな (スコア:0)
Go言語のときも、「C++までは時代的に仕方なかったと思うけどこれだけインターネットが普及してから登場したC#とかGoとかは命名した奴を小一時間問い詰めたい」みたいなコメントがあったと思うんだけどリニューアルの影響か見つけられなかった。
Google+とか、Facobookと検索で(ネタ的にでも)簡単に比較できる名前にすると困るからじゃないかとか邪推したくなってくる。
Re:相変わらずググラビリティを微塵も考慮してないな (スコア:1)
Go言語のときも、「C++までは時代的に仕方なかったと思うけどこれだけインターネットが普及してから登場したC#とかGoとかは命名した奴を小一時間問い詰めたい」みたいなコメントがあったと思うんだけど
これですね。
コメント#1845567 | 文字列操作は「C言語最大の欠点」か? | スラッシュドット・ジャパン [srad.jp]