1read 100read
2011年12月2期プログラム56: 構造化ウェブプログラミング言語Dart2 (549) TOP カテ一覧 スレ一覧 2ch元 削除依頼
・ 次のスレ
57: 【GPGPU】くだすれCUDAスレ part5【NVIDIA】 (251)
60: [Tips]Borland C++Builder ちょいテク No.01 (415)
61: プログラム板自治スレッド その3 (507)
62: OpenGLスレ Part17 (318)

構造化ウェブプログラミング言語Dart2


1 :11/10/24 〜 最終レス :11/12/22
Googleが2010/10/10に発表した、
構造化ウェブプログラミングのための新言語「Dart」を語りましょう。
公式 http://www.dartlang.org/
配布元 http://code.google.com/p/dart/
公式Twitter http://twitter.com/dart_lang
前スレ
構造化ウェブプログラミング言語Dart
http://hibari.2ch.net/test/read.cgi/tech/1318240122/

2 :
何でム板
Web制作あたりに立てるべきではないのか

3 :
前スレでもWEBプログラミングの視点で語ってる奴なんて皆無だったからここでいい

4 :
ローカルルールには「Javascript は Web 制作板、CGI は Web プログラミング板へ。」とあるのか。
Dartはブラウザとサーバーの両方で動く言語ということになってるが
現状ではブラウザ上で動かす方面しか注目されてないし、仮に移動するとしたらWeb製作板?
まあいいや。誰かdQueryとかDart on Railsとか作れよ。

5 :
でもその観点から言えば現状のJavaScriptも同じだろう。
Windows8からWindowsのアプリまで作れるし、
Linuxだと現状でGTK使ったアプリまで作れる。
自治スレで改訂しようとしてたみたいだけど結局流れてたみたいだし。

6 :
>>4
dQueryにしてもDartって名前付き引数無かったんだっけ?
jQueryUIで多用される$("#foo").baaUI({param1: ...})みたいなMapで
オプションを渡す書き方はもう嫌だ。

7 :
>>6
大して変わらんと思うが、おまいはどういう書き方をしたいんだ?

8 :
>>7
いや普通に、$("#foo").baaUI(param1: ..., param2: ...)みたいな感じに、
Mapではなく名前付き引数で渡したい。確かに見栄えは大差無いけれども
エラーの検出のしやすさが違う。
jQueryみたいにMapでオプション値を渡すAPIにしても内部はデフォルト値
の入ったMapをextendとかで上書きして使う実装が殆どなので、例えば
.func({param1: ...})を.func({paramOne: ...})みたいにキー文字列を誤記しても
それは単にparam1のデフォルト値が使われるだけで呼び出し時にはエラーに
ならない。このエラーを避けるにはテスト以外だとAPIリファレンスからキー
文字列を注意深くコピペするぐらいしか対策がない。
でも名前付き引数ならメソッドの呼び出し時どころか実行前にキーの誤記を
検出できるのでエラーを見つけやすい。

9 :
順不同でデフォルト値、オプショナルを細かく制御できるならアリだけど
できないならjQueryみたいな利便性重視のライブラリだとやっぱりMapが使われる気がする
順不同でオプショナルな名前付き引数を仕様として組み込んでる言語ってあるのかな

10 :
scalaとかjs2.0とか

11 :
C#とかpythonとかocamlとか

12 :
C#の書き方がいいな

13 :
仕様書の6.2.2 Named Optional Formals (p.12)あたりがキーワード引数なんだろうと思う。
void namedopt([var a = "default value", var b, var c]){
print("a = $a, b = $b, c = $c");
}
main (){
namedopt();
namedopt(c : "c" + a());
namedopt(c : "c", b : "b");
namedopt(b : "b", a : "a", c : "c");
}
可変長引数って取れるのかな。

14 :
すまん。mainにゴミが入ってた。
main (){
namedopt();
namedopt(c : "c");
namedopt(c : "c", b : "b");
namedopt(b : "b", a : "a", c : "c");
}

15 :
あるじゃん

