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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
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
不覚にも吹いた
4デフォルトの名無しさん:2011/10/10(月) 18:51:25.92
   ___l___   /、`二//-‐''"´::l|::l       l! ';!u ';/:::l ', ';::::::l ';:::::i:::::
   ノ l Jヽ   レ/::/ /:イ:\/l:l l::l   u   !. l / ';:::l ', ';:::::l. ';::::l:::::
    ノヌ     レ  /:l l:::::lヽ|l l:l し      !/  ';:l,、-‐、::::l ';::::l::::
    / ヽ、_      /::l l:::::l  l\l      ヽ-'  / ';!-ー 、';::ト、';::::l:::
   ム ヒ       /::::l/l::::lニ‐-、``        / /;;;;;;;;;;;;;ヽ!   i::::l:::
   月 ヒ      /i::/  l::l;;;;;ヽ \             i;;;;;;;;;;;;;;;;;;;l   l::l:::
   ノ l ヽヽノ    /:::l/:l /;;l:!;;;;;;;;;',               ';;;;;;;;;;;;;;;;;ノ    l:l::
      ̄ ̄    /::::;ィ::l. l;;;;!;;;;;;;;;;;l            `‐--‐'´.....:::::::::!l
    Dart    /イ//l::l ヽ、;;;;;;;ノ....      し   :::::::::::::::::::::ヽ /!リ l
           /::::l';!::::::::::::::::::::  u               ', i ノ l
            /イ';::l          ’         し u.  i l  l
     |       /';:';:!,.イ   し    入               l l U
     |      /,、-'´/ し      /  ヽ、   u    し ,' ,'  l
     |        /l し     _,.ノ     `フ"       ,' ,'  ,ィ::/:
     |       /::::::ヽ       ヽ    /     し ,' ,' / l::
     |      /::::::::::::`‐、 し      ',  /    u   ,、-'´  l,、-
     |      ``‐-、._::::::::::` ‐ 、     ',/       , -'´`'´ ,-'´
     |      _,、-‐'"´';:::::::::イ:l';:::` ‐ 、._____,、-‐'"´  u /
   | | | |    \ l::/ l::::::/リ ';:::::lリ:::::l';:::l l:l:::::l\  u /
   | | | |
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とか
6デフォルトの名無しさん:2011/10/10(月) 18:55:25.28
>>2 がやりたかっただけだろ!!
7デフォルトの名無しさん:2011/10/10(月) 18:57:52.87
FizzBuzzとかイラネ
誰があんなん興味持つんだ
8デフォルトの名無しさん:2011/10/10(月) 19:00:53.19
じゃあおまえが考えるもっと適切な題材は?
9デフォルトの名無しさん:2011/10/10(月) 19:01:27.21
志村けんの大丈夫Dart
10デフォルトの名無しさん:2011/10/10(月) 19:02:10.99
>>8
>>7じゃないけど、アプリ的にはBit.lyクローンとかTwitterクローンとか?
11デフォルトの名無しさん:2011/10/10(月) 19:06:19.56
完成品のライブラリ呼ぶだけ、じゃなくて、FizzBuzzと同じ行数でそれができる言語が
あったらすごいね。
12デフォルトの名無しさん:2011/10/10(月) 19:07:49.55
solve_fizzbuzzという関数を作った。
一行で答えが出る。
13デフォルトの名無しさん:2011/10/10(月) 19:09:05.40
で?
14デフォルトの名無しさん:2011/10/10(月) 19:11:59.28
まあまず公式のサンプルでも見るか・・・・
ttp://www.dartlang.org/samples/index.html
15デフォルトの名無しさん:2011/10/10(月) 19:32:10.48
発表に合わせて対応したChrome出すぐらいしろよな
16デフォルトの名無しさん:2011/10/10(月) 19:39:51.80
IEで動くようになるのはいつになるんだ
17デフォルトの名無しさん:2011/10/10(月) 19:43:01.79
>>8
基本データ構造の再実装とかP99とか、タートルグラフィックにフラクタクル、詰チェス
しかし、googleは敢えて用意しないだろう
オタクたちがちょっとイジって書くネタがなくなると話題性と興味すらもなくなるからだ
18デフォルトの名無しさん:2011/10/10(月) 19:43:06.62
動かんのか?

helloとhtml見て、
サーバーでコードを実行して、その結果をJavaScriptに変換して
送りつけるようなものだと思ったが。
19デフォルトの名無しさん:2011/10/10(月) 19:46:16.84
そろそろDartで書かれたテトリスが発表されているころか
20デフォルトの名無しさん:2011/10/10(月) 19:46:18.28
とりあえず読んでみるか
http://www.dartlang.org/docs/spec/dartLangSpec.pdf
21デフォルトの名無しさん:2011/10/10(月) 19:50:33.19
とりあえずインストール中
22デフォルトの名無しさん:2011/10/10(月) 19:54:29.12
パッと見では、c++,c#,javaよりかも良さげ
cliも、jvmも、llvmも、これ載っけちまえと思うのは私だけ?
23デフォルトの名無しさん:2011/10/10(月) 19:57:58.75
JavaScriptよりはましだけど
あまり使われないだろうな
24デフォルトの名無しさん:2011/10/10(月) 19:59:57.85
ベースは静的型にDynamic乗っけた感じかね
新しいだけに言語仕様はよさげ
流行るかは別として

go…
25デフォルトの名無しさん:2011/10/10(月) 20:00:28.58
画期的な機能というか、新鮮さを感じる要素はないっぽい・・・
goのときは幾分かワクワクしたけど
26デフォルトの名無しさん:2011/10/10(月) 20:02:07.03
>>24
むしろ動的に静的型チェックも出来るよ的な感じかと
production modeではチェックしないらしいし
27デフォルトの名無しさん:2011/10/10(月) 20:02:11.17
また、plan9的な終わり方するのかな
appleみたくマーケット作れば流行るんだろうけど、
それをしそうにないのがgoogle
28デフォルトの名無しさん:2011/10/10(月) 20:04:45.64
ソースを落とそうとしてるのだが、混んでるようだな。
29デフォルトの名無しさん:2011/10/10(月) 20:11:10.34
>>26
いや動的をベースにすると、静的型チェックを行うのに
必要な情報が抜け落ちてしまう。

だからこれは静的型をベースにしていると考えたほうがいい。
30デフォルトの名無しさん:2011/10/10(月) 20:13:32.00
OCamlみたいな、明示的に書かなくても内部でがっちりやってるよ、じゃないの?
31デフォルトの名無しさん:2011/10/10(月) 20:15:25.21
ActionScript3.0みたいな感じじゃないかな
型宣言ない場合は*みたいにね
型推論に関する記述はどこにもなくない?
32デフォルトの名無しさん:2011/10/10(月) 20:17:34.90
Haskellばりの型システム欲しい
33デフォルトの名無しさん:2011/10/10(月) 20:19:08.54
狙いどころがよく分からん言語だな
34デフォルトの名無しさん:2011/10/10(月) 20:22:30.95
サーバーサイドでもクライアントサイドでも耐えうる仕様で高速化できるようにある程度型取り入れた感じじゃないの
内部実装は知らないがトランスレータにもなるならCoffee程度には使えそう
35デフォルトの名無しさん:2011/10/10(月) 20:25:30.17
gemみたいなの無いの?
36デフォルトの名無しさん:2011/10/10(月) 20:31:25.87
つーか、これからっしょ
37デフォルトの名無しさん:2011/10/10(月) 20:40:17.68
.   /:;:;:;:;:;:;:;:;:;:;:;:;:,.,.、
   /:;:;:;:;:;:;:;i`` '''''''''ヾ;'
.  /;:;:;:;:;:;:;:;:;|   、 ;`:
 /;:; -、;:;:i'''´  ;;.,,.,.; ;.,,!
 i;:;:i£`;;!.   ,-=・、く=i' 
 |;:;:ヽ.^' .    '´;.. ヾ. 
 !;;:;''`i      ノ''ー-ノ  俺たちの戦いはこれから
