1 :デフォルトの名無しさん2011/10/10(月) 18:48:42.65
Googleが2010/10/10に発表した、
構造化ウェブプログラミングのための新言語「Dart」を語りましょう。

公式
http://www.dartlang.org/

関連スレ
Go part4
http://hibari.2ch.net/test/read.cgi/tech/1265620273/
2 :デフォルトの名無しさん2011/10/10(月) 18:49:42.79
.   /:;:;:;:;:;:;:;:;:;:;:;:;:,.,.、
   /:;:;:;:;:;:;:;i`` '''''''''ヾ;'
.  /;:;:;:;:;:;:;:;:;|   、 ;`:    最後に私からみなさんにメッセージを贈りたいと思います。
 /;:; -、;:;:i'''´  ;;.,,.,.; ;.,,!   人は歩みを止めた時に、そして挑戦を諦めた時に年老いてゆくのだと思います。
 i;:;:i£`;;!.   ,-=・、く=i'    この道を行けばどうなるものか。
 |;:;:ヽ.^' .    '´;.. ヾ.    危ぶむなかれ、危ぶめば道はなし。
 !;;:;''`i      ノ''ー-ノ    踏み出せばその一足が道となり、その一足が道となる。
..,i;;''  、  .  i´.(ー‐‐!    迷わず行けよ、行けばわかるさ。ありがとう!!
ヘ、   ヽ    ヽ  ̄.|     いくぞー!! 1・2・3 Dart!!
 ..`ー-、  ` ー-、    i
  `: ... `ー--、./` ー-‐'
    ` : ....  iヾ、
3 :デフォルトの名無しさん2011/10/10(月) 18:50:55.94
>>2
不覚にも吹いた
6 :デフォルトの名無しさん2011/10/10(月) 18:55:25.28
>>2 がやりたかっただけだろ!!
5 :デフォルトの名無しさん2011/10/10(月) 18:55:06.95
配布元 (Google Codes)
http://code.google.com/p/dart/

公式Twitter
Google's Dart Team (@dart_lang)
http://twitter.com/dart_lang

非公式ブログ
http://dartinside.com/

あと何かあったら書いてくれ
FizzBuzzとか
7 :デフォルトの名無しさん2011/10/10(月) 18:57:52.87
FizzBuzzとかイラネ
誰があんなん興味持つんだ
10 :デフォルトの名無しさん2011/10/10(月) 19:02:10.99
>>8
>>7じゃないけど、アプリ的にはBit.lyクローンとかTwitterクローンとか?
8 :デフォルトの名無しさん2011/10/10(月) 19:00:53.19
じゃあおまえが考えるもっと適切な題材は?
17 :デフォルトの名無しさん2011/10/10(月) 19:43:01.79
>>8
基本データ構造の再実装とかP99とか、タートルグラフィックにフラクタクル、詰チェス
しかし、googleは敢えて用意しないだろう
オタクたちがちょっとイジって書くネタがなくなると話題性と興味すらもなくなるからだ
11 :デフォルトの名無しさん2011/10/10(月) 19:06:19.56
完成品のライブラリ呼ぶだけ、じゃなくて、FizzBuzzと同じ行数でそれができる言語が
あったらすごいね。
18 :デフォルトの名無しさん2011/10/10(月) 19:43:06.62
動かんのか?

helloとhtml見て、
サーバーでコードを実行して、その結果をJavaScriptに変換して
送りつけるようなものだと思ったが。
22 :デフォルトの名無しさん2011/10/10(月) 19:54:29.12
パッと見では、c++,c#,javaよりかも良さげ
cliも、jvmも、llvmも、これ載っけちまえと思うのは私だけ?
24 :デフォルトの名無しさん2011/10/10(月) 19:59:57.85
ベースは静的型にDynamic乗っけた感じかね
新しいだけに言語仕様はよさげ
流行るかは別として

go…
26 :デフォルトの名無しさん2011/10/10(月) 20:02:07.03
>>24
むしろ動的に静的型チェックも出来るよ的な感じかと
production modeではチェックしないらしいし
29 :デフォルトの名無しさん2011/10/10(月) 20:11:10.34
>>26
いや動的をベースにすると、静的型チェックを行うのに
必要な情報が抜け落ちてしまう。

だからこれは静的型をベースにしていると考えたほうがいい。
25 :デフォルトの名無しさん2011/10/10(月) 20:00:28.58
画期的な機能というか、新鮮さを感じる要素はないっぽい・・・
goのときは幾分かワクワクしたけど
27 :デフォルトの名無しさん2011/10/10(月) 20:02:11.17
また、plan9的な終わり方するのかな
appleみたくマーケット作れば流行るんだろうけど、
それをしそうにないのがgoogle
30 :デフォルトの名無しさん2011/10/10(月) 20:13:32.00
OCamlみたいな、明示的に書かなくても内部でがっちりやってるよ、じゃないの?
31 :デフォルトの名無しさん2011/10/10(月) 20:15:25.21
ActionScript3.0みたいな感じじゃないかな
型宣言ない場合は*みたいにね
型推論に関する記述はどこにもなくない?
34 :デフォルトの名無しさん2011/10/10(月) 20:22:30.95
サーバーサイドでもクライアントサイドでも耐えうる仕様で高速化できるようにある程度型取り入れた感じじゃないの
内部実装は知らないがトランスレータにもなるならCoffee程度には使えそう
38 :デフォルトの名無しさん2011/10/10(月) 20:46:37.66
goは作者に並ぶ名前だけでワクワクしたが
こっちはなんていうか
better jsを狙った実用物って感じだもんな
40 :デフォルトの名無しさん2011/10/10(月) 20:59:23.64
こっちの言語設計者もstrong talkとかv8とかの中の人で有名な人だったはず
42 :デフォルトの名無しさん2011/10/10(月) 22:00:25.16
HelloWorldのサンプル見ただけでこりゃだめだと思った
44 :デフォルトの名無しさん2011/10/10(月) 22:12:54.81
>>42
はえーよ
難読プログラミング言語じゃあるまいし
46 :デフォルトの名無しさん2011/10/10(月) 22:27:36.45
>>44
だってコードが無駄になげーもん、あれはありえない。GWTの失敗から全然学んでない。
47 :デフォルトの名無しさん2011/10/10(月) 22:29:18.20
>>46
APLでも書いてろバーカ
43 :デフォルトの名無しさん2011/10/10(月) 22:04:04.83
クライアント側もサーバー側も対応できるトランスレーター言語だったらすでにhaXeとかあるけど
これってそれに対してどんなアドバンテージがあるの?
45 :デフォルトの名無しさん2011/10/10(月) 22:17:10.63
>>43
大企業がメンテするOSSで、ネームバリューがあるので目玉の数が集まりやすい
chromeなりGAEなりとの連携など今後の発展も期待できる
haXeって実績あるの?
48 :デフォルトの名無しさん2011/10/10(月) 22:30:03.25
>>45
goって実績あるの?
50 :デフォルトの名無しさん2011/10/10(月) 22:37:59.99
>>48
google社内で、サーバーのコンパイルとかに使ってんじゃねーの?
51 :デフォルトの名無しさん2011/10/10(月) 22:38:50.63
後発だから文法が綺麗なのは当たり前として
あんまり特徴らしいモンがないんだけど
54 :デフォルトの名無しさん2011/10/10(月) 22:50:50.84
>>51
javascriptの大規模化に対応するためだろうから特徴なんてなくていいよ。ないほうがいいよ
ずっと前からあったような、すぐに使える言語の方がよっぽどうれしい
52 :デフォルトの名無しさん2011/10/10(月) 22:41:05.07
こういうのって本気で流行らせたいならGoogleのコーダーとかがお手本見せてくれりゃ良いと思うんだが
58 :デフォルトの名無しさん2011/10/10(月) 23:14:24.89
チュートリアルを試してみたけれど、
C#のプロパティみたいに生やすアクセッサはいいね

あとはDartにおけるCPANとかGemとか次第かな
60 :デフォルトの名無しさん2011/10/10(月) 23:56:42.51
DOMが

document.query('#status').innerHTML

これな時点てWeb言語としては失格だと思うんだ
65 :デフォルトの名無しさん2011/10/11(火) 01:52:03.19
そりゃ新言語だからな
jqueryはjsベッタリだから無理じゃね
ちなみに>>60は約154kbだなw
こりゃブラウザに内蔵しなけりゃキツい
64 :デフォルトの名無しさん2011/10/11(火) 01:36:09.11
どうでもいい自作フレームワークごと抱え込んで他のライブラリ資産を活用しにくくしたGWTの失敗を踏襲してるのかな
66 :デフォルトの名無しさん2011/10/11(火) 02:04:24.79
先発のCoffeeScriptなんか当たり前のようにjQuery使えるようにしてるのに・・・
67 :デフォルトの名無しさん2011/10/11(火) 02:05:34.89
jQueryはVisual Studioとも
親和性がいいからね。

ぜひ使えるようにして欲しいと言うか
するべきだ。
68 :デフォルトの名無しさん2011/10/11(火) 02:55:58.80
visual...?
71 :デフォルトの名無しさん2011/10/11(火) 04:10:01.05
>>68
もしかして知らないの?
70 :デフォルトの名無しさん2011/10/11(火) 04:08:49.11
そんな、トゲアリトゲナシトゲトゲみたいなことを言わなくても!
72 :デフォルトの名無しさん2011/10/11(火) 04:11:12.64
JavaScriptが糞言語だから新言語を作るとして
JavaScriptへのトランスレータの形にせざるを得ないのがな。牢獄のようだ。
ウェブ標準にVMみたいなの積めんの?言語選択の自由をくれ
73 :デフォルトの名無しさん2011/10/11(火) 04:24:00.41
>>72
そんなことしたら、また標準が肥大化して、
標準化される前の先取り個別実装が乱立して、
目も当てられなくならないか?

まあまずは率先してChromeに積んでくれってことだな
76 :デフォルトの名無しさん2011/10/11(火) 04:53:21.41
普通にインタープリタもあるぞ

>>72
それなんてJavaApplet?
97 :デフォルトの名無しさん2011/10/11(火) 16:09:41.09
>>72
C++も最初はCへのトランスレータだったしな。
あとはGoogleがどこまでこれに取り組むか。これ使ったアプリがどんと出てきたらいいんだがな。
78 :デフォルトの名無しさん2011/10/11(火) 05:09:18.84
VMとJS変換の二本立てじゃjQueryは無理だな。
それにしてもなんでDOMをあんな前時代的な構文にしちゃったんだろう?
83 :デフォルトの名無しさん2011/10/11(火) 06:12:03.30
現状じゃ他のブラウザがわざわざ対応するメリットがないっぽいが…
87 :デフォルトの名無しさん2011/10/11(火) 11:10:41.49
C系のシンタックスでないと流行らないという読みなのか……?
89 :デフォルトの名無しさん2011/10/11(火) 12:40:09.64
かっちりしたシンタックスで他にポピュラーなものでよさげなのがあるか?

Algol系とかLisp系とかHaskell系とか、どれも人気出なさそうだろw
96 :デフォルトの名無しさん2011/10/11(火) 14:05:18.63
>>89
Python, Ruby


あとは、JavaScriptの貧弱すぎる標準ライブラリもなんとかしてほしかったが、
これはどうなんでしょう?
99 :デフォルトの名無しさん2011/10/11(火) 16:47:57.49
>>96 Python はともかく、Ruby のシンタックスは gdgd だろ。
Python は Python でポピュラー度が微妙。すくなくとも見た目にとらわれる連中は
見た目だけで敬遠する部類。
102 :デフォルトの名無しさん2011/10/11(火) 18:44:53.03
>>99
10年前からよくお越しくださいました。
90 :デフォルトの名無しさん2011/10/11(火) 12:50:16.54
- 静的解析がしやすい
- スクリプトエンジンの性能を出しやすい

この2点しかメリットないのな、この言語。
今の時点では賛同する奴は増えないだろう。
JavaScriptのパフォーマンスで苦しんでる奴がそもそも多くない。
92 :デフォルトの名無しさん2011/10/11(火) 12:55:18.22
あ、速度じゃなく
書いたりメンテするのがツラいってことね
93 :デフォルトの名無しさん2011/10/11(火) 12:58:49.35
まぁJSは実際ちょっとした装飾やフォームの動作改善がほとんどで
パフォーマンスに苦しむほど派手な動きをさせたいならとっととFlashでやるからなぁ
94 :デフォルトの名無しさん2011/10/11(火) 13:06:16.21
いやJavaScriptは比較してデバッグだいぶ大変なほう
大きなものには静的型チェックほしい
jsで型推論とかやってたけどな…
95 :デフォルトの名無しさん2011/10/11(火) 13:56:15.90
素のWindowsXPだとgclient syncでpythonがエラー吐いて死ぬ。
アドオン出るまで待つのがいいか。
103 :デフォルトの名無しさん2011/10/11(火) 18:50:30.83
Ruby の構文が gdgd なのは変わってないだろw

それから、少なくとも「C と Java と PHP は出来ます」って自称する連中は、
Python の構文に拒絶反応示すぜw
105 :デフォルトの名無しさん2011/10/11(火) 19:32:45.54
>>103
まぁRubyは構文どころか関係者から取り巻きから環境から何から何まで全部gdgdだしな
111 :デフォルトの名無しさん2011/10/11(火) 20:17:18.73
>>105
仲間外れにされたの?
112 :デフォルトの名無しさん2011/10/11(火) 20:18:31.30
>>111
え?
108 :デフォルトの名無しさん2011/10/11(火) 20:01:26.48
optimize入れないとスゲえデカさになるからな
入れてもデカイけどw
109 :デフォルトの名無しさん2011/10/11(火) 20:04:18.46
どうしてこうなった…
114 :デフォルトの名無しさん2011/10/11(火) 21:26:26.10
>>109
ライブラリも全部一つの.jsに叩き込んでるって噂。
113 :デフォルトの名無しさん2011/10/11(火) 21:25:30.37
これってマイクロソフトのasp.netとc#みたいな組み合わせかな?
115 :デフォルトの名無しさん2011/10/11(火) 21:58:31.71
JavaScriptをどうやって滅ぼすかが今後10年の課題だな。

俺の中で3大糞言語はPHPとC++とJavaScript
ただしC++たんはちょっと可愛いところもある
121 :デフォルトの名無しさん2011/10/11(火) 23:52:57.14
仕様書のpdfみたけどjavascript1.5にプロトタイプ排除してクラスとジェネリックスと演算子オーバーライド付けただけじゃん。
V8といいgoogleがjs1.6以降の機能使う気ないのがよく分かるな。js2.0の悪いところ取っ払っただけ?
305 :デフォルトの名無しさん2011/10/14(金) 16:03:11.16
>>121
> 仕様書のpdfみたけどjavascript1.5にプロトタイプ排除してクラスとジェネリックスと演算子オーバーライド付けただけじゃん。

それがいいのだとなぜわからん。あとオーバーロードな
365 :デフォルトの名無しさん2011/10/15(土) 00:31:44.00
ruby信者はどこでもキモいな。

>>305
js1.5が使いたいならV8でいい。いい加減1.7と同等のコード書かせてくれ。
dartはアクターやりたかっただけだろ。
122 :デフォルトの名無しさん2011/10/12(水) 00:14:10.29
cにクラスとgc付けてくれればそれだけで十分だったのに
なんで言語開発者は余計なものを付けたがるんだろう
おれさ、intがvarになってもうれしくないんだ
124 :デフォルトの名無しさん2011/10/12(水) 00:39:35.83
>>122 自分で設計してみたら。「cにクラスとgc付けてくれればそれだけで十分」なんて
あっさり破綻してるからw
123 :デフォルトの名無しさん2011/10/12(水) 00:18:08.43
intが桁溢れしたときのために多倍長変数のライブラリ読んだり、文字列にしたりとか
ニートにはわかるわけないだろうが
125 :デフォルトの名無しさん2011/10/12(水) 00:51:35.75
> Dart をその発表日において全否定した者の一人として記憶していただいても構わない。
> Dart が私の予想に反して普及したならば、私は足を洗うべき、そう思うほど Dart の否定に掛けたい気持ち。


Twitterでこんなの見つけた
なんだこいつ?
127 :デフォルトの名無しさん2011/10/12(水) 00:59:32.34
有名な人?とおもって検索したら別にどうでもよさげな人だった
128 :デフォルトの名無しさん2011/10/12(水) 01:07:23.94
しかしjsにもコンパイル可能でChromeにも載るならそれなりに流行る可能性はある
goと違って癖も少ないし
129 :デフォルトの名無しさん2011/10/12(水) 01:12:55.32
最近は実際の価値と評価が離れすぎてる傾向にあるからな
たいした価値がないものが高評価を得たり
価値のあるものがゴミと評されたり
それを金や権力でコントロールしてるのを目の前で見たら
そりゃ嫌な気持ちになる
それが好き嫌いで一部の人間が行ってるならなおさらだ
有名になるということはそういうことなのさ
うんこちんちん
130 :デフォルトの名無しさん2011/10/12(水) 01:14:12.67
Dartの良いかもしれない所はJSをコンパイルできて
高速化がはかれるかもしれない所ぐらいだろ
131 :デフォルトの名無しさん2011/10/12(水) 01:30:09.43
DOMうろ覚えの非ウェブデザイナには、コード眺めただけで型わかる方がはるかに嬉しい
ついでにjavascriptの意味プーなオブジェクト指向や
サイ本を読まなくてもそれなりに綺麗に書けたり、
javaやc#で覚えたデザパタのテクニックをそのまま使えるのは嬉しい
136 :デフォルトの名無しさん2011/10/12(水) 02:28:47.90
>>131は
>ついでにjavascriptの意味プーなオブジェクト指向や
>javaやc#で覚えたデザパタのテクニックをそのまま使えるのは嬉しい
この2行だけで結局JSを理解していない人ってのがよく解る
133 :デフォルトの名無しさん2011/10/12(水) 01:47:24.99
プロトタイプベースはともかくとして関数をnewしたりするのがキモいのは同意せざるをえない
135 :デフォルトの名無しさん2011/10/12(水) 02:14:08.19
>関数をnewしたりするのがキモいのは同意せざるをえない
誰もそんな事言ってないだろ
137 :デフォルトの名無しさん2011/10/12(水) 05:00:22.46
流れがウザイ
言語の話してるのに人格攻撃初めて
他人を見下して優越感に浸ってる暇があるなら
その時間を他の事に使えばいいのに

あれですかソニー製品をけなされたら発狂したり
geforceけなされたら発狂したり
自民をけなされたら発狂したり
そういう種類の人ですか
139 :デフォルトの名無しさん2011/10/12(水) 08:25:31.00
Javascriptを使ってなさそうな層が反対しててワラタ。
143 :デフォルトの名無しさん2011/10/12(水) 08:46:58.58
>>139
Dartてjsを使いこなせてない向けに焼き直したらjavaになっちゃったって感じだからjs理解してなくても
java知ってれば批判できると思うよ。こんなもん作ってる暇があったらV8にjs1.8実装しろと思う。
jsが大規模開発に向いてないってのはそもそもがHTMLを動的に操作するための言語なんだから最もだが
だからといってforとfor-inとコレクションしか持ってないのはscalaを再開発する要因にしかならない。
V8の対応する言語仕様を上げてくれたほうが生産性上がると思うわ。
言語のモダンな機能を使いこなせないのは言語のせいじゃないんだし。
144 :デフォルトの名無しさん2011/10/12(水) 09:00:06.26
>>143
そもそもWeb開発をやってなけりゃ関係の無い話だろう。
VBはクソだ!と叫ぶunixユーザみたいなものか?
140 :デフォルトの名無しさん2011/10/12(水) 08:32:35.48
次は集団ごと攻撃
人格攻撃の対象が個人から集団に切り替わっただけ
141 :デフォルトの名無しさん2011/10/12(水) 08:36:09.97
NaClとかWebM/WebPとかもそうだけど、Googleは本気で流行らせる気があるのかどうか見えないから困る
乗ったところでいつハシゴ外されるか分かったもんじゃない
142 :デフォルトの名無しさん2011/10/12(水) 08:43:12.99
jQueyその他JavaScriptフレームワークを使ってるやつがDartのDOMを支持するわけがない
147 :デフォルトの名無しさん2011/10/12(水) 09:07:41.39
>>142
DartのDOMってなんだよ
DOMはDOMだろ
153 :デフォルトの名無しさん2011/10/12(水) 11:09:54.28
>>147
JavaScriptからDOMを利用するのにいちいちgetElementByID().innerHTMLとかやりたくないから
jQueryをはじめ様々なフレームワークが工夫してるっていうのに
今時DOMを使うのにDocument.query().innerHTMLとかありえないといってる
Web言語を標榜しておきながらここら辺は何も考えてませんと宣言してるのと一緒
154 :デフォルトの名無しさん2011/10/12(水) 11:16:53.84
>>153
バカじゃない?
155 :デフォルトの名無しさん2011/10/12(水) 11:20:37.09
>>153
ノードを一つ一つたどるDOMとDartのquery()が同じに見えるのか?
156 :デフォルトの名無しさん2011/10/12(水) 11:43:08.24
とは言ったものの気になったので見てみたら
http://www.dartlang.org/articles/improving-the-dom/
query()の引数がXPathじゃないとは思いもしなかった

>>153
申し訳ございませんでした
あなたのおっしゃるとおりだと思います
159 :デフォルトの名無しさん2011/10/12(水) 12:00:40.91
どんなもんかと思って見てみれば…
http://www.dartlang.org/articles/improving-the-dom/
普通にいいじゃん
理にかなってると思ったけど
>>153はタイプ数多いとかそういうのが不満なのか?
160 :デフォルトの名無しさん2011/10/12(水) 12:21:01.71
>>159
不満というかいまさら$()で済んだのがDocument.query()になって誰が受け入れるというのか
それを跳ね返すほどの大きなメリットがあれば違うのかもしれないがそうでもないし
166 :デフォルトの名無しさん2011/10/12(水) 12:45:42.82
>>159
なんでここまでやっておいてXMLHttpRequestはそのままなんだ?
XMLとれよ
148 :デフォルトの名無しさん2011/10/12(水) 09:32:08.41
>VBはクソだ!と叫ぶunixユーザみたいなものか?
いや、そういうんじゃなくてモダンなjsの実装がmozillaしかないこととdartがレガシーな言語仕様を
行儀よくいいところを忠実に取り込むだけで終わってるのが問題なんだって。
152 :デフォルトの名無しさん2011/10/12(水) 10:47:39.04
>>148
いや、そんな話はしていないし。
まあいいけど、Dartは大規模開発に必要な機能をそろえるのと、
誰でも使えるようにするのが最優先で、
高度な(頭を使う)機能は削る方向性じゃないのか。
149 :デフォルトの名無しさん2011/10/12(水) 09:59:56.70
Go作る暇があるならPlan9で遊んでてくれ
Dart作る暇があるならECMAScriptしっかり実装しろ
150 :デフォルトの名無しさん2011/10/12(水) 10:17:20.24
つかC++,Javaがあれば十分だろ
151 :デフォルトの名無しさん2011/10/12(水) 10:30:09.81
>>150
まあ、c++はあれだけど
javaや標準化されたC#があるのに
なんでまた新しい文法を覚えなきゃならないんだ?と思ってしまう。

素朴な疑問だけど、javaでdartのやりたいことを実現できないの?
158 :デフォルトの名無しさん2011/10/12(水) 11:53:41.99
XPathはトレンドからちょっと外れてきてるし
XPathよりもquery selectorを選択するのは普通だと思うんだけど
161 :デフォルトの名無しさん2011/10/12(水) 12:25:28.89
webサイドを構造化言語で書きたいならjavaがすでにあるじゃない。
163 :デフォルトの名無しさん2011/10/12(水) 12:40:54.46
>>161
そしてgoogleはGWTを発表し、失敗したのであった。
162 :デフォルトの名無しさん2011/10/12(水) 12:32:23.08
サーバーサイドとWebサイドを統一した言語で書けると思ってたんだが、もしやこいつの対象ってクライアントサイドだけ?
165 :デフォルトの名無しさん2011/10/12(水) 12:42:25.06
全部javaじゃあめんどくさいから
nodeやらが流行るんだろさ
174 :デフォルトの名無しさん2011/10/12(水) 17:35:26.34
>>165
それはわかる。
でもdartは、まためんどくさいほうに逆戻りだ。
ならば、素直にJavaに戻ればいい。もしくはScalaに。
179 :デフォルトの名無しさん2011/10/12(水) 18:24:19.16
>>174
Javaアプレットで作って、iPhoneに対応しませんみたいなサービスがいいのか?
167 :デフォルトの名無しさん2011/10/12(水) 12:47:42.08
これからのライブラリの充実次第だよな
ローカルスクリプトに悪くなさげ
169 :デフォルトの名無しさん2011/10/12(水) 13:00:13.43
NodeのひとはDart支持してる
http://twitter.com/#!/ryah/status/123576132250501120
171 :デフォルトの名無しさん2011/10/12(水) 13:57:12.12
DHHは糞味噌に貶してるな
173 :デフォルトの名無しさん2011/10/12(水) 15:04:27.50
>>169
>>171
どちらもよくわかる反応だな
172 :デフォルトの名無しさん2011/10/12(水) 14:35:03.14
トランスレーターがちゃんとしてるなら使ってもいいんだけどな
175 :デフォルトの名無しさん2011/10/12(水) 17:43:35.10
Javaと比べれば段違いに楽だと思うけどなぁ
176 :デフォルトの名無しさん2011/10/12(水) 17:52:32.56
>>175
新しい文法やライブラリを覚えるコストや商用なら信頼性やセキュリティなどのコストをちゃんと勘案してる?

楽にしたければ、フレームワークを作ればいい。
railsのように。

なぜ、新しい「言語」なのか?
178 :デフォルトの名無しさん2011/10/12(水) 17:58:35.16
>>176
Google自身、GWTやClosure LibraryやTraceurを作ってみての結論なんじゃないの?
184 :デフォルトの名無しさん2011/10/12(水) 21:49:51.57
>>178
うーん、それにしても全力で間違ってるというか・・・
数撃ちゃ当たるうちの外れたほうの一つだったらいいんだけど
177 :デフォルトの名無しさん2011/10/12(水) 17:54:18.01
新しいパラダイムを加えるならわかる。Scalaは関数型というパラダイムを追加したという点において
新しい「言語」である意味がある。
180 :デフォルトの名無しさん2011/10/12(水) 18:49:49.21
どうせ新言語やシステムが熟成するのに時間がかかるからな
182 :デフォルトの名無しさん2011/10/12(水) 21:40:37.08
しかしコンパイル結果はデカイけど
速度的にはJSとあんまかわらないのな
192 :デフォルトの名無しさん2011/10/12(水) 22:13:02.52
>>182
javascriptのソースに変換して動かしてるからjavascriptと同じだよ
216 :デフォルトの名無しさん2011/10/13(木) 00:23:49.02
>>192
そりゃそうなんだが
出力コードのデカさみると
もっと遅くなりそうに見えるんよ
詳しくみてないが
今の段階でもまあ普通なコードがでてるという事な
183 :デフォルトの名無しさん2011/10/12(水) 21:47:19.09
gwtじゃ、import地獄に落ちるし流行らなかった。c#は政治的な理由で却下。
c++は型ガチガチだし、今日日、好んで使いたいような言語でもない
dartって言語が生まれてくれて良かったと思うが中の人のやる気がいつまで続くか心配
しかし、googleって蟻の巣に爆竹つめて吹き飛ばして遊んでも、何も感じないガキみたいな組織だな
185 :デフォルトの名無しさん2011/10/12(水) 21:51:53.82
>>183
NativeClientは見方によってはC++に手を出したとも言えなくもない
188 :デフォルトの名無しさん2011/10/12(水) 22:03:10.61
>>185
過去の資産を動かすためのもんじゃないの?
papper apiからDOMオブジェクト弄るの面倒そうに見えたぞ
dartはデリゲートも無名関数もあって、c++とは比較にならないぐらい今時の洒落た言語
あんまり過去の言語に拘るとpascalやperlみたいな不遇に巻き込まれそうだな
186 :デフォルトの名無しさん2011/10/12(水) 21:56:25.47
Googleはwebアプリで.NETみたいなことをやろうとしてるんだろうか?
Javaで作りたかったらGWT
C言語やC++で作りたかったらNativeClient
新しいJavaScriptで作りたかったらTraceur
あくまで今のJavaScriptで作りたかったらClosure Library

みたいな感じで、Dart?さぁ・・・
187 :デフォルトの名無しさん2011/10/12(水) 22:01:49.86
cofeescriptでも思ったけど、これまでの言語って定義が、
汎用言語よりDSLに近付いてきているような気がする。
なんで今更新しい言語をってのは、DSLとして見てくれって回答になるんじゃないだろうか。
210 :デフォルトの名無しさん2011/10/12(水) 23:19:47.09
>>187
そう。まさにそうれだよ。
つまりDartってのはRailsみたいなもんだ。
189 :デフォルトの名無しさん2011/10/12(水) 22:08:01.42
言語として素晴らしければ普及するなんて状況はプログラミング言語が生まれてから今まで一度もなかったんじゃないかと思う
190 :デフォルトの名無しさん2011/10/12(水) 22:10:29.91
ブラウザとchromeってhackする対象が御膳立てされてんだろ
案外、objective-cがc++を逆襲したりするのかな
191 :デフォルトの名無しさん2011/10/12(水) 22:11:33.38
>>190
それはないな
193 :デフォルトの名無しさん2011/10/12(水) 22:13:17.66
普及した言語は、現実との折り合いや潜在需要を適切にカバーしたという点で十二分に素晴らしいもの
ばかりだと思うが
既に需要が満たされてる領域に、単にブラッシュアップしました程度で切り込んでも、そりゃ普及せんわ
194 :デフォルトの名無しさん2011/10/12(水) 22:16:19.37
>>193
それと言語そのものが素晴らしいかどうかはまた別の話
普及してるC言語やC++が言語として素晴らしいと言うと異論が噴出すると思うが
196 :デフォルトの名無しさん2011/10/12(水) 22:21:37.38
>>194
Cが満たしている需要をきっちり埋め切るポテンシャルのある言語で、Cと別次元に素晴らしいという
言語も無いだろ
そもそも、言語として素晴らしい、と言って異論が噴出しない言語なんてあるのか?
199 :デフォルトの名無しさん2011/10/12(水) 22:25:53.10
>>196
だから、言語そのものの出来と普及度が相関したことは一度もないって言ってるだけなのに別の指標を持ち出してこられても…
195 :デフォルトの名無しさん2011/10/12(水) 22:17:55.03
Objective-CはCの美点を捨てた時点でC++とは用途の違う言語になった
APIやライブラリの都合でもなきゃ、わざわざ利用する理由は無い
204 :デフォルトの名無しさん2011/10/12(水) 22:32:48.38
>>195
c++とcは別の言語だろ?ポインタと配列の区別してるのかコンパイラが文句いってくるぞ
配列が0で初期化されたり、されなかったりだとか
大域変数のリンケージも違って分割コンパイル時に嫌になる

使ったことないが、objective-cは完全なcのスーパセットなんだろ?
ポインタ周りが完全に互換で、テンプレートメタな変態と付き合わなくてすむなら、こっち使うわ
c++のクラス内関数のポインタとかイミプーもいいとろ
206 :デフォルトの名無しさん2011/10/12(水) 22:35:08.00
>>204
使ったのことないのに言ってるのかよ・・・
197 :デフォルトの名無しさん2011/10/12(水) 22:21:45.10
たしかに、dやgolangに需要はなかった。
dartが流行るかもしれない理由はこれまでにブラウザ上で動作しDOMを弄れる
近代的な型付き言語が今までになかったことに起因する。
需要が満たされてるって感じるのはwebチラシ土方ぐらいじゃないかな?
198 :デフォルトの名無しさん2011/10/12(水) 22:23:54.38
別にdartが普及せんと言ってるわけでもないんだが
そもそも仕様ちゃんと見てねーし
200 :デフォルトの名無しさん2011/10/12(水) 22:27:07.03
それは別の指標じゃなくて言語そのものの出来の一部なんじゃね、と言ってるだけなのに
201 :デフォルトの名無しさん2011/10/12(水) 22:28:58.49
>>200
RailsはRubyで動くものだからRubyそのものの利点として評価しろって言われてるような理不尽さを感じる
202 :デフォルトの名無しさん2011/10/12(水) 22:30:38.05
>>201
そうなるとRailsはJRubyでも動くからJava言語の利点としても評価できるかもしれないw
203 :デフォルトの名無しさん2011/10/12(水) 22:32:09.74
需要を完全に切り離したら、言語がなぜそういう仕様を持ったのか、なんてちゃんと理解できないじゃん
そういうのバッサリ切り離して「こっちの言語の方が出来はいい」ってやる考え方には疑問を感じるのよ
切り離さないで考えたら、普及してる言語はしっかり出来がいいから普及した、って思えると思うのよ
つーかマンドクセ
208 :デフォルトの名無しさん2011/10/12(水) 23:09:24.71
ちゃんとクラス定義やライブラリインポートのための文法が提供されているだけ
でも随分違うと思う。
現状のJavaScriptではこの辺りがフレームワークごとに異なる流儀でバラバラ
に実装されているので異なるフレームワークを組み合わせて使うにも混ぜると
危険な事が多い。その辺りの交通整理がし易くなるだけでも現行のJSを置き
代える価値はあると思う。

あとDOMがjQueryに比べて弱いという意見にしてもDartのDOMはW3CのDOM
相当品だから比較する相手が違う。比較するならこの上に今後実装される(かも
しれない)dQueryなんちゃらが相手になると思う。

ただ追加で文句を言えばこんな新言語を作るぐらいならAdobeとケコーンしてAS3を
持ってこれば十分じゃんと思った。(args, ...){...}で無名関数を定義出来る点
以外はAS3に対する面白みはあまりない。
209 :デフォルトの名無しさん2011/10/12(水) 23:19:10.39
そもそも普通に需要を考えるなら最初からjQuery相当の仕組みを導入してしかるべきなんだが
そこら辺はやっぱり何も考えてなかったんだろうなぁ
211 :デフォルトの名無しさん2011/10/12(水) 23:22:24.44
>>209
まだ言ってんのかお前は
212 :デフォルトの名無しさん2011/10/12(水) 23:29:15.25
>>211
Web言語を豪語する以上は当然あるべきものだからな
213 :デフォルトの名無しさん2011/10/12(水) 23:46:43.49
jQuery信者かよ
個人的には配列操作とかのユーティリティがどれだけ用意されてるかが気になる
prototype.jsとか言語標準がショボいと言ってるようなもんだからな
後釜ならそれなりにあって然るべき
214 :デフォルトの名無しさん2011/10/13(木) 00:00:26.49
>>213
見てみればCollectionにforEachがあってmapが無いとか。まだまだですなw

jQuery相当品に関してはライブラリとして開発されるものだろうから文法と
基本クラスが発表されただけの現段階で問うのはちょっと厳しいんじゃない
のかなぁ。

あとjQuery相当品を作るにしても上手く静的型付けの利点を用いた実装にして
欲しい。
現状はセレクタの内容によって返ってくるHTML要素の集合が変わってくるので
常に戻り値は全てのメソッドを抱えたjQuery型になっているけれども、戻って
くる要素がレキシカルに判定できる出来る時はその要素に対応したインター
フェイスを返すとか、何か静的型っぽいところがあっても良い。
215 :デフォルトの名無しさん2011/10/13(木) 00:19:57.51
dartがDSLとかrailsとかちゃんと言語仕様みたのかよ
なに言ってんだか意味わかんね
217 :デフォルトの名無しさん2011/10/13(木) 00:46:04.35
17259行はさすがにネタだとしてもweb上でサイズが大きいのはそれだけで不利だからなぁ
218 :デフォルトの名無しさん2011/10/13(木) 00:49:17.35
言語仕様をシンプルに保ちたいのはわかるんだけど、
DOMにアクセスするのが面倒くせぇ
219 :デフォルトの名無しさん2011/10/13(木) 00:59:35.55
この段階ならjQuery並のライブラリ作ったら標準に取り込まれるかもしれんぞ
220 :デフォルトの名無しさん2011/10/13(木) 03:31:18.89
jQuery連呼してる奴は、ライブラリでできることと組み込みのAPIでやらなければならないことの区別がついてない。
単にDart用のjQueryを用意すればすむことだろう。
組み込みのAPIはパフォーマンスや特殊な状況での安定性を重視したものにするべきだ。
230 :デフォルトの名無しさん2011/10/13(木) 12:34:26.12
>>220
だから、ライブラリでも組み込みAPIでも何でもいいから最初から用意しないのは理解できないといってるわけで
hiってサンプル見ただけで敬遠されるぞ
232 :デフォルトの名無しさん2011/10/13(木) 12:42:41.96
>>230
そんなことで敬遠するようなのは、そもそもプレビュー段階の今の時点で見てるのが間違いだ
お前のことだよ、さっさと消えな
221 :デフォルトの名無しさん2011/10/13(木) 03:55:06.13
jQuery組み込んでもE4Xみたいに見向きもされないってfor each-inくらいとっとと標準化しろよ。
223 :デフォルトの名無しさん2011/10/13(木) 06:13:52.21
関数スコープなのかブロックスコープなのか解る人いる?
225 :デフォルトの名無しさん2011/10/13(木) 07:25:05.06
>>223
これをトップページのExamples of Dart codeのところに貼り付けて実行すると
main() {
var t="abc";
print("t=$t");
if(true){
var t="THEN";
print("if -> t=$t");
}
print("t=$t");
}

結果はこうなった
t=abc
if -> t=THEN
t=abc
224 :デフォルトの名無しさん2011/10/13(木) 07:18:50.07
ブロック
228 :デフォルトの名無しさん2011/10/13(木) 12:09:51.60
>>224, 225
多謝です。でも嬉しいなブロックスコープ。
266 :デフォルトの名無しさん2011/10/13(木) 21:35:50.35
>>224,225
昔スクリプト系のスコープで嵌ったことあるからうれしい。
dart流行って欲しいな。
226 :デフォルトの名無しさん2011/10/13(木) 08:13:43.96
こんなしょーもないところでjsとの差異を生んでるからコンパイル後のコードが重くなるんだな…
229 :デフォルトの名無しさん2011/10/13(木) 12:11:02.01
とはいえWebブラウザという道路を走る車輪は実質的にjsしかなかったからな
233 :デフォルトの名無しさん2011/10/13(木) 12:46:00.41
dom操作出来ないならアレだが
出来るんだからな
そこまでjQueryにこだわるならjs使ってればいい
234 :デフォルトの名無しさん2011/10/13(木) 13:56:47.12
まてjQueryでしか触れないヤツと一緒にするな。
欠点を批判するのとライブラリがないと喚くのは違うだろ。
235 :デフォルトの名無しさん2011/10/13(木) 14:41:35.39
jQueryに対応する物が文法や標準ライブラリといった言語仕様の一部と
して提供されないのは当然では。JavaScriptの後継を目指すのであれば
実行環境は色々なベンダが実装してブラウザに乗せるわけだから互換性
を保つためにも仕様自体はコンパクトな方が良い。

それにJavaScriptの例を引き継ぐなら一度リリースすると仕様の更新間隔
はとても長くなるから、頻繁に更新を続けるjQueryみたいなものをそこ
に含めてしまってはリリース間隔が合わなくなってしまう。

なので巷の見物客としては今はGoogleか他所の誰かがdQueryみたいな
プロジェクトを立ち上げるのをモンモンと待ちつつ、dartだとどんな
書き方が出来るのか妄想するのが正しい姿勢では。
236 :デフォルトの名無しさん2011/10/13(木) 15:07:58.65
いやぜんぜん
237 :デフォルトの名無しさん2011/10/13(木) 15:19:40.63
>>236
おまえだけだから自分でjQueryポートしろよ
239 :デフォルトの名無しさん2011/10/13(木) 15:21:35.90
Androidのプリインストールアプリのように邪魔になる可能性もあるのだから、組み込みで入れちゃダメだろ。
242 :デフォルトの名無しさん2011/10/13(木) 15:53:19.38
InfoQ: Googleが言語Dartとツールをアナウンス。動的言語、任意の型付け、見慣れたシンタックス
http://www.infoq.com/jp/news/2011/10/google-dart-language
243 :デフォルトの名無しさん2011/10/13(木) 16:21:18.59
言語仕様も固まってないのに「jQuery入れろ」とかアホだよな…。
246 :デフォルトの名無しさん2011/10/13(木) 17:51:47.84
↓これって並列処理かけるってこと?


Isolateによる並列化:
各 Isolateは概念的なプロセス、Erlangスタイル
非共有
メッセージパッシングによる通信
Isolateは1つ以上のポートを持つ
Isolateは並行に走れる
248 :デフォルトの名無しさん2011/10/13(木) 17:54:36.33
それメモリを共有しないってのがアレだよな
スクリプト的だからいいか
252 :デフォルトの名無しさん2011/10/13(木) 19:26:21.91
言語シェアでいったら
Java C C++ が三強だからな
この3つに気に入られたら勝ちだよ
254 :デフォルトの名無しさん2011/10/13(木) 19:45:55.51
いや、利用者よりベンダーの動きにかかってるだろう

現状、MozillaはJSへのこだわりを捨てきれず、
MSはGoogleがその気なら俺も言語作るわとか言い出し、
Appleは無視を決め込む
…って感じであまり望みがなさそう
256 :デフォルトの名無しさん2011/10/13(木) 20:26:10.55
規格を読むと相当いいんだけど、結局広く使えなきゃ意味がないわな。

Peter-Paul Kochもいってるように
http://www.quirksmode.org/blog/archives/2011/10/dart_or_why_jav.html

Mozzila、MS、Apple、Operaだけを言いくるめても不十分で、
ノキアとかサムソンとかRIMとかを含めた全員を説得しなければ意味がない。
加えて、既存の膨大なJavascriptの資源を簡単に捨てられるわけがないし。


後お前ら、いまの実装は結構バグがあるから、実装で判断するなよ。
規格嫁よ。
257 :デフォルトの名無しさん2011/10/13(木) 20:27:33.28
IEが積まなきゃ話にならんがそれはまったく期待できないな
Googleはそこらへん勝算あるのかね
それともJavascriptへの変換で充分と考えているのか
267 :デフォルトの名無しさん2011/10/13(木) 21:45:22.24
>>257
dartで作られたwebサービスが増える。
しかし、変換されたjavascriptは重い。
ブラウジングを快適に過ごすために、vmを載っけたchromeにユーザーが移る
IEユーザー激減
仕方なく他ブラウザにもvmが積まれる

流行らせちまってデファクトスタンダード目指そうって流れじゃね?
java appletもsilver lightも1社だけじゃ普及もメンテも困難で、
標準規格のhtml5+javascriptである必要があるんだろう。
どこもセキュリティホールに責任持ちたくないだろうし
273 :デフォルトの名無しさん2011/10/13(木) 23:17:05.66
>>267
1行目はなんら根拠がない
2行目が事実ならそもそも普及しない
ので3行目はありえないし少なくともchrome移行の理由にはならない
4行目も同様
5行目もなんら根拠がない

6行目はただの妄想
7行目はFlashの存在を忘れているか意図的に無視している
8行目もただの妄想
9行目に関してはブラウザ制作会社またはコミュニティの責任なのでいずれにせよ責任は免れない
274 :デフォルトの名無しさん2011/10/13(木) 23:23:35.22
>>267は「普及すれば普及する」って言ってるだけだからな
もちろん、ある一定まで普及すれば爆発的に普及する事はありえるが、
Google一社にそこまでの力があるのか?というのが皆の疑問なわけで
276 :デフォルトの名無しさん2011/10/13(木) 23:33:41.22
>>273
文盲とかアスペって言われたことない?
1行目から5行目までがgoogleの狙っている戦略で
6行目が上記の流れを狙っているってこと示唆してんだよ
7行目のflashはjavascriptとは明らかに用途が違うし、
iOSに載らなかったのは周知の事実だよね?
8行目の標準は言い過ぎかもしれないがはw3cにより策定が進められている
9行目はセキュリティホールに対して1社が責任を持つんでなくってコミュニティの責任になるなら、
多大な賠償金もリソースも割かなくてすむだろ

おまえは精神病院に行って、デパスでも処方されてこい
277 :デフォルトの名無しさん2011/10/13(木) 23:35:10.57
>>276
>1行目から5行目までがgoogleの狙っている戦略

お前本気で言ってるのか?
278 :デフォルトの名無しさん2011/10/13(木) 23:37:59.62
>>276
>7行目のflashはjavascriptとは明らかに用途が違うし、iOSに載らなかったのは周知の事実だよね?

JavaAppletとSliverlightがいつiOSに載ったのか教えていただきたい
258 :デフォルトの名無しさん2011/10/13(木) 20:36:54.28
真面目に中間言語作ってトランスコードしてるんだったら、
アプリケーション制作の元言語として開発環境を整えるのにはいいかなーと思うな。
ちゃんとやってればLLVMに食わせたりできそうだし。
260 :デフォルトの名無しさん2011/10/13(木) 20:51:09.64
苦労して変えるならもっと画期的な何かが必要だな
これっぽっちの変化じゃ苦労に見合わない
261 :デフォルトの名無しさん2011/10/13(木) 20:52:36.52
とりあえずはトランスコードで凌ぐハラなんだろ
いきなりIEやFFにエンジン載せろとかいってもしないだろ
262 :デフォルトの名無しさん2011/10/13(木) 21:08:15.29
GoogleトップをIEで表示できなくしたらChromeが普及するんじゃないだろうか
263 :デフォルトの名無しさん2011/10/13(木) 21:08:45.73
> Mozzila、MS、Apple、Operaだけを言いくるめても不十分で、

十分だよ。
だってこの4社しか自前でJavaScriptエンジンを開発していないじゃん。
書かれたスマホ3社は他所で開発したエンジンを使っているのだから、今なら
Nokiaに頼むのはMSに頼むのと同義だし、Androidが対応すれば自ずとサムソン
も対応するし、BadaやBBは、もう無かったことにして良いんじゃないのかな?

というか上記4社の説得がまず難しいというか無理。
AppleなんかはHTML5なんてネイティブアプリに対してほどよく使いにくければ
好都合なのでWebアプリの生産性が上がることは内心歓迎しないと思う。
264 :デフォルトの名無しさん2011/10/13(木) 21:23:53.26
どうでも良いけどMozzilaのzが1個多くてlが足らない
Appleはなんとかなりそうな気もするけどな
MSは放置でいいだろうけど残りは対応するとは思えない
268 :デフォルトの名無しさん2011/10/13(木) 22:06:21.12
それはちょっと夢見過ぎですね
271 :デフォルトの名無しさん2011/10/13(木) 22:42:19.52
>>268
作るのはお前が居るようなショボくれた零細企業じゃなくって、YCの連中だよ
272 :デフォルトの名無しさん2011/10/13(木) 23:01:50.65
>>267 >>271
Webの世界で古いIEを無視できる状況にはまだまだなっていないという現実を忘れるなよ、大手ならなおさらのこと。
ようやっとIE"6"を無視するというか移行を誘導するサイトが出てきたという状態だっていうのに。
269 :デフォルトの名無しさん2011/10/13(木) 22:11:44.88
html5は正直HTML3とXHTML2.0とはなんだったのかと問いたい。
ぶっちゃけ対応するのはcanvasとvideoだけでしょって感じ。
270 :デフォルトの名無しさん2011/10/13(木) 22:13:25.25
>>269
日本語でおk
275 :デフォルトの名無しさん2011/10/13(木) 23:30:05.88
疑問というか無理だよねってのはgoを見れば明らかなわけで
279 :デフォルトの名無しさん2011/10/13(木) 23:42:51.77
>>275
goはシステム用プログラミング言語で地味だし、
並列化のための仕組み入れても手に負えないし、
用途がニッチすぎたんじゃないか?

dartは地味なクラスベースのOOP言語で、
恐らく作られたページのソースコードも読めるだろうから、
大衆性があって流行ると予想

電源入れたらbasicでゲームを組んだ時代から
ブラウザを起動してdartでゲームを組む時代になって
子供たちがプログラミングを覚えて廃人になっていくんじゃないかな
283 :デフォルトの名無しさん2011/10/14(金) 00:00:31.64
右端で折り返したときにバックスラッシュで改行エスケープって面倒やん
286 :デフォルトの名無しさん2011/10/14(金) 00:03:54.71
d8かなり速いしまずはサーバサイドでの
普及を狙ってるんじゃね
クライアントに入れるには時間がかかるし
nodeみたいなのが早晩出来るよ
goは面白いけどツールチェインが…
288 :デフォルトの名無しさん2011/10/14(金) 00:18:57.19
クライアントサイドの速度向上のためにはどうしても
JavaScriptでは限界があるから仕方なく作ったって感じがする。
今の仕様ならスクリプト言語としては圧倒的な速度が出そう。

言語仕様に目新しさはないけどそこは意図的にそうしているんじゃないかと思う。
既存のJavaScript開発者が容易に移行できるように
289 :デフォルトの名無しさん2011/10/14(金) 00:30:41.83
>>288
そのデタラメは何処から出てくるんだ?
nodeなんてv8で動くし、その辺のP言語と同等の性能のはずだぞ
ってか、スクリプト言語を型でガチガチにして誰が嬉しいんだよ
どう見たって、javascriptプログラマが移行するんじゃなくって、
仕事がなくて窓際にいるjavaやc++プログラマのリサイクルだろ
301 :デフォルトの名無しさん2011/10/14(金) 08:01:26.87
>>289
型は任意でしょ
290 :デフォルトの名無しさん2011/10/14(金) 00:35:10.17
object levelやclass levelのprivacyがないのは興味深いな。
MLによると、議論の末、あえて省いたそうだが。
294 :デフォルトの名無しさん2011/10/14(金) 01:33:34.21
>>290
goも同じだよな
細かいのは意味があまり無かったとう結論なんじゃね
292 :デフォルトの名無しさん2011/10/14(金) 00:55:36.59
すべてをWebで完結させたいググルさんの目指すところはC#やJavaレベルの速度のはず。
そのためJavaScriptで速度でなそうなとこはバッサリ切られ犠牲になったのだ
293 :デフォルトの名無しさん2011/10/14(金) 01:25:40.96
仮想マシンでも遅いぐらいなら、そこはnative clientがカバーすべき領域だ
だいたい、googleほどjsで規模が大きなwebアプリを作ってるとこは少ないし
素のjsやgwtでは我慢できなかったんじゃね?
296 :デフォルトの名無しさん2011/10/14(金) 02:00:59.08
アクセス権はケアレスミスをカバーするもんじゃなく、アホなコーディングスタイルを封じるもんだよな
コーディングスタイルとか設計とか思想とかのレベルの間違いは、言語仕様じゃなく教育や経験で対応
する方が正解かもしれん、とは思う
アクセス禁止にしてたからバグ出さずに済んだ、という記憶もちょっと出てこないし(忘れてる可能性も
十分あるが)
297 :デフォルトの名無しさん2011/10/14(金) 03:00:10.22
ぶっちゃけアクセス切ったって
アクセッサ書いて無意味なコード増やすだけだからだろw
298 :デフォルトの名無しさん2011/10/14(金) 03:28:09.91
幸いインターフェイスを持っているので内部だけで使われるメソッド等を
隠したい場合はインターフェイスでアクセスするようにして実装を丸ごと
隠蔽してしまえばよし。
299 :デフォルトの名無しさん2011/10/14(金) 07:28:19.00
アホがいかれたコードでプロジェクトをぶっ壊すのを防ぐ手段にはならない
300 :デフォルトの名無しさん2011/10/14(金) 07:41:35.53
JavaApplet、Silverlight、Flashはリッチ化が目的だけど、Dartは開発効率の改善が目的だろうから流行る要素はまだあると思う
過去にこういうのあったっけ?
302 :デフォルトの名無しさん2011/10/14(金) 08:24:06.51
>>300
GWT
303 :デフォルトの名無しさん2011/10/14(金) 08:49:56.45
アイソレートとメッセージパッシングが面白そうだ。
これって、あーらんのプロセス、スカラのアクター?
304 :デフォルトの名無しさん2011/10/14(金) 14:01:14.89
ブラウザにvm入れなくても
プラグインでjsランタイムライブラリを組み込むだけで
サイズの問題はかなり軽減できそうだね
今日試したら出力コードが小さくなってた
306 :デフォルトの名無しさん2011/10/14(金) 16:21:04.25
つーかJavaScriptが超クソ言語であり即刻爆発するべきという認識がないやつが多くて困るぜ。
あとV8がいくら速くなったっつーでもC++やJavaと比べるとまだ圧倒的に遅いとかさ。

だいたいHTML5(笑)だかなんだか知らんが、性能の弱いスマホでまで
JavaScriptみたいな仕様が膨大でクソでろくに最適化もできないファッキン言語を使い続けるのは狂ってるよ。
言語レベルでのリファクタリングが必要な時期に差し掛かっており、Dartはまさにそれを実現しようというものだ。

面白みがないなどと言ってる馬鹿はただの言語オタ
また、JavaScriptやJavaでよくね?と言ってるやつは今現在のウェブの致命的問題を理解できていない馬鹿である。
Dartは真のエンジニアを判別するよい踏み絵だ。
308 :デフォルトの名無しさん2011/10/14(金) 16:31:24.70
>>306は自分は色々知らない馬鹿ですと言いたいのか
317 :デフォルトの名無しさん2011/10/14(金) 17:57:25.36
>>306
>JavaScriptみたいな仕様が膨大で

ごめん、このへんから既に同意できない…。
307 :デフォルトの名無しさん2011/10/14(金) 16:27:10.10
そんな画期的なもんじゃないからこれ
310 :デフォルトの名無しさん2011/10/14(金) 17:01:44.24
>>307
画期的とか言い出すとDartのコンセプトを見誤るよ
歴史的なシガラミを捨てて、ただ当たり前のことを当たり前にこなせる言語としてDartは設計されてるんだから

トリッキーな書き方でアドレナリン出したいならCoffeeDartでも作ればいい
309 :デフォルトの名無しさん2011/10/14(金) 16:32:11.23
レキシカルスコープがまともになったりvar無しの変数宣言も
グローバル変数の宣言ではなくエラーとして弾くなど、現在の
JavaScriptで残念なところはきっちり潰している気がする。
この辺りは互換性を気にしながらJavaScriptを拡張するやり方
では難しいのでは。

あとラムダともうひとつ無名関数の書き方が増えているので、
この辺りでどうコードの体裁が変わってくるのかも楽しみ。
312 :デフォルトの名無しさん2011/10/14(金) 17:06:47.31
というか最近のJSエンジンは速度競争でチューニングばりばりで言語仕様の拡張に弱くなっちゃってるし
313 :デフォルトの名無しさん2011/10/14(金) 17:06:58.95
そうだ。Dartの良さは、今まで考えもしなかった新機能があるんじゃなくて、
すでに価値が実証された機能が、自然に使えるように設計されていて、
しかも、他の言語にあるような落とし穴がないということだよ。

落とし穴とは、例えば複雑怪奇な暗黙の型変換だったりとか、
文脈によって改行が終端記号とみなされたりするとか。
315 :デフォルトの名無しさん2011/10/14(金) 17:26:05.20
公式トップにもtime-tested featuresって書いてあったね
でも言語そのものも進化を止めるわけにはいかないというのもまた
time-testedなわけで最終的にはdirtになるというオチが見えてる
316 :デフォルトの名無しさん2011/10/14(金) 17:51:19.54
こんなんで喜んでるのjavascriptしか使ったことないやつだろ
324 :デフォルトの名無しさん2011/10/14(金) 19:03:17.02
>>316
JavaScriptしか使えなかったからこんなんで喜んでいるんだろボケ。
ブラウザの上で他のまともな言語が使えるのであればとっくにそちらに
移行しているわ。

別に最強言語対決じゃないんだから。喜んでいる人の理由とか空気とか
全然理解出来ていないな。
318 :デフォルトの名無しさん2011/10/14(金) 18:01:01.37
JSはCの正統進化だと思うね。開発環境がチープなことが多いけど。
DartはベターJSってかんじなんでしょ?
320 :デフォルトの名無しさん2011/10/14(金) 18:43:35.13
時間を表示させたいのですが
print(now());って書いたらエラーがでます
now()を表示させたいのですがどなたかご教示おねがいします
323 :デフォルトの名無しさん2011/10/14(金) 19:02:46.95
>>320
new Date.now()じゃないの?多分
main() {
print(new Date.now());
}
335 :デフォルトの名無しさん2011/10/14(金) 21:19:01.10
>>323
そういう風に使うのでしたか
勉強になりました
325 :デフォルトの名無しさん2011/10/14(金) 19:06:43.75
vbとかIE限定で使えなかったか?C#あたりも・・・
329 :デフォルトの名無しさん2011/10/14(金) 19:42:49.04
>>325
自分でIActiveScriptHost実装してカテゴリ付きで登録するとHTAとかIEコンポーネントで好きな言語が使えるようになるよ
さらにMSからセキュリティートークン盗み出してくればIEでも使えるようになる
327 :デフォルトの名無しさん2011/10/14(金) 19:24:56.52
MSワールドって実在してるとは思えない異次元の世界みたいだな
なにやってももう鼻で笑われるだけ

328 :デフォルトの名無しさん2011/10/14(金) 19:38:43.88
大昔:ハードウェアを制するものは世界を制す

昔:OSを制するものは世界を制す

今:ブラウザーを制するものは世界を制す・・・けど世界を独占しているブラウザーなんて存在しない
334 :デフォルトの名無しさん2011/10/14(金) 21:02:59.45
>>328
ブラウザかんけいないだろ。
OSはあってるな。
iPhoneもってるappleがキャリア
を好きなように従えてるからな。
いまは、OS>ネットワーク
342 :デフォルトの名無しさん2011/10/14(金) 22:08:02.59
>>302
gwtがリリースされた時点でjavaにlambdaがあれば、もう少しだけ流行っていたと思うんだ

>>328
今の主戦場はブラウザとタブレットPC。とクロスプラットフォームの標準化。
予想に反して個人単位でiPadが普及すると、OSの勢力図までガラリと変わるとだろう
しかし、これはどこかのベンダが一人勝ちすることはないプロレスみたいなもの
一人勝ちすると独占禁止法で訴えられ、自由競争による進歩もとまる
銭稼ぐためにチマチマと製品を出してんだろうな
347 :デフォルトの名無しさん2011/10/14(金) 22:22:55.51
>>342
独禁法とは関係なく、一社独占ってのは、もう現代では起こらないだろ。
現代では、もうマイケル・ジャクソンが現れないのと同様に。
357 :デフォルトの名無しさん2011/10/14(金) 23:51:13.60
>>342
予想に反してじゃなく
タブレットはiPadの一人勝ちだわ
3つの子供にも80のおばあちゃんにも使える
googleがwebに力いれるのは正解だろな
332 :デフォルトの名無しさん2011/10/14(金) 20:27:29.70
組み込み型はないし、組み込みの配列型もない。
ただし、listリテラルとmapリテラルがあるから、困ることはない。
333 :デフォルトの名無しさん2011/10/14(金) 20:34:19.54
var x = {name: "Name"}; var name = x.name; みたいな書き方は出来ないんだね。
var x = {"name": "Name"}; var name = x["name"]; が必須みたい。
337 :デフォルトの名無しさん2011/10/14(金) 21:37:21.37
>>333
一つの宣言文で複数の変数を宣言するのはCの悪い癖だ。
339 :デフォルトの名無しさん2011/10/14(金) 21:47:52.49
>>337
var conf = {
  param1: "aaaa",
  param2: "bbb",
  ...
}

みたいにオブジェクトとして設定や初期化パラメータを記述するのは比較的普通
だったから、キーの値に引用符が強制されると正直ウザい。
345 :デフォルトの名無しさん2011/10/14(金) 22:17:51.40
>>339
ああ、すまん、見間違えた。Mapリテラルだったか。
Mapリテラルのキーは、文字列じゃなくて識別子でも書けるよ。
その場合、あたかも
'識別子'
と書いたかのようにみなされる。

ただし、現行の実装では、まだ実装されていない。

10.7 Map
The use of identiers as keys to literal maps is not implemented at the time of
this writing.
351 :デフォルトの名無しさん2011/10/14(金) 23:05:51.29
>>345
あ、そうなんですか。一応予定では引用符無しでも書けるようになるんですね。
でも流石にx.nameで値を読み出すのは無理と(こちらは流石に捨てるべき横着か)。
346 :デフォルトの名無しさん2011/10/14(金) 22:20:30.76
ベンチャーですらないgoogleに銭出してくれたのがsunじゃないか
348 :デフォルトの名無しさん2011/10/14(金) 22:32:28.27
クラスベースなのはいいけど、クラスにあとから追加できないのは色々困りそう。
349 :デフォルトの名無しさん2011/10/14(金) 23:00:04.00
なんかPHPの前に屍累々ッて感じw
PHPみたいな糞言語簡単に潰せるだろうと色々出してるんだろうが
手軽さで全然かなわない
353 :デフォルトの名無しさん2011/10/14(金) 23:14:48.85
馬鹿にはしてないよw
4番目によく使われている言語だし。

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Position Oct 2011 Position Oct 2010 Delta in Position Programming Language Ratings Oct 2011 Delta Oct 2010 Status
1 1 Java 17.913% -0.25% A
2 2 C 17.707% +0.53% A
3 3 C++ 9.072% -0.73% A
4 4 PHP 6.818% -1.51% A
5 6 C# 6.723% +1.76% A
6 8 Objective-C 6.245% +2.54% A
7 5 (Visual) Basic 4.549% -1.10% A
8 7 Python 3.944% -0.92% A
9 9 Perl 2.432% +0.12% A
10 11 JavaScript 2.191% +0.53% A
11 10 Ruby 1.526% -0.41% A
12 12 Delphi/Object Pascal 1.104% -0.45% A
13 13 Lisp 1.031% -0.05% A
14 14 Transact-SQL 0.909% +0.09% A
15 23 PL/SQL 0.903% +0.30% A-
16 24 Lua 0.802% +0.25% A
17 16 RPG (OS/400) 0.757% +0.05% A--
18 15 Pascal 0.721% -0.05% A
19 - Assembly* 0.622% - B
20 17 Ada 0.609% -0.09% B
354 :デフォルトの名無しさん2011/10/14(金) 23:40:33.23
PHPってテキスト加工なり、所々雑多な日常には不便
pythonは読む分にはいいけどインデントとselfが面倒
消去法でrubyが残った

数日前にhacker newsに流れてゲームのサイト
http://www.playmycode.com/home
こんな場所でもruby使われていて、その生産性は明らか
flash(w、silverlight(ww な時代は目の前まできている
そして、地方の零細ITは風と共に去りゆく
355 :デフォルトの名無しさん2011/10/14(金) 23:42:16.03
>>354
いい加減そのコピペ飽きろよw
359 :デフォルトの名無しさん2011/10/15(土) 00:07:09.83
rubyはスマートにかけて好きだけどクラス設計が気に入らない
Python,Ruby,PHP野中でクラス設計が一番javaに近いのはPHPだし
360 :デフォルトの名無しさん2011/10/15(土) 00:07:51.78
タブレット自体はさして魅力ないしな
池田大作が壺売りだしてバカ売れしたからって、単純に追従してもコケるのは当たり前
361 :デフォルトの名無しさん2011/10/15(土) 00:09:52.91
この言語って本当に面白味に欠けるな
他の言語にあるような仕様ばかりで、独自性が皆無じゃね?
Googleってこんなに無難で保守的な会社なんだっけ?
こんな柔軟性のなさそうでシンタックスシュガーに頼った言語で
本当にjQueryのようなライブラリが出てくるのか?
DSLとかに向いてなさそうだし、
RailsやTurboGearsのようなフレームワークも書けない気がする
363 :デフォルトの名無しさん2011/10/15(土) 00:14:23.14
>>361
>DSLとかに向いてなさそうだし

どの辺が?
364 :デフォルトの名無しさん2011/10/15(土) 00:19:45.70
>>361
>>361
>>361
366 :デフォルトの名無しさん2011/10/15(土) 00:48:46.16
>>363
間違ってたら済まんけど、ざっと見た感じでは
evalもなさそうだし、その上で演算子以外の記号に
意味をもたせるようなこともできなそうだし、
継承とかインスタンス生成なんかの動作もprototypeみたいなものがないから
自由度がなさそうだし

まあ凡庸なことしかできないようにすれば
個人プレーみたいなのを防いで多人数が理解するコストを
少なくすることが出来るんだろうけどw
362 :デフォルトの名無しさん2011/10/15(土) 00:10:50.86
今のGoogleは誰かが作って有料で売ってる製品を買収してタダで出すしか能がないから
368 :デフォルトの名無しさん2011/10/15(土) 00:53:48.57
タブレットだけで考えたらiOSの一人勝ちなんだろうが、
家電や玩具にandroidでも積んでリモートから操作するような未来は創造されんのかな
androidがオープンである強みだと思うんだけれどもウェブ屋にはそこまで頭回らないんだろうな
379 :デフォルトの名無しさん2011/10/15(土) 01:22:05.41
>>368
お前の言う未来は
100円のcpuでandroid走らせるってこった
後20年はかかる
369 :デフォルトの名無しさん2011/10/15(土) 00:55:32.56
evalがないとdslを作るには不利なのは事実
安全性などが犠牲になるけどね
370 :デフォルトの名無しさん2011/10/15(土) 00:57:49.43
googleはブラウザで使いたいわけだからdsl乗っけるとか考えなくていい。
371 :デフォルトの名無しさん2011/10/15(土) 00:59:25.76
結局、そうやって可能性を最初から狭めてるわけ
そういう無難な挑戦を排除した言語
RailsとかjQueryとか作者も想定していない言語の使い方だろう
372 :デフォルトの名無しさん2011/10/15(土) 01:02:03.83
結局、型でガチガチに縛って余計な機能つけただけの
劣化Javascriptじゃね?
374 :デフォルトの名無しさん2011/10/15(土) 01:04:52.85
開発時にアホが適当なコード書かないように型チェック
リリース時に寛容になる
375 :デフォルトの名無しさん2011/10/15(土) 01:11:58.64
>jQueryとか作者も想定していない言語の使い方だろう
15年越しで出てきたライブラリなんて視野に入れるわけないしjQuery使ってる奴らは言語使ってるんじゃなくてライブラリ使ってるんだろ。
今はテスト段階で言語以外の物は何も無いどころか言語仕様すらまだ全部実装されてない段階でjQueryjQuery馬鹿か。
377 :デフォルトの名無しさん2011/10/15(土) 01:13:14.46
>>375
意味がわからん
そいつらは紛れもなく、Javascriptを使ってるだろ
376 :デフォルトの名無しさん2011/10/15(土) 01:12:03.97
静的解析はやりやすそうだから、開発ツールは作りやすそうだし
性能は出せそうだ
ただ、ジェネリックや型周りでオーバーヘッドがかからないのだろうか
という疑問があるが
378 :デフォルトの名無しさん2011/10/15(土) 01:18:45.22
トランスレータとVM両方だとジェネリックスは型消去とRTTIどっちだろうか。
どこかに書いてあったっけ?どっちにしてもけっこう面倒くさい問題にぶち当たると思うが。
380 :デフォルトの名無しさん2011/10/15(土) 01:31:49.02
GoogleEarthとか、パックマンとか、自動車の自動運転とかやっちゃう
Googleには普通に便利なものじゃなくて、あっと驚く
ワクワクするような期待してたのに
これじゃあ、.Netが出てきた時の方がよっぽど革命的だったなあ
期待の仕方を間違えてた
これからはMicrosoftにでも期待するわw
382 :デフォルトの名無しさん2011/10/15(土) 01:38:59.52
>>380
> GoogleEarthとか、パックマンとか、自動車の自動運転
> あっと驚くワクワクするような期待してた

言語と製品をくらべてる自分の愚かさに気づくべき
きみ言語を使ってるんじゃなく、言語に使われてるんじゃないの
お勉強して満足しちゃうタイプでしょ
384 :デフォルトの名無しさん2011/10/15(土) 01:45:32.78
>>382
はっきり言ってそれはくだらない言い逃れにすぎないと思う
製品とやらだろうが言語だろうが、そこに本質的差異はないし、
.Netという言語よりの例もわざわざ持ち出してるしね
381 :デフォルトの名無しさん2011/10/15(土) 01:32:53.43
evalかリフレクションはなんだかんだで最終的には搭載される予感
391 :デフォルトの名無しさん2011/10/15(土) 02:14:48.35
>>381
aotでコンパイルする以上evalは厳しそうかな
リフレクションとかもどうだか
rttiの類は基本的に不要な要素だからな
393 :デフォルトの名無しさん2011/10/15(土) 02:20:28.50
>>391
しかしそういう要素がなければRoRが生まれなかったし、
そうなると、今の主要なWebフレームワークは進化が
だいぶ遅れていたことになる
型通りのことしかできないのもまた弊害はあるってことだ
何より、面白味はない
385 :デフォルトの名無しさん2011/10/15(土) 01:47:09.02
新しいものが出たらとりあえずサンプルいじって
はてなにブログ書く様な人たちにはつまらん言語だろそりゃ
388 :デフォルトの名無しさん2011/10/15(土) 02:04:06.93
flash,silverlight,javascript+html5
どれも似たようなことやるんだし、ただの宗教戦争だよね
MSってsilverlightに対してやる気あんのかな
ウェブに関してはmozillaに帰依したいがアップルが頑張ってくれると、
ブラウザ上でも飯の種ができるのにな
390 :デフォルトの名無しさん2011/10/15(土) 02:12:01.35
>>388
appleのそれらに対する対抗馬がiOSプラットフォームなんだろう
AppStore経由のアプリとガチで競合するしね
389 :デフォルトの名無しさん2011/10/15(土) 02:08:33.25
普通にjsにコンパイルってのがミソだろ
mozもmsもaaplも当分は様子見だな
しかしflashすら排除の機運があるのに
silverなんちゃらなんて時代錯誤も甚だしいよな
392 :デフォルトの名無しさん2011/10/15(土) 02:18:59.57
もうガチガチ静的言語とバリバリ動的言語の2種類作ればいいんじゃないかな
394 :デフォルトの名無しさん2011/10/15(土) 02:25:23.02
最近の状況をみて、言語は実はobjective-cだけで十分だったんじゃないのかと思う
c#に入ってる機能のほとんどが前々から含まれているわけだし、そして仮想マシンもいらない
後はiOSバブルでリンゴ教団が世界を支配してさえくれれば
396 :デフォルトの名無しさん2011/10/15(土) 02:28:29.28
>>394
ああいうリフレクションやら動的な特性を持つ言語って
いつの時代になっても古くならないよな
近視眼的な目で見ればけしからんってことになるが
395 :デフォルトの名無しさん2011/10/15(土) 02:25:56.61
RoRみたいなのGoogle嫌ってそうだなあ
Androidなんて真逆のxml設定地獄な思想だろ
397 :デフォルトの名無しさん2011/10/15(土) 02:35:25.52
> いつの時代になっても古くならないよな

C言語とか?
398 :デフォルトの名無しさん2011/10/15(土) 02:46:12.70
Cはそういう思想だろ
プログラマを制限しないで、ポインタを操作したりして変態的なことが出来る
399 :デフォルトの名無しさん2011/10/15(土) 02:47:22.15
リフレクションって、型情報を取得するもんなんだけどw
400 :デフォルトの名無しさん2011/10/15(土) 02:50:19.50
VB6にもリフレクションあるんだけどね。

リフレクションがあれば古くならないなんて
あてはまりません。
402 :デフォルトの名無しさん2011/10/15(土) 03:01:01.47
>>399
それはリフレクションの表層の狭い部分しか見えてないな
言語のメタ情報を取得しつつ動的に構造を変えるようなものだと思えばいい
Cのプログラマを制限しない思想に通ずる所があるわけ
まあ、今となってはさすがにCの仕様は古いけどw

>>400
VBのリフレクションってなんだよw
VB.NETのことならさすがにまだ新しい言語だしw
型情報を取得する所のことを言ってるのかw
そもそも、Vbより古くならない言語ってなんだ?
lispか何かか?w
401 :デフォルトの名無しさん2011/10/15(土) 02:56:18.20
動的な性質自体はいいんだが
半端なヤツに弄らせるとの
gotoスパの方がマシなモノが出来るし
if ホゲ型ならばとかありえん
403 :デフォルトの名無しさん2011/10/15(土) 03:05:04.52
> VBのリフレクションってなんだよw

VB6のクラスが持っているメソッドやプロパティの列挙、
メソッドの引数(引数名・型情報)の取得、
名前によるメソッドの呼び出し。の機能のことだよ。
404 :デフォルトの名無しさん2011/10/15(土) 03:07:03.45
リフレクションはオブジェクト構造を変えるものじゃないよ。
Javaのリフレクションみてみ。
情報を取得するだけです。
407 :デフォルトの名無しさん2011/10/15(土) 03:15:41.51
>>403
それなら紛れもなくリフレクションだね
でも、VB6にそういう機能があることによって、
古くなるのを食い止めてはいたんじゃないかな
>>404
Javaのリフレクションの話じゃなくて、全般的な話だし、
オブジェクトの構造を変えるとは言ってないよ
言ってないけど、情報を取得するだけじゃなくて、呼び出したり、可視化範囲を変更したり
出来るし、オブジェクトの構造を変えることも出来るよ
405 :デフォルトの名無しさん2011/10/15(土) 03:11:23.08
evalはいらないんじゃないのかなぁ。特にWebブラウザ上で動かす場合は。
事実jQueryだって実装に使っていないし、無くても特に困らないし、あっても
安全に使うのはなかなか難しい。
410 :デフォルトの名無しさん2011/10/15(土) 03:20:41.72
>>405
確かに、evalはやりすぎかもしれないけど、
DSLから安直にJavascript機能にアクセスするのには役立つ面もあるな
どちらにせよ、リフレクション的な機能ってことで方向性は一括りにできるので
個別の機能を論じるより、方向性で議論した方が良いように思う
406 :デフォルトの名無しさん2011/10/15(土) 03:14:11.53
>rttiの類は基本的に不要な要素だからな
せっかく型に厳しくしたのにまたイレイジャに対するキャストですとか直感に反するエラー吐くだろ。
ランタイムが参照するRTTIはいる。プログラマから見えなくてもいい。
408 :デフォルトの名無しさん2011/10/15(土) 03:18:07.67
動的な特性を持つ言語が古くならないんじゃんなくて
最近の言語はもれなく動的な特性を持っているってだけだろ。

最近といってもC++以降(含む)だから、
結構前からだけどな。
412 :デフォルトの名無しさん2011/10/15(土) 03:26:05.77
>>408
動的というより、自由度の高い言語と言った方が良いかもしれない
昔の言語でもそういう傾向なんだよ
LispやCはPascalより古くならなかったよね
409 :デフォルトの名無しさん2011/10/15(土) 03:20:16.36
リフレクションはもはや言語の基本機能の一つ
ループや比較やクラスや例外処理などと
同じレベルのもの。
411 :デフォルトの名無しさん2011/10/15(土) 03:22:17.98
リフレクション覚えたばっかりのガキか?
なんでもリフレクションにすんなよ。

ある言語から、他の言語の呼び出しなんて
ただのバインディグだ。リフレクション関係ない。
413 :デフォルトの名無しさん2011/10/15(土) 03:29:03.27
>>411
dslからevalの下りの所?
evalは自分自身のコードを作って呼び出す使い方するし
バインディングっぽく聞こえたかもしれないけど
リフレクションの方が近いよ
415 :デフォルトの名無しさん2011/10/15(土) 03:43:58.25
>>413は一度継続で洗脳するしかない
414 :デフォルトの名無しさん2011/10/15(土) 03:41:26.61
つかリフレクションがないから古いとか
新しいとかそういうレベルの話じゃないし
evalとリフレクションには遠い隔たりもある
どっちにしろ不要な機能だな
417 :デフォルトの名無しさん2011/10/15(土) 03:52:30.24
>>414
もしDartでRoRみたいなものがRubyとほぼ同等に
簡単に実現出来るなら不要と認めるが、
できないだろうから賛同できない
416 :デフォルトの名無しさん2011/10/15(土) 03:50:15.24
「evalが無かったらjsonの発想も多分生まれなかったんだぞ、スゲーだろ」
と言おうと思ったが、yamlがあるからやめといたw
418 :デフォルトの名無しさん2011/10/15(土) 04:16:28.99
jsonは言語仕様の一部だけ見て騒いでるだけだろ。jsにjsonパーサ実装するとか手段と目的をはき違えてる。
419 :デフォルトの名無しさん2011/10/15(土) 04:26:54.54
言語仕様として見ればDartでもできるんじゃないのかな?
ただし、それが多くの人々に受け入れられるか否かは別の話
過去を見れば、Python/Zope vs. Ruby/Rails が典型的な例
442 :デフォルトの名無しさん2011/10/15(土) 11:09:26.80
>>419
リフレクションの使えないDartでは明らかに難しくなるでしょ
余計なパース部分がいる
あと、Railsは明らかに受け入れられた例だろ
Rubyの中では最高に成功した例だし
421 :デフォルトの名無しさん2011/10/15(土) 07:06:52.33
縛ることを無駄と考えるやつは全部Cで書けよw
アセンブラでもいい
423 :デフォルトの名無しさん2011/10/15(土) 07:39:16.64
言語の抽象度や機能と優劣はまた別だし
railsのような事がしたけりゃruby使えばいいだけの話
なんでも一緒クタにしても意味がない
逆に静的なチェックが出来ない故のバグや
実行時の効率の低さ
動的な故の理解しにくいコードも出来るし
424 :デフォルトの名無しさん2011/10/15(土) 07:49:50.83
柔軟性が必要ならJSがすでにあるし、
もうちょい洗練されたものが欲しけりゃCoffeeScriptもある
同じような言語ばかりあっても仕方ないので、
Dartはあれでいいと思うぞ
425 :デフォルトの名無しさん2011/10/15(土) 07:57:08.32
ん〜
おれはDart肯定派だけど、evalやリフレクションやオープンクラスはさすがに欲しいけどなぁ
426 :デフォルトの名無しさん2011/10/15(土) 07:59:28.85
あ、やっぱりオープンクラスないの?
ざっと仕様書読んだ限りじゃオープンクラスやる方法が分からなかったけど、
実は裏技的なものがあったりしない?
428 :デフォルトの名無しさん2011/10/15(土) 08:59:40.95
evalとかいるのかよ…有用な使い方できるやつはわずかで多くのスパゲティソースと初心者の俺TUEEEEEの産みの親だろ
DSLに有利な自由度は速度とトレードオフ
確かにmethod_missingみたいのは欲しいが言語の目的からしてさほど必要性を感じない
429 :デフォルトの名無しさん2011/10/15(土) 09:10:03.56
オープンクラスなんてObjectクラスみたいなルートクラスの挙動変えて深いバグ産み出す奴がいるから要らん。
438 :デフォルトの名無しさん2011/10/15(土) 11:04:59.84
>>429
すでに散々副作用やら問題点やらが明らかになっているのに、ECMAScriptのネイティブオブジェクトへ色々プロパティを追加しくさって後から絶対泣きをみる羽目になるコード書いてる奴らと仕事すると、ほんとにそう思うよ

ていうか、せめて他人が読むことを前提にコード組みやがってくださいマジでおねがいします(泣
430 :デフォルトの名無しさん2011/10/15(土) 09:12:07.77
動的要素はできるだけ最小限にした方が効率も保守性も良くなるんだけど
初心者とか無能はすぐに使いたがるんだよね
431 :デフォルトの名無しさん2011/10/15(土) 09:15:19.62
↑みたいな「自称」熟練者ほど、リフレクション使えば1/10になるコードなのに、
巨大な複雑怪奇なわけわからん代物を作ってきやがるよなw
432 :デフォルトの名無しさん2011/10/15(土) 09:21:25.90
>>431はまともにプログラム組んだことあるのか?
433 :デフォルトの名無しさん2011/10/15(土) 09:22:11.24
>>432 はマクロの使いこなしもできない初心者で無能のようだ
435 :デフォルトの名無しさん2011/10/15(土) 10:47:43.18
Railsがリフレクションを使いまくってると聞いてリフレクションを
讃え出したRuby信者でしょ
437 :デフォルトの名無しさん2011/10/15(土) 11:03:42.03
プログラム言語がアプリを作るためだけの
設計で作られていれば十分な時代は終わった。

今はアプリを作るための言語設計じゃ不足しており、
テストをするための言語設計も含めるべき。

例えばprivateメソッド。これは外部から呼び出せないようにするもの
それはアプリを作るための設計であるが、
テストをするための設計では、アプリを作るための設計を打ち破って
強制的に呼び出す機能を別に追加する。

リフレクションもその一つ。
439 :デフォルトの名無しさん2011/10/15(土) 11:05:04.96
動的要素がいらないならJavascriptは流行ってないし、RubyもPythonも
生産性が悪い言語ってことになる
その上Haskellが一番いいってことになる
Haskell信者以外は納得しないだろ
443 :デフォルトの名無しさん2011/10/15(土) 11:09:53.23
>>439
動的要素は必要だと思うが、
動的な処理を、実行時に行なっているのがおかしい。

コンパイル時に処理を行うことが出来れば、
動的な処理を実行時にやる必要がないことは多い。

たとえば、モンキーパッチとかコンパイル時に修正できれば
実行時に修正する必要はなくなる。処理も早くなるし、
コンパイラによる静的検査も行える。
440 :デフォルトの名無しさん2011/10/15(土) 11:06:19.82
メタプログラミングを実行時にばっかりに頼る傾向にあるのが間違い。
Perlのコンパイルフェーズに処理を実行できる仕組みをみなすべき。

コンパイル時メタプログラミングを採用すれば、
実行時メタプログラミングの必要性は9割減ると思っている。
445 :デフォルトの名無しさん2011/10/15(土) 11:14:50.61
>>440
むしろ、そっちの方を完全否定してるように見える
最近の言語のそういう特徴がほぼ全部不採用になった
c++の複雑怪奇なテンプレートてんこ盛りコードが
気に食わないんじゃないの
450 :デフォルトの名無しさん2011/10/15(土) 11:24:08.90
>>445
俺が言ってるのはPerlみたいなコンパイルフェーズにコードを実行して、
コードを書き換えるメタプログラミングだよ。

まあPerlは静的型付け言語ではないので、言語自体に欠点があるが
コンパイルフェーズによるコードの書き換えだけは評価している。

C++のテンプレートはなんでも定義で済ませようと思ったのが失敗だったね。
451 :デフォルトの名無しさん2011/10/15(土) 11:29:24.94
>>450
知ってるよ
Scalaのプラグインとかでしょ
C++のテンプレートも一応それに近い概念なんだよ
Cのマクロも一応コンパイル時にコードを生成するという点では
似てると言える

441 :デフォルトの名無しさん2011/10/15(土) 11:07:05.36
> 動的要素がいらないならJavascriptは流行ってないし、

JavaScriptが流行ってるのは、
単にブラウザ上で動く唯一の言語だからだろw
444 :デフォルトの名無しさん2011/10/15(土) 11:10:15.01
>>441
ブラウザ上で動く唯一の言語がHaskellだったら良かったねw
449 :デフォルトの名無しさん2011/10/15(土) 11:22:00.13
>>441
いまさらserver-side-javascriptが流行ってるのがマジで理解出来ない。mozillaですら捨てた技術なのに。
452 :デフォルトの名無しさん2011/10/15(土) 11:32:18.05
>>449
サーバサイドJSの利点とか解かってないだろ
454 :デフォルトの名無しさん2011/10/15(土) 11:39:21.82
>>450
あれはjavaでいうpremainだからあれが特殊で全部で成功するとは限らん。
トランスレータ言語なんだから最終的にjsになってフェーズの違いなんてなくならないか?

>>452
古いものを引っ張り出して利点も何もない。
456 :デフォルトの名無しさん2011/10/15(土) 11:46:02.07
>>452
俺はよくわかってないので調べてみたけど、結局よくわからなかった
・JavaScriptしかできない人間でも開発できるよ!v8も使えるよ!
・スレッドとかわからなくても開発できるよ!
・スケーラビリティ高いよ!(本当かよ)
こんなかんじ?
464 :デフォルトの名無しさん2011/10/15(土) 12:00:41.37
>>460
何が言いたいのか分からないけど459は>>449からの流れでサーバサイドの話しね
446 :デフォルトの名無しさん2011/10/15(土) 11:19:57.64
新規言語なんだから文法気に食わないならシンプルにすればいいだけの様な・・・
何か別の理由でもあるんだろうか
447 :デフォルトの名無しさん2011/10/15(土) 11:20:03.97
> 最近の言語のそういう特徴がほぼ全部不採用になった

単に作れてないだけ。
448 :デフォルトの名無しさん2011/10/15(土) 11:20:39.35
HaskellやScalaも否定されたくさいな
唯一関数定義の表記法にちょっと似た部分がある程度か
せめて引数のパターンマッチングくらいはあっても良かったと思うが
453 :デフォルトの名無しさん2011/10/15(土) 11:36:40.62
リストの内包表記とかも意図的に省かれてる?
普通にfor文を使えということか
455 :デフォルトの名無しさん2011/10/15(土) 11:40:35.25
> 古いものを引っ張り出して利点も何もない。

JavaScriptのことか?

嫌われ者だったJavaScript
古いものを引っ張り出してきて
いま大ヒットだよなw
458 :デフォルトの名無しさん2011/10/15(土) 11:49:16.55
>>455
何も知らないならとりあえずココら辺でも読んでみるか?
ttp://www.amazon.co.jp/Official-Netscape-Server-Side-Javascript-Applications/dp/1566047455

見向きもされずに一切使われずノウハウも蓄積されなかったようなものを
お前みたいな何も知らない奴が居る環境で一から教えることも出来ずにいまさら持ってきて利点もクソもあるかよ。
流行ったあとは宗教戦争になるだけ。
457 :デフォルトの名無しさん2011/10/15(土) 11:46:23.96
JavaScriptは初心者用の簡単言語というイメージで否定されてた面もあるからな
本当は本格的なクロージャや自己拡張的な機能を持つ先進的な言語だったんだが
459 :デフォルトの名無しさん2011/10/15(土) 11:53:21.89
最近になって注目されてるのはやっぱりV8の存在が大きいんでしょ
あとCommonJS

でもまぁ流行ってるって言っても趣味止まりでしょまだ
まだ手探り状態だと思うけど
実際のプロダクトで使われてる例ってどれくらいある?
460 :デフォルトの名無しさん2011/10/15(土) 11:56:52.45
>>459
最近Google自身が糞ほど使いまくっててajaxなる言葉を生み出した
その上、PhoneGapやらTitaniumMobileやらでスマートフォンでも
流行り出した
463 :デフォルトの名無しさん2011/10/15(土) 11:59:36.30
個人的にはDartとJavaScriptの将来的な期待度は同じ
現段階ではどちらも残念な点が多い
でもこの程度なら個人的にJavaScriptに任意の型等を加えて
"use strict"の亜種を作ればいい気がする
document.getElementByIdとかのqweryへの書き換えや他の様々な機能も
JavaScriptで互換を保ったまま新しく実装すれば?と思う
それこそJavaScript2.0を整理し直せばいい
処理速度の問題も低レベルな処理をネイティブで書かれた高レベル関数を提供する今の方向で十分だと思う
465 :デフォルトの名無しさん2011/10/15(土) 12:09:08.61
むしろ、今サーバーサイドJavaScriptが流行るのが
なぜ理解できないのかがよくわからない
言語としてはRubyやPythonより人気だし、
昔は遅かった処理速度の問題も、解決してきたし
468 :デフォルトの名無しさん2011/10/15(土) 12:17:45.86
>昔は遅かった処理速度の問題も、
遅くて問題になったのはクライアントサイドでサーバーサイド関係ないけど。
470 :デフォルトの名無しさん2011/10/15(土) 12:23:10.46
>>468
そうか?
サーバー重くなると困るし、普通に関係あると思うけど
471 :デフォルトの名無しさん2011/10/15(土) 12:29:48.20
規格が0.02になったぞお前ら。
どこが変わったのか分からんけど。
PDFで公開されてるんで簡単に差分を取ることもできない。
473 :デフォルトの名無しさん2011/10/15(土) 12:39:45.93
Javascriptをさんざん使い倒したgoogleさんが
Javascriptじゃ限界があるから作ったわけで
474 :デフォルトの名無しさん2011/10/15(土) 12:41:56.90
じゃあごおgぇさんにDartアプリをどんどん作ってもらうまで様子を見るか
476 :デフォルトの名無しさん2011/10/15(土) 13:10:10.06
0.02てpdf開かないとわからんのか・・・
どこかにお知らせがないか公式ページを探しまくっちゃったよ
477 :デフォルトの名無しさん2011/10/15(土) 13:16:46.82
whatwgかw3cに移管しないのかな
479 :デフォルトの名無しさん2011/10/15(土) 13:37:38.08
>>477
そう、その辺のところ、Googleはどう考えているんだろうな?
一個人や一社の意志に左右されるような言語は、確かに進化の速度は早いかもしれんが、
一個人や一社の都合に振り回される恐れがあるから、気軽に使いづらいしな。
480 :デフォルトの名無しさん2011/10/15(土) 13:44:32.17
>一個人や一社の都合に振り回される
D言語スレではご褒美です
481 :デフォルトの名無しさん2011/10/15(土) 14:24:15.26
委員会による仕様策定で、決まるのに何年もgdgdするよりマシ
484 :デフォルトの名無しさん2011/10/15(土) 16:13:17.35
いちいち新言語作らないで、JavaScriptの言語仕様を強化すりゃいいのに
C++を超えるカオスになるかもしれないが
485 :デフォルトの名無しさん2011/10/15(土) 16:18:11.80
JavaScriptは動的型付け言語だから
そこに静的型付け言語の機能を持ち込もうとすると
どうしても別言語になっちゃうんだよ。
496 :デフォルトの名無しさん2011/10/15(土) 16:48:36.98
>>481
TC39のことかw

>>484
それでカオスなことになってるのがActionScriptだよ
ActionScript 3は、廃案になったECMAScript 4のドラフト仕様が基になってる
AS3/ES4は、>>485の言ってることが具現化しちゃったパターン

色々な組織やベンダーの思惑やら何やらでめんどくさいことになってた事情は、とりあえず↓を読んどけばおk
http://www.hyuki.com/yukiwiki/wiki.cgi?ECMAScriptHarmony

Dartがでてきた背景にはこんな事情もあった・・・と知ってると、言語仕様の見え方が変わるかも
少なくとも、AS3/ES4の二の舞にはなるまいという感じはあると思う
486 :デフォルトの名無しさん2011/10/15(土) 16:19:20.18
強化っつっても互換性は捨てられないし、言語仕様肥大化してさらにパース遅くなったらいみないじゃん
→新しい言語つくろうぜ
487 :デフォルトの名無しさん2011/10/15(土) 16:22:56.95
拡張じゃprototype捨てれないだろよ
ポン付地獄をなんとかしたかったんだろ
488 :デフォルトの名無しさん2011/10/15(土) 16:27:18.88
結局プロトタイプベースって何だったの?
クラスベースと比べて何か利点あったの?
498 :デフォルトの名無しさん2011/10/15(土) 16:59:51.01
>>488
smalltalkでオープンクラスと同じ問題が出てきたからIoがプロトタイプベースにした。
そしたらprototype.jsがプロトタイプチェーンぶっ壊した。
489 :デフォルトの名無しさん2011/10/15(土) 16:35:10.08
CoffeScriptを始めようかと思った矢先にDartが出てきたんですが、
どちらが将来性ありますか?
492 :デフォルトの名無しさん2011/10/15(土) 16:39:31.26
coffeescriptなんてjavascript知ってたらすぐ覚えられるだろ
両方やれば?
493 :デフォルトの名無しさん2011/10/15(土) 16:42:34.18
両方やるとして、プロジェクトに採用するなら
どちらでしょうか?
495 :デフォルトの名無しさん2011/10/15(土) 16:45:34.08
今あるJavaScriptしっかりやっておけ。
497 :デフォルトの名無しさん2011/10/15(土) 16:57:46.82
>>492
将来性について尋ねているのですが
>>495
それは正しい指摘なのかもしれませんが、
ここではJavaScriptにコンパイルされる言語について話している訳で
499 :デフォルトの名無しさん2011/10/15(土) 17:00:38.37
>>497
ここでGWTやCoffeeScriptやPyjamasやHotRubyの話題をやってよかったのか?
502 :デフォルトの名無しさん2011/10/15(土) 17:09:52.36
>>497
将来性なんてDartにもCoffeScriptにも無いのだからJavaScriptやっておけ。
というかJavaScriptとあと適当な静的型の言語やっておけばDart覚えるの
なんて簡単でしょ。
506 :デフォルトの名無しさん2011/10/15(土) 17:33:21.71
>>502
言語は覚えるのが目的じゃないから・・・

どうも勉強が目的になってる奴がいるよな。
511 :デフォルトの名無しさん2011/10/15(土) 18:20:47.36
>>508
いっているのが>>502の事を言っているのであれば、別にDartを批判している
つもりは全然無いよ。むしろJavaScriptの残念なところを丹念に潰している点で
「仮に」これが広く普及した日には喜々としてスイッチすると思う。

ただ「将来性」なんか気にしている人にはDartもCoffeScriptもメジャーになって
生き残る可能性なんて今は全く分が悪いのだから全然お勧め出来ませんってこと。

本当に将来性を気にするのであれば今あるJavaScriptその他のメジャーな言語で
しっかり経験を積んで将来どの言語にもスイッチ出来る素養と応用できる考え方
を培うべきだと思うけどね。

DartもCoffeScriptも特に新しいパラダイムを持ち込んでいる分けでも無し、この
二つを比較して将来性が云々ってそんな表層的な比較なのであればJavaScriptでも
大差無いし今のところ生き残る将来性であればこれが断然高い。
507 :デフォルトの名無しさん2011/10/15(土) 17:51:44.54
言語なんて適材適所で必要な時に選べばよか
一つホームポジション作れば
10個位使い分けるのは簡単だよ
508 :デフォルトの名無しさん2011/10/15(土) 18:01:48.66
Dart批判してJavaScriptを応援してる人は、新しい言語を覚えるのがめんどくさいということ?
512 :デフォルトの名無しさん2011/10/15(土) 18:25:38.24
>>508
言語を覚えるのに時間はかからない。
簡単なサンプルがあれば、あとは感で出来る程度のもの。

時間がかかるのは、その言語をどうやって使えば
効率の良い開発が出来るかを調べる所。
それは、結局のところライブラリやフレームワークの使い方を
マスターすることを意味する。

Dartは言語だ。言語(言語仕様で決まっている範囲)だけあっても
開発効率はよくならない。言語同士を比べれば優れていたとしても、
実際の開発ではライブラリやフレームワークの有無で開発効率は大きく変わってくる。

現時点ではDartはライブラリもフレームワークも未熟なので
言語としては優れていても、開発として優れたものではないという結論になる。
516 :デフォルトの名無しさん2011/10/15(土) 18:51:19.90
>>512
>簡単なサンプルがあれば、あとは感で出来る程度のもの。
やめれ。
そうやって書かれた糞コードが言語問わず大量に存在するんだから。
509 :デフォルトの名無しさん2011/10/15(土) 18:11:06.82
何を見てそう思ったのか不思議だがDartだと新しく作るほどのものじゃないじゃん
510 :デフォルトの名無しさん2011/10/15(土) 18:12:57.60
過去の資産がたくさんある人か、
「〜は普及しますか?ぼくちん勉強しても損しないですか?」
とか人に聞いて手を付けない人が様子見で煽ってるか
新しい言語なら俺の想像を超える画期的な言語仕様じゃないと許さない人
513 :デフォルトの名無しさん2011/10/15(土) 18:26:38.10
わざわざ学習コストを低くするためになじみのある文法になっているのに
514 :デフォルトの名無しさん2011/10/15(土) 18:28:03.74
言語の学習コストなんて、その言語を使った開発の
学習コストに比べれば無いも同然だよ。
515 :デフォルトの名無しさん2011/10/15(土) 18:41:05.69
本当に魅力的ならライブラリもあっちゅうまに揃うよ
npmのカオスっぷりみてもよくわかる
ありゃ一回大整理が必要だなw
517 :デフォルトの名無しさん2011/10/15(土) 19:11:00.07
お前ら早漏すぎだろ
いまはまだそんなこと議論できる前の段階だ
バージョン0.02だぞw

いまは言語自体の優劣や未来を論じる段階じゃない
Webの未来を考えて、どう設計するかが議論される段階なんだよ
そういう議論ができないおバカさんはお帰りくださいね
518 :デフォルトの名無しさん2011/10/15(土) 19:15:49.79
coffeescript ってのをこのスレで知ってホームページ見てみたんだが、
こっちの方が簡潔にコードが書けて新しい感じがしたわ
こっちの方がなんだかワクワク感があるし、センスが上に感じた
519 :デフォルトの名無しさん2011/10/15(土) 19:29:08.82
coffeeてjsを普通のスクリプトにしただけだよな
わかりやすいけどさ

てかdartって演算子オーバーロード(dartではoverrideか)なんて
ゴミ仕様があんのか
めちゃ不要じゃねえか
525 :デフォルトの名無しさん2011/10/15(土) 19:34:56.91
>>519
Dartではoverloadはない。
名前の重複を許さないから、同じ名前で別のシグネチャの関数というのはない。
内側のスコープが外側のスコープの名前を隠すことはできるが、それも規格で警告を出すように定められている。

ましてやoverrideではない。
スーパークラスのメソッドをオーバーライドするなら、結果的にoverrideではあるが。

クラスでは、演算子は特殊な名前のインスタンスメソッドであって、ユーザー定義演算子(user-declared operator)と呼ばれている。
522 :デフォルトの名無しさん2011/10/15(土) 19:31:58.29
いや、このスレではそういう論調だったが、実際にはCoffeeScriptは、
ほーそう来たか、みたいなささやかな驚きがたくさんあって
面白かったわ
523 :デフォルトの名無しさん2011/10/15(土) 19:33:11.43
すまんな専門卒でも文系でもない
Google自体がC++のコーディングで基本禁じてる機能だぜ
弊害のほうがでかい機能なんていらね
526 :デフォルトの名無しさん2011/10/15(土) 19:35:49.29
>>523
あのGoogleのコーディング規約はかなり古いものだ。

クラスで演算子をユーザー定義できると色々と便利だぞ。
524 :デフォルトの名無しさん2011/10/15(土) 19:33:15.90
いくつも言語覚えて、その罠に嵌るの嫌だから、素のjsガンガレ。
expressとかwebsocketとかも、もっとガンガレ。
527 :デフォルトの名無しさん2011/10/15(土) 19:36:13.15
Coffeeと比べるとか愚の骨頂だろw 分野、目的が全く違う
どっちがスケールするかって問題だ
Dartは基礎として成り立つが、Coffeeは基礎として成り立ち得ない
Dartが普及したとして、やっぱりCoffeeで書きたいならCoffee→Dartのトランスレータ書けばいいだけだし
547 :デフォルトの名無しさん2011/10/15(土) 20:30:55.91
>>527
> Dartは基礎として成り立つが、Coffeeは基礎として成り立ち得ない
「基礎」って何だ?OSか?ブラウザか?
ブラウザ上での話なら、Dartは基礎になりえないから。
JavaScriptからDartに実行環境が移るなんて、さすがのGoogleといえどもありえない。
だとすると、ブラウザ上ではDartもCoffeeScriptも五十歩百歩。
528 :デフォルトの名無しさん2011/10/15(土) 19:36:23.68
なんだ高校生か。
javaの数値計算ライブラリのcoltとか眺めて味噌。オーバーロード必須だぞ。
行列の要素にアクセスするためにgetとかsetとか書いてたら気が狂るうぞ
530 :デフォルトの名無しさん2011/10/15(土) 19:40:15.00
>>528
addがあればいいだけだろ?
532 :デフォルトの名無しさん2011/10/15(土) 19:43:45.74
>>530
a*(x+E)
a.times(x.add(E))
こんな具合に長くなれば長くなるほどコード眺めて嫌気がさすぞ
533 :デフォルトの名無しさん2011/10/15(土) 19:44:05.33
>>530
a * b + c * d ;



a.multi(b).add( c.multi(d) ) ;

になるのか。
素晴らしいな。
543 :デフォルトの名無しさん2011/10/15(土) 20:23:46.21
>>528
なんだ大学生か?
オレオレ演算子定義なんてされてるコードを
レビューしたら吐き気がするぞ
549 :デフォルトの名無しさん2011/10/15(土) 20:34:09.93
>>543
オレオレ演算子オーバーロードなんてプロジェクト前の打ち合わせで
コーディング規約を決めて、まず禁止する機能だろ。

てか、演算子オーバーロード自体は普段は使うことがなくても、
十分にテストされた製品級の数値計算ライブラリにはないと可読性が低いんだよ
554 :デフォルトの名無しさん2011/10/15(土) 21:02:00.67
>>549
C++0xに右辺値参照が入るまでは演算子オーバーロード使うと
コピーが発生して真面目な数値計算用途には遅くて使えなかった
555 :デフォルトの名無しさん2011/10/15(土) 21:07:12.08
>>554
その問題は、テンプレートメタプログラミングを使えば解決できた。
もちろん、これからはrvalue referenceのおかげで、楽ができるけど。
556 :デフォルトの名無しさん2011/10/15(土) 21:10:46.96
>>555
> 私は人々がテンプレートメタプログラミングを用いて出来ると主張するのを
> 聞いたことがあるが、方法を私に説明出来る人に会ったことが無い

http://slashdot.jp/journal/507551/C%2B%2B%E5%8F%B3%E8%BE%BA%E5%80%A4%E5%8F%82%E7%85%A7%E8%A7%A3%E8%AA%AC
559 :デフォルトの名無しさん2011/10/15(土) 21:30:28.28
>>556
うん、実際にはムーブはしてない。
何をやっているかというと、単にテンプレートでラップした新しい型を返して、実際の計算を遅延させている。
rvalue referenceがあっても、行列計算とかを高速に、しかも演算子のオーバーロードを使用してやりたかったら、
やはりテンプレートメタプログラミングは必須だよ。
529 :デフォルトの名無しさん2011/10/15(土) 19:37:18.76
ほんと、素直にJSやり続けるのが一番な感じがする…。今ブラウザ上でJSが無くなると色んな企業がかなり困惑しそう
534 :デフォルトの名無しさん2011/10/15(土) 19:44:37.10
>>529
誰もJS無くすなんて言ってないぞ
531 :デフォルトの名無しさん2011/10/15(土) 19:42:08.63
ふむ。確かに呼び名としてuser-defined operatorsと書いてあるが
演算子をインスタンスメソッドとして定義できるのは
結局演算子オーバーロードと同じ事だろ
代入を定義できなくしたのは良識か
536 :デフォルトの名無しさん2011/10/15(土) 19:49:28.24
>>531
そもそも、オーバーロードという用語自体が規格にない。
関数のオーバーロードといえば、一般に、ひとつの名前に大して複数の関数を割り当てるようなことを意味する。

C++でいえば、

int f( int ) ;
int f( double ) ;

int x = f( 0 ) ; // オーバーロード解決により、名前fに対して、f(int)がlookupされる。

Dartでは、名前には複数の定義を割り当てることができない。
スコープによる名前隠しは、ただ名前を隠しているだけで、複数の定義を割り当てているわけではない。


代入式は、Dartでは、変数が束縛されるインスタンスを指定するだけだから、
オーバーロードする意味がない。
538 :デフォルトの名無しさん2011/10/15(土) 20:12:16.96
Dart 作ったやつって、Java使いなんだろうなあ
CoffeeScript 作った奴はPython使いだろう
節々でそういうのが、わかっちゃう違いが出るな
540 :デフォルトの名無しさん2011/10/15(土) 20:18:09.35
>>538
まあ、確かにJVMの経験があるそうだが。
http://www.youtube.com/watch?v=nqb-k9upqZ4&t=03m05s

Javaはクソだが、JVMはなかなか興味深いぞ。
558 :デフォルトの名無しさん2011/10/15(土) 21:28:57.78
>>538
多分セルフホスティング化される前はRubyで書かれていたからRuby使いじゃないかな
539 :デフォルトの名無しさん2011/10/15(土) 20:15:19.67
もともとGoogleはJavaがメイン。
JavaScriptを使っているように見えるが
GWTというJavaで書いたら自動的にJavaScriptが生成される
ライブラリを使っている。
541 :デフォルトの名無しさん2011/10/15(土) 20:19:15.57
Javaが糞だと言ってる奴は
大規模開発をやったことがない。

プログラム言語の勉強だけをしている
実践経験ないおこちゃま。
542 :デフォルトの名無しさん2011/10/15(土) 20:20:59.73
豚切りだがこのスレ言語とライブラリを混同してる奴が度々出てきてそのたびに言語とライブラリはryって言われてるな。
546 :デフォルトの名無しさん2011/10/15(土) 20:28:15.95
>>542
一応突っ込んでおくと、ややこしいことに、規格では「ライブラリ」という用語が定義されている。
ひとかたまりのソースコードがライブラリ。
他の言語だと、ソースファイルなどの用語を使えばいいのかもしれないが、
DartだとひとつのHTML内にscript要素で複数の「ライブラリ」が書かれるだろうしな。
544 :デフォルトの名無しさん2011/10/15(土) 20:24:01.65
javaはlamdaとプロパティが欲しい

大規模開発って、まんま土方が治水工事しているか、クフ王のピラミッドでも建ててるイメージ
7人ぐらいの規模だと精密機械か時計職人のイメージ
545 :デフォルトの名無しさん2011/10/15(土) 20:26:28.17
>>544
単にデータを(特に操作もせず)右から左に流してるだけだからな
単純作業だよ
550 :デフォルトの名無しさん2011/10/15(土) 20:43:57.21
chromeにvmが載ってからこの言語の真価が問われる
一年後くらいかな
552 :デフォルトの名無しさん2011/10/15(土) 20:57:38.59
webkitに乗るわけじゃないだろ
それはそうと、dom操作についての記事が公式にアップされているな
557 :デフォルトの名無しさん2011/10/15(土) 21:25:02.16
いまどきWeb言語を標榜しながらDocument.query()とかありえないって言ったら
勝手にjQuery信者にされ、勝手にライブラリと言語仕様の話にスライドされてるだけなんだけどな
586 :デフォルトの名無しさん2011/10/15(土) 22:21:34.75
>>557
>Document.query()とかありえない

ありえるんだよ。それに直球でライブラリと言語仕様の話なんだよ。
Document.query()云々のHTML APIは公式ページでも説明されているように
W3C DOMと同等の機能を書きやすくしたAPIで、それを言語仕様に含めるという
話なのだから。

言語仕様としてはW3C DOM相当の低水準のAPIを提供して、その上にライブラリ
として高水準のAPIを実装する、どうやらお気に入りらしいjQueryその他と同様の
アプローチがありえないとはこれ如何に?

「ありえない」とか言うなら一体どの水準のAPIまで仕様に含めるべきなんだ?
一度仕様に含めてしまったらバージョンが0.1上がる度に新しくメソッドや引数
が追加されるjQuery同様にはAPIを更新できない事は理解出来ているよな?
599 :デフォルトの名無しさん2011/10/15(土) 22:41:29.11
>>586
あのさ、初めて言語を使ってみようと思ったときにサンプル見るでしょ
それでDOMを使ってると思われる部分がDocument.query().innerHTMLとか見たら引くだろ
これじゃ素のJavaScriptのdocument.getElementById().innerHTMLと同じじゃないか、
こんな本質的じゃない部分で文字の羅列がずらずら並ぶ状況なんて想像したくないし
そう思う人が多かったからこそjQueryに限らず$という記号なり何なりを使ってどうにかそれを隠ぺいしようとしてたんだろうが
Web言語を標榜するなら最初からここら辺は仕様でもライブラリでも何でもいいから工夫すべきなのに何もしてない(ように見える)から文句を言ってる
604 :デフォルトの名無しさん2011/10/15(土) 22:46:58.41
>>599
何がダメなんだよ。
$もdocumentも単なる識別子だろ。
あとqueryでやってることは、DOMで定義されているquerySelectorだからな。
単に使いやすいよう短くしただけ。
もちろん、DOMの定義通りのライブラリもある。
貧弱なgetElementByIdと一緒にすんなよ。
616 :デフォルトの名無しさん2011/10/15(土) 22:56:51.60
>>604
document.getElementByIdがdocument.querySelectorに変わっても言いたいことは何一つ変わらないから
631 :デフォルトの名無しさん2011/10/15(土) 23:23:37.03
>>599
>DOMを使ってると思われる部分がDocument.query().innerHTMLとか見たら引くだろ

つうかこの程度のことで引く様な人は言語仕様のバージョンがまだ0.1とか0.2の
段階で首を突っ込む必要は無いんじゃない? お呼びじゃないよ。
環境が整ってアルファユーザー(笑)が喧伝し始めてから手を出せばいいさ。

普通はあぁW3C DOM相当は考えているけれどもその先はまだ未定未整備なのね、
でお終いの話だと思うが。
632 :デフォルトの名無しさん2011/10/15(土) 23:26:23.16
>>631
Web言語(笑)で終わって誰もアルファユーザー(笑)の喧伝に耳を貸さなくなるんじゃないかな(笑)
561 :デフォルトの名無しさん2011/10/15(土) 21:37:37.94
大規模開発向けとして普及させるにはプログラミングの現場を知らない人間ですら名前は知ってるほどの大きな知名度と実績が必要だが
Dartにはそれを達成させる「何か」が今のところ全く見られないのが最大の問題だな
Java言語だって普及したのは「一度書けばどこでも動く本格的オブジェクト指向言語」という今思えば嘘もいいところの触れ込みで知名度を上げたからだし
563 :デフォルトの名無しさん2011/10/15(土) 21:46:54.61
>>561
後者はそんなに外れてもいないような気がするぞ
そりゃ厳密には嘘かもしれんが、実際にJava で作られてるから
あのソフトはLinux 版があるはずだよねとか
そんな感じに思うことが最近は多いよ
562 :デフォルトの名無しさん2011/10/15(土) 21:46:29.47
「一度書けばどこでも動く」なんて本気でやったら即使い物にならなくなるわ、ってのは当初から
言われてはいたけど、結局は大多数を騙せりゃいいわけだしな
564 :デフォルトの名無しさん2011/10/15(土) 21:52:18.71
リストか配列の内包表記はないんかい?
あと、複数の変数に一気に代入する仕組みとかもない?
returnは省略できないのか?
最近の言語の簡略に書くためのちょっとしゃれたギミックは
何らかの理由で嫌われてるのか?
567 :デフォルトの名無しさん2011/10/15(土) 21:59:12.97
>>564
List<int> l = <int>[1,2,3] ;
Map<String, String> m = { ">>564" : "規格読めない文盲", ">>1000" : "1000getオメ"} ;

f() => 0 ; // { return 0 ; }と同じ
569 :デフォルトの名無しさん2011/10/15(土) 22:02:32.73
>>567
俺が言ってるのはそういう意味じゃない
・a,b=1,2
・=>を使わず、ブロックで書いたときのはなし
・内包表記は反論がない
571 :デフォルトの名無しさん2011/10/15(土) 22:05:35.37
>>569
Haskell信者かPython信者?気持ち悪いからこのスレに来ないで自分の好きな言語使ってね
574 :デフォルトの名無しさん2011/10/15(土) 22:08:56.60
>>569
return文がない場合、暗黙的にnullが返される。
複数の変数に一気に代入という文法はないな。
ただ、Dartでは変数の宣言は、初期化を伴うことが望ましいし、
一文で複数の変数に複数の値を代入ってのは、個人的にはちょっと意義が分からんが。
578 :デフォルトの名無しさん2011/10/15(土) 22:14:25.28
>>574
複数の値を返す関数とかでスマートに初期化できる
この仕組みを発展させると、Jsonのような構造の一部を
スマートにバインディングできたり
詳しくはCoffeeScript のトップページの例がわかりやすい
579 :デフォルトの名無しさん2011/10/15(土) 22:15:35.31
>>567→>>569→>>571
勘違い上から目線→完全論破→逆切れ
絵に描いたようなクズでワラタ
566 :デフォルトの名無しさん2011/10/15(土) 21:55:01.24
アホもプログラム書くんだよ派と、アホは生産性低すぎるから切り捨てるんだよ派との、いつもの
かみ合わない話
568 :デフォルトの名無しさん2011/10/15(土) 22:01:36.36
もちろん、ListリテラルとMapリテラルはネストできる
MapリテラルはネイティブJSONとして利用可能。
570 :デフォルトの名無しさん2011/10/15(土) 22:03:55.93
>566
アホ用モードとエキスパート用モードを用意すれば良いのにね。
572 :デフォルトの名無しさん2011/10/15(土) 22:07:30.18
結局、あの言語にあるこういう機能はないのかと言っても、
その言語を知らない人には真意は通じない
そんなのあるよとしか思わないので、必要性を感じることもない
この言語を作った奴もそういう傾向だからつまらん言語しか作れないんだろ
584 :デフォルトの名無しさん2011/10/15(土) 22:21:20.88
>>572
googleで言語仕様作れる人間のレベルを舐めてんの
590 :デフォルトの名無しさん2011/10/15(土) 22:25:28.83
>>584
言語に関しては舐めてるよ
だって低レベルなんだもん
goもそうだったけど、つまらない言語しか作れないよね
というか、プログラミングのスキルがありすぎて、つまらない言語で
十分なんだろw
645 :デフォルトの名無しさん2011/10/15(土) 23:56:07.80
>>590
Rob PikeとKen Thompsonが低レベルか
どこのダイクストラ
647 :デフォルトの名無しさん2011/10/16(日) 00:05:53.05
>>645
昔の言語しか知らなさそうw
573 :デフォルトの名無しさん2011/10/15(土) 22:08:18.64
この段階で人格避難しかできない程度の低い信者が現れるあたりお里が知れるというか・・・
575 :デフォルトの名無しさん2011/10/15(土) 22:09:44.70
>>573
571のことか
576 :デフォルトの名無しさん2011/10/15(土) 22:12:19.44
これDartはクライアントスクリプトでgoはサーバサイド
とか狙ってんだろうか
580 :デフォルトの名無しさん2011/10/15(土) 22:17:24.30
Dartの関数は多値を返せないし、
複数の値を返したいとすれば、ListやMapを使えばいいわけで、
そもそも、そんな構文が必要になる理由が分からん。
588 :デフォルトの名無しさん2011/10/15(土) 22:22:31.15
>>580
いちいちめんどくさくね?
多値を返せないのも面倒だね
そういうスッキリ書くためのちょっとした機能が全部
不採用な傾向にある
製作者が知らなかったから入れなかったんではなく、
何らかのポリシーじゃないかな
581 :デフォルトの名無しさん2011/10/15(土) 22:18:18.21
内包表記はforで代用できるし、複雑にネストさせるとわかりにくい
という判断だろうけど、単純な使い方ならスッキリするし
パフォーマンスでも有利なはずなんだがな
583 :デフォルトの名無しさん2011/10/15(土) 22:19:39.14
静的型付け言語で、簡易な書き方ができる
オプションしだいで型も無視出来る。
動的型付け言語でできるすべてのことを
型付け言語で、静的検査出来る形で組み込む。
数学的な読みやすさと文学的な読みやすさを両立
それが俺の理想の言語。

つくるしかないかorz
596 :デフォルトの名無しさん2011/10/15(土) 22:39:12.56
>>595
動的型言語と同じevalは実装できないんだろ?
だったらお前が>>583で書いたのは間違いで、馬鹿にされても仕方ないんだよ
601 :デフォルトの名無しさん2011/10/15(土) 22:43:44.72
>>596
evalは目的ではない。

まず何のためにevalを使うか。それを明確にしてくれ。
それを明確にしてもらわなければ、
それに変わる方法なんか言えるわけがない。

例えば言うのならgoto。
これはあちこちにジャンプできるしろものだが、
これをループや例外処理やbreakといった「何んためにgotoを使うか」を
明確にすることによって、gotoを無くすことに成功している。

どこにでもジャンプするというgotoと全く同じものは実装していないが、
それでもgotoは無くせてるわけだ。俺が言っているのはこういうこと。

1、何のためにその機能を使うか。
2、それを別の方法で実装する。

この手順を踏むことで静的検査が行えるようにしようということ。
585 :デフォルトの名無しさん2011/10/15(土) 22:21:22.53
> 動的型付け言語でできるすべてのことを
> 型付け言語で、静的検査出来る形で組み込む。

馬鹿すぎてワロタwww
587 :デフォルトの名無しさん2011/10/15(土) 22:22:29.84
>>585
おい、俺に文句つけた以上
最後まできっちりと反論しな。

でないと、お前が 口だけ野郎だって
思われるだけだぞ。
589 :デフォルトの名無しさん2011/10/15(土) 22:23:25.77
>>587
eval
592 :デフォルトの名無しさん2011/10/15(土) 22:33:03.44
>>589
完全に自由な文字列をevalしたいということはない。
殆ど決まった文字列で一部だけを置き換えたいときに使う。

つまり、その部分のみを変数に取り出し、
それ以外はコンパイルすることが可能。

C言語のインラインアセンブラみたいなもんだ。
594 :デフォルトの名無しさん2011/10/15(土) 22:35:58.05
>>592
そんなscanfもどきをevalと一緒にすんな
595 :デフォルトの名無しさん2011/10/15(土) 22:37:25.95
>>594
続き続きw

反論してよ。
591 :デフォルトの名無しさん2011/10/15(土) 22:26:36.13
実行時にしか分からないものをどうやって静的に検査するんだ?
コンパイル時と実行時で別々にコードが走るメタプログラミング言語でもつくるのか?
593 :デフォルトの名無しさん2011/10/15(土) 22:35:37.46
>>591
> 実行時にしか分からないものをどうやって静的に検査するんだ?

発想が違う。

実行時にしかわからない? なら動的だ!という単純思考ではなく

実行時にしわからない? でも実行時にしかわからない部分は
極僅かだよね。じゃあ本当に実行時にしかわからない部分と
そうでない所を分離しよう。

実行時にしかわからないところを最小限にする。
それが俺の考える理想の言語。
597 :デフォルトの名無しさん2011/10/15(土) 22:39:21.52
evalを何のために使うのか
さっぱりわからんのだが。

Perlは例外処理のために仕方なくeval使うけど
それ以外の用途なんてほとんど無い。
598 :デフォルトの名無しさん2011/10/15(土) 22:40:36.68
なんで可能かどうかの議論を役立つかどうかにすり替えてるの?
600 :デフォルトの名無しさん2011/10/15(土) 22:42:08.66
jQueryの機能がないからダメだとか言ってる馬鹿がまだいるのかよ
602 :デフォルトの名無しさん2011/10/15(土) 22:46:02.24
DOMのショートカットとして$使ってるのはjQueryだけじゃないんだが
605 :デフォルトの名無しさん2011/10/15(土) 22:46:59.40
タプルなんてそもそもいらない。
多値返したいならMapにでもしとけ
606 :デフォルトの名無しさん2011/10/15(土) 22:47:56.44
まつもとはなんと言ってるんだ?
607 :デフォルトの名無しさん2011/10/15(土) 22:49:17.10
>>606
まつもとは懲りたのかやっと学習したのか知らんけど他の言語をDisるのは自重するようになったらしい
608 :デフォルトの名無しさん2011/10/15(土) 22:49:30.81
>>606
> まつもとはなんと言ってるんだ?

「アイデアは必ず行動に移す。結果が失敗なら、そのとき改めればいい。」
610 :デフォルトの名無しさん2011/10/15(土) 22:50:43.12
>>607
昔から処理系の出来はdisられてたけど、
最近は言語仕様までdisられる側だからねー
609 :デフォルトの名無しさん2011/10/15(土) 22:50:23.34
別にタプル作れなんて誰も言ってないと思う
配列があるし、普通に配列返せばいい
612 :デフォルトの名無しさん2011/10/15(土) 22:52:15.77
綺麗に書きたい派と楽に直感的に書きたい派がいるな
Dartは前者向け 文法的にはJavaに近い おそらくユーザーもそうなる
後者はRubyっぽいDartの対抗馬を作ればいいんじゃない?
613 :デフォルトの名無しさん2011/10/15(土) 22:53:45.34
>>612
すでにCoffeeScriptがある
614 :デフォルトの名無しさん2011/10/15(土) 22:53:50.73
綺麗も直感も人それぞれだろ
まつもとはRubyが綺麗だと思ってるよ
617 :デフォルトの名無しさん2011/10/15(土) 22:56:52.25
綺麗に書きたい人っていうのは色々縛って不具合を出来る限り避けたい人のことを言いたかった
619 :デフォルトの名無しさん2011/10/15(土) 23:00:04.92
queryの件に関しては、CoffeeScript は解決してるわけ?
620 :デフォルトの名無しさん2011/10/15(土) 23:00:48.63
>>619
jQueryが利用できる
621 :デフォルトの名無しさん2011/10/15(土) 23:05:33.63
JQueryの$って、jQuery関数のただのエイリアスだぞ。
元が長い名前であっても、エイリアス設定すればいいだけじゃん。
ばかじゃないの?
622 :デフォルトの名無しさん2011/10/15(土) 23:09:31.38
さすがに、$が短いから便利とか、そういう意味じゃないんじゃないの
セレクトしたあとのjQueryによるメソッドの適用の仕方が便利とか、
そういうことを言ってるんだと思ったが、違ったのか
624 :デフォルトの名無しさん2011/10/15(土) 23:15:26.72
こうか?
Document $ = document ;

識別子として許されているのは、a-z, A-Z, 0-9, _, $
ただし、$は先頭文字にしか使えない。
数字は先頭文字には使えない。

$が先頭文字にしか使えないってのは妙な仕様だな。
JavaScriptはこんな制限なかったよな?
634 :デフォルトの名無しさん2011/10/15(土) 23:31:13.81
>>624
まさかとは思うが、Javaの真似をしたいからそういう制限なんじゃないのか
内部でインナークラスを$使って区切ったファイルにコンパイルしたいとか
まあ、さすがにそう思いたくはないが
637 :デフォルトの名無しさん2011/10/15(土) 23:38:09.38
>>634
書いたあとに気がついたが、String Interpolationがあるためだった。

int a = 123 ;
String s = "a = $a" ; // a = 123
638 :デフォルトの名無しさん2011/10/15(土) 23:44:44.82
>>637
でも、Ruby みたいに使用可能にすることもできたと思うが
639 :デフォルトの名無しさん2011/10/15(土) 23:48:48.04
>>638
そう、その辺がよく分からないんだよな。
結局、先頭文字に使うことはできるわけだ。
戦闘以外に使えないというのが、何かそんなに大きな違いがあるのかな。
パースが簡単になるとか。
あと、$identiferという形式のString Interpolationでは、identifierは$を含むことができないと決まっているから、
何も問題はないような気がするが
626 :デフォルトの名無しさん2011/10/15(土) 23:17:51.49
多分、簡単にセレクト出来るだけでは駄目なんだろ
その後の要素に対する操作も含めて不満だということだろう
ってか、本人どこ行ったw
628 :デフォルトの名無しさん2011/10/15(土) 23:19:01.87
queryはquerySelector。
queryAllはquerySelectorAll。
Dartでは、どちらも使える。

getelementsBySelectorってのは、querySelectorAllとはどう違うんだ?
630 :デフォルトの名無しさん2011/10/15(土) 23:23:36.61
あんまりよく知らないんだが、jQuery は返される値が単純なDOM要素じゃなくて、
イベントハンドラを付け加えたり、特殊なスタイル適用したりとか
色々簡単にできて、チェーンで繋げて簡単にかけて便利らしいじゃん
それがないってことだろ
633 :デフォルトの名無しさん2011/10/15(土) 23:29:34.59
他人の車輪の再開発を期待する時点で終わってるのは置いておくとしても
Dartにそれを期待できるほどのインパクトやメリットがあるのか?
640 :デフォルトの名無しさん2011/10/15(土) 23:50:06.42
ASCII文字にもっと記号があれば
もっと便利な言語ができただろうに。
641 :デフォルトの名無しさん2011/10/15(土) 23:50:48.71
> 戦闘以外に使えないというのが
武闘家をdisるな!
642 :デフォルトの名無しさん2011/10/15(土) 23:53:43.81
サーバでコンパイルさせるなんて手でも使わない限り
どっちにしろ当分evalなんて
無理なんだから話し終わっとけ
643 :デフォルトの名無しさん2011/10/15(土) 23:54:46.75
言語作者がJavaしか知らないとかあり得ねーよ情弱
649 :デフォルトの名無しさん2011/10/16(日) 00:09:28.11
>>643
正直、それを疑われてもしょうがないぐらい
Java の機能しか取り入れられてない
646 :デフォルトの名無しさん2011/10/16(日) 00:05:09.20
静的型チェックの結果がエラーでなく警告というところが新しいのかもしれない
個人や書き捨てで書くときは型を書かないとか警告をシカトするとかして、
仕事でがっつり書くときは警告を全部つぶしておく事を規約にして開発するとか
648 :デフォルトの名無しさん2011/10/16(日) 00:09:24.38
おいおいこの言語の策者の一人はscalaの作者でもあるんだぞ
javaしか知らねーとかアホか
650 :デフォルトの名無しさん2011/10/16(日) 00:11:06.95
>>648
それにしては、scalaの機能が全く無いな
652 :デフォルトの名無しさん2011/10/16(日) 00:16:41.02
そういや言語仕様貶している話が多いけど、俺言語とか設計したことのあるやつどれぐらいいるの?
654 :デフォルトの名無しさん2011/10/16(日) 00:17:18.09
>>652
お前以外全員
653 :デフォルトの名無しさん2011/10/16(日) 00:17:00.79
それじゃまるでJavaよりscalaが劣っているようじゃないか
ありえないだろ!
656 :デフォルトの名無しさん2011/10/16(日) 00:25:25.76
Javaしか知らないとか本気で疑ってる奴は心底バカ晒してるだけだから黙ってろよ
つーかム板に当分書き込むな
657 :デフォルトの名無しさん2011/10/16(日) 00:27:42.10
jsはブラウザに対するunixとcの関係なのかunixとperlの関係になるかが普及の分け目
jsがunixとperlの関係になるためには、jsが癖の強い、イディオムだらけの糞言語だって必要がある。
サイ本が必読書の候補に上がり、coffee scriptが絶賛されるのはjsにその素質があることの根拠だ
675 :デフォルトの名無しさん2011/10/16(日) 01:06:19.10
多値返却がタプル・マップ使えばいいとか配列内包がいらないとか使い方分からないだけじゃん。
多値返却と配列内包と分割代入とyieldはジェネレータのための必須セットだろ。

>>657
サイ本を読めというのは「仕様書で理解出来ないなら」っていう大前提が付くんだけど。
それとcoffee scriptを絶賛してるのってrubyに嫌気が刺したjs書かなきゃいけない人くらいじゃないの?
682 :デフォルトの名無しさん2011/10/16(日) 01:18:34.43
>>675
多値返却をタプル・マップで模倣しろってのはその時点で型安全で無くなるので
お勧め出来ないのは同意だけど、配列内包云々は別に無くても上手くやっている
言語は世の中には幾らでもあるわけで、取捨選択の範疇だと思うけれどもなぁ。
685 :デフォルトの名無しさん2011/10/16(日) 01:23:36.34
>>682
確かに、必須だとかは言い過ぎの感があるけど、
それを言い出したら何でも必須ではなくなってくる
うまくやってるかどうかが人それぞれ定義が違うんで
価値観の違いだな
オブジェクト指向なんてなくてもうまくやってる言語はいくらでもあるとか
静的型付けなんてなくてもとか
658 :デフォルトの名無しさん2011/10/16(日) 00:29:59.93
結局最後は静的型付け言語が
主流になるんだよね。

今は過渡期。
667 :デフォルトの名無しさん2011/10/16(日) 00:53:34.81
>>658
静的言語も動的言語も、何十年も前から存在するのに今更に過渡期かね?
ソフトウェアをどういったサイクルで実装していくかが問題だと思うんだけどな
ポールグレアムのyahoo storeの話だと仕様が見えず、
新機能を追加する必要があるものほど動的言語が有利そうなこと書いてあるけど
ただ、最近のウェブ上での記事やら見てるとrubyのような言語を大規模開発に使うと
型がどうこういった問題になるみたいだ
リーナスなんかはc++やオブジェクト指向でゲロゲロになるからアッチ行けってな主張

だから、スクリプト用途には可変長引数みたく
シグニチャを自由に受け取って変数はvariant型で書いて、
仕様が固まったら静的言語として書ければ色々と捗るはず
669 :デフォルトの名無しさん2011/10/16(日) 00:58:02.59
>>667
うん。過渡期。

動的型付け言語の便利さが認知され、
静的型付け言語が、動的型付け言語を吸収し始めている。
660 :デフォルトの名無しさん2011/10/16(日) 00:32:39.87
このスレには凄腕のハッカーが居るらしいな
Rob Pikeを馬鹿にするだなんて俺にはとてもできない
662 :デフォルトの名無しさん2011/10/16(日) 00:36:32.84
Java にして、所々どうでもいいような欠点を直して
わかりにくいマルチスレッド処理付け加えただけだよね
まあ性能が高くなるから意味はあるけど
663 :デフォルトの名無しさん2011/10/16(日) 00:39:26.75
CoffeeScript と比べちゃうと残念感が強いな
静的だから被らないとはいえ
664 :デフォルトの名無しさん2011/10/16(日) 00:44:50.84
rob pike とかpascal風の古めかしい言語を昔作ってたような
印象しかないわ
そんなに凄いやつなのか
665 :デフォルトの名無しさん2011/10/16(日) 00:50:38.75
まだ生まれたてで色んなしがらみがないんだから
適切な改善案が提示できれば反映される見込みは高いよ
668 :デフォルトの名無しさん2011/10/16(日) 00:54:09.94
適切な改善案があっても反映されない雰囲気を既に放ってるよ
なんだかんだ頑固な理由をつけて却下しそう
保守的すぎるし、言語仕様の小ささに非常にこだわってる印象
670 :デフォルトの名無しさん2011/10/16(日) 01:01:02.75
ブラウザへの実装しやすさにこだわってるのかな
jqueryのようなライブラリで進化する方向か
標準化するなら仕様が早く安定するほうがいいな
671 :デフォルトの名無しさん2011/10/16(日) 01:01:24.91
今のところ一番うまく動的型付け言語を取りこんでるのはC#だと思うが普及してるかと言うと疑問符が
672 :デフォルトの名無しさん2011/10/16(日) 01:02:42.74
すまん、$の件、規格を読み間違えてた。
どこにでも使えるわorz
674 :デフォルトの名無しさん2011/10/16(日) 01:05:59.59
>>672
ドンマイ
673 :デフォルトの名無しさん2011/10/16(日) 01:05:13.55
静的型付け言語はideが発達すると便利になる
いろんなリファクタリングとか出来るし
676 :デフォルトの名無しさん2011/10/16(日) 01:06:21.23
静的型付け言語でない時点でJavaScriptは時代の流れから
取り残されるのは仕方ないことだよ。

JavaScriptだけじゃないHTMLもCSSもね。
これらはクライアント側で動くから
言語側の都合で進化させることができない。

じゃあどうするか。もう全くの別言語で書いてJ
avaScript・HTML・CSSを生成する。これしか進化の道はない。
近い将来JavaScript・HTML・CSSは中間言語みたいな扱いになるよ。
678 :デフォルトの名無しさん2011/10/16(日) 01:10:41.70
>>676
てか、Dart が中間言語になりそうだわ
性能が良いからうってつけ
681 :デフォルトの名無しさん2011/10/16(日) 01:14:11.03
>>676
こねぇよw
ってか、それってASPだろ
683 :デフォルトの名無しさん2011/10/16(日) 01:18:44.86
>>681
CoffieScriptとかHamlとかSCSS知らんの?
677 :デフォルトの名無しさん2011/10/16(日) 01:10:41.07
バカじゃねえの
動的な言語の生産性の高さは昔から変わらない
でもクリティカルな用途には使いたくない
そゆこと
680 :デフォルトの名無しさん2011/10/16(日) 01:11:51.77
>>677
動的型付け言語と動的言語の違いわかってる?
今の言語はすべて多かれ少なかれ動的言語だよ。
684 :デフォルトの名無しさん2011/10/16(日) 01:20:03.65
>>680
自分こそわかってねえんじゃね
webとかPCの世界しかしらんのだろ
679 :デフォルトの名無しさん2011/10/16(日) 01:11:00.04
元々rubyで実装されかつRails3標準搭載のCoffeeScriptの対象がRubyに嫌気がさしたjsコーダーとか意味がわからん
686 :デフォルトの名無しさん2011/10/16(日) 01:23:47.07
多値返却は、戻り値を型で書けばいいんだよ。
でクラスを作ればいいんだけど、
多値返したいだけでクラスを作るとか面倒。

そこで俺が提案したいのは、無名クラスを
関数の戻り値の方として使えるようにする文法

class{int i; Class c} foo() {
 int value = 123;
 int obj = new Class();

 return {value; obj};
}

適当に書けばこんな感じ。熟考して考えた文法じゃないから
文法的な矛盾とかのツッコミは無しなw
689 :6862011/10/16(日) 01:28:50.20
で、戻り値の型が無名クラスだと

型 f = foo()

型はなに?ってことになる。

冗長に
class {int i; Class c} f = foo();
って書いてもいいんだが、

まあ、ここは型推論を使ったほうがいいだろう。

var f = foo();
int i = f.i;
Class c = f.c;
690 :デフォルトの名無しさん2011/10/16(日) 01:32:00.93
>>689
俺はそこを、var i, c = foo()
みたいに書きたいんだ
めんどくさがりだからな
692 :デフォルトの名無しさん2011/10/16(日) 01:40:48.21
>>690
var i,c に代入できるってことは、
戻り値の順番に依存した問題だから
戻り値を配列でかくしか無いよね。

こんな文法でどうだ?
固定サイズ無名配列とでもといえばいいかな。

[int; Class] foo() {
 int value = 123;
 int obj = new Class();

 return [value; obj];
}

697 :デフォルトの名無しさん2011/10/16(日) 01:53:02.23
>>692
大分スッキリしてるな
かなり満足だ
戻り値の型宣言があるならobjとvalueの型は型推論で取り除けるだろう
691 :デフォルトの名無しさん2011/10/16(日) 01:33:34.76
オブジェクト指向言語でよくある
クラス爆発問題は無名クラスと型推論で解決できるでしょう。

少し考えれば継承爆発問題も解決できるかもな。
694 :デフォルトの名無しさん2011/10/16(日) 01:47:04.31
普通にinterfaceを戻り値の型にして無名クラスはそれをimplementsすればいいやん
695 :デフォルトの名無しさん2011/10/16(日) 01:48:51.57
>>694
それだとインターフェースを作らないといけない。

そこに「動的型付け言語なら・・・」と反論される隙を与えることになる。

わざわざインターフェースを作らずに、
その場で使い捨ての静的型付けを行うための文法だよ。
696 :デフォルトの名無しさん2011/10/16(日) 01:52:13.76
ああ、流れ読んでなかった。多値返却の代用だから冗長すぎたら意味無いか
698 :デフォルトの名無しさん2011/10/16(日) 02:00:01.08
現時点では、言語仕様的にはbooが最強だよ
まずbooのマネをしておけば間違いない
699 :デフォルトの名無しさん2011/10/16(日) 02:01:29.66
class{int i; Class c} foo() {
実はこのclassってのも嫌なんだよな。

本質的にはハッシュと同じではないのかと。
ただハッシュとは違い、キーの追加・削除はできない。

ということで、classを省略。キーの追加・削除ができないハッシュの定義
{int i; class c}

さらに、キーの追加・削除ができるハッシュの定義として
{int i; Class c; ... }

さらに要素の追加、削除ができる配列の定義として
[int, Class, ... ] というものを考えてみたりする。

追加だけ、削除だけができるハッシュ、配列ってのも要望あるのかな?

マイクロソフト ワイヤレス ブルートラック マウス Arc Touch Mouse RVF-00006
マイクロソフト ワイヤレス ブルートラック マウス Arc Touch Mouse RVF-00006