16 :
あるんだが・・・
main (){
namedopt(b : "b", A : "A", c : "c");
}
> a = default value, b = b, c = c
意味ないよウワワワーンヽ(`Д´)ノ

17 :
なんで?Aと設定したのにaに代入されないから?
もし代入されるならそれはそれで問題だろう・・・

18 :
いや、未定義の名前付き引数への代入という事でエラーとして弾いてもらいたかった。

19 :
Dartはチェックは厳しく、実行は緩くだから
この程度で実行時エラーにされたらだるいでしょ
コンパイラやIDEの仕事じゃないの
せっかくなら未定義の引数名にも動的になんかゴニョゴニョできたほうが便利だろうし

20 :
いや、>>16のエラーは実行時にではなく静的に検出可能なものだからちゃんと
事前にエラーとして弾いてもらいたかった。
namedoptという関数名の間違いはエラーとして弾くのに、そのシグネチャに
書かれた引数名の間違いは無視するって正直よく解らん。

21 :
とりあえず、ダウンキャストをちゃんと検出してくれるようなまともなIDEが作られるかってとこだな

22 :
IDEって間単に言ってるけどEclipseのプラグインって話?

23 :
名前付き引数に関しては実行前に出すのもそうだけれども実行時にもエラー
を出して欲しいなぁ。
例に出したjQueryの例だと実行時に読み込むjQueryのバージョンによって
引数の有無の違いがあって、うっかりその引数が無い少し古いバージョンと
組み合わせて実行するとコンソールを見てもエラーはどこにも出ないのに
振る舞いがおかしい、なんてちと面倒くさいことになる。
Map渡しだとオプション引数の変更といったAPIの変更に弱いので名前付き
引数でその辺を改善して欲しかったのだが、エラーを吐かないのなら魅力が
半減。

24 :
>>4-5
ルールなんて作れば作るほど複雑化して、混乱の元なのは当然なんで
起こりえる事態だよ。シンプルにしておかないとルールを解釈するため
のルールとか 計算機言語によくあるシンタックスノイズと同じことが起きる。
そんな硬直化したルールは無視しても差し支えないよ。

25 :
ダウンキャストとか名前付き引数のエラーは
コンパイラとかlintの仕事だろ
どっからIDEが出てくるのか理解出来ない

26 :
コンパイラがワーニング吐いてくれないから問題にしてるんですけど^^;

27 :
>>26
まだ生まれて間もない言語なんだから・・・

28 :
>>27
ワーニング吐くつもりねーよって公式がわざわざ明記してるから問題にしてるんですけど^^#

29 :
一応int=stringも--enable_type_checksでエラーにしてくれるし
名前付き引数もそのうちエラーとか警告が出せるようになるだろ

30 :
>>29
あんた江添亮?

31 :
江添さん、醜態さらしたからって変なフォローせんでもいいですよ

32 :
29 だが江添て誰

33 :
またまたぁ
http://cpplover.blogspot.com/2011/10/dart_13.html

34 :
>>29-33
自演乙。

35 :
ということにしたいのですね

36 :
可変長引数は導入するかどうか検討中で、今のところはそれなしでやってみてる状態か。
https://groups.google.com/a/dartlang.org/group/misc/browse_thread/thread/a86e4e801e4124f5/8290a34348748377

37 :
うーん、IDEに型チェック依存とか変だし
コンパイラのエラーチェックは
厳しく出来るだろうと書いただけなんだが
個人的にdartは良さそうだがベストとは思ってないし
C++大嫌いだしゴミだと思ってるんで
あんなのと一緒にしないでもらいたい

38 :
「意図的に」ダウンキャストに警告出さない時点で問題なんですよ^^#

39 :
https://groups.google.com/a/dartlang.org/group/misc/browse_thread/thread/c6d09d62ede50d52
私は本人じゃないですよ^^;

40 :
ていうかdartc重すぎ
core i7でHello worldコンパイルするだけでどんだけ重くなるか

41 :
たいていC++ゴミ言う奴がゴミ

42 :
江添さん名前入れ忘れてますよ

43 :
今更ながらに気付いたが初代スレの>>1から、
発表日が2010/10/10になってた!

44 :
今からだとHTML5+CSS3+Dartが最良てことでオケ?

45 :
"今"はまだDartが規格としても普及率からしても発展途上過ぎる
コケるとも限らんし

46 :
お前らもう飽きたんどすか?

47 :
だってコンパイル出来ないんだもん><

48 :
書き込みがガタッと減ったな

49 :
ダウンキャストで警告すら出さないって時点で、求めているものと違いすぎて・・・

50 :
厳格な型システムで、JSやPHPに代わる言語が欲しいのに。ねえ?

51 :
JavaやらC#使ってれば良いのに

52 :
へぇ。JavaScriptの代わりに?

53 :
javaならgwtですね

54 :
haXeなんか静的型言語でjsやphpはもちろんFlashムービーやAS3コード、C++まで吐き出してくれるのに・・・

55 :
そんなマイナー言語なんて、コンパイラのバグが怖くて触りたくもねぇよ
注目も集まらないのに誰がフィックスしてくれるんだ

56 :
しかしv8速えなあ
スクリプト言語処理系ではダントツやね

57 :
速いと言っても所詮はスクリプト言語レベル

58 :
早いだけ

59 :
C++なぞ問題外^^;
by 某宝石言語開発者

60 :
>>56
LuaJITの足元にも及んでない

61 :
luaって、けっこう色々な言語やソフトウェアに組み込まれているよね

62 :
jsもdartも捨ててluaを組み込みましょうよ
ダメ?

63 :
dartの方がまし

64 :
pydevとか見てると、バンバンメソッドとか補間するから、
エラーもわかりやすい
lua jitは速いし、静的言語の意味ってあるのかなと最近思う
ただ動的型付け言語の実装が遅れてるだけじゃないのかな

65 :
早いだけだろ。do then end地獄の偽プロトタイプとかまだモルモン教のほうがマシ。

66 :
小規模で遅くていいプログラムなら
動的型付け言語でもいいんじゃね

67 :
だから、luajitは普通に「速い」
大規模開発も開発環境の実装が遅れてるだけで
結局、できるようになってきてる
そのうち静的言語の意味ってなくなるんじゃないかな

68 :
パフォーマンスの問題だけじゃねぇから

69 :
大規模大規模言ってる奴は想定している大規模開発がどれぐらいの規模なんだ

70 :
luajitが速いといっても所詮動的レベルだし
大規模開発も無理

71 :
いまだにネイティブがJavaVMより早いからいいとか思ってる奴が居るのか。
大して変わらんし場合によっちゃhotspotの方が早いだろ。
それにパフォーマンス以外でもVM上でやるメリットはいくらでもあるだろ。
老害か?

72 :
いくらでもあるVMのメリットを最大限生かして、
OSのカーネルやパッケージソフト、市販ゲームなどが開発されるようになるといいね。

73 :
全部すでにあるな。0点

74 :
静的言語のJavaVMを例に出してきて
頭が不自由な子なのかな

75 :
静的言語のJavaVMを例に出してきて
静的言語のJavaVMを例に出してきて
大事な事なので2度言いました

76 :
省略なしに全部事細かに書かなきゃ
通じない頭の不自由な人ですか

77 :
railsでやってる大規模案件いくらでもあるよな

78 :
>>73
残念ながらクズ以外は存在しないだろう。
その結果が現実を物語っている。

79 :
railsで大規模ってアクセス数が多いとかそういう意味だろ
静的言語で大規模と言ったらプログラムの規模が大きいってこと

80 :
想定する大規模の規模書けよ

81 :
規模の大きいプログラムって、俺はプログラムの書き方が下手くそですと
言ってるようなもん

82 :
>>81
お前の書き込みは、自分は馬鹿ですと言ってるようなもん

83 :
Railsだったら静的言語で同じ機能を書いた場合に比べて規模は1/10になる
だから大規模開発には確かに向いていない
簡単には大規模にならないからw

84 :
まあ、rubyは遅いがな
誰かさんが作ってる実装がくそだから

85 :
おまえらdartの話しろ

86 :
実際は規模は変わらない上に遅い

87 :
言葉だけならなんとでも言える
証拠やソースを出せ

88 :
dartはネイティブが吐けるようになったら、言語の勢力図が色々と塗り変わるだろうね。

89 :
dartは体の良い中間言語になるだけな気がする
coffeescriptみたいなのがのさばるだろ

90 :
もうみんなdartに飽きてきたころだろ

91 :
言語の観点から見てもVM普及の観点から見てもJS変換の観点から見てもありえないほどの低品質

92 :
なんか荒れてるな

93 :
江添以外にこんな言語を支持できる奴がいるのが信じられない

94 :
低完成度なら意味は通じるが、低品質て何よ。ひどい言語仕様バグでもあった?
それともDと勘違いしたん

95 :
ダウンキャスト

96 :
D言語のほうがまだマシ

97 :
まあ確かにjavascriptやrubyなんかはダウンキャストなんてさせないな

98 :
汎用言語じゃないんだろこれ
いいんじゃねぇのこんなもんで
ただ普及しすぎたJSを置き換えるかというとインパクトが弱いな

99 :
今まで書いてたCライクな擬似コードが実際動作確認できるようなメリットは感じるかな。
後は、何を作るかってことになるんだろうねぇ。

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
・ 次のスレ
57: 【GPGPU】くだすれCUDAスレ part5【NVIDIA】 (251)
60: [Tips]Borland C++Builder ちょいテク No.01 (415)
61: プログラム板自治スレッド その3 (507)
62: OpenGLスレ Part17 (318)