..,i;;''  、  .  i´.(ー‐‐!   
ヘ、   ヽ    ヽ  ̄.|    1・2・3 Dart!!
 ..`ー-、  ` ー-、    i
  `: ... `ー--、./` ー-‐'
    ` : ....  iヾ、
38デフォルトの名無しさん:2011/10/10(月) 20:46:37.66
goは作者に並ぶ名前だけでワクワクしたが
こっちはなんていうか
better jsを狙った実用物って感じだもんな
39デフォルトの名無しさん:2011/10/10(月) 20:53:39.47
単なるjavascriptへのトランスレーターなの?
40デフォルトの名無しさん:2011/10/10(月) 20:59:23.64
こっちの言語設計者もstrong talkとかv8とかの中の人で有名な人だったはず
41デフォルトの名無しさん:2011/10/10(月) 21:18:28.56
kenさんは神々の一人だしな
42デフォルトの名無しさん:2011/10/10(月) 22:00:25.16
HelloWorldのサンプル見ただけでこりゃだめだと思った
43デフォルトの名無しさん:2011/10/10(月) 22:04:04.83
クライアント側もサーバー側も対応できるトランスレーター言語だったらすでにhaXeとかあるけど
これってそれに対してどんなアドバンテージがあるの?
44デフォルトの名無しさん:2011/10/10(月) 22:12:54.81
>>42
はえーよ
難読プログラミング言語じゃあるまいし
45デフォルトの名無しさん:2011/10/10(月) 22:17:10.63
>>43
大企業がメンテするOSSで、ネームバリューがあるので目玉の数が集まりやすい
chromeなりGAEなりとの連携など今後の発展も期待できる
haXeって実績あるの?
46デフォルトの名無しさん:2011/10/10(月) 22:27:36.45
>>44
だってコードが無駄になげーもん、あれはありえない。GWTの失敗から全然学んでない。
47デフォルトの名無しさん:2011/10/10(月) 22:29:18.20
>>46
APLでも書いてろバーカ
48デフォルトの名無しさん:2011/10/10(月) 22:30:03.25
>>45
goって実績あるの?
49デフォルトの名無しさん:2011/10/10(月) 22:30:58.92
GAEは値上げでオワコン
50デフォルトの名無しさん:2011/10/10(月) 22:37:59.99
>>48
google社内で、サーバーのコンパイルとかに使ってんじゃねーの?
51デフォルトの名無しさん:2011/10/10(月) 22:38:50.63
後発だから文法が綺麗なのは当たり前として
あんまり特徴らしいモンがないんだけど
52デフォルトの名無しさん:2011/10/10(月) 22:41:05.07
こういうのって本気で流行らせたいならGoogleのコーダーとかがお手本見せてくれりゃ良いと思うんだが
53デフォルトの名無しさん:2011/10/10(月) 22:48:22.29
プロトタイプベースとは何だったのか。
54デフォルトの名無しさん:2011/10/10(月) 22:50:50.84
>>51
javascriptの大規模化に対応するためだろうから特徴なんてなくていいよ。ないほうがいいよ
ずっと前からあったような、すぐに使える言語の方がよっぽどうれしい
55デフォルトの名無しさん:2011/10/10(月) 22:59:03.86
もうちょっとトンがったのを期待してた
iPhone4Sみたいだ
56デフォルトの名無しさん:2011/10/10(月) 23:07:35.70
Dartのコードパッド
http://try-dart-lang.appspot.com/
57デフォルトの名無しさん:2011/10/10(月) 23:09:48.93
カミングスーンで涙目・・・。
58デフォルトの名無しさん:2011/10/10(月) 23:14:24.89
チュートリアルを試してみたけれど、
C#のプロパティみたいに生やすアクセッサはいいね

あとはDartにおけるCPANとかGemとか次第かな
59デフォルトの名無しさん:2011/10/10(月) 23:19:44.71
chrome web storeに、iPhoneみたいな課金文化が根付いてくれれば
60デフォルトの名無しさん:2011/10/10(月) 23:56:42.51
DOMが

document.query('#status').innerHTML

これな時点てWeb言語としては失格だと思うんだ
61デフォルトの名無しさん:2011/10/11(火) 00:03:14.63
Macでビルドしたらテスト失敗
めんどいな
素直にLinuxでやるか
62デフォルトの名無しさん:2011/10/11(火) 00:52:06.87
jQueryのっけられたら基本的に問題は無いが乗るのかこれ
63デフォルトの名無しさん:2011/10/11(火) 01:26:58.92
dartcってjs吐くんだが
helloworld.jsが28kb
64デフォルトの名無しさん:2011/10/11(火) 01:36:09.11
どうでもいい自作フレームワークごと抱え込んで他のライブラリ資産を活用しにくくしたGWTの失敗を踏襲してるのかな
65デフォルトの名無しさん:2011/10/11(火) 01:52:03.19
そりゃ新言語だからな
jqueryはjsベッタリだから無理じゃね
ちなみに>>60は約154kbだなw
こりゃブラウザに内蔵しなけりゃキツい
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...?
69デフォルトの名無しさん:2011/10/11(火) 03:56:47.72
型無し言語か・・・
70デフォルトの名無しさん:2011/10/11(火) 04:08:49.11
そんな、トゲアリトゲナシトゲトゲみたいなことを言わなくても!
71デフォルトの名無しさん:2011/10/11(火) 04:10:01.05
>>68
もしかして知らないの?
72デフォルトの名無しさん:2011/10/11(火) 04:11:12.64
JavaScriptが糞言語だから新言語を作るとして
JavaScriptへのトランスレータの形にせざるを得ないのがな。牢獄のようだ。
ウェブ標準にVMみたいなの積めんの?言語選択の自由をくれ
73デフォルトの名無しさん:2011/10/11(火) 04:24:00.41
>>72
そんなことしたら、また標準が肥大化して、
標準化される前の先取り個別実装が乱立して、
目も当てられなくならないか?

まあまずは率先してChromeに積んでくれってことだな
74デフォルトの名無しさん:2011/10/11(火) 04:33:20.39
// Fizz Buzz
// ttp://www.codinghorror.com/blog/2007/02/why-cant-programmers-program.html

main() {
  for (int i = 1; i <= 100; i++) {
    if (i % 3 == 0 && i % 5 == 0) {
      print('FizzBuzz');
    } else if (i % 3 == 0) {
      print('Fizz');
    } else if (i % 5 == 0) {
      print('Buzz');
    } else {
      print(i);
    }
  }
}

// 普通すぎワロタ
75デフォルトの名無しさん:2011/10/11(火) 04:35:59.49
javascriptにコンパイルしなくても
動くようにしてくれ
76デフォルトの名無しさん:2011/10/11(火) 04:53:21.41
普通にインタープリタもあるぞ

>>72
それなんてJavaApplet?
77デフォルトの名無しさん:2011/10/11(火) 04:56:32.19
もう、Webの人は、すーぐGolfするんだからー・・・
ttp://try-dart-lang.appspot.com/s/KWQR
78デフォルトの名無しさん:2011/10/11(火) 05:09:18.84
VMとJS変換の二本立てじゃjQueryは無理だな。
それにしてもなんでDOMをあんな前時代的な構文にしちゃったんだろう?
79デフォルトの名無しさん:2011/10/11(火) 05:13:49.29
for(int n=0;++n<101;)の方がよくね
80デフォルトの名無しさん:2011/10/11(火) 05:19:21.86
なんで?
81デフォルトの名無しさん:2011/10/11(火) 05:22:35.99
いやゴルフだし
82デフォルトの名無しさん:2011/10/11(火) 05:43:13.34
chrome以外対応する予定あるのかこれ
83デフォルトの名無しさん:2011/10/11(火) 06:12:03.30
現状じゃ他のブラウザがわざわざ対応するメリットがないっぽいが…
84デフォルトの名無しさん:2011/10/11(火) 06:21:20.30
gmailとかg+がこれで超進化
85デフォルトの名無しさん:2011/10/11(火) 06:30:34.56
syntaxがjava臭い
86デフォルトの名無しさん:2011/10/11(火) 06:52:34.76
Flash広告みたいなDart広告作って
金出して積ませればいい
87デフォルトの名無しさん:2011/10/11(火) 11:10:41.49
C系のシンタックスでないと流行らないという読みなのか……?
88デフォルトの名無しさん:2011/10/11(火) 11:35:38.91
母数の多い方を狙いに行ったのかもしれん。
89デフォルトの名無しさん:2011/10/11(火) 12:40:09.64
かっちりしたシンタックスで他にポピュラーなものでよさげなのがあるか?

Algol系とかLisp系とかHaskell系とか、どれも人気出なさそうだろw
90デフォルトの名無しさん:2011/10/11(火) 12:50:16.54
- 静的解析がしやすい
- スクリプトエンジンの性能を出しやすい

この2点しかメリットないのな、この言語。
今の時点では賛同する奴は増えないだろう。
JavaScriptのパフォーマンスで苦しんでる奴がそもそも多くない。
91デフォルトの名無しさん:2011/10/11(火) 12:54:30.10
v8とか速えからな
でも少し大きくなるとツラい
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がエラー吐いて死ぬ。
アドオン出るまで待つのがいいか。
96デフォルトの名無しさん:2011/10/11(火) 14:05:18.63
>>89
Python, Ruby


あとは、JavaScriptの貧弱すぎる標準ライブラリもなんとかしてほしかったが、
これはどうなんでしょう?
97デフォルトの名無しさん:2011/10/11(火) 16:09:41.09
>>72
C++も最初はCへのトランスレータだったしな。
あとはGoogleがどこまでこれに取り組むか。これ使ったアプリがどんと出てきたらいいんだがな。
98デフォルトの名無しさん:2011/10/11(火) 16:28:45.54
windows環境で成功した奴居ないの?
99デフォルトの名無しさん:2011/10/11(火) 16:47:57.49
>>96 Python はともかく、Ruby のシンタックスは gdgd だろ。
Python は Python でポピュラー度が微妙。すくなくとも見た目にとらわれる連中は
見た目だけで敬遠する部類。
100デフォルトの名無しさん:2011/10/11(火) 18:03:57.35
もっと革命的な言語をくれよ
101デフォルトの名無しさん:2011/10/11(火) 18:20:59.75
っ 言い出しっぺの法則。
102デフォルトの名無しさん:2011/10/11(火) 18:44:53.03
>>99
10年前からよくお越しくださいました。
103デフォルトの名無しさん:2011/10/11(火) 18:50:30.83
Ruby の構文が gdgd なのは変わってないだろw

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

俺の中で3大糞言語はPHPとC++とJavaScript
ただしC++たんはちょっと可愛いところもある
116デフォルトの名無しさん:2011/10/11(火) 22:02:20.63
糞言語と言えばRubyだろ
117デフォルトの名無しさん:2011/10/11(火) 22:05:23.62
Rubyは頑張って滅ぼさなくても自滅しそう
118デフォルトの名無しさん:2011/10/11(火) 22:12:26.24
一体何と戦っているんだ
119デフォルトの名無しさん:2011/10/11(火) 22:20:47.54
結局、gwtが文法的にウンコでgtgtだったんだよね?
みんな、いうほどjavaが好きでもなかったんじゃないの?
仕方なく結婚した不細工な嫁がjavaで
本当はc#を生涯の伴侶にしたかったんじゃないかな
120デフォルトの名無しさん:2011/10/11(火) 23:05:14.52
相手にされなくて涙目らしいなw
121デフォルトの名無しさん:2011/10/11(火) 23:52:57.14
仕様書のpdfみたけどjavascript1.5にプロトタイプ排除してクラスとジェネリックスと演算子オーバーライド付けただけじゃん。
V8といいgoogleがjs1.6以降の機能使う気ないのがよく分かるな。js2.0の悪いところ取っ払っただけ?
122デフォルトの名無しさん:2011/10/12(水) 00:14:10.29
cにクラスとgc付けてくれればそれだけで十分だったのに
なんで言語開発者は余計なものを付けたがるんだろう
おれさ、intがvarになってもうれしくないんだ
123デフォルトの名無しさん:2011/10/12(水) 00:18:08.43
intが桁溢れしたときのために多倍長変数のライブラリ読んだり、文字列にしたりとか
ニートにはわかるわけないだろうが
124デフォルトの名無しさん:2011/10/12(水) 00:39:35.83
>>122 自分で設計してみたら。「cにクラスとgc付けてくれればそれだけで十分」なんて
あっさり破綻してるからw
125デフォルトの名無しさん:2011/10/12(水) 00:51:35.75
> Dart をその発表日において全否定した者の一人として記憶していただいても構わない。
> Dart が私の予想に反して普及したならば、私は足を洗うべき、そう思うほど Dart の否定に掛けたい気持ち。


Twitterでこんなの見つけた
なんだこいつ?
126デフォルトの名無しさん:2011/10/12(水) 00:53:33.82
何を以てそこまで命がけの批判するのか…
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#で覚えたデザパタのテクニックをそのまま使えるのは嬉しい
132デフォルトの名無しさん:2011/10/12(水) 01:40:18.42
サイ本なんか読まなくてもそれなりに綺麗に書けるけどな
133デフォルトの名無しさん:2011/10/12(水) 01:47:24.99
プロトタイプベースはともかくとして関数をnewしたりするのがキモいのは同意せざるをえない
134デフォルトの名無しさん:2011/10/12(水) 01:49:13.84
そもそもjsにnewなんて必要ねえだろ
135デフォルトの名無しさん:2011/10/12(水) 02:14:08.19
>関数をnewしたりするのがキモいのは同意せざるをえない
誰もそんな事言ってないだろ
136デフォルトの名無しさん:2011/10/12(水) 02:28:47.90
>>131
>ついでにjavascriptの意味プーなオブジェクト指向や
>javaやc#で覚えたデザパタのテクニックをそのまま使えるのは嬉しい
この2行だけで結局JSを理解していない人ってのがよく解る
137デフォルトの名無しさん:2011/10/12(水) 05:00:22.46
流れがウザイ
言語の話してるのに人格攻撃初めて
他人を見下して優越感に浸ってる暇があるなら
その時間を他の事に使えばいいのに

あれですかソニー製品をけなされたら発狂したり
geforceけなされたら発狂したり
自民をけなされたら発狂したり
そういう種類の人ですか
138デフォルトの名無しさん:2011/10/12(水) 07:58:55.24
Java厨は放置に限る
139デフォルトの名無しさん:2011/10/12(水) 08:25:31.00
Javascriptを使ってなさそうな層が反対しててワラタ。
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を支持するわけがない
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ユーザみたいなものか?
145デフォルトの名無しさん:2011/10/12(水) 09:04:12.24
まあVB.NETは誰が見てもクソだからな(予定調和
146デフォルトの名無しさん:2011/10/12(水) 09:06:03.59
そもそもMS発のゴミはすべらからく…
147デフォルトの名無しさん:2011/10/12(水) 09:07:41.39
>>142
DartのDOMってなんだよ
DOMはDOMだろ
148デフォルトの名無しさん:2011/10/12(水) 09:32:08.41
>VBはクソだ!と叫ぶunixユーザみたいなものか?
いや、そういうんじゃなくてモダンなjsの実装がmozillaしかないことと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のやりたいことを実現できないの?
152デフォルトの名無しさん:2011/10/12(水) 10:47:39.04
>>148
いや、そんな話はしていないし。
まあいいけど、Dartは大規模開発に必要な機能をそろえるのと、
誰でも使えるようにするのが最優先で、
高度な(頭を使う)機能は削る方向性じゃないのか。
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
申し訳ございませんでした
あなたのおっしゃるとおりだと思います
157デフォルトの名無しさん:2011/10/12(水) 11:51:21.04
DOMはDOM、XPathはXPath
バカばっかだな
158デフォルトの名無しさん:2011/10/12(水) 11:53:41.99
XPathはトレンドからちょっと外れてきてるし
XPathよりもquery selectorを選択するのは普通だと思うんだけど
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()になって誰が受け入れるというのか
それを跳ね返すほどの大きなメリットがあれば違うのかもしれないがそうでもないし
161デフォルトの名無しさん:2011/10/12(水) 12:25:28.89
webサイドを構造化言語で書きたいならjavaがすでにあるじゃない。
162デフォルトの名無しさん:2011/10/12(水) 12:32:23.08
サーバーサイドとWebサイドを統一した言語で書けると思ってたんだが、もしやこいつの対象ってクライアントサイドだけ?
163デフォルトの名無しさん:2011/10/12(水) 12:40:54.46
>>161
そしてgoogleはGWTを発表し、失敗したのであった。
164デフォルトの名無しさん:2011/10/12(水) 12:41:59.71
ついでにCSSOMもやって欲しかった
165デフォルトの名無しさん:2011/10/12(水) 12:42:25.06
全部javaじゃあめんどくさいから
nodeやらが流行るんだろさ
166デフォルトの名無しさん:2011/10/12(水) 12:45:42.82
>>159
なんでここまでやっておいてXMLHttpRequestはそのままなんだ?
XMLとれよ
167デフォルトの名無しさん:2011/10/12(水) 12:47:42.08
これからのライブラリの充実次第だよな
ローカルスクリプトに悪くなさげ
168デフォルトの名無しさん:2011/10/12(水) 12:50:01.03
セミコロンとかダサすぎ
169デフォルトの名無しさん:2011/10/12(水) 13:00:13.43
NodeのひとはDart支持してる
http://twitter.com/#!/ryah/status/123576132250501120
170デフォルトの名無しさん:2011/10/12(水) 13:26:21.45
ファイルを開けるの?
171デフォルトの名無しさん:2011/10/12(水) 13:57:12.12
DHHは糞味噌に貶してるな
172デフォルトの名無しさん:2011/10/12(水) 14:35:03.14
トランスレーターがちゃんとしてるなら使ってもいいんだけどな
173デフォルトの名無しさん:2011/10/12(水) 15:04:27.50
>>169
>>171
どちらもよくわかる反応だな
174デフォルトの名無しさん:2011/10/12(水) 17:35:26.34
>>165
それはわかる。
でもdartは、まためんどくさいほうに逆戻りだ。
ならば、素直にJavaに戻ればいい。もしくはScalaに。
175デフォルトの名無しさん:2011/10/12(水) 17:43:35.10
Javaと比べれば段違いに楽だと思うけどなぁ
176デフォルトの名無しさん:2011/10/12(水) 17:52:32.56
>>175
新しい文法やライブラリを覚えるコストや商用なら信頼性やセキュリティなどのコストをちゃんと勘案してる?

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

なぜ、新しい「言語」なのか?
177デフォルトの名無しさん:2011/10/12(水) 17:54:18.01
新しいパラダイムを加えるならわかる。Scalaは関数型というパラダイムを追加したという点において
新しい「言語」である意味がある。
178デフォルトの名無しさん:2011/10/12(水) 17:58:35.16
>>176
Google自身、GWTやClosure LibraryやTraceurを作ってみての結論なんじゃないの?
179デフォルトの名無しさん:2011/10/12(水) 18:24:19.16
>>174
Javaアプレットで作って、iPhoneに対応しませんみたいなサービスがいいのか?
180デフォルトの名無しさん:2011/10/12(水) 18:49:49.21
どうせ新言語やシステムが熟成するのに時間がかかるからな
181デフォルトの名無しさん:2011/10/12(水) 18:51:03.47
Script# のGoogle版ってところか
182デフォルトの名無しさん:2011/10/12(水) 21:40:37.08
しかしコンパイル結果はデカイけど
速度的にはJSとあんまかわらないのな
183デフォルトの名無しさん:2011/10/12(水) 21:47:19.09
gwtじゃ、import地獄に落ちるし流行らなかった。c#は政治的な理由で却下。
c++は型ガチガチだし、今日日、好んで使いたいような言語でもない
dartって言語が生まれてくれて良かったと思うが中の人のやる気がいつまで続くか心配
しかし、googleって蟻の巣に爆竹つめて吹き飛ばして遊んでも、何も感じないガキみたいな組織だな
184デフォルトの名無しさん:2011/10/12(水) 21:49:51.57
>>178
うーん、それにしても全力で間違ってるというか・・・
数撃ちゃ当たるうちの外れたほうの一つだったらいいんだけど
185デフォルトの名無しさん:2011/10/12(水) 21:51:53.82
>>183
NativeClientは見方によってはC++に手を出したとも言えなくもない
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として見てくれって回答になるんじゃないだろうか。
188デフォルトの名無しさん:2011/10/12(水) 22:03:10.61
>>185
過去の資産を動かすためのもんじゃないの?
papper apiからDOMオブジェクト弄るの面倒そうに見えたぞ
dartはデリゲートも無名関数もあって、c++とは比較にならないぐらい今時の洒落た言語
あんまり過去の言語に拘るとpascalやperlみたいな不遇に巻き込まれそうだな
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
それはないな
192デフォルトの名無しさん:2011/10/12(水) 22:13:02.52
>>182
javascriptのソースに変換して動かしてるからjavascriptと同じだよ
193デフォルトの名無しさん:2011/10/12(水) 22:13:17.66
普及した言語は、現実との折り合いや潜在需要を適切にカバーしたという点で十二分に素晴らしいもの
ばかりだと思うが
既に需要が満たされてる領域に、単にブラッシュアップしました程度で切り込んでも、そりゃ普及せんわ
194デフォルトの名無しさん:2011/10/12(水) 22:16:19.37
>>193
それと言語そのものが素晴らしいかどうかはまた別の話
普及してるC言語やC++が言語として素晴らしいと言うと異論が噴出すると思うが
195デフォルトの名無しさん:2011/10/12(水) 22:17:55.03
Objective-CはCの美点を捨てた時点でC++とは用途の違う言語になった
APIやライブラリの都合でもなきゃ、わざわざ利用する理由は無い
196デフォルトの名無しさん:2011/10/12(水) 22:21:37.38
>>194
Cが満たしている需要をきっちり埋め切るポテンシャルのある言語で、Cと別次元に素晴らしいという
言語も無いだろ
そもそも、言語として素晴らしい、と言って異論が噴出しない言語なんてあるのか?
197デフォルトの名無しさん:2011/10/12(水) 22:21:45.10
たしかに、dやgolangに需要はなかった。
dartが流行るかもしれない理由はこれまでにブラウザ上で動作しDOMを弄れる
近代的な型付き言語が今までになかったことに起因する。
需要が満たされてるって感じるのはwebチラシ土方ぐらいじゃないかな?
198デフォルトの名無しさん:2011/10/12(水) 22:23:54.38
別にdartが普及せんと言ってるわけでもないんだが
そもそも仕様ちゃんと見てねーし
199デフォルトの名無しさん:2011/10/12(水) 22:25:53.10
>>196
だから、言語そのものの出来と普及度が相関したことは一度もないって言ってるだけなのに別の指標を持ち出してこられても…
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
需要を完全に切り離したら、言語がなぜそういう仕様を持ったのか、なんてちゃんと理解できないじゃん
そういうのバッサリ切り離して「こっちの言語の方が出来はいい」ってやる考え方には疑問を感じるのよ
切り離さないで考えたら、普及してる言語はしっかり出来がいいから普及した、って思えると思うのよ
つーかマンドクセ
204デフォルトの名無しさん:2011/10/12(水) 22:32:48.38
>>195
c++とcは別の言語だろ?ポインタと配列の区別してるのかコンパイラが文句いってくるぞ
配列が0で初期化されたり、されなかったりだとか
大域変数のリンケージも違って分割コンパイル時に嫌になる

使ったことないが、objective-cは完全なcのスーパセットなんだろ?
ポインタ周りが完全に互換で、テンプレートメタな変態と付き合わなくてすむなら、こっち使うわ
c++のクラス内関数のポインタとかイミプーもいいとろ
205デフォルトの名無しさん:2011/10/12(水) 22:33:48.78
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
206デフォルトの名無しさん:2011/10/12(水) 22:35:08.00
>>204
使ったのことないのに言ってるのかよ・・・
207デフォルトの名無しさん:2011/10/12(水) 22:35:44.15
ここの奴らもdartなんて使ったことないだろw
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相当の仕組みを導入してしかるべきなんだが
そこら辺はやっぱり何も考えてなかったんだろうなぁ
210デフォルトの名無しさん:2011/10/12(水) 23:19:47.09
>>187
そう。まさにそうれだよ。
つまりDartってのはRailsみたいなもんだ。
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とかちゃんと言語仕様みたのかよ
なに言ってんだか意味わかんね
216デフォルトの名無しさん:2011/10/13(木) 00:23:49.02
>>192
そりゃそうなんだが
出力コードのデカさみると
もっと遅くなりそうに見えるんよ
詳しくみてないが
今の段階でもまあ普通なコードがでてるという事な
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はパフォーマンスや特殊な状況での安定性を重視したものにするべきだ。
221デフォルトの名無しさん:2011/10/13(木) 03:55:06.13
jQuery組み込んでもE4Xみたいに見向きもされないってfor each-inくらいとっとと標準化しろよ。
222デフォルトの名無しさん:2011/10/13(木) 05:10:48.47
jQueryならぬdQueryの登場が待たれる
223デフォルトの名無しさん:2011/10/13(木) 06:13:52.21
関数スコープなのかブロックスコープなのか解る人いる?
224デフォルトの名無しさん:2011/10/13(木) 07:18:50.07
ブロック
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
226デフォルトの名無しさん:2011/10/13(木) 08:13:43.96
こんなしょーもないところでjsとの差異を生んでるからコンパイル後のコードが重くなるんだな…
227デフォルトの名無しさん:2011/10/13(木) 08:55:02.04
結論としては
車輪の再発明でした
ですね
228デフォルトの名無しさん:2011/10/13(木) 12:09:51.60
>>224, 225
多謝です。でも嬉しいなブロックスコープ。
229デフォルトの名無しさん:2011/10/13(木) 12:11:02.01
とはいえWebブラウザという道路を走る車輪は実質的にjsしかなかったからな
230デフォルトの名無しさん:2011/10/13(木) 12:34:26.12
>>220
だから、ライブラリでも組み込みAPIでも何でもいいから最初から用意しないのは理解できないといってるわけで
hiってサンプル見ただけで敬遠されるぞ
231デフォルトの名無しさん:2011/10/13(木) 12:34:40.05
むしろjava appletの再発明に見えなくもない
232デフォルトの名無しさん:2011/10/13(木) 12:42:41.96
>>230
そんなことで敬遠するようなのは、そもそもプレビュー段階の今の時点で見てるのが間違いだ
お前のことだよ、さっさと消えな
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ポートしろよ
238デフォルトの名無しさん:2011/10/13(木) 15:21:03.14
新しく作るなら必要なものいれとけよという簡単な話
239デフォルトの名無しさん:2011/10/13(木) 15:21:35.90
Androidのプリインストールアプリのように邪魔になる可能性もあるのだから、組み込みで入れちゃダメだろ。
240デフォルトの名無しさん:2011/10/13(木) 15:25:55.63
別にダメということはない
241デフォルトの名無しさん:2011/10/13(木) 15:32:34.60
そんなことよりお前らデニス・リッチーに焼香あげろ
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入れろ」とかアホだよな…。
244デフォルトの名無しさん:2011/10/13(木) 16:52:30.43
固まってるのに言ったらアホだと思うけど
245デフォルトの名無しさん:2011/10/13(木) 17:45:56.85
マジやん。リッチーさん。ご冥福をお祈りします
246デフォルトの名無しさん:2011/10/13(木) 17:51:47.84
↓これって並列処理かけるってこと?


Isolateによる並列化:
各 Isolateは概念的なプロセス、Erlangスタイル
非共有
メッセージパッシングによる通信
Isolateは1つ以上のポートを持つ
Isolateは並行に走れる
247デフォルトの名無しさん:2011/10/13(木) 17:53:58.99
本の虫の人がDart絶賛してたな
正直Dartは流行ってほしい
248デフォルトの名無しさん:2011/10/13(木) 17:54:36.33
それメモリを共有しないってのがアレだよな
スクリプト的だからいいか
249デフォルトの名無しさん:2011/10/13(木) 18:09:34.73
dartはC++使ってる人の評判がよさそう
250デフォルトの名無しさん:2011/10/13(木) 19:20:16.15
Java使っている人も歓迎すると思うよ。
251デフォルトの名無しさん:2011/10/13(木) 19:22:53.08
Javascriptよりはいいかなって程度
252デフォルトの名無しさん:2011/10/13(木) 19:26:21.91
言語シェアでいったら
Java C C++ が三強だからな
この3つに気に入られたら勝ちだよ
253デフォルトの名無しさん:2011/10/13(木) 19:42:12.34
アホ丸出し
254デフォルトの名無しさん:2011/10/13(木) 19:45:55.51
いや、利用者よりベンダーの動きにかかってるだろう

現状、MozillaはJSへのこだわりを捨てきれず、
MSはGoogleがその気なら俺も言語作るわとか言い出し、
Appleは無視を決め込む
…って感じであまり望みがなさそう
255デフォルトの名無しさん:2011/10/13(木) 19:52:59.84
金やればMozillaとOparaは積むだろ
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への変換で充分と考えているのか
258デフォルトの名無しさん:2011/10/13(木) 20:36:54.28
真面目に中間言語作ってトランスコードしてるんだったら、
アプリケーション制作の元言語として開発環境を整えるのにはいいかなーと思うな。
ちゃんとやってればLLVMに食わせたりできそうだし。
259デフォルトの名無しさん:2011/10/13(木) 20:48:00.77
IEに囚われたい奴は囚われてればいいんじゃない?
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は放置でいいだろうけど残りは対応するとは思えない
265デフォルトの名無しさん:2011/10/13(木) 21:32:57.80
Mozzila
モッツィーラ
266デフォルトの名無しさん:2011/10/13(木) 21:35:50.35
>>224,225
昔スクリプト系のスコープで嵌ったことあるからうれしい。
dart流行って欲しいな。
267デフォルトの名無しさん:2011/10/13(木) 21:45:22.24
>>257
dartで作られたwebサービスが増える。
しかし、変換されたjavascriptは重い。
ブラウジングを快適に過ごすために、vmを載っけたchromeにユーザーが移る
IEユーザー激減
仕方なく他ブラウザにもvmが積まれる

流行らせちまってデファクトスタンダード目指そうって流れじゃね?
java appletもsilver lightも1社だけじゃ普及もメンテも困難で、
標準規格のhtml5+javascriptである必要があるんだろう。
どこもセキュリティホールに責任持ちたくないだろうし
268デフォルトの名無しさん:2011/10/13(木) 22:06:21.12
それはちょっと夢見過ぎですね
269デフォルトの名無しさん:2011/10/13(木) 22:11:44.88
html5は正直HTML3とXHTML2.0とはなんだったのかと問いたい。
ぶっちゃけ対応するのはcanvasとvideoだけでしょって感じ。
270デフォルトの名無しさん:2011/10/13(木) 22:13:25.25
>>269
日本語でおk
271デフォルトの名無しさん:2011/10/13(木) 22:42:19.52
>>268
作るのはお前が居るようなショボくれた零細企業じゃなくって、YCの連中だよ
272デフォルトの名無しさん:2011/10/13(木) 23:01:50.65
>>267 >>271
Webの世界で古いIEを無視できる状況にはまだまだなっていないという現実を忘れるなよ、大手ならなおさらのこと。
ようやっとIE"6"を無視するというか移行を誘導するサイトが出てきたという状態だっていうのに。
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一社にそこまでの力があるのか?というのが皆の疑問なわけで
275デフォルトの名無しさん:2011/10/13(木) 23:30:05.88
疑問というか無理だよねってのはgoを見れば明らかなわけで
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に載ったのか教えていただきたい
279デフォルトの名無しさん:2011/10/13(木) 23:42:51.77
>>275
goはシステム用プログラミング言語で地味だし、
並列化のための仕組み入れても手に負えないし、
用途がニッチすぎたんじゃないか?

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

電源入れたらbasicでゲームを組んだ時代から
ブラウザを起動してdartでゲームを組む時代になって
子供たちがプログラミングを覚えて廃人になっていくんじゃないかな
280デフォルトの名無しさん:2011/10/13(木) 23:45:09.07
これは痛い…
281デフォルトの名無しさん:2011/10/13(木) 23:52:10.04
goはもうすぐやっとバージョン1で、これからやで
282デフォルトの名無しさん:2011/10/13(木) 23:58:25.64
今時セミコロンはないやろ。セミコロンいらんやん。
283デフォルトの名無しさん:2011/10/14(金) 00:00:31.64
右端で折り返したときにバックスラッシュで改行エスケープって面倒やん
284デフォルトの名無しさん:2011/10/14(金) 00:01:43.99
折り返せるポイントあるの知らんの?だっさいわ
285デフォルトの名無しさん:2011/10/14(金) 00:01:54.67
goはもうみんな関心がなくなってるだろ
286デフォルトの名無しさん:2011/10/14(金) 00:03:54.71
d8かなり速いしまずはサーバサイドでの
普及を狙ってるんじゃね
クライアントに入れるには時間がかかるし
nodeみたいなのが早晩出来るよ
goは面白いけどツールチェインが…
287デフォルトの名無しさん:2011/10/14(金) 00:17:26.55
サーバーサイドにはもう
JavaやらScaleやらASP.Netがあるだろ
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++プログラマのリサイクルだろ
290デフォルトの名無しさん:2011/10/14(金) 00:35:10.17
object levelやclass levelのprivacyがないのは興味深いな。
MLによると、議論の末、あえて省いたそうだが。
291デフォルトの名無しさん:2011/10/14(金) 00:40:57.90
P言語と同等の性能って、遅すぎだろいくらなんでも
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では我慢できなかったんじゃね?
294デフォルトの名無しさん:2011/10/14(金) 01:33:34.21
>>290
goも同じだよな
細かいのは意味があまり無かったとう結論なんじゃね
295デフォルトの名無しさん:2011/10/14(金) 01:53:50.09
最近その辺取っ払う言語多いよな
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は開発効率の改善が目的だろうから流行る要素はまだあると思う
過去にこういうのあったっけ?
301デフォルトの名無しさん:2011/10/14(金) 08:01:26.87
>>289
型は任意でしょ
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ランタイムライブラリを組み込むだけで
サイズの問題はかなり軽減できそうだね
今日試したら出力コードが小さくなってた
305デフォルトの名無しさん:2011/10/14(金) 16:03:11.16
>>121
> 仕様書のpdfみたけどjavascript1.5にプロトタイプ排除してクラスとジェネリックスと演算子オーバーライド付けただけじゃん。

それがいいのだとなぜわからん。あとオーバーロードな
306デフォルトの名無しさん:2011/10/14(金) 16:21:04.25
つーかJavaScriptが超クソ言語であり即刻爆発するべきという認識がないやつが多くて困るぜ。
あとV8がいくら速くなったっつーでもC++やJavaと比べるとまだ圧倒的に遅いとかさ。

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

面白みがないなどと言ってる馬鹿はただの言語オタ
また、JavaScriptやJavaでよくね?と言ってるやつは今現在のウェブの致命的問題を理解できていない馬鹿である。
Dartは真のエンジニアを判別するよい踏み絵だ。
307デフォルトの名無しさん:2011/10/14(金) 16:27:10.10
そんな画期的なもんじゃないからこれ
308デフォルトの名無しさん:2011/10/14(金) 16:31:24.70
>>306は自分は色々知らない馬鹿ですと言いたいのか
309デフォルトの名無しさん:2011/10/14(金) 16:32:11.23
レキシカルスコープがまともになったりvar無しの変数宣言も
グローバル変数の宣言ではなくエラーとして弾くなど、現在の
JavaScriptで残念なところはきっちり潰している気がする。
この辺りは互換性を気にしながらJavaScriptを拡張するやり方
では難しいのでは。

あとラムダともうひとつ無名関数の書き方が増えているので、
この辺りでどうコードの体裁が変わってくるのかも楽しみ。
310デフォルトの名無しさん:2011/10/14(金) 17:01:44.24
>>307
画期的とか言い出すとDartのコンセプトを見誤るよ
歴史的なシガラミを捨てて、ただ当たり前のことを当たり前にこなせる言語としてDartは設計されてるんだから

トリッキーな書き方でアドレナリン出したいならCoffeeDartでも作ればいい
311デフォルトの名無しさん:2011/10/14(金) 17:04:58.86
なぜかチョコレートが食べたくなった
312デフォルトの名無しさん:2011/10/14(金) 17:06:47.31
というか最近のJSエンジンは速度競争でチューニングばりばりで言語仕様の拡張に弱くなっちゃってるし
313デフォルトの名無しさん:2011/10/14(金) 17:06:58.95
そうだ。Dartの良さは、今まで考えもしなかった新機能があるんじゃなくて、
すでに価値が実証された機能が、自然に使えるように設計されていて、
しかも、他の言語にあるような落とし穴がないということだよ。

落とし穴とは、例えば複雑怪奇な暗黙の型変換だったりとか、
文脈によって改行が終端記号とみなされたりするとか。
314デフォルトの名無しさん:2011/10/14(金) 17:07:31.42
趣味でHaskellやっている奴も
仕事じゃPHP使っているしな
315デフォルトの名無しさん:2011/10/14(金) 17:26:05.20
公式トップにもtime-tested featuresって書いてあったね
でも言語そのものも進化を止めるわけにはいかないというのもまた
time-testedなわけで最終的にはdirtになるというオチが見えてる
316デフォルトの名無しさん:2011/10/14(金) 17:51:19.54
こんなんで喜んでるのjavascriptしか使ったことないやつだろ
317デフォルトの名無しさん:2011/10/14(金) 17:57:25.36
>>306
>JavaScriptみたいな仕様が膨大で

ごめん、このへんから既に同意できない…。
318デフォルトの名無しさん:2011/10/14(金) 18:01:01.37
JSはCの正統進化だと思うね。開発環境がチープなことが多いけど。
DartはベターJSってかんじなんでしょ?
319デフォルトの名無しさん:2011/10/14(金) 18:15:29.83
なにが言いたいのかわからんな
320デフォルトの名無しさん:2011/10/14(金) 18:43:35.13
時間を表示させたいのですが
print(now());って書いたらエラーがでます
now()を表示させたいのですがどなたかご教示おねがいします
321デフォルトの名無しさん:2011/10/14(金) 18:45:53.40
JSがCの正統進化ってどういうことだよ…
322デフォルトの名無しさん:2011/10/14(金) 19:02:05.86
まあC++よりは
323デフォルトの名無しさん:2011/10/14(金) 19:02:46.95
>>320
new Date.now()じゃないの?多分
main() {
print(new Date.now());
}
324デフォルトの名無しさん:2011/10/14(金) 19:03:17.02
>>316
JavaScriptしか使えなかったからこんなんで喜んでいるんだろボケ。
ブラウザの上で他のまともな言語が使えるのであればとっくにそちらに
移行しているわ。

別に最強言語対決じゃないんだから。喜んでいる人の理由とか空気とか
全然理解出来ていないな。
325デフォルトの名無しさん:2011/10/14(金) 19:06:43.75
vbとかIE限定で使えなかったか?C#あたりも・・・
326デフォルトの名無しさん:2011/10/14(金) 19:18:31.95
Javaがなかった世界からの来訪者かw
327デフォルトの名無しさん:2011/10/14(金) 19:24:56.52
MSワールドって実在してるとは思えない異次元の世界みたいだな
なにやってももう鼻で笑われるだけ

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

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

今:ブラウザーを制するものは世界を制す・・・けど世界を独占しているブラウザーなんて存在しない
329デフォルトの名無しさん:2011/10/14(金) 19:42:49.04
>>325
自分でIActiveScriptHost実装してカテゴリ付きで登録するとHTAとかIEコンポーネントで好きな言語が使えるようになるよ
さらにMSからセキュリティートークン盗み出してくればIEでも使えるようになる
330デフォルトの名無しさん:2011/10/14(金) 19:48:11.66
C++標準化の某人が絶賛してて興味持った
331デフォルトの名無しさん:2011/10/14(金) 20:10:25.22
これ組み込み型すらないのか
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"]; が必須みたい。
334デフォルトの名無しさん:2011/10/14(金) 21:02:59.45
>>328
ブラウザかんけいないだろ。
OSはあってるな。
iPhoneもってるappleがキャリア
を好きなように従えてるからな。
いまは、OS>ネットワーク
335デフォルトの名無しさん:2011/10/14(金) 21:19:01.10
>>323
そういう風に使うのでしたか
勉強になりました
336デフォルトの名無しさん:2011/10/14(金) 21:21:41.52
せめてAjaxが流行る前位に出してくれたら
337デフォルトの名無しさん:2011/10/14(金) 21:37:21.37
>>333
一つの宣言文で複数の変数を宣言するのはCの悪い癖だ。
338デフォルトの名無しさん:2011/10/14(金) 21:41:50.38
なんでXcode・・・
339デフォルトの名無しさん:2011/10/14(金) 21:47:52.49
>>337
var conf = {
  param1: "aaaa",
  param2: "bbb",
  ...
}

みたいにオブジェクトとして設定や初期化パラメータを記述するのは比較的普通
だったから、キーの値に引用符が強制されると正直ウザい。
340デフォルトの名無しさん:2011/10/14(金) 21:53:58.07
var conf = {
'JSはkeyがこんなんでもOKだったんだけどどうなの?' : 'string data'
}
341デフォルトの名無しさん:2011/10/14(金) 22:02:23.05
JSONの仕様に合わせたんだろ。<引用付の強制
342デフォルトの名無しさん:2011/10/14(金) 22:08:02.59
>>302
gwtがリリースされた時点でjavaにlambdaがあれば、もう少しだけ流行っていたと思うんだ

>>328
今の主戦場はブラウザとタブレットPC。とクロスプラットフォームの標準化。
予想に反して個人単位でiPadが普及すると、OSの勢力図までガラリと変わるとだろう
しかし、これはどこかのベンダが一人勝ちすることはないプロレスみたいなもの
一人勝ちすると独占禁止法で訴えられ、自由競争による進歩もとまる
銭稼ぐためにチマチマと製品を出してんだろうな
343デフォルトの名無しさん:2011/10/14(金) 22:09:05.32
googleもさMSみたいに己の道に突き進んでるね
最近はgoogleは嫌い
344デフォルトの名無しさん:2011/10/14(金) 22:11:07.85
そんな時、ふと頭をよぎるのはSun。
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.
346デフォルトの名無しさん:2011/10/14(金) 22:20:30.76
ベンチャーですらないgoogleに銭出してくれたのがsunじゃないか
347デフォルトの名無しさん:2011/10/14(金) 22:22:55.51
>>342
独禁法とは関係なく、一社独占ってのは、もう現代では起こらないだろ。
現代では、もうマイケル・ジャクソンが現れないのと同様に。
348デフォルトの名無しさん:2011/10/14(金) 22:32:28.27
クラスベースなのはいいけど、クラスにあとから追加できないのは色々困りそう。
349デフォルトの名無しさん:2011/10/14(金) 23:00:04.00
なんかPHPの前に屍累々ッて感じw
PHPみたいな糞言語簡単に潰せるだろうと色々出してるんだろうが
手軽さで全然かなわない
350デフォルトの名無しさん:2011/10/14(金) 23:03:35.96
お前は何を言ってるんだ
351デフォルトの名無しさん:2011/10/14(金) 23:05:51.29
>>345
あ、そうなんですか。一応予定では引用符無しでも書けるようになるんですね。
でも流石にx.nameで値を読み出すのは無理と(こちらは流石に捨てるべき横着か)。
352デフォルトの名無しさん:2011/10/14(金) 23:12:12.35
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
356デフォルトの名無しさん:2011/10/14(金) 23:42:31.14
またモルモン教徒か。はてなから出てくんなよ。
357デフォルトの名無しさん:2011/10/14(金) 23:51:13.60
>>342
予想に反してじゃなく
タブレットはiPadの一人勝ちだわ
3つの子供にも80のおばあちゃんにも使える
googleがwebに力いれるのは正解だろな
358デフォルトの名無しさん:2011/10/15(土) 00:03:49.24
アマゾンのタブレットはどうよ
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のようなフレームワークも書けない気がする
362デフォルトの名無しさん:2011/10/15(土) 00:10:50.86
今のGoogleは誰かが作って有料で売ってる製品を買収してタダで出すしか能がないから
363デフォルトの名無しさん:2011/10/15(土) 00:14:23.14
>>361
>DSLとかに向いてなさそうだし

どの辺が?
364デフォルトの名無しさん:2011/10/15(土) 00:19:45.70
365デフォルトの名無しさん:2011/10/15(土) 00:31:44.00
ruby信者はどこでもキモいな。

>>305
js1.5が使いたいならV8でいい。いい加減1.7と同等のコード書かせてくれ。
dartはアクターやりたかっただけだろ。
366デフォルトの名無しさん:2011/10/15(土) 00:48:46.16
>>363
間違ってたら済まんけど、ざっと見た感じでは
evalもなさそうだし、その上で演算子以外の記号に
意味をもたせるようなこともできなそうだし、
継承とかインスタンス生成なんかの動作もprototypeみたいなものがないから
自由度がなさそうだし

まあ凡庸なことしかできないようにすれば
個人プレーみたいなのを防いで多人数が理解するコストを
少なくすることが出来るんだろうけどw
367デフォルトの名無しさん:2011/10/15(土) 00:51:43.70
evalとか勘弁してくれよ
368デフォルトの名無しさん:2011/10/15(土) 00:53:48.57
タブレットだけで考えたらiOSの一人勝ちなんだろうが、
家電や玩具にandroidでも積んでリモートから操作するような未来は創造されんのかな
androidがオープンである強みだと思うんだけれどもウェブ屋にはそこまで頭回らないんだろうな
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じゃね?
373デフォルトの名無しさん:2011/10/15(土) 01:03:20.45
いまんところリフレクションの要素が皆無だからなぁ。
374デフォルトの名無しさん:2011/10/15(土) 01:04:52.85
開発時にアホが適当なコード書かないように型チェック
リリース時に寛容になる
375デフォルトの名無しさん:2011/10/15(土) 01:11:58.64
>jQueryとか作者も想定していない言語の使い方だろう
15年越しで出てきたライブラリなんて視野に入れるわけないしjQuery使ってる奴らは言語使ってるんじゃなくてライブラリ使ってるんだろ。
今はテスト段階で言語以外の物は何も無いどころか言語仕様すらまだ全部実装されてない段階でjQueryjQuery馬鹿か。
376デフォルトの名無しさん:2011/10/15(土) 01:12:03.97
静的解析はやりやすそうだから、開発ツールは作りやすそうだし
性能は出せそうだ
ただ、ジェネリックや型周りでオーバーヘッドがかからないのだろうか
という疑問があるが
377デフォルトの名無しさん:2011/10/15(土) 01:13:14.46
>>375
意味がわからん
そいつらは紛れもなく、Javascriptを使ってるだろ
378デフォルトの名無しさん:2011/10/15(土) 01:18:45.22
トランスレータとVM両方だとジェネリックスは型消去とRTTIどっちだろうか。
どこかに書いてあったっけ?どっちにしてもけっこう面倒くさい問題にぶち当たると思うが。
379デフォルトの名無しさん:2011/10/15(土) 01:22:05.41
>>368
お前の言う未来は
100円のcpuでandroid走らせるってこった
後20年はかかる
380デフォルトの名無しさん:2011/10/15(土) 01:31:49.02
GoogleEarthとか、パックマンとか、自動車の自動運転とかやっちゃう
Googleには普通に便利なものじゃなくて、あっと驚く
ワクワクするような期待してたのに
これじゃあ、.Netが出てきた時の方がよっぽど革命的だったなあ
期待の仕方を間違えてた
これからはMicrosoftにでも期待するわw
381デフォルトの名無しさん:2011/10/15(土) 01:32:53.43
evalかリフレクションはなんだかんだで最終的には搭載される予感
382デフォルトの名無しさん:2011/10/15(土) 01:38:59.52
>>380
> GoogleEarthとか、パックマンとか、自動車の自動運転
> あっと驚くワクワクするような期待してた

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

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

>>400
VBのリフレクションってなんだよw
VB.NETのことならさすがにまだ新しい言語だしw
型情報を取得する所のことを言ってるのかw
そもそも、Vbより古くならない言語ってなんだ?
lispか何かか?w
403デフォルトの名無しさん:2011/10/15(土) 03:05:04.52
> VBのリフレクションってなんだよw

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

最近といってもC++以降(含む)だから、
結構前からだけどな。
409デフォルトの名無しさん:2011/10/15(土) 03:20:16.36
リフレクションはもはや言語の基本機能の一つ
ループや比較やクラスや例外処理などと
同じレベルのもの。
410デフォルトの名無しさん:2011/10/15(土) 03:20:41.72
>>405
確かに、evalはやりすぎかもしれないけど、
DSLから安直にJavascript機能にアクセスするのには役立つ面もあるな
どちらにせよ、リフレクション的な機能ってことで方向性は一括りにできるので
個別の機能を論じるより、方向性で議論した方が良いように思う
411デフォルトの名無しさん:2011/10/15(土) 03:22:17.98
リフレクション覚えたばっかりのガキか?
なんでもリフレクションにすんなよ。

ある言語から、他の言語の呼び出しなんて
ただのバインディグだ。リフレクション関係ない。
412デフォルトの名無しさん:2011/10/15(土) 03:26:05.77
>>408
動的というより、自由度の高い言語と言った方が良いかもしれない
昔の言語でもそういう傾向なんだよ
LispやCはPascalより古くならなかったよね
413デフォルトの名無しさん:2011/10/15(土) 03:29:03.27
>>411
dslからevalの下りの所?
evalは自分自身のコードを作って呼び出す使い方するし
バインディングっぽく聞こえたかもしれないけど
リフレクションの方が近いよ
414デフォルトの名無しさん:2011/10/15(土) 03:41:26.61
つかリフレクションがないから古いとか
新しいとかそういうレベルの話じゃないし
evalとリフレクションには遠い隔たりもある
どっちにしろ不要な機能だな
415デフォルトの名無しさん:2011/10/15(土) 03:43:58.25
>>413は一度継続で洗脳するしかない
416デフォルトの名無しさん:2011/10/15(土) 03:50:15.24
「evalが無かったらjsonの発想も多分生まれなかったんだぞ、スゲーだろ」
と言おうと思ったが、yamlがあるからやめといたw
417デフォルトの名無しさん:2011/10/15(土) 03:52:30.24
>>414
もしDartでRoRみたいなものがRubyとほぼ同等に
簡単に実現出来るなら不要と認めるが、
できないだろうから賛同できない
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 が典型的な例
420デフォルトの名無しさん:2011/10/15(土) 05:51:35.17
jsonなんて鬼っ子だしなw
421デフォルトの名無しさん:2011/10/15(土) 07:06:52.33
縛ることを無駄と考えるやつは全部Cで書けよw
アセンブラでもいい
422デフォルトの名無しさん:2011/10/15(土) 07:25:23.50
縛りの有る無しと言語の抽象レベルを一緒にする馬鹿が居る
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
あ、やっぱりオープンクラスないの?
ざっと仕様書読んだ限りじゃオープンクラスやる方法が分からなかったけど、
実は裏技的なものがあったりしない?
427名無しさん@お腹いっぱい。:2011/10/15(土) 08:17:21.44
リフレクションはいらないが
EVALは欲しい
428デフォルトの名無しさん:2011/10/15(土) 08:59:40.95
evalとかいるのかよ…有用な使い方できるやつはわずかで多くのスパゲティソースと初心者の俺TUEEEEEの産みの親だろ
DSLに有利な自由度は速度とトレードオフ
確かにmethod_missingみたいのは欲しいが言語の目的からしてさほど必要性を感じない
429デフォルトの名無しさん:2011/10/15(土) 09:10:03.56
オープンクラスなんてObjectクラスみたいなルートクラスの挙動変えて深いバグ産み出す奴がいるから要らん。
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 はマクロの使いこなしもできない初心者で無能のようだ
434デフォルトの名無しさん:2011/10/15(土) 09:26:44.14
VBA使いがリフレクション触って発狂でもしたか?
435デフォルトの名無しさん:2011/10/15(土) 10:47:43.18
Railsがリフレクションを使いまくってると聞いてリフレクションを
讃え出したRuby信者でしょ
436デフォルトの名無しさん:2011/10/15(土) 10:53:33.79
Haskellスレにも沸いてるんだけど何なのコイツ
437デフォルトの名無しさん:2011/10/15(土) 11:03:42.03
プログラム言語がアプリを作るためだけの
設計で作られていれば十分な時代は終わった。

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

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

リフレクションもその一つ。
438デフォルトの名無しさん:2011/10/15(土) 11:04:59.84
>>429
すでに散々副作用やら問題点やらが明らかになっているのに、ECMAScriptのネイティブオブジェクトへ色々プロパティを追加しくさって後から絶対泣きをみる羽目になるコード書いてる奴らと仕事すると、ほんとにそう思うよ

ていうか、せめて他人が読むことを前提にコード組みやがってくださいマジでおねがいします(泣
439デフォルトの名無しさん:2011/10/15(土) 11:05:04.96
動的要素がいらないならJavascriptは流行ってないし、RubyもPythonも
生産性が悪い言語ってことになる
その上Haskellが一番いいってことになる
Haskell信者以外は納得しないだろ
440デフォルトの名無しさん:2011/10/15(土) 11:06:19.82
メタプログラミングを実行時にばっかりに頼る傾向にあるのが間違い。
Perlのコンパイルフェーズに処理を実行できる仕組みをみなすべき。

コンパイル時メタプログラミングを採用すれば、
実行時メタプログラミングの必要性は9割減ると思っている。
441デフォルトの名無しさん:2011/10/15(土) 11:07:05.36
> 動的要素がいらないならJavascriptは流行ってないし、

JavaScriptが流行ってるのは、
単にブラウザ上で動く唯一の言語だからだろw
442デフォルトの名無しさん:2011/10/15(土) 11:09:26.80
>>419
リフレクションの使えないDartでは明らかに難しくなるでしょ
余計なパース部分がいる
あと、Railsは明らかに受け入れられた例だろ
Rubyの中では最高に成功した例だし
443デフォルトの名無しさん:2011/10/15(土) 11:09:53.23
>>439
動的要素は必要だと思うが、
動的な処理を、実行時に行なっているのがおかしい。

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

たとえば、モンキーパッチとかコンパイル時に修正できれば
実行時に修正する必要はなくなる。処理も早くなるし、
コンパイラによる静的検査も行える。
444デフォルトの名無しさん:2011/10/15(土) 11:10:15.01
>>441
ブラウザ上で動く唯一の言語がHaskellだったら良かったねw
445デフォルトの名無しさん:2011/10/15(土) 11:14:50.61
>>440
むしろ、そっちの方を完全否定してるように見える
最近の言語のそういう特徴がほぼ全部不採用になった
c++の複雑怪奇なテンプレートてんこ盛りコードが
気に食わないんじゃないの
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も否定されたくさいな
唯一関数定義の表記法にちょっと似た部分がある程度か
せめて引数のパターンマッチングくらいはあっても良かったと思うが
449デフォルトの名無しさん:2011/10/15(土) 11:22:00.13
>>441
いまさらserver-side-javascriptが流行ってるのがマジで理解出来ない。mozillaですら捨てた技術なのに。
450デフォルトの名無しさん:2011/10/15(土) 11:24:08.90
>>445
俺が言ってるのはPerlみたいなコンパイルフェーズにコードを実行して、
コードを書き換えるメタプログラミングだよ。

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

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

452デフォルトの名無しさん:2011/10/15(土) 11:32:18.05
>>449
サーバサイドJSの利点とか解かってないだろ
453デフォルトの名無しさん:2011/10/15(土) 11:36:40.62
リストの内包表記とかも意図的に省かれてる?
普通にfor文を使えということか
454デフォルトの名無しさん:2011/10/15(土) 11:39:21.82
>>450
あれはjavaでいうpremainだからあれが特殊で全部で成功するとは限らん。
トランスレータ言語なんだから最終的にjsになってフェーズの違いなんてなくならないか?

>>452
古いものを引っ張り出して利点も何もない。
455デフォルトの名無しさん:2011/10/15(土) 11:40:35.25
> 古いものを引っ張り出して利点も何もない。

JavaScriptのことか?

嫌われ者だったJavaScript
古いものを引っ張り出してきて
いま大ヒットだよなw
456デフォルトの名無しさん:2011/10/15(土) 11:46:02.07
>>452
俺はよくわかってないので調べてみたけど、結局よくわからなかった
・JavaScriptしかできない人間でも開発できるよ!v8も使えるよ!
・スレッドとかわからなくても開発できるよ!
・スケーラビリティ高いよ!(本当かよ)
こんなかんじ?
457デフォルトの名無しさん:2011/10/15(土) 11:46:23.96
JavaScriptは初心者用の簡単言語というイメージで否定されてた面もあるからな
本当は本格的なクロージャや自己拡張的な機能を持つ先進的な言語だったんだが
458デフォルトの名無しさん:2011/10/15(土) 11:49:16.55
>>455
何も知らないならとりあえずココら辺でも読んでみるか?
ttp://www.amazon.co.jp/Official-Netscape-Server-Side-Javascript-Applications/dp/1566047455

見向きもされずに一切使われずノウハウも蓄積されなかったようなものを
お前みたいな何も知らない奴が居る環境で一から教えることも出来ずにいまさら持ってきて利点もクソもあるかよ。
流行ったあとは宗教戦争になるだけ。
459デフォルトの名無しさん:2011/10/15(土) 11:53:21.89
最近になって注目されてるのはやっぱりV8の存在が大きいんでしょ
あとCommonJS

でもまぁ流行ってるって言っても趣味止まりでしょまだ
まだ手探り状態だと思うけど
実際のプロダクトで使われてる例ってどれくらいある?
460デフォルトの名無しさん:2011/10/15(土) 11:56:52.45
>>459
最近Google自身が糞ほど使いまくっててajaxなる言葉を生み出した
その上、PhoneGapやらTitaniumMobileやらでスマートフォンでも
流行り出した
461デフォルトの名無しさん:2011/10/15(土) 11:58:44.25
flashも実はJavaScriptの仲間
462デフォルトの名無しさん:2011/10/15(土) 11:59:02.91
えっ
463デフォルトの名無しさん:2011/10/15(土) 11:59:36.30
個人的にはDartとJavaScriptの将来的な期待度は同じ
現段階ではどちらも残念な点が多い
でもこの程度なら個人的にJavaScriptに任意の型等を加えて
"use strict"の亜種を作ればいい気がする
document.getElementByIdとかのqweryへの書き換えや他の様々な機能も
JavaScriptで互換を保ったまま新しく実装すれば?と思う
それこそJavaScript2.0を整理し直せばいい
処理速度の問題も低レベルな処理をネイティブで書かれた高レベル関数を提供する今の方向で十分だと思う
464デフォルトの名無しさん:2011/10/15(土) 12:00:41.37
>>460
何が言いたいのか分からないけど459は>>449からの流れでサーバサイドの話しね
465デフォルトの名無しさん:2011/10/15(土) 12:09:08.61
むしろ、今サーバーサイドJavaScriptが流行るのが
なぜ理解できないのかがよくわからない
言語としてはRubyやPythonより人気だし、
昔は遅かった処理速度の問題も、解決してきたし
466デフォルトの名無しさん:2011/10/15(土) 12:15:28.45
node.jsはコールバック地獄を見て、こりゃダメだと思った。
467デフォルトの名無しさん:2011/10/15(土) 12:17:20.91
なんかスレ違いの話になってね?
468デフォルトの名無しさん:2011/10/15(土) 12:17:45.86
>昔は遅かった処理速度の問題も、
遅くて問題になったのはクライアントサイドでサーバーサイド関係ないけど。
469デフォルトの名無しさん:2011/10/15(土) 12:21:33.27
javascriptアンチの発狂が心地よい
470デフォルトの名無しさん:2011/10/15(土) 12:23:10.46
>>468
そうか?
サーバー重くなると困るし、普通に関係あると思うけど
471デフォルトの名無しさん:2011/10/15(土) 12:29:48.20
規格が0.02になったぞお前ら。
どこが変わったのか分からんけど。
PDFで公開されてるんで簡単に差分を取ることもできない。
472デフォルトの名無しさん:2011/10/15(土) 12:31:42.80
どこが変わったかの説明は無いのかよー
473デフォルトの名無しさん:2011/10/15(土) 12:39:45.93
Javascriptをさんざん使い倒したgoogleさんが
Javascriptじゃ限界があるから作ったわけで
474デフォルトの名無しさん:2011/10/15(土) 12:41:56.90
じゃあごおgぇさんにDartアプリをどんどん作ってもらうまで様子を見るか
475デフォルトの名無しさん:2011/10/15(土) 12:53:40.58
Googleのやる気がどこまであるのかが不安だな
476デフォルトの名無しさん:2011/10/15(土) 13:10:10.06
0.02てpdf開かないとわからんのか・・・
どこかにお知らせがないか公式ページを探しまくっちゃったよ
477デフォルトの名無しさん:2011/10/15(土) 13:16:46.82
whatwgかw3cに移管しないのかな
478デフォルトの名無しさん:2011/10/15(土) 13:31:13.04
とりあえず今回の変更は、ほとんどtypoの修正らしい。
ttps://groups.google.com/a/dartlang.org/group/misc/browse_thread/thread/0c47bb5f826b6dd7#
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するよりマシ
482デフォルトの名無しさん:2011/10/15(土) 15:00:53.17
Googleは一方で潰してきたプロジェクトも多いからな。
483デフォルトの名無しさん:2011/10/15(土) 15:44:26.28
http://youtu.be/24LIzl7cM2c
http://youtu.be/nqb-k9upqZ4

リフレクションは考えてるみたい。
484デフォルトの名無しさん:2011/10/15(土) 16:13:17.35
いちいち新言語作らないで、JavaScriptの言語仕様を強化すりゃいいのに
C++を超えるカオスになるかもしれないが
485デフォルトの名無しさん:2011/10/15(土) 16:18:11.80
JavaScriptは動的型付け言語だから
そこに静的型付け言語の機能を持ち込もうとすると
どうしても別言語になっちゃうんだよ。
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
結局プロトタイプベースって何だったの?
クラスベースと比べて何か利点あったの?
489デフォルトの名無しさん:2011/10/15(土) 16:35:10.08
CoffeScriptを始めようかと思った矢先にDartが出てきたんですが、
どちらが将来性ありますか?
490デフォルトの名無しさん:2011/10/15(土) 16:36:11.06
んー、Hypertext Preprocessorがオススメ
491デフォルトの名無しさん:2011/10/15(土) 16:38:19.53
同意
492デフォルトの名無しさん:2011/10/15(土) 16:39:31.26
coffeescriptなんてjavascript知ってたらすぐ覚えられるだろ
両方やれば?
493デフォルトの名無しさん:2011/10/15(土) 16:42:34.18
両方やるとして、プロジェクトに採用するなら
どちらでしょうか?
494デフォルトの名無しさん:2011/10/15(土) 16:45:26.08
マ板で聞いてきたら
495デフォルトの名無しさん:2011/10/15(土) 16:45:34.08
今ある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の二の舞にはなるまいという感じはあると思う
497デフォルトの名無しさん:2011/10/15(土) 16:57:46.82
>>492
将来性について尋ねているのですが
>>495
それは正しい指摘なのかもしれませんが、
ここではJavaScriptにコンパイルされる言語について話している訳で
498デフォルトの名無しさん:2011/10/15(土) 16:59:51.01
>>488
smalltalkでオープンクラスと同じ問題が出てきたからIoがプロトタイプベースにした。
そしたらprototype.jsがプロトタイプチェーンぶっ壊した。
499デフォルトの名無しさん:2011/10/15(土) 17:00:38.37
>>497
ここでGWTやCoffeeScriptやPyjamasやHotRubyの話題をやってよかったのか?
500デフォルトの名無しさん:2011/10/15(土) 17:03:42.94
トピマス殿に質問しろよ
501デフォルトの名無しさん:2011/10/15(土) 17:04:52.07
トピマス?何それ?
502デフォルトの名無しさん:2011/10/15(土) 17:09:52.36
>>497
将来性なんてDartにもCoffeScriptにも無いのだからJavaScriptやっておけ。
というかJavaScriptとあと適当な静的型の言語やっておけばDart覚えるの
なんて簡単でしょ。
503デフォルトの名無しさん:2011/10/15(土) 17:09:54.27
二郎さんの持ちネタだろう
504デフォルトの名無しさん:2011/10/15(土) 17:27:17.18
ねぇ、プロトタイプベースの利点ってなんだったの?
505デフォルトの名無しさん:2011/10/15(土) 17:31:49.62
クラスベースの利点と同じ。方法が異なるだけ
506デフォルトの名無しさん:2011/10/15(土) 17:33:21.71
>>502
言語は覚えるのが目的じゃないから・・・

どうも勉強が目的になってる奴がいるよな。
507デフォルトの名無しさん:2011/10/15(土) 17:51:44.54
言語なんて適材適所で必要な時に選べばよか
一つホームポジション作れば
10個位使い分けるのは簡単だよ
508デフォルトの名無しさん:2011/10/15(土) 18:01:48.66
Dart批判してJavaScriptを応援してる人は、新しい言語を覚えるのがめんどくさいということ?
509デフォルトの名無しさん:2011/10/15(土) 18:11:06.82
何を見てそう思ったのか不思議だがDartだと新しく作るほどのものじゃないじゃん
510デフォルトの名無しさん:2011/10/15(土) 18:12:57.60
過去の資産がたくさんある人か、
「〜は普及しますか?ぼくちん勉強しても損しないですか?」
とか人に聞いて手を付けない人が様子見で煽ってるか
新しい言語なら俺の想像を超える画期的な言語仕様じゃないと許さない人
511デフォルトの名無しさん:2011/10/15(土) 18:20:47.36
>>508
いっているのが>>502の事を言っているのであれば、別にDartを批判している
つもりは全然無いよ。むしろJavaScriptの残念なところを丹念に潰している点で
「仮に」これが広く普及した日には喜々としてスイッチすると思う。

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

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

DartもCoffeScriptも特に新しいパラダイムを持ち込んでいる分けでも無し、この
二つを比較して将来性が云々ってそんな表層的な比較なのであればJavaScriptでも
大差無いし今のところ生き残る将来性であればこれが断然高い。
512デフォルトの名無しさん:2011/10/15(土) 18:25:38.24
>>508
言語を覚えるのに時間はかからない。
簡単なサンプルがあれば、あとは感で出来る程度のもの。

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

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

現時点ではDartはライブラリもフレームワークも未熟なので
言語としては優れていても、開発として優れたものではないという結論になる。
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
516デフォルトの名無しさん:2011/10/15(土) 18:51:19.90
>>512
>簡単なサンプルがあれば、あとは感で出来る程度のもの。
やめれ。
そうやって書かれた糞コードが言語問わず大量に存在するんだから。
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か)なんて
ゴミ仕様があんのか
めちゃ不要じゃねえか
520デフォルトの名無しさん:2011/10/15(土) 19:30:52.89
演算子オーバーロードが不要とかいうのは、文系か専門卒
521デフォルトの名無しさん:2011/10/15(土) 19:31:22.75
RailsとかDjangoあたりをやってるならCoffeeScriptはありがたいだろうな
522デフォルトの名無しさん:2011/10/15(土) 19:31:58.29
いや、このスレではそういう論調だったが、実際にはCoffeeScriptは、
ほーそう来たか、みたいなささやかな驚きがたくさんあって
面白かったわ
523デフォルトの名無しさん:2011/10/15(土) 19:33:11.43
すまんな専門卒でも文系でもない
Google自体がC++のコーディングで基本禁じてる機能だぜ
弊害のほうがでかい機能なんていらね
524デフォルトの名無しさん:2011/10/15(土) 19:33:15.90
いくつも言語覚えて、その罠に嵌るの嫌だから、素のjsガンガレ。
expressとかwebsocketとかも、もっとガンガレ。
525デフォルトの名無しさん:2011/10/15(土) 19:34:56.91
>>519
Dartではoverloadはない。
名前の重複を許さないから、同じ名前で別のシグネチャの関数というのはない。
内側のスコープが外側のスコープの名前を隠すことはできるが、それも規格で警告を出すように定められている。

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

クラスでは、演算子は特殊な名前のインスタンスメソッドであって、ユーザー定義演算子(user-declared operator)と呼ばれている。
526デフォルトの名無しさん:2011/10/15(土) 19:35:49.29
>>523
あのGoogleのコーディング規約はかなり古いものだ。

クラスで演算子をユーザー定義できると色々と便利だぞ。
527デフォルトの名無しさん:2011/10/15(土) 19:36:13.15
Coffeeと比べるとか愚の骨頂だろw 分野、目的が全く違う
どっちがスケールするかって問題だ
Dartは基礎として成り立つが、Coffeeは基礎として成り立ち得ない
Dartが普及したとして、やっぱりCoffeeで書きたいならCoffee→Dartのトランスレータ書けばいいだけだし
528デフォルトの名無しさん:2011/10/15(土) 19:36:23.68
なんだ高校生か。
javaの数値計算ライブラリのcoltとか眺めて味噌。オーバーロード必須だぞ。
行列の要素にアクセスするためにgetとかsetとか書いてたら気が狂るうぞ
529デフォルトの名無しさん:2011/10/15(土) 19:37:18.76
ほんと、素直にJSやり続けるのが一番な感じがする…。今ブラウザ上でJSが無くなると色んな企業がかなり困惑しそう
530デフォルトの名無しさん:2011/10/15(土) 19:40:15.00
>>528
addがあればいいだけだろ?
531デフォルトの名無しさん:2011/10/15(土) 19:42:08.63
ふむ。確かに呼び名としてuser-defined operatorsと書いてあるが
演算子をインスタンスメソッドとして定義できるのは
結局演算子オーバーロードと同じ事だろ
代入を定義できなくしたのは良識か
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) ) ;

になるのか。
素晴らしいな。
534デフォルトの名無しさん:2011/10/15(土) 19:44:37.10
>>529
誰もJS無くすなんて言ってないぞ
535デフォルトの名無しさん:2011/10/15(土) 19:44:41.14
定義された演算子が継承でsubtype-polymorphismされてると読むのが苦痛
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では、変数が束縛されるインスタンスを指定するだけだから、
オーバーロードする意味がない。
537デフォルトの名無しさん:2011/10/15(土) 19:51:18.63
あ、つい癖でオーバーロードと書いてしまったorz
538デフォルトの名無しさん:2011/10/15(土) 20:12:16.96
Dart 作ったやつって、Java使いなんだろうなあ
CoffeeScript 作った奴はPython使いだろう
節々でそういうのが、わかっちゃう違いが出るな
539デフォルトの名無しさん:2011/10/15(土) 20:15:19.67
もともとGoogleはJavaがメイン。
JavaScriptを使っているように見えるが
GWTというJavaで書いたら自動的にJavaScriptが生成される
ライブラリを使っている。
540デフォルトの名無しさん:2011/10/15(土) 20:18:09.35
>>538
まあ、確かにJVMの経験があるそうだが。
http://www.youtube.com/watch?v=nqb-k9upqZ4&t=03m05s

Javaはクソだが、JVMはなかなか興味深いぞ。
541デフォルトの名無しさん:2011/10/15(土) 20:19:15.57
Javaが糞だと言ってる奴は
大規模開発をやったことがない。

プログラム言語の勉強だけをしている
実践経験ないおこちゃま。
542デフォルトの名無しさん:2011/10/15(土) 20:20:59.73
豚切りだがこのスレ言語とライブラリを混同してる奴が度々出てきてそのたびに言語とライブラリはryって言われてるな。
543デフォルトの名無しさん:2011/10/15(土) 20:23:46.21
>>528
なんだ大学生か?
オレオレ演算子定義なんてされてるコードを
レビューしたら吐き気がするぞ
544デフォルトの名無しさん:2011/10/15(土) 20:24:01.65
javaはlamdaとプロパティが欲しい

大規模開発って、まんま土方が治水工事しているか、クフ王のピラミッドでも建ててるイメージ
7人ぐらいの規模だと精密機械か時計職人のイメージ
545デフォルトの名無しさん:2011/10/15(土) 20:26:28.17
>>544
単にデータを(特に操作もせず)右から左に流してるだけだからな
単純作業だよ
546デフォルトの名無しさん:2011/10/15(土) 20:28:15.95
>>542
一応突っ込んでおくと、ややこしいことに、規格では「ライブラリ」という用語が定義されている。
ひとかたまりのソースコードがライブラリ。
他の言語だと、ソースファイルなどの用語を使えばいいのかもしれないが、
DartだとひとつのHTML内にscript要素で複数の「ライブラリ」が書かれるだろうしな。
547デフォルトの名無しさん:2011/10/15(土) 20:30:55.91
>>527
> Dartは基礎として成り立つが、Coffeeは基礎として成り立ち得ない
「基礎」って何だ?OSか?ブラウザか?
ブラウザ上での話なら、Dartは基礎になりえないから。
JavaScriptからDartに実行環境が移るなんて、さすがのGoogleといえどもありえない。
だとすると、ブラウザ上ではDartもCoffeeScriptも五十歩百歩。
548デフォルトの名無しさん:2011/10/15(土) 20:33:08.36
まあまあ。
最後には仲良くJSで走るんだしさw
549デフォルトの名無しさん:2011/10/15(土) 20:34:09.93
>>543
オレオレ演算子オーバーロードなんてプロジェクト前の打ち合わせで
コーディング規約を決めて、まず禁止する機能だろ。

てか、演算子オーバーロード自体は普段は使うことがなくても、
十分にテストされた製品級の数値計算ライブラリにはないと可読性が低いんだよ
550デフォルトの名無しさん:2011/10/15(土) 20:43:57.21
chromeにvmが載ってからこの言語の真価が問われる
一年後くらいかな
551デフォルトの名無しさん:2011/10/15(土) 20:49:08.40
webkitにvmが載ったら、一気に来る??
552デフォルトの名無しさん:2011/10/15(土) 20:57:38.59
webkitに乗るわけじゃないだろ
それはそうと、dom操作についての記事が公式にアップされているな
553デフォルトの名無しさん:2011/10/15(土) 21:00:44.29
初日からあったが?
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
557デフォルトの名無しさん:2011/10/15(土) 21:25:02.16
いまどきWeb言語を標榜しながらDocument.query()とかありえないって言ったら
勝手にjQuery信者にされ、勝手にライブラリと言語仕様の話にスライドされてるだけなんだけどな
558デフォルトの名無しさん:2011/10/15(土) 21:28:57.78
>>538
多分セルフホスティング化される前はRubyで書かれていたからRuby使いじゃないかな
559デフォルトの名無しさん:2011/10/15(土) 21:30:28.28
>>556
うん、実際にはムーブはしてない。
何をやっているかというと、単にテンプレートでラップした新しい型を返して、実際の計算を遅延させている。
rvalue referenceがあっても、行列計算とかを高速に、しかも演算子のオーバーロードを使用してやりたかったら、
やはりテンプレートメタプログラミングは必須だよ。
560デフォルトの名無しさん:2011/10/15(土) 21:33:38.82
すごい伸びだね
やっぱり注目されてるんだね
561デフォルトの名無しさん:2011/10/15(土) 21:37:37.94
大規模開発向けとして普及させるにはプログラミングの現場を知らない人間ですら名前は知ってるほどの大きな知名度と実績が必要だが
Dartにはそれを達成させる「何か」が今のところ全く見られないのが最大の問題だな
Java言語だって普及したのは「一度書けばどこでも動く本格的オブジェクト指向言語」という今思えば嘘もいいところの触れ込みで知名度を上げたからだし
562デフォルトの名無しさん:2011/10/15(土) 21:46:29.47
「一度書けばどこでも動く」なんて本気でやったら即使い物にならなくなるわ、ってのは当初から
言われてはいたけど、結局は大多数を騙せりゃいいわけだしな
563デフォルトの名無しさん:2011/10/15(土) 21:46:54.61
>>561
後者はそんなに外れてもいないような気がするぞ
そりゃ厳密には嘘かもしれんが、実際にJava で作られてるから
あのソフトはLinux 版があるはずだよねとか
そんな感じに思うことが最近は多いよ
564デフォルトの名無しさん:2011/10/15(土) 21:52:18.71
リストか配列の内包表記はないんかい?
あと、複数の変数に一気に代入する仕組みとかもない?
returnは省略できないのか?
最近の言語の簡略に書くためのちょっとしゃれたギミックは
何らかの理由で嫌われてるのか?
565デフォルトの名無しさん:2011/10/15(土) 21:52:45.63
Javaが広げた風呂敷はそんな小さいもんじゃなかったしな
566デフォルトの名無しさん:2011/10/15(土) 21:55:01.24
アホもプログラム書くんだよ派と、アホは生産性低すぎるから切り捨てるんだよ派との、いつもの
かみ合わない話
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 ; }と同じ
568デフォルトの名無しさん:2011/10/15(土) 22:01:36.36
もちろん、ListリテラルとMapリテラルはネストできる
MapリテラルはネイティブJSONとして利用可能。
569デフォルトの名無しさん:2011/10/15(土) 22:02:32.73
>>567
俺が言ってるのはそういう意味じゃない
・a,b=1,2
・=>を使わず、ブロックで書いたときのはなし
・内包表記は反論がない
570デフォルトの名無しさん:2011/10/15(土) 22:03:55.93
>566
アホ用モードとエキスパート用モードを用意すれば良いのにね。
571デフォルトの名無しさん:2011/10/15(土) 22:05:35.37
>>569
Haskell信者かPython信者?気持ち悪いからこのスレに来ないで自分の好きな言語使ってね
572デフォルトの名無しさん:2011/10/15(土) 22:07:30.18
結局、あの言語にあるこういう機能はないのかと言っても、
その言語を知らない人には真意は通じない
そんなのあるよとしか思わないので、必要性を感じることもない
この言語を作った奴もそういう傾向だからつまらん言語しか作れないんだろ
573デフォルトの名無しさん:2011/10/15(土) 22:08:18.64
この段階で人格避難しかできない程度の低い信者が現れるあたりお里が知れるというか・・・
574デフォルトの名無しさん:2011/10/15(土) 22:08:56.60
>>569
return文がない場合、暗黙的にnullが返される。
複数の変数に一気に代入という文法はないな。
ただ、Dartでは変数の宣言は、初期化を伴うことが望ましいし、
一文で複数の変数に複数の値を代入ってのは、個人的にはちょっと意義が分からんが。
575デフォルトの名無しさん:2011/10/15(土) 22:09:44.70
>>573
571のことか
576デフォルトの名無しさん:2011/10/15(土) 22:12:19.44
これDartはクライアントスクリプトでgoはサーバサイド
とか狙ってんだろうか
577デフォルトの名無しさん:2011/10/15(土) 22:12:31.33
リストの内包表記のある言語一覧
http://en.wikipedia.org/wiki/List_comprehension
578デフォルトの名無しさん:2011/10/15(土) 22:14:25.28
>>574
複数の値を返す関数とかでスマートに初期化できる
この仕組みを発展させると、Jsonのような構造の一部を
スマートにバインディングできたり
詳しくはCoffeeScript のトップページの例がわかりやすい
579デフォルトの名無しさん:2011/10/15(土) 22:15:35.31
>>567>>569>>571
勘違い上から目線→完全論破→逆切れ
絵に描いたようなクズでワラタ
580デフォルトの名無しさん:2011/10/15(土) 22:17:24.30
Dartの関数は多値を返せないし、
複数の値を返したいとすれば、ListやMapを使えばいいわけで、
そもそも、そんな構文が必要になる理由が分からん。
581デフォルトの名無しさん:2011/10/15(土) 22:18:18.21
内包表記はforで代用できるし、複雑にネストさせるとわかりにくい
という判断だろうけど、単純な使い方ならスッキリするし
パフォーマンスでも有利なはずなんだがな
582デフォルトの名無しさん:2011/10/15(土) 22:18:19.85
タプルのシンタックスシュガーが欲しいってことかと
583デフォルトの名無しさん:2011/10/15(土) 22:19:39.14
静的型付け言語で、簡易な書き方ができる
オプションしだいで型も無視出来る。
動的型付け言語でできるすべてのことを
型付け言語で、静的検査出来る形で組み込む。
数学的な読みやすさと文学的な読みやすさを両立
それが俺の理想の言語。

つくるしかないかorz
584デフォルトの名無しさん:2011/10/15(土) 22:21:20.88
>>572
googleで言語仕様作れる人間のレベルを舐めてんの
585デフォルトの名無しさん:2011/10/15(土) 22:21:22.53
> 動的型付け言語でできるすべてのことを
> 型付け言語で、静的検査出来る形で組み込む。

馬鹿すぎてワロタwww
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を更新できない事は理解出来ているよな?
587デフォルトの名無しさん:2011/10/15(土) 22:22:29.84
>>585
おい、俺に文句つけた以上
最後まできっちりと反論しな。

でないと、お前が 口だけ野郎だって
思われるだけだぞ。
588デフォルトの名無しさん:2011/10/15(土) 22:22:31.15
>>580
いちいちめんどくさくね?
多値を返せないのも面倒だね
そういうスッキリ書くためのちょっとした機能が全部
不採用な傾向にある
製作者が知らなかったから入れなかったんではなく、
何らかのポリシーじゃないかな
589デフォルトの名無しさん:2011/10/15(土) 22:23:25.77
>>587
eval
590デフォルトの名無しさん:2011/10/15(土) 22:25:28.83
>>584
言語に関しては舐めてるよ
だって低レベルなんだもん
goもそうだったけど、つまらない言語しか作れないよね
というか、プログラミングのスキルがありすぎて、つまらない言語で
十分なんだろw
591デフォルトの名無しさん:2011/10/15(土) 22:26:36.13
実行時にしか分からないものをどうやって静的に検査するんだ?
コンパイル時と実行時で別々にコードが走るメタプログラミング言語でもつくるのか?
592デフォルトの名無しさん:2011/10/15(土) 22:33:03.44
>>589
完全に自由な文字列をevalしたいということはない。
殆ど決まった文字列で一部だけを置き換えたいときに使う。

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

C言語のインラインアセンブラみたいなもんだ。
593デフォルトの名無しさん:2011/10/15(土) 22:35:37.46
>>591
> 実行時にしか分からないものをどうやって静的に検査するんだ?

発想が違う。

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

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

実行時にしかわからないところを最小限にする。
それが俺の考える理想の言語。
594デフォルトの名無しさん:2011/10/15(土) 22:35:58.05
>>592
そんなscanfもどきをevalと一緒にすんな
595デフォルトの名無しさん:2011/10/15(土) 22:37:25.95
>>594
続き続きw

反論してよ。
596デフォルトの名無しさん:2011/10/15(土) 22:39:12.56
>>595
動的型言語と同じevalは実装できないんだろ?
だったらお前が>>583で書いたのは間違いで、馬鹿にされても仕方ないんだよ
597デフォルトの名無しさん:2011/10/15(土) 22:39:21.52
evalを何のために使うのか
さっぱりわからんのだが。

Perlは例外処理のために仕方なくeval使うけど
それ以外の用途なんてほとんど無い。
598デフォルトの名無しさん:2011/10/15(土) 22:40:36.68
なんで可能かどうかの議論を役立つかどうかにすり替えてるの?
599デフォルトの名無しさん:2011/10/15(土) 22:41:29.11
>>586
あのさ、初めて言語を使ってみようと思ったときにサンプル見るでしょ
それでDOMを使ってると思われる部分がDocument.query().innerHTMLとか見たら引くだろ
これじゃ素のJavaScriptのdocument.getElementById().innerHTMLと同じじゃないか、
こんな本質的じゃない部分で文字の羅列がずらずら並ぶ状況なんて想像したくないし
そう思う人が多かったからこそjQueryに限らず$という記号なり何なりを使ってどうにかそれを隠ぺいしようとしてたんだろうが
Web言語を標榜するなら最初からここら辺は仕様でもライブラリでも何でもいいから工夫すべきなのに何もしてない(ように見える)から文句を言ってる
600デフォルトの名無しさん:2011/10/15(土) 22:42:08.66
jQueryの機能がないからダメだとか言ってる馬鹿がまだいるのかよ
601デフォルトの名無しさん:2011/10/15(土) 22:43:44.72
>>596
evalは目的ではない。

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

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

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

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

この手順を踏むことで静的検査が行えるようにしようということ。
602デフォルトの名無しさん:2011/10/15(土) 22:46:02.24
DOMのショートカットとして$使ってるのはjQueryだけじゃないんだが
603デフォルトの名無しさん:2011/10/15(土) 22:46:41.24
過疎ってるなー
604デフォルトの名無しさん:2011/10/15(土) 22:46:58.41
>>599
何がダメなんだよ。
$もdocumentも単なる識別子だろ。
あとqueryでやってることは、DOMで定義されているquerySelectorだからな。
単に使いやすいよう短くしただけ。
もちろん、DOMの定義通りのライブラリもある。
貧弱なgetElementByIdと一緒にすんなよ。
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
> まつもとはなんと言ってるんだ?

「アイデアは必ず行動に移す。結果が失敗なら、そのとき改めればいい。」
609デフォルトの名無しさん:2011/10/15(土) 22:50:23.34
別にタプル作れなんて誰も言ってないと思う
配列があるし、普通に配列返せばいい
610デフォルトの名無しさん:2011/10/15(土) 22:50:43.12
>>607
昔から処理系の出来はdisられてたけど、
最近は言語仕様までdisられる側だからねー
611デフォルトの名無しさん:2011/10/15(土) 22:51:33.52
まつもとはこのスレで匿名でディスってそうw
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が綺麗だと思ってるよ
615デフォルトの名無しさん:2011/10/15(土) 22:55:57.71
Java の真似をしてる感じがする
Java 信者が作ってるだろ
616デフォルトの名無しさん:2011/10/15(土) 22:56:51.60
>>604
document.getElementByIdがdocument.querySelectorに変わっても言いたいことは何一つ変わらないから
617デフォルトの名無しさん:2011/10/15(土) 22:56:52.25
綺麗に書きたい人っていうのは色々縛って不具合を出来る限り避けたい人のことを言いたかった
618デフォルトの名無しさん:2011/10/15(土) 22:57:11.68
Javaで書いたソフトを移植するつもりなんだろうな
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によるメソッドの適用の仕方が便利とか、
そういうことを言ってるんだと思ったが、違ったのか
623デフォルトの名無しさん:2011/10/15(土) 23:11:18.56
$の代わりが欲しいなら、HTML5のgetElementsBySelector使えばいいじゃん。
624デフォルトの名無しさん:2011/10/15(土) 23:15:26.72
こうか?
Document $ = document ;

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

$が先頭文字にしか使えないってのは妙な仕様だな。
JavaScriptはこんな制限なかったよな?
625デフォルトの名無しさん:2011/10/15(土) 23:16:29.50
そのgetElementsBySelectorがDartのquery相当なんだっけ?
doc.query("html head title")みたいに
626デフォルトの名無しさん:2011/10/15(土) 23:17:51.49
多分、簡単にセレクト出来るだけでは駄目なんだろ
その後の要素に対する操作も含めて不満だということだろう
ってか、本人どこ行ったw
627デフォルトの名無しさん:2011/10/15(土) 23:18:35.50
え?なに?呼んだ?
628デフォルトの名無しさん:2011/10/15(土) 23:19:01.87
queryはquerySelector。
queryAllはquerySelectorAll。
Dartでは、どちらも使える。

getelementsBySelectorってのは、querySelectorAllとはどう違うんだ?
629デフォルトの名無しさん:2011/10/15(土) 23:21:44.43
おまえらが素敵ライブラリをつくれば済むこと
630デフォルトの名無しさん:2011/10/15(土) 23:23:36.61
あんまりよく知らないんだが、jQuery は返される値が単純なDOM要素じゃなくて、
イベントハンドラを付け加えたり、特殊なスタイル適用したりとか
色々簡単にできて、チェーンで繋げて簡単にかけて便利らしいじゃん
それがないってことだろ
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言語(笑)で終わって誰もアルファユーザー(笑)の喧伝に耳を貸さなくなるんじゃないかな(笑)
633デフォルトの名無しさん:2011/10/15(土) 23:29:34.59
他人の車輪の再開発を期待する時点で終わってるのは置いておくとしても
Dartにそれを期待できるほどのインパクトやメリットがあるのか?
634デフォルトの名無しさん:2011/10/15(土) 23:31:13.81
>>624
まさかとは思うが、Javaの真似をしたいからそういう制限なんじゃないのか
内部でインナークラスを$使って区切ったファイルにコンパイルしたいとか
まあ、さすがにそう思いたくはないが
635デフォルトの名無しさん:2011/10/15(土) 23:33:41.97
Java しか知らない情弱が作った言語w
636デフォルトの名無しさん:2011/10/15(土) 23:35:27.13
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は$を含むことができないと決まっているから、
何も問題はないような気がするが
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しか知らないとかあり得ねーよ情弱
644デフォルトの名無しさん:2011/10/15(土) 23:56:04.36
Unicode前提でどんどん新しい記号いれろや
645デフォルトの名無しさん:2011/10/15(土) 23:56:07.80
>>590
Rob PikeとKen Thompsonが低レベルか
どこのダイクストラ
646デフォルトの名無しさん:2011/10/16(日) 00:05:09.20
静的型チェックの結果がエラーでなく警告というところが新しいのかもしれない
個人や書き捨てで書くときは型を書かないとか警告をシカトするとかして、
仕事でがっつり書くときは警告を全部つぶしておく事を規約にして開発するとか
647デフォルトの名無しさん:2011/10/16(日) 00:05:53.05
>>645
昔の言語しか知らなさそうw
648デフォルトの名無しさん:2011/10/16(日) 00:09:24.38
おいおいこの言語の策者の一人はscalaの作者でもあるんだぞ
javaしか知らねーとかアホか
649デフォルトの名無しさん:2011/10/16(日) 00:09:28.11
>>643
正直、それを疑われてもしょうがないぐらい
Java の機能しか取り入れられてない
650デフォルトの名無しさん:2011/10/16(日) 00:11:06.95
>>648
それにしては、scalaの機能が全く無いな
651デフォルトの名無しさん:2011/10/16(日) 00:15:04.55
だから意図的にそうしたってことだろーが
652デフォルトの名無しさん:2011/10/16(日) 00:16:41.02
そういや言語仕様貶している話が多いけど、俺言語とか設計したことのあるやつどれぐらいいるの?
653デフォルトの名無しさん:2011/10/16(日) 00:17:00.79
それじゃまるでJavaよりscalaが劣っているようじゃないか
ありえないだろ!
654デフォルトの名無しさん:2011/10/16(日) 00:17:18.09
>>652
お前以外全員
655デフォルトの名無しさん:2011/10/16(日) 00:17:33.99
MartinがGoogleに入ったなんて話は初耳だわw
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にその素質があることの根拠だ
658デフォルトの名無しさん:2011/10/16(日) 00:29:59.93
結局最後は静的型付け言語が
主流になるんだよね。

今は過渡期。
659デフォルトの名無しさん:2011/10/16(日) 00:30:11.77
Javaしかまともに知らないだろ実際
Jvm作ってばかりで
660デフォルトの名無しさん:2011/10/16(日) 00:32:39.87
このスレには凄腕のハッカーが居るらしいな
Rob Pikeを馬鹿にするだなんて俺にはとてもできない
661 ◆qQ4COMPILE :2011/10/16(日) 00:35:35.30
良い言語だと思うけどなぁ
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
まだ生まれたてで色んなしがらみがないんだから
適切な改善案が提示できれば反映される見込みは高いよ
666デフォルトの名無しさん:2011/10/16(日) 00:52:12.72
使われないで終わるだけ
667デフォルトの名無しさん:2011/10/16(日) 00:53:34.81
>>658
静的言語も動的言語も、何十年も前から存在するのに今更に過渡期かね?
ソフトウェアをどういったサイクルで実装していくかが問題だと思うんだけどな
ポールグレアムのyahoo storeの話だと仕様が見えず、
新機能を追加する必要があるものほど動的言語が有利そうなこと書いてあるけど
ただ、最近のウェブ上での記事やら見てるとrubyのような言語を大規模開発に使うと
型がどうこういった問題になるみたいだ
リーナスなんかはc++やオブジェクト指向でゲロゲロになるからアッチ行けってな主張

だから、スクリプト用途には可変長引数みたく
シグニチャを自由に受け取って変数はvariant型で書いて、
仕様が固まったら静的言語として書ければ色々と捗るはず
668デフォルトの名無しさん:2011/10/16(日) 00:54:09.94
適切な改善案があっても反映されない雰囲気を既に放ってるよ
なんだかんだ頑固な理由をつけて却下しそう
保守的すぎるし、言語仕様の小ささに非常にこだわってる印象
669デフォルトの名無しさん:2011/10/16(日) 00:58:02.59
>>667
うん。過渡期。

動的型付け言語の便利さが認知され、
静的型付け言語が、動的型付け言語を吸収し始めている。
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
673デフォルトの名無しさん:2011/10/16(日) 01:05:13.55
静的型付け言語はideが発達すると便利になる
いろんなリファクタリングとか出来るし
674デフォルトの名無しさん:2011/10/16(日) 01:05:59.59
>>672
ドンマイ
675デフォルトの名無しさん:2011/10/16(日) 01:06:19.10
多値返却がタプル・マップ使えばいいとか配列内包がいらないとか使い方分からないだけじゃん。
多値返却と配列内包と分割代入とyieldはジェネレータのための必須セットだろ。

>>657
サイ本を読めというのは「仕様書で理解出来ないなら」っていう大前提が付くんだけど。
それとcoffee scriptを絶賛してるのってrubyに嫌気が刺したjs書かなきゃいけない人くらいじゃないの?
676デフォルトの名無しさん:2011/10/16(日) 01:06:21.23
静的型付け言語でない時点でJavaScriptは時代の流れから
取り残されるのは仕方ないことだよ。

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

じゃあどうするか。もう全くの別言語で書いてJ
avaScript・HTML・CSSを生成する。これしか進化の道はない。
近い将来JavaScript・HTML・CSSは中間言語みたいな扱いになるよ。
677デフォルトの名無しさん:2011/10/16(日) 01:10:41.07
バカじゃねえの
動的な言語の生産性の高さは昔から変わらない
でもクリティカルな用途には使いたくない
そゆこと
678デフォルトの名無しさん:2011/10/16(日) 01:10:41.70
>>676
てか、Dart が中間言語になりそうだわ
性能が良いからうってつけ
679デフォルトの名無しさん:2011/10/16(日) 01:11:00.04
元々rubyで実装されかつRails3標準搭載のCoffeeScriptの対象がRubyに嫌気がさしたjsコーダーとか意味がわからん
680デフォルトの名無しさん:2011/10/16(日) 01:11:51.77
>>677
動的型付け言語と動的言語の違いわかってる?
今の言語はすべて多かれ少なかれ動的言語だよ。
681デフォルトの名無しさん:2011/10/16(日) 01:14:11.03
>>676
こねぇよw
ってか、それってASPだろ
682デフォルトの名無しさん:2011/10/16(日) 01:18:34.43
>>675
多値返却をタプル・マップで模倣しろってのはその時点で型安全で無くなるので
お勧め出来ないのは同意だけど、配列内包云々は別に無くても上手くやっている
言語は世の中には幾らでもあるわけで、取捨選択の範疇だと思うけれどもなぁ。
683デフォルトの名無しさん:2011/10/16(日) 01:18:44.86
>>681
CoffieScriptとかHamlとかSCSS知らんの?
684デフォルトの名無しさん:2011/10/16(日) 01:20:03.65
>>680
自分こそわかってねえんじゃね
webとかPCの世界しかしらんのだろ
685デフォルトの名無しさん:2011/10/16(日) 01:23:36.34
>>682
確かに、必須だとかは言い過ぎの感があるけど、
それを言い出したら何でも必須ではなくなってくる
うまくやってるかどうかが人それぞれ定義が違うんで
価値観の違いだな
オブジェクト指向なんてなくてもうまくやってる言語はいくらでもあるとか
静的型付けなんてなくてもとか
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
687デフォルトの名無しさん:2011/10/16(日) 01:25:05.72
objがintになっちゃった。
コンパイルエラーだなw
688デフォルトの名無しさん:2011/10/16(日) 01:26:13.98
plan9にのってたlimboかinfernoで似たような文法を見たな
689686:2011/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()
みたいに書きたいんだ
めんどくさがりだからな
691デフォルトの名無しさん:2011/10/16(日) 01:33:34.76
オブジェクト指向言語でよくある
クラス爆発問題は無名クラスと型推論で解決できるでしょう。

少し考えれば継承爆発問題も解決できるかもな。
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];
}

693デフォルトの名無しさん:2011/10/16(日) 01:41:16.83
コピペしたからまたコンパイルエラーwww
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
ああ、流れ読んでなかった。多値返却の代用だから冗長すぎたら意味無いか
697デフォルトの名無しさん:2011/10/16(日) 01:53:02.23
>>692
大分スッキリしてるな
かなり満足だ
戻り値の型宣言があるならobjとvalueの型は型推論で取り除けるだろう
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, ... ] というものを考えてみたりする。

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

700デフォルトの名無しさん:2011/10/16(日) 02:10:22.64
701デフォルトの名無しさん:2011/10/16(日) 02:18:50.56
javascriptの何がくそかと言えば開発環境がくそ
実行した結果をブラウザ立ち上げてみるとか
面倒
デバッガはブラウザにあるし
コード編集と別れてしまってる
しかも動的型付けだから補完もろくにできない
702デフォルトの名無しさん:2011/10/16(日) 03:18:40.30
やはりgo言語至高ということでよろしいか
703デフォルトの名無しさん:2011/10/16(日) 03:35:43.86
│            _
│         /  ̄   ̄ \
│        /、          ヽ
J         |・ |―-、       |
         q -´ 二 ヽ      |
        ノ_ ー  |      |
         \. ̄`  |      /
         O===== |
        /          |
        /    /      |
704デフォルトの名無しさん:2011/10/16(日) 03:56:09.20
至高言語はRubyだよな
705デフォルトの名無しさん:2011/10/16(日) 05:23:41.95
Dartで作られた人気のあるwebアプリやゲームが出てくれば、来るかもしれんね。
Googleなら作れるんじゃないの。
706デフォルトの名無しさん:2011/10/16(日) 05:40:10.55
エロゲ作ったらいいじゃん webサービスとして。
いやマジで。
707デフォルトの名無しさん:2011/10/16(日) 06:46:46.18
Dartはマジでいい言語だと思うよ、癖がなくてスタンダードになり得る、それはここにいる大体の人が認めてる
でもいざWEBでJavaScriptの代わりになりますとか、CGIで今の言語の代わりになりますとか言われるといろいろ不満は出る
期待されてて使ってみようかなと思われてるけど、そこまで画期的なものじゃDartはないから、
大きなメリットが見えない、普及してない言語を今改めて使い始める気が起きないのが実状
それに大抵の人は今使ってる言語のメリットを残しつつ改善版を望んでいるのであって、
どっちつかずのDartには使用価値を見出だしにくいのが実状
708デフォルトの名無しさん:2011/10/16(日) 07:09:02.22
しつこいな
709デフォルトの名無しさん:2011/10/16(日) 07:15:07.53
リーマンSIerはサーバーサイドのJavaには慣れてるし、クライアントサイドを似たような文法で書けるDartを採用、とはならないかな
710デフォルトの名無しさん:2011/10/16(日) 07:22:47.23
つーかいまのヘビーなネイティブアプリ、つまりテキストエディタとかofficeとかゲームとかを移植するためのものでしょ。
javascriptはweb製作でこれからも当分使われるのは間違いないよ。
上手くすみ分けられるんじゃない?
711デフォルトの名無しさん:2011/10/16(日) 07:46:11.15
>>710
どう移植するの?
712デフォルトの名無しさん:2011/10/16(日) 07:56:39.09
>>711
その頭には脳みそ入ってないの?
713デフォルトの名無しさん:2011/10/16(日) 09:37:34.25
多値返却の受け取る方を変に代用とかせずに分割代入があるじゃん。
var [n1, s1] = func return 1, "test";
これくらい型推論できるだろう。
714デフォルトの名無しさん:2011/10/16(日) 10:07:10.80
googleさんgoって言語つくったのにまた新しい言語作ったの
http://www.dartlang.org/
715デフォルトの名無しさん:2011/10/16(日) 10:16:27.23
仕様バージョンがあれだけ低いってことは、これからかなり変更されるんだな
716デフォルトの名無しさん:2011/10/16(日) 11:16:59.00
クライアントサイドで動作するんだろ?コード見られるんだから流行らないだろ
手品師が種みせてるようなもので、商売にならねーだろ
717デフォルトの名無しさん:2011/10/16(日) 12:30:09.03
えっ
718デフォルトの名無しさん:2011/10/16(日) 12:37:03.17
ipv6と一緒で、なかなか普及しないと思うよ
719デフォルトの名無しさん:2011/10/16(日) 12:38:18.86
実際のところ、ただパフォーマンスを出したいだけだよね
720名無しさん@お腹いっぱい。:2011/10/16(日) 12:51:53.21
JVMの上で動くjavascriptを開発すればよいものを・・・
721デフォルトの名無しさん:2011/10/16(日) 12:53:06.77
noopはもはや話題にもされない
722デフォルトの名無しさん:2011/10/16(日) 13:22:08.69
http://codezine.jp/article/detail/4428

どっかの書き込みで見たのと同じようなコンセプトだなぁ
723デフォルトの名無しさん:2011/10/16(日) 13:27:45.52
> Noopではすべてのクラスのペアの間に「Seam」と呼ばれる結合部分が設けられ、
> 元のコードを編集することなくクラスのふるまいを変更できる。

> ほかにも、コンポーネント同士が依存関係を持たないようにする
> DI(Dependency injection:依存性注入)などが言語に組み込まれている。

>  また、プロジェクトにおけるコードは「書かれるものとしてよりも読まれるもの」であることが重要とし、
> プロパティ設定やデフォルトの不変性、実行可能なドキュメンテーションなどが定義されている。


俺が理想とする言語に搭載されている機能だな。
724デフォルトの名無しさん:2011/10/16(日) 13:28:55.29
それがまるで普及しなかったんだからDartもまず普及しないな
725デフォルトの名無しさん:2011/10/16(日) 13:34:02.29
noopは面白い言語だな
googleもやれば出来るじゃん
726デフォルトの名無しさん:2011/10/16(日) 13:34:46.23
どんな素晴らしい言語でもユーザが少なければ廃れるだけだろう
727デフォルトの名無しさん:2011/10/16(日) 15:27:12.31
>>720
既にあるじゃん
728デフォルトの名無しさん:2011/10/16(日) 16:19:07.75
ていうか、dartは今のままじゃ
jsより速くはならんぞ
パフォーマンスより大規模と安全性だろ
729デフォルトの名無しさん:2011/10/16(日) 16:19:54.60
>>720
ていうか、dart処理系の中で使われてるぞ
730デフォルトの名無しさん:2011/10/16(日) 17:06:29.13
safariとandroidブラウザにdart vm乗れば一気に流行るかもな
731デフォルトの名無しさん:2011/10/16(日) 17:33:42.19
たしかにアンドロイドに乗ったら、一気に多数派といえなくないかもね。
732デフォルトの名無しさん:2011/10/16(日) 17:41:43.62
なぜWebKitと言わずにsafariなのかは謎だわ
733デフォルトの名無しさん:2011/10/16(日) 17:45:04.97
iOSとIEに乗らない限りダメだな
734デフォルトの名無しさん:2011/10/16(日) 18:40:57.53
chrome os用にはなる
735デフォルトの名無しさん:2011/10/16(日) 19:17:52.61
>>726
こらこらそんなこと言うと普及した言語が素晴らしい言語なんだとかいう人がやってくるよ
736デフォルトの名無しさん:2011/10/16(日) 20:35:12.57
noopの時と意気込みが全然違うだろ
ホームページのデザインを気合入ったものにして、
サンプルをふんだんに載せ、ビデオを公開し、
ホームページ上で簡単に試せるようにしてる

noopの時にここまでやったか?
今回は本気で流行らせる気だよ
メジャーリリース時にはWebkitにVmを載せ、AndroidとChromeで
対応するようにして、大々的に宣伝するだろ
737デフォルトの名無しさん:2011/10/16(日) 20:47:19.52
ブラウザとhtml5が主戦場になりそうだし、イニシアチブ取りたいんでし
738デフォルトの名無しさん:2011/10/16(日) 21:23:20.19
お前イニシアチブ言いたいだけちゃうんかと。
739デフォルトの名無しさん:2011/10/16(日) 22:04:05.69
Androidへの対応はどうやるんだろうな
Dart用のDalvikのようなVMを用意するのか
それともWebKit(WebView)だけDart対応させて
あとはPhoneGapみたいなのが出るのにまかせるのか
なんとなく後者のような気もしないでもない
740デフォルトの名無しさん:2011/10/16(日) 22:29:15.37
次期AndroidはJavaを捨ててDartに!!!
741デフォルトの名無しさん:2011/10/16(日) 22:34:01.90
将来はそれを狙っているだろ当然。
742デフォルトの名無しさん:2011/10/16(日) 22:35:35.87
しかしそのころにはみんなNDKで開発していた
743デフォルトの名無しさん:2011/10/16(日) 22:36:36.10
エリックとシュミットが検索アルゴリズムのモックを作って、そのときエンジェルになったのがsunだった。
googleが成功してからsunの技術者がけっこう移ったってな話を聞いたことがある。
んなわけでgoogleはjavaに思い入れがあるはずだが、ここにきてjavaと手を切ることになるのか
oracleがsunを吸収したんだし有り得るか
744デフォルトの名無しさん:2011/10/16(日) 22:42:17.83
GWTでもGAEでもAndroidでもSunのJavaとは全く違うライブラリだったり制限があったりしたものだから結構Java関係者に批判されてた記憶が
745デフォルトの名無しさん:2011/10/16(日) 22:55:00.68
ライブラリはjavaの本質ではない
てのがgoogleのスタンスなんだろ
でないと永遠にあれに縛られるし
746デフォルトの名無しさん:2011/10/16(日) 23:07:32.41
>>745
いや、WORAという建前(笑)があるからライブラリの互換性はJava関係者にとっては重要だよ
747デフォルトの名無しさん:2011/10/16(日) 23:08:55.23
オラ? オラ悟空
748デフォルトの名無しさん:2011/10/16(日) 23:10:31.72
ググったら一番上に出てくるよ
749デフォルトの名無しさん:2011/10/16(日) 23:15:02.06
悟空が?
750デフォルトの名無しさん:2011/10/16(日) 23:17:31.12
WORAが何の略でどういう意味かが出てくる
751デフォルトの名無しさん:2011/10/16(日) 23:19:47.28
"Write once, run anywhere" (WORA、「一度(プログラムを)書けば、どこでも実行できる」)とは、
Javaのプログラムがオペレーティングシステム (OS) などのプラットフォームに依存しないという意味の、
サン・マイクロシステムズのJavaのスローガンである。
Write once, run everywhere (WORE) ともいう。
752デフォルトの名無しさん:2011/10/16(日) 23:20:27.64
オラでもオレでもどうでもいいわw
753デフォルトの名無しさん:2011/10/16(日) 23:23:52.01
オデともいうよ

Java開発者は次のようなジョークを飛ばすことがある: 「<一度書いてしまえば、どこでも実行できる>というのは、実際には<一度書いてしまっても、そこら中でデバッグしなければいけない (Write once, debug everywhere) >という意味なのさ」
754デフォルトの名無しさん:2011/10/16(日) 23:26:13.43
write once,run away  っていうのをむかし見て吹いた覚えがあるな。
755デフォルトの名無しさん:2011/10/16(日) 23:26:41.55
>>746
javaはSEだけじゃないから別にライブラリは重要ではない。java叩いてる連中が互換()笑とか言ってるだけ。
756デフォルトの名無しさん:2011/10/16(日) 23:39:57.02
>>755
重要なのはライブラリの重要性どうこうよりJCPを通ったかどうか
JCPがあるのにJCP通さずに勝手に自前ライブラリでやってればそりゃJava関係者は批判するのは当たり前ってだけの話
まぁJCPを通ることに価値があるのかどうかは人それぞれ
757デフォルトの名無しさん:2011/10/16(日) 23:46:15.83
JavaScript(ActionScript)とJavaバイトコード(PHP)に各種フレームワークやライブラリがそのまま使える程度に単純変換ができる言語があればいいんだけど
758デフォルトの名無しさん:2011/10/16(日) 23:59:05.81
rhinoをサーバーで使うのならいろいろあるけどバイトコードはかせるとVMいるからクライアントだとブラウザ屋の対応になるんじゃないの?
759デフォルトの名無しさん:2011/10/17(月) 00:13:02.35
JSに単純変換できかつJava(バイトコード)にも単純変換できる言語があればいいなぁって言ってるんだけど
760デフォルトの名無しさん:2011/10/17(月) 00:16:13.34
>>756
日本共産党ってそんなにすごい組織だったんだな
761デフォルトの名無しさん:2011/10/17(月) 00:20:09.20
>>759
そのバイトコードをどこで動かすんだよって言ってんだよ。
762デフォルトの名無しさん:2011/10/17(月) 00:21:59.07
>>761
Tomcatをはじめとするサーブレットコンテナを想定していますが
763デフォルトの名無しさん:2011/10/17(月) 00:34:30.53
>>762
だからアプリケーションサーバならrhinoつかったフレームワークがあるって言ってんだろ。
764デフォルトの名無しさん:2011/10/17(月) 00:42:33.41
何を怒ってるのか知らんけどRhino使ったフレームワークで有名なのあったっけ?
Node.jsもJaxerもRhino使ってないし・・・
765デフォルトの名無しさん:2011/10/17(月) 00:56:50.84
リンゴだろ
766デフォルトの名無しさん:2011/10/17(月) 03:19:19.57
MLやIRCで開発者達が質問に丁寧に答えてくれるんだが、相当なやる気だな。

それも、
「何故Dartはこのように設計されたのか?」
とか、
「何故Dartには機能Xがないのか?」
などのような質問にも丁寧に回答している。
767デフォルトの名無しさん:2011/10/17(月) 07:40:20.81
このスレ訳して、日本ではこんなボロカスに言われてますよって
言ったらどんな反応するかな
768デフォルトの名無しさん:2011/10/17(月) 07:51:06.64
「議論が活発で何よりです」
769デフォルトの名無しさん:2011/10/17(月) 08:42:12.74
つーかGoogle Code Search廃止かよ
これよりあれのほうが間違いなく使う機会多いのに
770デフォルトの名無しさん:2011/10/17(月) 10:08:15.42
マジかよ。英語調べるのに重宝してたのに。
771デフォルトの名無しさん:2011/10/17(月) 11:35:20.35
>>767
英語ではここよりボロカスに言っている記事があるぞ。
javaとjavascriptの悪いところをかけ合わせた、登場時から時代遅れの最悪の代物とかな。
772デフォルトの名無しさん:2011/10/17(月) 11:52:29.21
google には python の作者をはじめとして言語オタクがいるはずだよな
そいつらに意見を聞けば良かったのに
あるいは保守的な考えで意見を封鎖してきたのかな
773デフォルトの名無しさん:2011/10/17(月) 12:00:27.05
googleみたいに古い書き方で驚異的に複雑なロジックを
すごい速度で書ける人にはこれが分かりやすく思えるんです
CやJavaに慣れ過ぎた果ての現象
774デフォルトの名無しさん:2011/10/17(月) 12:30:53.04
Javaでサーバ側開発して、そのまま人員をクライアント側に投入できるって考え方でしょ。
JavaからJavascriptのコンバータが一番受けそうだけどさ。

少人数で普通の人の頭の上を行こうって言語じゃない。
775デフォルトの名無しさん:2011/10/17(月) 12:53:18.54
>>774
JavaからJavaScriptのコンバータとしてGWTを出したけど
全然受けなかったんだってヴぁ
776デフォルトの名無しさん:2011/10/17(月) 12:53:51.88
大人数でもコードの品質がバラつかないようにしよう、という感じをうけるよね
そういう意味ではGoogleが好んで使う傾向があるっぽいPythonのような印象
PerlのTMTOWTDIとは逆っていうか

どこもそうだとは思うけど、JS界隈もヒドい奴とスゴい奴の差が激しすぎるから・・・
777デフォルトの名無しさん:2011/10/17(月) 13:00:40.31
pythonっぽい印象は全くないけどねえ
インデント方式もジェネレータも内包表記もメタ機能も
ダックタイピングも無いしprivateがある
クロージャはあるけどJavascriptが持ってるからでしょ
778デフォルトの名無しさん:2011/10/17(月) 13:52:13.65
ちょっと試してみて?と思った部分。
・配列がなくて全部リスト?部分的に抜き出したりとかを簡略的に書く記法もないのか
・文字列のsplitに第二引数がない。空の抜き出しかたとかどうするの
・try内部の変数がcatch で使えない?
・rangeみたいに簡単に数列が作れる記法がない?
・catch の第二引数なにこれ。複数のパターンをキャッチできるとかではないのか
779デフォルトの名無しさん:2011/10/17(月) 14:57:40.13
これ非同期プログラミングに関する言語的サポートが特に無いように見えるんだが……
JSの置き換え狙ってるとしたらそこが重要なポイントだったんじゃないの
CPSとモナドでやれ、というようなfunctionalな言語ではないから
コルーチンが欲しいところだけど、ジェネレータすら無いとはね

将来tail call eliminationがサポートされるようになったりはするんだろうか
少なくとも今はダメみたいだね
下のコードを試したけど、普通にスタックがあふれる

あと、型としてはintとかあるんだけど、それ指定しても
途中から結果は"Infinity"になるんで、内部実装はJavaScript同様
倍精度浮動小数点数っぽいな
むしろ何のためにintがあるんだか分からん

fact(var n, var a) => n < 1 ? a : fact(n - 1, a * n);
main()
{
  print(fact(20000, 1));
}
780デフォルトの名無しさん:2011/10/17(月) 15:04:33.50
>>779
スレッドはない。
ただし、メモリ空間が完全に独立したisolateがあって、メッセージパッシングで通信する。
ていうか規格読め。

末尾再帰の最適化は、将来的には行われる予定。
ただし、今すぐではない。
http://code.google.com/p/dart/issues/detail?id=29

intは無限の精度を持った整数型。
ただし、DartCでJavaScriptにコンパイルすると、javascriptのNumberになる。
それはつまり、浮動小数点数。
これは規格違反だが仕方がない仕様。
手で書くより極端に遅いんじゃ誰も使いたがらないから。
Dart VMでは、規格通りに実装されている。
781デフォルトの名無しさん:2011/10/17(月) 15:28:50.99
>>780
なるほど、isolateってやつがあるのな
サンクス
782デフォルトの名無しさん:2011/10/17(月) 16:28:05.59
これはPythonとは違うのだよ
Javaなのだよ諸君
783デフォルトの名無しさん:2011/10/17(月) 16:50:29.28
py風が欲しけりゃcoffeeが既にあるしな
784デフォルトの名無しさん:2011/10/17(月) 16:52:33.65
インデントでブロックを表すところ以外にPythonを感じない。
他にどのあたりがPythonぽいんだろう>CoffeeScript
785デフォルトの名無しさん:2011/10/17(月) 16:53:08.98
>>778
>・try内部の変数がcatch で使えない?
本物の関数内ブロックスコープを持っている言語としては自然だと思うが。

>・catch の第二引数なにこれ。複数のパターンをキャッチできるとかではないのか
スタックトレースらしいが、詳細は定義されていない。
多分規格のアップデートがあるだろ。

それより、notationからcatch句がひとつしか使えないっぽいのが気になる。
786デフォルトの名無しさん:2011/10/17(月) 17:02:34.61
あ、catchPartに+があった。
787デフォルトの名無しさん:2011/10/17(月) 17:06:12.40
一応、このstack traceは、メソッドtoString()で、Throwに定義されているような内容の文字列を得られるようだ。
ただ、static typeが規格に見つからない。
788デフォルトの名無しさん:2011/10/17(月) 17:15:54.54
>>784
動的型付けだし、配列のスライスとか多値代入とかRubyやPythonに似てると思うよ
少なくともDartよりは随分似てる
>>785
確か、Python,javascript,Rubyあたりは普通に
変数使えちゃうんじゃね
789デフォルトの名無しさん:2011/10/17(月) 17:38:52.46
rubyは違う。
配列は規格にないけど使ったらあったよw
790デフォルトの名無しさん:2011/10/17(月) 17:42:45.48
>>788
だから「ブロックスコープを持っている言語としては」って書いてあるんじゃね?
その3つは関数スコープだろう

P言語でもPerlならブロックスコープだし、JavaやC#、Dを含めC系の言語は基本的に
ブロックスコープ
ブロックスコープでcatch側からtryの中が見れたらそれはバグだw

>>778は自分の知ってる数少ない言語にDartが似てないことについて文句を
言ってるんだなと思ってスルーしてた
791デフォルトの名無しさん:2011/10/17(月) 17:56:18.49
>>790
778は俺だが、なんか気分を害したみたいで悪かったな
ブロックスコープや関数スコープの違いとかあまり考えてなかったし、
例外的にtryとcatchだけブロックがつながって変数が見えても
別に俺はなんとも思わないので適当にいってみただけ
確かに俺の知ってる数少ない言語であるPythonの便利な機能がないのは
結構不満だなあ
でも、文句というより疑問を言ってるだけ
知識もないのに適当言ってすまんかった
792デフォルトの名無しさん:2011/10/17(月) 18:37:33.04
よくよく考えると、Javaでよく見るtryの前の不格好な変数宣言は
catchとfinallyとtryのブロックが別れてるせいじゃね?
少なくとも、ブロックが別れていなければもっと近くで宣言できるはずだし
変数のスコープをtryからfinallyの間に閉じ込めらるはずだ
本質的には同じブロックになった方がいいんじゃないか?
793デフォルトの名無しさん:2011/10/17(月) 19:06:13.93
>>792
その場合、tryブロックの中に子ブロックがあって、その子ブロックの
中で例外投げられてcatchのブロックに飛ばされた時はどういう扱いに
すれば良いだろう?
794デフォルトの名無しさん:2011/10/17(月) 19:15:59.01
>>792
そう単純でもないだろ
try {
 var a = new A();
 var b = new B();
 var c = new C();
} catch (...) {
}
catchの中でa, b, cが可視だとしても、a, b, cの状態は完全に不定だ
Java、C#を含めC++系の言語では、初期化行以降ブロックの最後までが
変数のスコープだ
つまりちゃんと構築され、オブジェクトが利用可能になっている範囲からのみ
可視になっている
795デフォルトの名無しさん:2011/10/17(月) 19:17:42.03
子のtryだから、今まで通り見えないでいいんじゃないの
それか、tryブロック自体実はいらなくね?w
796デフォルトの名無しさん:2011/10/17(月) 19:19:16.68
いっぽうPythonのような関数スコープ言語では
x = 0
def f():
 print x
 x = 1

一番下のxのスコープは関数f全体になるので、print xのxは、その時点では
未束縛、未構築の下のxだ
変数が未構築で使えもしない時点で可視になっているわけだ
Pythonの場合はこれは未束縛変数へのアクセスによる実行時エラーとなる
try〜exceptでも勿論同種のことが起こり得る
797デフォルトの名無しさん:2011/10/17(月) 19:19:42.11
まあ例外は構造化gotoだから汚いのは当たり前
798デフォルトの名無しさん:2011/10/17(月) 19:20:20.08
>>794
でも、結局tryの前でnullで初期化しない?
そこは一緒じゃないか?
まあ、宣言に初期化が必須なら意味に違いが出てくるかもしれないが
799デフォルトの名無しさん:2011/10/17(月) 19:21:23.66
>>798
勿論tryの「前で」(外で)nullで初期化すれば、両方のスコープから可視になるし
問題を明確化できる
つまり、catchからtryの中を見れても特にいいことがないということ
800デフォルトの名無しさん:2011/10/17(月) 19:24:28.26
>>799
いや、最近は宣言が離れているだけでもスタイル的に問題だとされるし、
実際に使用する範囲よりスコープが広いから普通に名前衝突の問題がある
801デフォルトの名無しさん:2011/10/17(月) 19:27:27.25
初期化してない変数に対するメソッド呼び出しは何もしない
という仕様ならどうだ
802デフォルトの名無しさん:2011/10/17(月) 19:29:44.15
>>800
catchの時点で未到達・未初期化の変数の場合はnull扱いにするような
仕様にしろってことかな?
全ての変数が参照型の言語なら、まあそうすることも可能だろうな

ただ、一般論として「実際に使用する範囲よりスコープが広い」のは
むしろ関数スコープの言語だぞw
実際JSにはブロックスコープが無いから、無名関数が代用によく使われている
(function(){...})()
みたいな涙ぐましいやつな
803デフォルトの名無しさん:2011/10/17(月) 19:30:15.08
>>801
明示的に何かしたいときだけ定義する、でいいよね。
NullPoはマジでコーディングの邪魔・迷惑……
804デフォルトの名無しさん:2011/10/17(月) 19:32:48.74
>実際に使用する範囲よりスコープが広いから

実際にはtryブロックとcatchブロックで参照したい変数なんだから
tryブロックとcatchブロックから可視な場所に配置するのは当たり前だと思うが……

ブロックスコープなんだから、可視性を制限したければいつでもさらに
ブロック使っていいんだぞ
805デフォルトの名無しさん:2011/10/17(月) 19:32:58.03
>>802
いや、今まで通りでいいんじゃないか
nullで初期化しないといけないのは今も同じだから

あと、関数ブロックなら確かに利点はないが、
ブロックスコープでなら意味がある
なお、今思ったがtryブロックを廃止してしまえばいいかもw
806デフォルトの名無しさん:2011/10/17(月) 19:35:09.01
>>804
でも一方でブロックのネストを深くするのも良くないとされてるし、
不格好ではないか?
そこにtryブロックがあるなら利用できた方がいい
807デフォルトの名無しさん:2011/10/17(月) 19:44:21.65
try catchをswitch caseの構文にするのはどうだろう
逆にcaseの方がブロック別れてて欲しいかもしれんw
808デフォルトの名無しさん:2011/10/17(月) 19:48:16.65
caseは初心者嵌まるから
caseの条件に複数掛けるようにしてブロック化した方がいいと思うの。
809デフォルトの名無しさん:2011/10/17(月) 19:52:15.05
話はそれるが、確かにcaseの条件に複数かけるのはいいな
最近の言語そういうのあるよね
810デフォルトの名無しさん:2011/10/17(月) 20:10:06.07
dartも出来たw
811デフォルトの名無しさん:2011/10/17(月) 21:01:15.62
>>784
listの内包記法も出来なかったっけ?
812デフォルトの名無しさん:2011/10/17(月) 21:19:49.52
DHTML目的でHTMLに埋め込む用途だと<script>要素の中だけではなく要素の属性値
としてイベントハンドラのコード等を埋め込むことも(今はすっかり減ったとはいえ)
あるので、Pythonみたいなインデントブロックの言語はやや不利かも。
813デフォルトの名無しさん:2011/10/17(月) 21:31:00.75
ここはむしろxmlで書く言語でいい
htmlとの相性は抜群
属性駆使すればjsonより簡潔にかけるらしい
814デフォルトの名無しさん:2011/10/17(月) 21:33:51.54
MathMLみたいな文法を手書きするのか?
815デフォルトの名無しさん:2011/10/17(月) 21:37:29.23
Mathmlは属性使ってない
816デフォルトの名無しさん:2011/10/17(月) 21:46:14.27
FlexのMXMLなんかはXML要素の組み合わせでプレゼンテーションロジックも相当
書けるようにはなっているけれども、それでも現実にはMXMLの宣言的記述とAS3
の手続き的記述を組み合わせて書くのが一番楽。

手続き的な処理をXMLで書いても単に字数が多くなるだけだよ。
817デフォルトの名無しさん:2011/10/17(月) 23:01:13.24
昔metahtmlというのがあってだな
818デフォルトの名無しさん:2011/10/17(月) 23:40:15.66
>>812
htmlに埋め込むなんてそんなクソ設計は考慮しなくてい
819デフォルトの名無しさん:2011/10/18(火) 00:03:48.92
手でXMLを記述なんてありえないからな
820デフォルトの名無しさん:2011/10/18(火) 00:10:05.33
Android開発はみんな手で書いてるけどなw
821デフォルトの名無しさん:2011/10/18(火) 00:21:43.09
Googleってやってることが本当に古い
CoC全盛の時代に逆行するxml設定地獄
いつのリソースファイルだよって感じw
設定からソースを自動生成するとか、逆だよ逆w
まーリフレクションを敵視する愚か者たちだから
そうするしかしょうがないかw
822デフォルトの名無しさん:2011/10/18(火) 00:23:56.95
XMLは冗長すぎるのでYAMLやS式で記述して変換したほうがマシだな
<function>
 <return type="int" />
 <arguments>
  <argument type="int">
  <argument type="char**">
 </arguments>
 <body>
  <statement>
    :
なんかこんなん書くんだろ、冗談じゃねーぞ
823デフォルトの名無しさん:2011/10/18(火) 00:42:11.91
>>822
構文木直接書く必要はないんだから、もうちょっと短くできるんじゃないか
<defun name="func:int" args="a:int; b:char**">
 <fore index="i" ... />
みたいに
これでも結局文字列頼りの感が否めないが
824デフォルトの名無しさん:2011/10/18(火) 00:44:53.44
だからmetahtmlと…
825デフォルトの名無しさん:2011/10/18(火) 01:15:02.15
>>821
別に設定記述だけがXMLの用途ではないのだが。
昨今のGUIフレームワークはC#等+XAML、AS3+MXML、Java+FXML、もっと
低水準になればJS&canvas+SVGのようにGUI定義の手続き的記述と宣言的記述の
両方が出来るようになっている。
XMLは単に宣言的記述のホスト言語として使われているだけの話。JavaFXも独自
のFX Scriptから無難にXMLベースのFXMLに落ち着いた。

Androidも別にXMLを使わなくともJavaで手続き的にUI定義を書くことは出来る。
RoRにしてもViewの部分はErbとかで宣言的に書くんじゃないのか?
826デフォルトの名無しさん:2011/10/18(火) 01:19:30.04
>>771
外人ひでえw
あっちは容赦ないなw
827デフォルトの名無しさん:2011/10/18(火) 01:21:12.77
>>825
設定がuiだけならいいんだけどね
828デフォルトの名無しさん:2011/10/18(火) 01:36:15.47
>>825
>RoRにしてもViewの部分はErbとかで宣言的に書くんじゃないのか?

実際に触ってもいないのに大口たたいても痛いだけ
いったいErbのどこが宣言的なんだと小一時間....
829デフォルトの名無しさん:2011/10/18(火) 01:38:00.68
>>826
なんか話がずれてる気がする
Androidの開発を実際にやってみればDryとは程遠い現実に愕然とするぞ
確かにレイアウトはxml使わなくてもいいが、Googleが標準のつもりなのは
xml使う方だろ(現実には使わない方がメジャーかもしれないがw)
避けられない部分もあるしな
理想と現実は違う
一度インテントやアイテムを追加しようと思ったら、
何度あちこち同じ文字列を書かされることか
830デフォルトの名無しさん:2011/10/18(火) 01:44:23.25
AndroidはSWT使いが頑張って.NET Formを目指したという感じ。
831デフォルトの名無しさん:2011/10/18(火) 01:44:37.62
>>822
なんかそれ面白そうだな。
言語自作できるようになったら、JSのフロントエンドをそれに変換して作ってみたいぞ。
832デフォルトの名無しさん:2011/10/18(火) 01:44:53.37
この言語は流行るよ
見慣れた文法だから
でも、大胆な所がisolateぐらいしかないのはやっぱり残念
833デフォルトの名無しさん:2011/10/18(火) 02:51:55.12
isolateってそんなに大胆か?
まあ、個々のisolateが独立したメモリ空間をもつという、
コア言語上のサポートは、結構大胆かもしれない。
834デフォルトの名無しさん:2011/10/18(火) 02:54:54.47
IsolateはWeb Workersと似たようなものかと思ってたけど
違うんだろか
835デフォルトの名無しさん:2011/10/18(火) 04:22:00.46
isolateはjsの実装で言うダイナミックスコープになったアクターじゃないの?
836デフォルトの名無しさん:2011/10/18(火) 08:51:14.15
とりあえず早くChromeにVMのっけてほすぃ
837デフォルトの名無しさん:2011/10/18(火) 10:53:00.85
Chromeにのっけてもシェア低いからmozillaの拡張機能も出さんとなぁ。
問題はWinRT版のIE10でプラグイン使えないことだ。
838デフォルトの名無しさん:2011/10/18(火) 11:18:18.65
言語の出始めは取りあえずどういう活用場所があるかまだ分からんしね。
Javaだって、ブラウザで使うために作られたのが今やサーバ側のロジック記述用だし。
839デフォルトの名無しさん:2011/10/18(火) 14:34:56.24
>>838
え?
840デフォルトの名無しさん:2011/10/18(火) 14:43:42.05
run anywhereがrun awayなっただけです。
841デフォルトの名無しさん:2011/10/18(火) 15:37:52.41
>>839
たぶん俺たちが年取ったんだよ
842デフォルトの名無しさん:2011/10/18(火) 16:02:58.17
>>838
Wikipediaとか見れば書いてあるけど、Javaはもともと(Oakという名前だったころは)
組み込みを視野に入れたシステムズプログラミング用の言語で、別にブラウザ向けの
オモチャを作ろうとしてたわけじゃない

まあ一行目は同意
843デフォルトの名無しさん:2011/10/18(火) 18:09:02.53
一般的には常識とされている普遍的なテーマ、例えば
 真実は一つだけ
 怒りは自然な感情
 戦争・テロは無くならない
 死刑には殺人の抑止力がある
 虐められる側にも虐めの原因がある
 自己チューな人間ほど自己愛が強い
などの命題の間違いとその論拠を解説
義務教育では絶対教えない最新合理主義哲学
   感情自己責任論
844デフォルトの名無しさん:2011/10/18(火) 19:54:09.01
どこを縦読み?
845デフォルトの名無しさん:2011/10/18(火) 21:32:30.24
javaに変換するjdart…。正直な話、こんなもの一体、誰が使うんだろう。
ってか、native clientはやく広まれ
846デフォルトの名無しさん:2011/10/18(火) 21:59:29.04
まともな言語でweb開発ができるようになるかもしれないのか。
期待しとこう。
847デフォルトの名無しさん:2011/10/18(火) 22:19:41.58
Javascriptがまともな言語であることを知ってるのは言語オタだけだな
848デフォルトの名無しさん:2011/10/18(火) 22:26:57.27
そうか?

JSLint使うのはちょっとしたチュートリアルさえあればそこらのウェブデザイナーでも
ふつうにできると思うのだが。
849デフォルトの名無しさん:2011/10/18(火) 22:31:31.95
>>848
そのレスで価値観や知識背景や感性がまるで違うことがわかったので
めんどくさいんでスルーするわw
850デフォルトの名無しさん:2011/10/18(火) 22:34:14.16
せいぜいプロトタイプベースの利点の再発見とかくだらない事語るだけだろ
851デフォルトの名無しさん:2011/10/18(火) 22:39:04.51
     ____
   /__.))ノヽ
   .|ミ.l _  ._ i.)
  (^'ミ/.´・ .〈・ リ   JavaScriptはわしが育てた
  .しi   r、_) |
    |  `ニニ' /
   ノ `ー―i´
852デフォルトの名無しさん:2011/10/18(火) 23:13:16.99
JavaScript:世界で最も誤解された言語
http://d.hatena.ne.jp/brazil/20050829/1125321936
853デフォルトの名無しさん:2011/10/18(火) 23:16:23.64
"The Good Parts"とか語られる言語って…、てな感じだよな。
854デフォルトの名無しさん:2011/10/18(火) 23:23:17.74
dartさんのパクリもとのJavaのことだな
855デフォルトの名無しさん:2011/10/18(火) 23:40:54.54
>>771でそのThe Bad Partsを掛け合わせた言語と言われる言語って...
856デフォルトの名無しさん:2011/10/19(水) 00:07:33.49
上のほうでmethod_missingみたいなもの欲しがってたがnoSuchMethodなるものがあるそうで
857デフォルトの名無しさん:2011/10/19(水) 00:36:23.61
javascriptがschemeを元に設計された言語だと知ってるレベルで
言語ヲタだなんて思っている香具師を見ると、お笑いブーム時の「いつもここから」コント。
「カワイイネ。カワイイネー」が思い出されてしまう
858デフォルトの名無しさん:2011/10/19(水) 00:45:36.22
そういうのはどうでもいいから技術的な話をどうぞ
859デフォルトの名無しさん:2011/10/19(水) 08:30:20.36
JavaScriptが好きならそれを使い続ければいい。
JavaScriptがなくなる時代なんて、おそらくあと30年はやってこないだろう。

ブラウザ内スクリプトで言語を選択できるのは、いいことだと思うよ。
問題は今のJSがあまりにも最適化されすぎてしまったせいで、
いくつかのブラウザではスクリプトエンジンを選択可能にするのが難しいこと。
一度プラグイン化されてしまえば、その後なら使える言語が増えていくという展開もありえなくはない。

Dartはその第一歩としてはまずまずの状態だと思う。

少なくともVBScriptよりは全然マシだ。
あれは「既存の、単価の安いVBプログラマ」のことしか考えてなくて、
本来どんな言語がブラウザ内スクリプトに適切なのか、
想定される開発の規模はどんなものなのかをまじめに検討していなかった。
当然MS以外のブラウザベンダーはVBScriptをサポートしなかった。

Dartの設計理念にはまだまだ怪しいところがあるけど、
外野としては今の段階で強く言うべきことは特にない…かな。
860デフォルトの名無しさん:2011/10/19(水) 09:00:18.99
JavaScriptは『自由に何でも書ける』って方向は現在、そしてこれからの拡張で必要十分なんだよね
でも型とか『制限させてしっかり書く』というのが(ES4,5で改良されてきたものの)足りない
この2つは上手く両立させるのが難しくてES3で失敗もしたけど
Dartには処理速度なんてどうでもいいからこれからJSのよさをどんどん取り入れて実現して欲しい
まあ今よりそうなることは確実だろうけど、「必要」がでかいからね
でもそうなってくると、JS側もこれからどんどん進化して開発環境も整ってくる(Dartもある意味そう?)し、
10年後JSAdvanceとDartAdvanceはそんなに違わない言語になってそう、
まあ両者とも活躍したい場所が同じだからそうなるのは必然、
Dartは単体では失敗するけどJSの開発環境としてしばらく実りそう
861デフォルトの名無しさん:2011/10/19(水) 09:16:32.38
ChromeのDev Toolsと連携して強力な開発環境作り上げれれば開発者囲い込めるし
他ブラウザも追従せざるを得なくなる、かもしれない
862デフォルトの名無しさん:2011/10/19(水) 09:38:33.14
Chrome IDEの登場ですね
863デフォルトの名無しさん:2011/10/19(水) 20:32:01.99
>>859
なんか偉そうなんだが

> 本来どんな言語がブラウザ内スクリプトに適切なのか、
> 想定される開発の規模はどんなものなのかをまじめに検討していなかった。

じゃあ、どんな言語がブラウザ内スクリプトに適切なのか
お前には分かっているのか? 検討したのか?

抽象的なことばかり言ってるんじゃねーよ。
864デフォルトの名無しさん:2011/10/19(水) 23:46:45.29
llvmやCLIみたいなもの載っけて、言語の選択を自由にしたらいいじゃないの?
オブジェクトにはILUやらThriftやら使ってさ
865デフォルトの名無しさん:2011/10/20(木) 00:03:25.57
それなんてjvm?
866デフォルトの名無しさん:2011/10/20(木) 00:18:24.91
いまどきのウェブブラウザってデフォルトでjvmのってるの?
javascript自体を中間言語に置き換えてしまう方が良かったよね
載っけたネットスケープもjsがここまで広まるとは思ってなかったんじゃないかと予想
867デフォルトの名無しさん:2011/10/20(木) 00:25:25.85
>>864
それ言語じゃないから。

どんな言語が適切かと聞いたのに、
結局、適切な言語は言わないのか。
868デフォルトの名無しさん:2011/10/20(木) 00:42:17.53
何かに最適な言語があるわけないのに何いってんだ?
だいたい動的言語と静的言語の目的を同系列に考える時点で池沼
誰彼も自分が好きな言語を弄りたがってjavascriptへのトランスレータ書くんだから、
最初からブラウザ上には中間言語のっけりゃよかったんだよ
869デフォルトの名無しさん:2011/10/20(木) 00:58:24.93
いやでもllvmはいいだろ
jsがランタイムみたいになってるのが自然とは思えんw
870デフォルトの名無しさん:2011/10/20(木) 01:11:33.97
今を知ってる人間から見ればそういう結論になるが、
当時いきなりブラウザ上で動く中間言語だけ提示しても先鋭的すぎて駄目だったのでは?
ほとんど誰にも使われず、動的なWebサイトの真価が見出される前に
サポート打ち切り、他のブラウザベンダーにも黙殺、2010年代になっても
Webはほとんど静的ページで画面遷移だらけという展開も十分ありえる。
871デフォルトの名無しさん:2011/10/20(木) 01:23:49.45
Emscriptenというのがあってだな
872デフォルトの名無しさん:2011/10/20(木) 01:46:22.12
jsとdart、中間言語として使うならどっちのほうが優秀なんだろうねえ
873デフォルトの名無しさん:2011/10/20(木) 01:49:32.26
言語仕様の優秀さという比較なら、後発という理由でDartだろ
ただ、それで今のJSをひっくり返せるかどうかは未知数
874デフォルトの名無しさん:2011/10/20(木) 03:00:46.59
>>868
何かに最適な言語ではなく、
ブラウザ内スクリプトに適切なのかを
まじめに検討すればその答えが出る。

それがVBScriptには無いと>>859が言い出したんだから
その話を聞こうじゃないか。

それとも偉そうなことを言って終わりなのか?
875デフォルトの名無しさん:2011/10/20(木) 04:05:43.31
Callオブジェクトとwithなくしたjsが最適解じゃね?
それにjs2.0のマシン型付け足せば文句ない。
876デフォルトの名無しさん:2011/10/20(木) 07:09:41.14
>>870
というかそれを打ち出したら当時大流行(笑)のJavaを敵にまわすことになってたから
状況はまるっきり変わってたんだろうなぁ
877デフォルトの名無しさん:2011/10/20(木) 08:57:59.96
なんかアラさがしをしたいだけの人みたいだし、スルーするよー。
878デフォルトの名無しさん:2011/10/20(木) 09:03:55.16
flashみたいに各ブラウザ用のプラグインを自分で用意できれば最強。
879デフォルトの名無しさん:2011/10/20(木) 09:44:23.83
>>878
つNPAPI/PPAPI
880デフォルトの名無しさん:2011/10/20(木) 17:54:05.85
もともとブラウザにはtclが載っかるはずだったんだよね
それが、natclなんて不遇な運命を辿った。
881デフォルトの名無しさん:2011/10/20(木) 18:16:08.70
お前らDartの言語の文法とか機能とか標準ライブラリとかについて語れよ。
背景事情とか歴史的経緯とか語ってもしょうがないだろ。
882デフォルトの名無しさん:2011/10/20(木) 21:28:32.03
>>875
Callオブジェクトって何?
マシン型ってなに?
初心者臭いがしてくるんだがw
883デフォルトの名無しさん:2011/10/20(木) 21:32:41.52
そんなえさにつられくまー
884デフォルトの名無しさん:2011/10/20(木) 21:35:50.79
餌なら餌でそれでいいさ。
反論がなければ、あとは周りがどう思うかさw
885デフォルトの名無しさん:2011/10/21(金) 00:17:17.52
噛み付く前に念のためググっておく癖をつけといたほうがいいね。
886デフォルトの名無しさん:2011/10/21(金) 05:16:23.51
今初めてdartのソース見たけど
特に癖無く使いやすそうな構文だな
golangとは全く趣向が違う気がした
ブラウザにdartエンジン積んで普及すればjsの置き換え狙えるかもな
887デフォルトの名無しさん:2011/10/21(金) 18:59:42.04
とりあえずchrome以外のブラウザにdartのVMをわざわざ乗せるメリットがからなぁ
888デフォルトの名無しさん:2011/10/21(金) 20:48:34.85
>>886
コンパイラのソースコードみたのかと思ったよ
889デフォルトの名無しさん:2011/10/21(金) 20:58:53.52
>>882
自己紹介通り越して露出狂の域だな。
890デフォルトの名無しさん:2011/10/21(金) 23:33:22.77
>>888
もしや処理系の名前が言語と同じなのか
891デフォルトの名無しさん:2011/10/21(金) 23:45:35.04
違うの?
処理系のコード読むって発想ない奴もいるもんだ
892デフォルトの名無しさん:2011/10/22(土) 02:14:24.17
>>891
その言い方はヒンシュク買うからよした方がいい

普通違うんじゃね
893デフォルトの名無しさん:2011/10/22(土) 02:48:00.83
普通読まないよ、というか読まないといけない時点で言語としては論外のような
894デフォルトの名無しさん:2011/10/22(土) 03:01:34.96
Chrome以外にdartVMが搭載される目は全くない
Safari持ってるAppleが動画規格や携帯端末で競合してるgoogleに協力するわけがないし、
それを棚上げしてまで搭載を英断するほどのメリットや素晴らしい要素も全くない
(そういうのを目指したわけではないから当然なのだが)
IEも同様、FirefoxやOperaはそういう対立はないが、逆にわざわざ載せる理由もない。
なので結局googleがなんと言おうと使われるとすれば主流はJavaScript変換にならざるを得ないわけだが、
初めからいきなり膨大なコードを吐きだすというイメージを持たれるという失態を犯した以上
普及するのはかなり厳しいんじゃないかな。
895デフォルトの名無しさん:2011/10/22(土) 04:33:59.22
JSはブラウザにライブラリを
インストール出来るようにしないとだな
896デフォルトの名無しさん:2011/10/22(土) 08:40:49.59
それはブラウザの実装側の仕事だな。W3Cかどこかがオフラインwebアプリのキャッシュ仕様にjsコードも共有できるようにすればいい。
897デフォルトの名無しさん:2011/10/22(土) 08:52:17.52
構造化言語で開発ならC#とかJavaって言語がすでにあって、
JSにしたいなら↓こういうのがすでにあるんだけど、新しい言語は必要なのかな?

http://jsc.sourceforge.net/
898デフォルトの名無しさん:2011/10/22(土) 08:59:08.44
.Netなんてgoogleが採用するワケがない
javaはGWTが今ひとつ乗りきらない
domとか文字列処理の多いクライアント側には
ガチガチの言語は使いにくい
妥協点探した結果がdartなんだろ
899デフォルトの名無しさん:2011/10/22(土) 09:06:14.12
>>895
容易にカオスが想像できる
CDNで十分だ
900デフォルトの名無しさん:2011/10/22(土) 11:25:13.30
Java: Oracleの支配下
C#: MSの支配下
なんだから、Googleとしては都合悪いだろ。
901デフォルトの名無しさん:2011/10/22(土) 12:49:50.52
>>898
domをコードで操作するからそういうことになるんじゃねぇの?
domがクラスライブラリのインスタンスに見えるような実装とかってありえないんだろうか?(そんなことしたら互換性ないけどさ)
902デフォルトの名無しさん:2011/10/22(土) 12:59:08.65
>>894
gmailやgoogle mapのjsを使った自社サービス運営にdart使うんだろ
でなけりゃ、jvmやflash、silver lightはどうやってブラウザに載っかったんだ
よく使われるインフラとも言えるサービスを快適に利用ためにはdart vmが必要になるなら
ブラウザのシェア自体をchromeに持ってかれるだろ
そうなりゃ、safariやIEは嫌でもプラグインを載せるしかないだろ
903デフォルトの名無しさん:2011/10/22(土) 15:03:31.40
プラグイン?
Dartと、FlashやSilverlightの目指しているものは違うでしょ。
あくまでDartは、DOMを操作できるJSの置き換えを目指してるでしょ。
904デフォルトの名無しさん:2011/10/22(土) 15:17:33.59
>>903
こいつアホだな
905デフォルトの名無しさん:2011/10/22(土) 16:05:00.38
で、いつになったらWindows上でDartのコンパイルができるようになるんだ?
906デフォルトの名無しさん:2011/10/22(土) 16:42:50.96
今すぐでも出来るよ。
907デフォルトの名無しさん:2011/10/22(土) 16:47:18.98
>>906
マジで!?
公式とかざっと読んでも見つけられなかったんで、ヒントお願いします
908デフォルトの名無しさん:2011/10/22(土) 17:29:31.61
>>897
実行速度の高さもDartの目標の一つだし
909デフォルトの名無しさん:2011/10/22(土) 18:25:11.13
>>902
プラグインは提供するかもしれないね、誰も入れないけどw
世間はプラグインを排除する流れなのに何を言ってるんだか・・・
910デフォルトの名無しさん:2011/10/22(土) 18:30:27.24
Chrome FrameにVM入れ込むのはあるかもしれない
911デフォルトの名無しさん:2011/10/22(土) 18:39:58.73
Dartはまず第一文句としてJSの置き換えを目指すと言っちゃってるからメリットが見えにくくなってると思う
例えば処理速度の向上もサーバーサイドやバイナリを扱う超高性能なメディア編集アプリなら活きるけど
WEBアプリで速度が問題になる描画関係等のほとんどの部分は高次元関数化されて来てるから速度差はあまり生まれないし
912デフォルトの名無しさん:2011/10/22(土) 18:46:32.28
>>900
別にOracleに従う必要はないんだけどJCPで標準化すると時間がかかるのか
そういうのをすっ飛ばして勝手ライブラリを作って互換性を無視してるから
Java関係者やJava信者の評判がすこぶる悪い
913デフォルトの名無しさん:2011/10/22(土) 18:51:34.43
VMとJS変換の二本立ては意図はわかるけど明らかにJS変換がとりあえず変換できればOKといった感じで疎かになってる(ように見える)のが致命的なんだよなぁ
大規模に普及でもしない限りVMのほうはiOSの存在がある限り詰んでるのは目に見えてるんだから
普通に考えればJS変換のほうをもっと注力すべきなのは明らかなんだけど
914デフォルトの名無しさん:2011/10/22(土) 18:55:21.36
>>910
まぁdartVMプラグイン提供するくらいに本気ならそれも当然やるんだろうけど
そもそもChromeFrameにdartVM入れようと入れまいと大勢に影響は全くないのがなんとも
915名無しさん@お腹いっぱい。:2011/10/22(土) 20:05:35.24
Dartでなければ動かないググルのキラーサービス作れば流行りそうな
916デフォルトの名無しさん:2011/10/22(土) 20:15:04.44
Dartでなければ動かないサービスが流行るかどうか。
当面はDart非対応のブラウザでもjs変換でそこそこ動く、Dart対応ブラウザならサクサク動くという
二段構えで進んでいくつもりだと思う。

しかしGmailとかGoogleドキュメントのような既存製品はDartで書き直すのかね。
肝心のGoogle内のプロダクトでもDartの採用が進まなかったりしてw
917デフォルトの名無しさん:2011/10/22(土) 20:41:12.13
Closure LibraryのプロジェクトをDartに変換するのも提供するって話じゃなかったっけ?
Closure Compilerはコメントに型書けば見てくれるしな
918デフォルトの名無しさん:2011/10/22(土) 22:17:37.70
そもそもClosure Libraryの普及度が
919デフォルトの名無しさん:2011/10/22(土) 22:33:58.84
とりあえずd8速えな
jsとは思えない
920デフォルトの名無しさん:2011/10/22(土) 22:39:53.08
d8はjsじゃねーだろ
921デフォルトの名無しさん:2011/10/22(土) 22:50:01.96
js ninja共は、まず使わないんだろうな
922デフォルトの名無しさん:2011/10/23(日) 01:15:45.10
dartのコード(もしくはバイトコードコンパイルしたもの)をアップしてもポータビリティはゼロなんだけど
ここら辺はどう解決するんだろう?
まさかdartバイトコードを変換済みJSを両方アップロードしろなんてバカな仕様じゃないといいんだけど
923デフォルトの名無しさん:2011/10/23(日) 01:53:43.65
なんでVM相当のコードまるごとJS変換なんだろう?
924デフォルトの名無しさん:2011/10/23(日) 02:51:08.68
>>922
dartのバイトコードってなに?

ところでもうjdartとか作られ始めてるな
仕事早過ぎ
925デフォルトの名無しさん:2011/10/23(日) 02:58:57.45
なんだ? もう分裂したのか?

すなおにdartの日本語パッチ作れよ。
んで、本家にマージしろよ。
926デフォルトの名無しさん:2011/10/23(日) 03:14:21.31
うけた
日本語版なら面白いな
927デフォルトの名無しさん:2011/10/23(日) 03:18:50.31
>>924
>dartのバイトコードってなに?

dartの仮想マシンでdartプログラムを動作させるための中間コードのことですが
928デフォルトの名無しさん:2011/10/23(日) 03:44:14.09
dartのVMはdartのコードをそのまま解釈して実行するんじゃないのか。
929デフォルトの名無しさん:2011/10/23(日) 03:45:30.01
Embedding Dart in HTML : Dart : Structured web programming
http://www.dartlang.org/articles/embedding-in-html/

dartVMのバイトコードじゃなくて、dartのコードと変換済みJSを両方アップロードすることになるんじゃね。
930デフォルトの名無しさん:2011/10/23(日) 03:55:48.23
>>928
んなわけない、いまどきの(直接機械語ファイルを生成しない)言語で中間コードにコンパイルしない言語なんて
個人的に作ったような簡易言語でもなければ滅多にない。
だいたいそんな仕組みだったらVMとは言わない、インタプリタって言う。
931デフォルトの名無しさん:2011/10/23(日) 04:02:20.53
>>930
いまどきのJavaScriptの実装はJITコンパイラで、
実行時にプログラムコードをそのままマシン後に変換してるじゃないか。
Dartも同じだろ。
932デフォルトの名無しさん:2011/10/23(日) 04:19:24.82
>>931
それだと「そのまま解釈して実行」してませんが
933デフォルトの名無しさん:2011/10/23(日) 04:26:00.86
>>932
了解した。言い直しておく。
dartのVMはdartのコードを直接解釈して、機械語に変換して、実行するんじゃないのか。
少なくとも、VM外部に中間コードのようなものは存在しない。
934デフォルトの名無しさん:2011/10/23(日) 04:40:05.42
>>933
わかった、>>922はアップするものがdartコードだろうが(仮に存在したとして)dartVMの中間コードだろうが
dartVM非搭載ブラウザ対応のために別に変換済みJSをアップする必要があるのなら言いたいことは全く同じなので
935デフォルトの名無しさん:2011/10/23(日) 05:01:33.50
>>929を見ればわかるが、
Dartのプログラムを単純にJSに変換してサーバにアップロードするだけじゃダメみたいだぞ。
dartで書いたページは、HTMLの方も<script type='application/dart'>とかなってるわけで、
さらにHTMLに直接dartのプログラムが書いてあることもあるわけで、
HTMLページそのものをdartからJavaScriptに変換するツールがHTMLConverterっていう名前で用意されてる。
936デフォルトの名無しさん:2011/10/23(日) 05:18:03.66
それは酷い…
937デフォルトの名無しさん:2011/10/23(日) 05:26:01.69
普通にDartVMがネイティブで載ってるかどうかを判別するjsをロードして
載ってるならプラグインとして<object>要素書き出すなり独自にDartVMをロードするなりしてdartコードを実行、
載ってないならコンパイラ,VM相当の機能を持ったjsを遅延ロードしてjsで変換、解釈して実行
ってすればいいんじゃないかと思うんだがなんでこんな仕様に
938デフォルトの名無しさん:2011/10/23(日) 05:33:46.43
今は初心者の勉強とか使い捨ての簡易コードでもなけりゃ
HTMLにJavaScriptコードを直接記述することは滅多にないし
記述しなくても支障や制限は全くないんだけど
Dartはそういうわけにはいかないんだろうか?
939デフォルトの名無しさん:2011/10/23(日) 05:42:26.85
ああ、>>929のはHTMLにdartのコードを埋め込む方法を説明したページなのかw
940デフォルトの名無しさん:2011/10/23(日) 05:45:59.67
でも、HTMLとプログラムのファイルを分けたとしても、
HTML中の<script type="application/dart" src="xxx.dart"></script>はそのままじゃ使えなくて、
この問題を簡単に対処する方法は提供されるのかなあ。
941デフォルトの名無しさん:2011/10/23(日) 06:34:51.03
同じプログラムに関して、
type="text/javascript" src="xxx.js"とtype="application/dart" src="xxx.dart"の
両方のscriptタグをHTMLに書いておけばいいのか・・・
現状のFirefoxとGoogoleChromeはjavascriptの方だけ見て正常に動いてくれるから、
dart対応したブラウザがjavascirptを無視してdartの方だけ実行してくれればそれで問題は無い?
これって規格的にはどうなの。
942デフォルトの名無しさん:2011/10/23(日) 07:10:53.30
dartを直で実行しても性能面で大したメリットないからな
当分js吐かせて使うことになるだろな
直で実行可能になっても
結局ブラウザ判定とロード用のjs挟むことになるんじゃね
943デフォルトの名無しさん:2011/10/23(日) 11:03:45.61
>>941
dart互換用のjsなのかそうじゃないのかの区別がつかないなぁ
と思ったがよく考えたら構造上dartを使いたかったら全部dartで書かないといけないのか
944デフォルトの名無しさん:2011/10/23(日) 15:38:22.12
jdartとかinvokDynamicの練習にコンパイラ書いてるようにしかみえん
945デフォルトの名無しさん:2011/10/23(日) 16:32:32.57
ダウンキャストで警告吐かないのは失敗だと思うんだがなぁ……
946デフォルトの名無しさん:2011/10/23(日) 16:53:24.85
失敗だと思ってないのはこの人だけだと思う
http://cpplover.blogspot.com/2011/10/dart_22.html
947デフォルトの名無しさん:2011/10/23(日) 17:02:19.75
ツールで見抜けってことかね
型変換の構文とか、実行だけする側としては冗長だし
948デフォルトの名無しさん:2011/10/23(日) 17:03:11.97
Dartの型システムは実行時のパフォーマンスやエラーチェックには一切影響はない(キリッ
ってDartを絶賛してる人が静的型言語の数少ないメリットを自ら否定してどうしたいんだこの人w
949デフォルトの名無しさん:2011/10/23(日) 17:08:19.04
ダウンキャストが出てくる実装って、基本的に設計ミスじゃなかったっけ?
950デフォルトの名無しさん:2011/10/23(日) 17:09:39.76
>>947
それも自分からツール使えって言ってるならまだしもコメントで
「ツール使えって意味ですかね?」的な聞かれ方に対して
「その手もありますね」って答え方してるだけで自分から何も提示してないし
そのコメントで言われる「誰かが知らないうちにダウンキャストしてたらどうするの?」には
>>948って言ってるし・・・普及したいのか称賛するふりして貶したいのかどっちなんだ
951デフォルトの名無しさん:2011/10/23(日) 17:12:44.40
>>946
タイムリーな話題だなwこっちのスレにいる人なのか?w
http://hibari.2ch.net/test/read.cgi/tech/1319212872/60-
952デフォルトの名無しさん:2011/10/23(日) 17:13:33.11
あのDartの褒め殺しっぷりは、多分貶めようとしてるんだろw
それくらいはジョークとして見抜いてやれよw
953デフォルトの名無しさん:2011/10/23(日) 17:15:20.48
>>951
dartの評判を調べてたらたまたま見つけたw
954デフォルトの名無しさん:2011/10/23(日) 17:37:08.32
>>948 >>950

>>951のスレでは、
ダウンキャスト使うと、int宣言した変数にString型のデータ入れることができて、
そのint型の変数に格納したString型のデータは変数の型を無視してString型として振舞うから、
実行時に型宣言の情報を使ってエラーチェックや動作の最適化はできないんじゃないかって話になった。
変数の型は実際に動かしてみないと確定できないってことね。
つまりDartは動的型付け言語だって結論。
955デフォルトの名無しさん:2011/10/23(日) 17:40:46.09
>>954
JSに変換されて動く以上、実際に動く時はそりゃ動的型付け言語だろうよw
956デフォルトの名無しさん:2011/10/23(日) 17:49:09.92
>>955
だからつまり、Dartの型は、実行前のチェックぐらいにしか意味ないんだねってことだよ。
957デフォルトの名無しさん:2011/10/23(日) 17:53:12.01
>>956
いや、むしろ実行前のチェックにすらロクに使えないってことを
よりにもよって絶賛してる側(?)の人が言っちゃった感じ
958デフォルトの名無しさん:2011/10/23(日) 17:58:20.76
ダウンキャスト許容の正当化にそれしたいなら動的言語使えってレベルのコードを提示して
これコードは明らかに正しいとかちょっと信者のふりをしてるにしてもレベル低すぎないか?
ほんとにこんなのがC++標準化委員会のメンバー?
959デフォルトの名無しさん:2011/10/23(日) 17:59:55.83
ここまで適当な型付けなら構造的部分型&プロトタイプベースとかにしてくれよ
960デフォルトの名無しさん:2011/10/23(日) 18:27:28.59
言語仕様も怪しければVMが普及する可能性も怪しいしJavaScript変換の出来も怪しいとか
いくらgoogle様でもこれはちょっと酷すぎないか
961デフォルトの名無しさん:2011/10/23(日) 18:47:29.27
完成度バリバリで出したら出したで、「オープンとか言いながら過程が全然オープンじゃない!」って言われるから
標準化が目標ならこの段階から世に出さざるを得なかったんだと思うけどね
962デフォルトの名無しさん:2011/10/23(日) 20:00:33.18
GoとかDartとか見てると
http://headlines.yahoo.co.jp/hl?a=20111013-00000006-inet-inet
これは本当だなーと思うな

Steve YeggieがGoogle+について述べた話だけど
問題は「Googleがプラットフォームというものを理解していない」ところにあるんだ
とか
良くも悪くも何ちゃってな状態で公開してしまうハッカー文化という気がするな
963デフォルトの名無しさん:2011/10/23(日) 20:09:47.11
>>962
変更が多い少ないという話は原文ではそれほど重要視されてないんだが、
お前はそんなふうにしか読めなかったのか…
964デフォルトの名無しさん:2011/10/23(日) 20:23:00.70
>>963
「変更が多い少ない」って誰が言ったの?
俺は、「Googleがプラットフォームというものを理解していない」というのが
Yeggieの話のポイントだと思ったわけだけど

プラットフォームってのはそれが他人の仕事の基盤となり、それゆえ欠陥や互換性問題
等が他人に直接影響してしまう
だから、てきとーな出来やサポート状態では信用されないし、誰も使ってくれない
そういうものなのに、Google様は、わりとてきとーな状態で公開してしまう
それは、プラットフォームへの無理解のためだろう
そう俺は読んだけどね
965デフォルトの名無しさん:2011/10/23(日) 21:45:35.86
例の文書との絡みで言うのであればGoもDartもGoogleというでかい組織の中の一つの
チームが単独で出してきた取り組みに過ぎず、Google全社でこれに全面的に乗っかる
ような本気さを見ていて全く感じないことかな。
Google社内ですらどんだけプラットフォームとして活用する気なのか出来ているのか
見ていてよく解らんのに、外に出しても使えてもらえるわけないだろと。

古くはOrkut、最近だとWaveなんかもそうだと思うけど、プラットフォームになれる
素養を持っていながらGoogleが全社的にこれに乗っかって社内社外で突っつき回す
事をしなかったため1チームの単独プロダクトに留まり孤立無援で結局死産になった
ものは多い(Orkutはまだ一応生きてるけど)。
他方でGoogleはモバイル戦略として大々的にAndroidに乗っかっているからこちらは
一応成長しているけれどもChrome OSは野次馬がどう見ても死産コースだよね。

個人的にはDartもニッコリ死産コースだと思うのだけど、現状のJavaScriptの悲惨な
部分を再認識させてECMAScriptの改訂作業を加速する肥やしになってくれればまぁ
歴史的な意義はあるのだともう。
966デフォルトの名無しさん:2011/10/23(日) 21:55:42.43
天才が集まって出来たものが,何もせずともサーバー走らせておけば金も勝手に入ってくるシステム。

暇なんだよ。 何か作りたかったんだよ。
967デフォルトの名無しさん:2011/10/23(日) 22:05:00.89
まぁSunやMSみたいに
「5年後にはすべてのWebクライアントにDartVMが載るだろう」
とかハッタリかまされても引くけどな
968デフォルトの名無しさん:2011/10/23(日) 22:12:56.88
とりあえずダウンキャストに警告つけてくれ。話はそれからだ
それさえあれば、とりあえずJavaScriptを吐き出すためのツールとして有用だ
969デフォルトの名無しさん:2011/10/23(日) 22:53:25.87
規格にばっちり書いてあるらしいから意図的なんだよねこれ、
さすがに理由は>>946が言ってるようなレベルじゃないことを祈るが
970デフォルトの名無しさん:2011/10/23(日) 23:08:05.21
Object x = 'Hello, ';
Object y = 'World';
int nx = x;
int ny = y;
int nz = nx + ny;
print(nz); // Hello, Worldを印字

俺はダウンキャストで警告が出ないことよりも、int型の変数に
'Hello, 'や'World'という値が普通に入ってしまうことのほうが
より深刻な問題だと思うんだわ
Javaで言うと、勿論キャスト書かないといけないが、キャスト書いても
実行時型が違うから、ClassCastExceptionが発生するところ
C++でさえdynamic_cast<>では実行時型チェックする

intとか書いてあったって文字列値を取り得るんなら、マジで型注釈が
屁の役にも立たない
これってJavaScriptトランスレータの実装だけの問題なの?
971デフォルトの名無しさん:2011/10/23(日) 23:09:33.94
型指定は所詮ヒントでしかない
ってことらしいけど……

うっかりミスを防げないなら、型システムの意味ないよなぁ
972221:2011/10/23(日) 23:11:52.46
つまり全部varにしろってことで。
973デフォルトの名無しさん:2011/10/23(日) 23:12:47.99
リリース前に警告全部つぶしとけって事だよいわせんな恥ずかしい
974デフォルトの名無しさん:2011/10/23(日) 23:13:12.09
その警告すら出ないわけだが
975デフォルトの名無しさん:2011/10/23(日) 23:15:27.63
>>970
まぁ普通に考えるなら変数はそのままJavaScriptの変数に変換してるからそうなるんだと思うが、
VMについてはわからん・・・VMでもそうなるならもはや何も言うことはないのだが。
976デフォルトの名無しさん:2011/10/23(日) 23:18:08.43
本当にバッチリ書いてあるんだがな。

この意図は代入を必ず正しくさせるためではない。
正しく動く可能性のある代入以外の、ほぼ確実に問題のある代入を警告するためにある。

13.4 Interface Types
A type T may be assigned to a type S, written T ⇔ S, iff either T <: S
or S <: T.
This rule may surprise readers accustomed to conventional typechecking. The
intent of the T ⇔ S relation is not to ensure that an assignment is correct. Instead,
it aims to only
flag assignments that are almost certain to be erroneous, without
precluding assignments that may work.
For example, assigning a value of static type Object to a variable with static
type String, while not guaranteed to be correct, might be fine if the runtime value
happens to be a string.

そもそもDartの静的型は、Javascriptのvarにコメントで型情報を書いておくのに毛の生えたものにすぎんのだよ。
var str = "hello" ; // このstrって変数は文字列に束縛されることを期待している。間違えないでね
が、
String str = "hello" ; // コメント必要なし
になるわけだ。
977デフォルトの名無しさん:2011/10/23(日) 23:19:57.83
てことは>>970はJSトランスレータのみならず言語仕様?
なら型注釈を見ての最適化も不可能じゃないか?
実際には完全に実行時型でのみ動作してるわけだから
978デフォルトの名無しさん:2011/10/23(日) 23:26:39.06
int にStringつっこむのが、正しく動く可能性のある代入かぁ?
979デフォルトの名無しさん:2011/10/23(日) 23:27:53.83
Pythonのtype annotationとかそんなんだっけ
980デフォルトの名無しさん:2011/10/23(日) 23:30:08.21
>>978
正確にはintにString値を持つObject型の変数を代入している
intはStringのsubtypeじゃないけどObjectのsubtypeではあるので
コンパイル時には通してしまう

そのObjectの値が実はStringであることは>>970の例なら
もっとコンパイラが頑張って静的解析すれば分かるレベルだけれども
そこまでコンパイラが頑張っていないので素通し

そして実行時に代入する時点でも誰も何もチェックしないので素通し……
981デフォルトの名無しさん:2011/10/23(日) 23:33:39.69
大規模開発用を謳いながら静的型言語にするメリットが完全に無くなってる仕様を意図的に規格に盛り込むとか
怒りとか呆れ通り越して笑いがこみ上げるな
982デフォルトの名無しさん:2011/10/23(日) 23:34:07.59
>>970
そもそもDartにおける静的型と変数と代入の意味を根本的に勘違いしている。
Dartにおける非finalな変数は、固定のストレージを持たない。
他の言語の近い概念で言うと、ポインターやリファレンスみたいなもの。
だから、代入というのは、ストレージを書き換えるのではなくて、変数を具体的なストレージへ束縛させるだけ。
変数の束縛先が固定の言語では、型が違えばストレージを書き換えることが不可能なため、エラーになる。
一方、JavascriptやDartでは、単に束縛先を変えるにすぎないのだから、実行時エラーにはならない。

>>970のxとyの静的型はObjectなのだから、int nx = x という式は、
Objectからintへの代入に過ぎない。
この例で、xが実際にはint型のストレージを束縛しているというのは、実行時にしか分からない。

Objectはすべてのトップに立つものだから、
スーパークラスとサブクラスは相互に代入可能な規格の定義により、警告はでない。
はじめからちゃんと静的型をStringにしておけば警告が出る

String a = "a" ;
int b = a ; // static type warning.

>>977のような誤解が多いが、Dartの静的型は最適化のためではない。
983デフォルトの名無しさん:2011/10/23(日) 23:35:08.73
int型にString型をぶち込んだ場合は警告が出て動く。
int型にObject型(中身はString型)をぶち込んだ場合は警告も出ずに動く。
984デフォルトの名無しさん:2011/10/23(日) 23:37:33.41
>>982
何を意味不明なことを言っているのか
JavaやC#でもClass型はJS同様に単一束縛ではない参照型だから
代入ではポインタのすげ替え相当のことが行われるだけだが、
nallow cast/down castで実際に実行時型が適合しなければClassCastExceptionだ
985デフォルトの名無しさん:2011/10/23(日) 23:38:57.02
実際以下のJavaコード試してみればいいのに
Object x = "Hello";
Integer nx = (Integer)x; // ClassCastException
986デフォルトの名無しさん:2011/10/23(日) 23:40:16.22
>>982
ああ、なんだ。Stringをintにぶっこむのはちゃんとワーニングになるのね
ってかためしたらワーニング出たわ

やっぱ問題はダウンキャストだわな
馬鹿な決定したもんやで・・
987デフォルトの名無しさん:2011/10/23(日) 23:41:37.59
>>984
Dartの思想としては、
実質的には何でも参照できるのに、わざわざ束縛できる型を限定するとか面倒じゃない?
というのがある。
最初はvarとかでゆるく書いておいて、後から時間があれば型を厳しくするような開発スタイルができるわけだ。
988デフォルトの名無しさん:2011/10/23(日) 23:43:28.22
一見厳しくしているようでいて実はただのvarなんて害悪で、ないほうが
マシなぐらいだろ
実際のコードと一致してないコメントみたいなもんじゃないか
989デフォルトの名無しさん:2011/10/23(日) 23:45:39.27
>>987
うーん、その開発スタイルって大規模開発に向いてないよね?
初期にゆるく書いたコードが後々メンテの障害になりそうだが…
990デフォルトの名無しさん:2011/10/23(日) 23:48:20.99
C++標準化委員会のメンバーともあろうお方が、
OOPではダウンキャストが当然みたいな言いまわししてるって、マジか?
何かのジョーク??
991デフォルトの名無しさん:2011/10/23(日) 23:50:04.45
>>990
ジョークだといいんだけどなぁ、早くジョークって言ってくれないかなー
実はDart褒めてるふりしてるだけでしたって言ってくれないかな―
992デフォルトの名無しさん:2011/10/23(日) 23:52:04.24
あの人は自分でも認めてるように規格を読むのが好きなだけで
プログラミングはシロウトだから
993デフォルトの名無しさん:2011/10/23(日) 23:55:41.94
ダウンキャストが必要になるシチュエーションが思いつかない
994デフォルトの名無しさん:2011/10/23(日) 23:55:59.64
OOPはダウンキャストが当然的な言い回しは
プログラミングはシロウトとかそんなチャチな話じゃ断じてねぇ
もっとC++をはじめとしたOO言語やOO自体の概念に関わるもっと根本的な話だぜ…
995デフォルトの名無しさん:2011/10/23(日) 23:58:05.36
>>993
Genericsが無いころのJavaでは必要不可欠だったけどな
コンテナがObject型オンリーだから……

ただ、その頃のJavaですら、キャスト使っても
Integer型の変数に文字列値が格納されるなんていうバカな事態はなかった
996デフォルトの名無しさん:2011/10/23(日) 23:59:27.22
>>994
し、知っているのか!?雷電!

>>995
あー、あったあった。C++厨としては、なんでJavaがこんな間抜け実装なのかすげえ疑問だったわ
997デフォルトの名無しさん:2011/10/24(月) 00:01:12.31
そしてDartはもっと間抜けな実装なんだぜw
998デフォルトの名無しさん:2011/10/24(月) 00:48:32.86
まだ出たてだし議論が進めば変わるだろ
型が甘すぎるのは意味ないしな
999デフォルトの名無しさん:2011/10/24(月) 01:47:19.22
1000デフォルトの名無しさん:2011/10/24(月) 01:47:43.60
>>>999
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。