. /:;:;:;:;:;:;:;:;:;:;:;:;:,.,.、 /:;:;:;:;:;:;:;i`` '''''''''ヾ;' . /;:;:;:;:;:;:;:;:;| 、 ;`: 最後に私からみなさんにメッセージを贈りたいと思います。 /;:; -、;:;:i'''´ ;;.,,.,.; ;.,,! 人は歩みを止めた時に、そして挑戦を諦めた時に年老いてゆくのだと思います。 i;:;:i£`;;!. ,-=・、く=i' この道を行けばどうなるものか。 |;:;:ヽ.^' . '´;.. ヾ. 危ぶむなかれ、危ぶめば道はなし。 !;;:;''`i ノ''ー-ノ 踏み出せばその一足が道となり、その一足が道となる。 ..,i;;'' 、 . i´.(ー‐‐! 迷わず行けよ、行けばわかるさ。ありがとう!! ヘ、 ヽ ヽ  ̄.| いくぞー!! 1・2・3 Dart!! ..`ー-、 ` ー-、 i `: ... `ー--、./` ー-‐' ` : .... iヾ、
___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 / | | | |
FizzBuzzとかイラネ 誰があんなん興味持つんだ
じゃあおまえが考えるもっと適切な題材は?
志村けんの大丈夫Dart
>>8 >>7 じゃないけど、アプリ的にはBit.lyクローンとかTwitterクローンとか?
完成品のライブラリ呼ぶだけ、じゃなくて、FizzBuzzと同じ行数でそれができる言語が あったらすごいね。
solve_fizzbuzzという関数を作った。 一行で答えが出る。
で?
発表に合わせて対応したChrome出すぐらいしろよな
IEで動くようになるのはいつになるんだ
>>8 基本データ構造の再実装とかP99とか、タートルグラフィックにフラクタクル、詰チェス
しかし、googleは敢えて用意しないだろう
オタクたちがちょっとイジって書くネタがなくなると話題性と興味すらもなくなるからだ
動かんのか? helloとhtml見て、 サーバーでコードを実行して、その結果をJavaScriptに変換して 送りつけるようなものだと思ったが。
そろそろDartで書かれたテトリスが発表されているころか
とりあえずインストール中
パッと見では、c++,c#,javaよりかも良さげ cliも、jvmも、llvmも、これ載っけちまえと思うのは私だけ?
JavaScriptよりはましだけど あまり使われないだろうな
ベースは静的型にDynamic乗っけた感じかね 新しいだけに言語仕様はよさげ 流行るかは別として go…
画期的な機能というか、新鮮さを感じる要素はないっぽい・・・ goのときは幾分かワクワクしたけど
>>24 むしろ動的に静的型チェックも出来るよ的な感じかと
production modeではチェックしないらしいし
また、plan9的な終わり方するのかな appleみたくマーケット作れば流行るんだろうけど、 それをしそうにないのがgoogle
ソースを落とそうとしてるのだが、混んでるようだな。
>>26 いや動的をベースにすると、静的型チェックを行うのに
必要な情報が抜け落ちてしまう。
だからこれは静的型をベースにしていると考えたほうがいい。
OCamlみたいな、明示的に書かなくても内部でがっちりやってるよ、じゃないの?
ActionScript3.0みたいな感じじゃないかな 型宣言ない場合は*みたいにね 型推論に関する記述はどこにもなくない?
Haskellばりの型システム欲しい
狙いどころがよく分からん言語だな
サーバーサイドでもクライアントサイドでも耐えうる仕様で高速化できるようにある程度型取り入れた感じじゃないの 内部実装は知らないがトランスレータにもなるならCoffee程度には使えそう
gemみたいなの無いの?
つーか、これからっしょ
. /:;:;:;:;:;:;:;:;:;:;:;:;:,.,.、 /:;:;:;:;:;:;:;i`` '''''''''ヾ;' . /;:;:;:;:;:;:;:;:;| 、 ;`: /;:; -、;:;:i'''´ ;;.,,.,.; ;.,,! i;:;:i£`;;!. ,-=・、く=i' |;:;:ヽ.^' . '´;.. ヾ. !;;:;''`i ノ''ー-ノ 俺たちの戦いはこれから ..,i;;'' 、 . i´.(ー‐‐! ヘ、 ヽ ヽ  ̄.| 1・2・3 Dart!! ..`ー-、 ` ー-、 i `: ... `ー--、./` ー-‐' ` : .... iヾ、
goは作者に並ぶ名前だけでワクワクしたが こっちはなんていうか better jsを狙った実用物って感じだもんな
単なるjavascriptへのトランスレーターなの?
こっちの言語設計者もstrong talkとかv8とかの中の人で有名な人だったはず
kenさんは神々の一人だしな
HelloWorldのサンプル見ただけでこりゃだめだと思った
クライアント側もサーバー側も対応できるトランスレーター言語だったらすでにhaXeとかあるけど これってそれに対してどんなアドバンテージがあるの?
>>42 はえーよ
難読プログラミング言語じゃあるまいし
>>43 大企業がメンテするOSSで、ネームバリューがあるので目玉の数が集まりやすい
chromeなりGAEなりとの連携など今後の発展も期待できる
haXeって実績あるの?
>>44 だってコードが無駄になげーもん、あれはありえない。GWTの失敗から全然学んでない。
GAEは値上げでオワコン
>>48 google社内で、サーバーのコンパイルとかに使ってんじゃねーの?
後発だから文法が綺麗なのは当たり前として あんまり特徴らしいモンがないんだけど
こういうのって本気で流行らせたいならGoogleのコーダーとかがお手本見せてくれりゃ良いと思うんだが
プロトタイプベースとは何だったのか。
>>51 javascriptの大規模化に対応するためだろうから特徴なんてなくていいよ。ないほうがいいよ
ずっと前からあったような、すぐに使える言語の方がよっぽどうれしい
もうちょっとトンがったのを期待してた iPhone4Sみたいだ
カミングスーンで涙目・・・。
チュートリアルを試してみたけれど、 C#のプロパティみたいに生やすアクセッサはいいね あとはDartにおけるCPANとかGemとか次第かな
chrome web storeに、iPhoneみたいな課金文化が根付いてくれれば
DOMが document.query('#status').innerHTML これな時点てWeb言語としては失格だと思うんだ
Macでビルドしたらテスト失敗 めんどいな 素直にLinuxでやるか
jQueryのっけられたら基本的に問題は無いが乗るのかこれ
dartcってjs吐くんだが helloworld.jsが28kb
どうでもいい自作フレームワークごと抱え込んで他のライブラリ資産を活用しにくくしたGWTの失敗を踏襲してるのかな
そりゃ新言語だからな
jqueryはjsベッタリだから無理じゃね
ちなみに
>>60 は約154kbだなw
こりゃブラウザに内蔵しなけりゃキツい
先発のCoffeeScriptなんか当たり前のようにjQuery使えるようにしてるのに・・・
jQueryはVisual Studioとも 親和性がいいからね。 ぜひ使えるようにして欲しいと言うか するべきだ。
visual...?
型無し言語か・・・
そんな、トゲアリトゲナシトゲトゲみたいなことを言わなくても!
72 :
デフォルトの名無しさん :2011/10/11(火) 04:11:12.64
JavaScriptが糞言語だから新言語を作るとして JavaScriptへのトランスレータの形にせざるを得ないのがな。牢獄のようだ。 ウェブ標準にVMみたいなの積めんの?言語選択の自由をくれ
>>72 そんなことしたら、また標準が肥大化して、
標準化される前の先取り個別実装が乱立して、
目も当てられなくならないか?
まあまずは率先してChromeに積んでくれってことだな
javascriptにコンパイルしなくても 動くようにしてくれ
普通にインタープリタもあるぞ
>>72 それなんてJavaApplet?
VMとJS変換の二本立てじゃjQueryは無理だな。 それにしてもなんでDOMをあんな前時代的な構文にしちゃったんだろう?
for(int n=0;++n<101;)の方がよくね
なんで?
いやゴルフだし
chrome以外対応する予定あるのかこれ
現状じゃ他のブラウザがわざわざ対応するメリットがないっぽいが…
gmailとかg+がこれで超進化
syntaxがjava臭い
Flash広告みたいなDart広告作って 金出して積ませればいい
C系のシンタックスでないと流行らないという読みなのか……?
母数の多い方を狙いに行ったのかもしれん。
かっちりしたシンタックスで他にポピュラーなものでよさげなのがあるか? Algol系とかLisp系とかHaskell系とか、どれも人気出なさそうだろw
- 静的解析がしやすい - スクリプトエンジンの性能を出しやすい この2点しかメリットないのな、この言語。 今の時点では賛同する奴は増えないだろう。 JavaScriptのパフォーマンスで苦しんでる奴がそもそも多くない。
v8とか速えからな でも少し大きくなるとツラい
あ、速度じゃなく 書いたりメンテするのがツラいってことね
93 :
デフォルトの名無しさん :2011/10/11(火) 12:58:49.35
まぁJSは実際ちょっとした装飾やフォームの動作改善がほとんどで パフォーマンスに苦しむほど派手な動きをさせたいならとっととFlashでやるからなぁ
いやJavaScriptは比較してデバッグだいぶ大変なほう 大きなものには静的型チェックほしい jsで型推論とかやってたけどな…
素のWindowsXPだとgclient syncでpythonがエラー吐いて死ぬ。 アドオン出るまで待つのがいいか。
>>89 Python, Ruby
あとは、JavaScriptの貧弱すぎる標準ライブラリもなんとかしてほしかったが、
これはどうなんでしょう?
>>72 C++も最初はCへのトランスレータだったしな。
あとはGoogleがどこまでこれに取り組むか。これ使ったアプリがどんと出てきたらいいんだがな。
windows環境で成功した奴居ないの?
>>96 Python はともかく、Ruby のシンタックスは gdgd だろ。
Python は Python でポピュラー度が微妙。すくなくとも見た目にとらわれる連中は
見た目だけで敬遠する部類。
もっと革命的な言語をくれよ
っ 言い出しっぺの法則。
Ruby の構文が gdgd なのは変わってないだろw それから、少なくとも「C と Java と PHP は出来ます」って自称する連中は、 Python の構文に拒絶反応示すぜw
Harmonyでよかったんじゃないのこれ?
>>103 まぁRubyは構文どころか関係者から取り巻きから環境から何から何まで全部gdgdだしな
106 :
デフォルトの名無しさん :2011/10/11(火) 19:47:25.32
コンパイル後のコードの長さがネタにされてるなw
optimize入れないとスゲえデカさになるからな 入れてもデカイけどw
どうしてこうなった…
ビルド出来ねぇよ!ヽ(`Д´)ノウワァァァン!!
これってマイクロソフトのasp.netとc#みたいな組み合わせかな?
>>109 ライブラリも全部一つの.jsに叩き込んでるって噂。
JavaScriptをどうやって滅ぼすかが今後10年の課題だな。 俺の中で3大糞言語はPHPとC++とJavaScript ただしC++たんはちょっと可愛いところもある
糞言語と言えばRubyだろ
Rubyは頑張って滅ぼさなくても自滅しそう
一体何と戦っているんだ
結局、gwtが文法的にウンコでgtgtだったんだよね? みんな、いうほどjavaが好きでもなかったんじゃないの? 仕方なく結婚した不細工な嫁がjavaで 本当はc#を生涯の伴侶にしたかったんじゃないかな
相手にされなくて涙目らしいなw
仕様書のpdfみたけどjavascript1.5にプロトタイプ排除してクラスとジェネリックスと演算子オーバーライド付けただけじゃん。 V8といいgoogleがjs1.6以降の機能使う気ないのがよく分かるな。js2.0の悪いところ取っ払っただけ?
cにクラスとgc付けてくれればそれだけで十分だったのに なんで言語開発者は余計なものを付けたがるんだろう おれさ、intがvarになってもうれしくないんだ
intが桁溢れしたときのために多倍長変数のライブラリ読んだり、文字列にしたりとか ニートにはわかるわけないだろうが
>>122 自分で設計してみたら。「cにクラスとgc付けてくれればそれだけで十分」なんて
あっさり破綻してるからw
> Dart をその発表日において全否定した者の一人として記憶していただいても構わない。 > Dart が私の予想に反して普及したならば、私は足を洗うべき、そう思うほど Dart の否定に掛けたい気持ち。 ↑ Twitterでこんなの見つけた なんだこいつ?
何を以てそこまで命がけの批判するのか…
有名な人?とおもって検索したら別にどうでもよさげな人だった
しかしjsにもコンパイル可能でChromeにも載るならそれなりに流行る可能性はある goと違って癖も少ないし
最近は実際の価値と評価が離れすぎてる傾向にあるからな たいした価値がないものが高評価を得たり 価値のあるものがゴミと評されたり それを金や権力でコントロールしてるのを目の前で見たら そりゃ嫌な気持ちになる それが好き嫌いで一部の人間が行ってるならなおさらだ 有名になるということはそういうことなのさ うんこちんちん
Dartの良いかもしれない所はJSをコンパイルできて 高速化がはかれるかもしれない所ぐらいだろ
DOMうろ覚えの非ウェブデザイナには、コード眺めただけで型わかる方がはるかに嬉しい ついでにjavascriptの意味プーなオブジェクト指向や サイ本を読まなくてもそれなりに綺麗に書けたり、 javaやc#で覚えたデザパタのテクニックをそのまま使えるのは嬉しい
サイ本なんか読まなくてもそれなりに綺麗に書けるけどな
プロトタイプベースはともかくとして関数をnewしたりするのがキモいのは同意せざるをえない
そもそもjsにnewなんて必要ねえだろ
>関数をnewしたりするのがキモいのは同意せざるをえない 誰もそんな事言ってないだろ
>>131 は
>ついでにjavascriptの意味プーなオブジェクト指向や
>javaやc#で覚えたデザパタのテクニックをそのまま使えるのは嬉しい
この2行だけで結局JSを理解していない人ってのがよく解る
流れがウザイ 言語の話してるのに人格攻撃初めて 他人を見下して優越感に浸ってる暇があるなら その時間を他の事に使えばいいのに あれですかソニー製品をけなされたら発狂したり geforceけなされたら発狂したり 自民をけなされたら発狂したり そういう種類の人ですか
Java厨は放置に限る
Javascriptを使ってなさそうな層が反対しててワラタ。
次は集団ごと攻撃 人格攻撃の対象が個人から集団に切り替わっただけ
NaClとかWebM/WebPとかもそうだけど、Googleは本気で流行らせる気があるのかどうか見えないから困る 乗ったところでいつハシゴ外されるか分かったもんじゃない
jQueyその他JavaScriptフレームワークを使ってるやつがDartのDOMを支持するわけがない
>>139 Dartてjsを使いこなせてない向けに焼き直したらjavaになっちゃったって感じだからjs理解してなくても
java知ってれば批判できると思うよ。こんなもん作ってる暇があったらV8にjs1.8実装しろと思う。
jsが大規模開発に向いてないってのはそもそもがHTMLを動的に操作するための言語なんだから最もだが
だからといってforとfor-inとコレクションしか持ってないのはscalaを再開発する要因にしかならない。
V8の対応する言語仕様を上げてくれたほうが生産性上がると思うわ。
言語のモダンな機能を使いこなせないのは言語のせいじゃないんだし。
>>143 そもそもWeb開発をやってなけりゃ関係の無い話だろう。
VBはクソだ!と叫ぶunixユーザみたいなものか?
まあVB.NETは誰が見てもクソだからな(予定調和
そもそもMS発のゴミはすべらからく…
>>142 DartのDOMってなんだよ
DOMはDOMだろ
>VBはクソだ!と叫ぶunixユーザみたいなものか? いや、そういうんじゃなくてモダンなjsの実装がmozillaしかないこととdartがレガシーな言語仕様を 行儀よくいいところを忠実に取り込むだけで終わってるのが問題なんだって。
Go作る暇があるならPlan9で遊んでてくれ Dart作る暇があるならECMAScriptしっかり実装しろ
つかC++,Javaがあれば十分だろ
>>150 まあ、c++はあれだけど
javaや標準化されたC#があるのに
なんでまた新しい文法を覚えなきゃならないんだ?と思ってしまう。
素朴な疑問だけど、javaでdartのやりたいことを実現できないの?
>>148 いや、そんな話はしていないし。
まあいいけど、Dartは大規模開発に必要な機能をそろえるのと、
誰でも使えるようにするのが最優先で、
高度な(頭を使う)機能は削る方向性じゃないのか。
153 :
デフォルトの名無しさん :2011/10/12(水) 11:09:54.28
>>147 JavaScriptからDOMを利用するのにいちいちgetElementByID().innerHTMLとかやりたくないから
jQueryをはじめ様々なフレームワークが工夫してるっていうのに
今時DOMを使うのにDocument.query().innerHTMLとかありえないといってる
Web言語を標榜しておきながらここら辺は何も考えてませんと宣言してるのと一緒
>>153 ノードを一つ一つたどるDOMとDartのquery()が同じに見えるのか?
DOMはDOM、XPathはXPath バカばっかだな
XPathはトレンドからちょっと外れてきてるし XPathよりもquery selectorを選択するのは普通だと思うんだけど
160 :
デフォルトの名無しさん :2011/10/12(水) 12:21:01.71
>>159 不満というかいまさら$()で済んだのがDocument.query()になって誰が受け入れるというのか
それを跳ね返すほどの大きなメリットがあれば違うのかもしれないがそうでもないし
webサイドを構造化言語で書きたいならjavaがすでにあるじゃない。
サーバーサイドとWebサイドを統一した言語で書けると思ってたんだが、もしやこいつの対象ってクライアントサイドだけ?
>>161 そしてgoogleはGWTを発表し、失敗したのであった。
ついでにCSSOMもやって欲しかった
全部javaじゃあめんどくさいから nodeやらが流行るんだろさ
>>159 なんでここまでやっておいてXMLHttpRequestはそのままなんだ?
XMLとれよ
これからのライブラリの充実次第だよな ローカルスクリプトに悪くなさげ
セミコロンとかダサすぎ
ファイルを開けるの?
DHHは糞味噌に貶してるな
トランスレーターがちゃんとしてるなら使ってもいいんだけどな
>>165 それはわかる。
でもdartは、まためんどくさいほうに逆戻りだ。
ならば、素直にJavaに戻ればいい。もしくはScalaに。
Javaと比べれば段違いに楽だと思うけどなぁ
>>175 新しい文法やライブラリを覚えるコストや商用なら信頼性やセキュリティなどのコストをちゃんと勘案してる?
楽にしたければ、フレームワークを作ればいい。
railsのように。
なぜ、新しい「言語」なのか?
新しいパラダイムを加えるならわかる。Scalaは関数型というパラダイムを追加したという点において 新しい「言語」である意味がある。
>>176 Google自身、GWTやClosure LibraryやTraceurを作ってみての結論なんじゃないの?
>>174 Javaアプレットで作って、iPhoneに対応しませんみたいなサービスがいいのか?
どうせ新言語やシステムが熟成するのに時間がかかるからな
Script# のGoogle版ってところか
しかしコンパイル結果はデカイけど 速度的にはJSとあんまかわらないのな
gwtじゃ、import地獄に落ちるし流行らなかった。c#は政治的な理由で却下。 c++は型ガチガチだし、今日日、好んで使いたいような言語でもない dartって言語が生まれてくれて良かったと思うが中の人のやる気がいつまで続くか心配 しかし、googleって蟻の巣に爆竹つめて吹き飛ばして遊んでも、何も感じないガキみたいな組織だな
>>178 うーん、それにしても全力で間違ってるというか・・・
数撃ちゃ当たるうちの外れたほうの一つだったらいいんだけど
>>183 NativeClientは見方によってはC++に手を出したとも言えなくもない
Googleはwebアプリで.NETみたいなことをやろうとしてるんだろうか? Javaで作りたかったらGWT C言語やC++で作りたかったらNativeClient 新しいJavaScriptで作りたかったらTraceur あくまで今のJavaScriptで作りたかったらClosure Library みたいな感じで、Dart?さぁ・・・
cofeescriptでも思ったけど、これまでの言語って定義が、 汎用言語よりDSLに近付いてきているような気がする。 なんで今更新しい言語をってのは、DSLとして見てくれって回答になるんじゃないだろうか。
>>185 過去の資産を動かすためのもんじゃないの?
papper apiからDOMオブジェクト弄るの面倒そうに見えたぞ
dartはデリゲートも無名関数もあって、c++とは比較にならないぐらい今時の洒落た言語
あんまり過去の言語に拘るとpascalやperlみたいな不遇に巻き込まれそうだな
言語として素晴らしければ普及するなんて状況はプログラミング言語が生まれてから今まで一度もなかったんじゃないかと思う
ブラウザとchromeってhackする対象が御膳立てされてんだろ 案外、objective-cがc++を逆襲したりするのかな
>>182 javascriptのソースに変換して動かしてるからjavascriptと同じだよ
普及した言語は、現実との折り合いや潜在需要を適切にカバーしたという点で十二分に素晴らしいもの ばかりだと思うが 既に需要が満たされてる領域に、単にブラッシュアップしました程度で切り込んでも、そりゃ普及せんわ
>>193 それと言語そのものが素晴らしいかどうかはまた別の話
普及してるC言語やC++が言語として素晴らしいと言うと異論が噴出すると思うが
Objective-CはCの美点を捨てた時点でC++とは用途の違う言語になった APIやライブラリの都合でもなきゃ、わざわざ利用する理由は無い
>>194 Cが満たしている需要をきっちり埋め切るポテンシャルのある言語で、Cと別次元に素晴らしいという
言語も無いだろ
そもそも、言語として素晴らしい、と言って異論が噴出しない言語なんてあるのか?
たしかに、dやgolangに需要はなかった。 dartが流行るかもしれない理由はこれまでにブラウザ上で動作しDOMを弄れる 近代的な型付き言語が今までになかったことに起因する。 需要が満たされてるって感じるのはwebチラシ土方ぐらいじゃないかな?
別にdartが普及せんと言ってるわけでもないんだが そもそも仕様ちゃんと見てねーし
>>196 だから、言語そのものの出来と普及度が相関したことは一度もないって言ってるだけなのに別の指標を持ち出してこられても…
それは別の指標じゃなくて言語そのものの出来の一部なんじゃね、と言ってるだけなのに
>>200 RailsはRubyで動くものだからRubyそのものの利点として評価しろって言われてるような理不尽さを感じる
>>201 そうなるとRailsはJRubyでも動くからJava言語の利点としても評価できるかもしれないw
需要を完全に切り離したら、言語がなぜそういう仕様を持ったのか、なんてちゃんと理解できないじゃん そういうのバッサリ切り離して「こっちの言語の方が出来はいい」ってやる考え方には疑問を感じるのよ 切り離さないで考えたら、普及してる言語はしっかり出来がいいから普及した、って思えると思うのよ つーかマンドクセ
>>195 c++とcは別の言語だろ?ポインタと配列の区別してるのかコンパイラが文句いってくるぞ
配列が0で初期化されたり、されなかったりだとか
大域変数のリンケージも違って分割コンパイル時に嫌になる
使ったことないが、objective-cは完全なcのスーパセットなんだろ?
ポインタ周りが完全に互換で、テンプレートメタな変態と付き合わなくてすむなら、こっち使うわ
c++のクラス内関数のポインタとかイミプーもいいとろ
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
>>204 使ったのことないのに言ってるのかよ・・・
ここの奴らもdartなんて使ったことないだろw
ちゃんとクラス定義やライブラリインポートのための文法が提供されているだけ でも随分違うと思う。 現状のJavaScriptではこの辺りがフレームワークごとに異なる流儀でバラバラ に実装されているので異なるフレームワークを組み合わせて使うにも混ぜると 危険な事が多い。その辺りの交通整理がし易くなるだけでも現行のJSを置き 代える価値はあると思う。 あとDOMがjQueryに比べて弱いという意見にしてもDartのDOMはW3CのDOM 相当品だから比較する相手が違う。比較するならこの上に今後実装される(かも しれない)dQueryなんちゃらが相手になると思う。 ただ追加で文句を言えばこんな新言語を作るぐらいならAdobeとケコーンしてAS3を 持ってこれば十分じゃんと思った。(args, ...){...}で無名関数を定義出来る点 以外はAS3に対する面白みはあまりない。
そもそも普通に需要を考えるなら最初からjQuery相当の仕組みを導入してしかるべきなんだが そこら辺はやっぱり何も考えてなかったんだろうなぁ
>>187 そう。まさにそうれだよ。
つまりDartってのはRailsみたいなもんだ。
>>211 Web言語を豪語する以上は当然あるべきものだからな
jQuery信者かよ 個人的には配列操作とかのユーティリティがどれだけ用意されてるかが気になる prototype.jsとか言語標準がショボいと言ってるようなもんだからな 後釜ならそれなりにあって然るべき
>>213 見てみればCollectionにforEachがあってmapが無いとか。まだまだですなw
jQuery相当品に関してはライブラリとして開発されるものだろうから文法と
基本クラスが発表されただけの現段階で問うのはちょっと厳しいんじゃない
のかなぁ。
あとjQuery相当品を作るにしても上手く静的型付けの利点を用いた実装にして
欲しい。
現状はセレクタの内容によって返ってくるHTML要素の集合が変わってくるので
常に戻り値は全てのメソッドを抱えたjQuery型になっているけれども、戻って
くる要素がレキシカルに判定できる出来る時はその要素に対応したインター
フェイスを返すとか、何か静的型っぽいところがあっても良い。
dartがDSLとかrailsとかちゃんと言語仕様みたのかよ なに言ってんだか意味わかんね
>>192 そりゃそうなんだが
出力コードのデカさみると
もっと遅くなりそうに見えるんよ
詳しくみてないが
今の段階でもまあ普通なコードがでてるという事な
17259行はさすがにネタだとしてもweb上でサイズが大きいのはそれだけで不利だからなぁ
言語仕様をシンプルに保ちたいのはわかるんだけど、 DOMにアクセスするのが面倒くせぇ
この段階ならjQuery並のライブラリ作ったら標準に取り込まれるかもしれんぞ
jQuery連呼してる奴は、ライブラリでできることと組み込みのAPIでやらなければならないことの区別がついてない。 単にDart用のjQueryを用意すればすむことだろう。 組み込みのAPIはパフォーマンスや特殊な状況での安定性を重視したものにするべきだ。
jQuery組み込んでもE4Xみたいに見向きもされないってfor each-inくらいとっとと標準化しろよ。
jQueryならぬdQueryの登場が待たれる
関数スコープなのかブロックスコープなのか解る人いる?
ブロック
>>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
こんなしょーもないところでjsとの差異を生んでるからコンパイル後のコードが重くなるんだな…
結論としては 車輪の再発明でした ですね
>>224 , 225
多謝です。でも嬉しいなブロックスコープ。
とはいえWebブラウザという道路を走る車輪は実質的にjsしかなかったからな
>>220 だから、ライブラリでも組み込みAPIでも何でもいいから最初から用意しないのは理解できないといってるわけで
hiってサンプル見ただけで敬遠されるぞ
むしろjava appletの再発明に見えなくもない
>>230 そんなことで敬遠するようなのは、そもそもプレビュー段階の今の時点で見てるのが間違いだ
お前のことだよ、さっさと消えな
dom操作出来ないならアレだが 出来るんだからな そこまでjQueryにこだわるならjs使ってればいい
まてjQueryでしか触れないヤツと一緒にするな。 欠点を批判するのとライブラリがないと喚くのは違うだろ。
jQueryに対応する物が文法や標準ライブラリといった言語仕様の一部と して提供されないのは当然では。JavaScriptの後継を目指すのであれば 実行環境は色々なベンダが実装してブラウザに乗せるわけだから互換性 を保つためにも仕様自体はコンパクトな方が良い。 それにJavaScriptの例を引き継ぐなら一度リリースすると仕様の更新間隔 はとても長くなるから、頻繁に更新を続けるjQueryみたいなものをそこ に含めてしまってはリリース間隔が合わなくなってしまう。 なので巷の見物客としては今はGoogleか他所の誰かがdQueryみたいな プロジェクトを立ち上げるのをモンモンと待ちつつ、dartだとどんな 書き方が出来るのか妄想するのが正しい姿勢では。
いやぜんぜん
>>236 おまえだけだから自分でjQueryポートしろよ
新しく作るなら必要なものいれとけよという簡単な話
Androidのプリインストールアプリのように邪魔になる可能性もあるのだから、組み込みで入れちゃダメだろ。
別にダメということはない
そんなことよりお前らデニス・リッチーに焼香あげろ
言語仕様も固まってないのに「jQuery入れろ」とかアホだよな…。
固まってるのに言ったらアホだと思うけど
マジやん。リッチーさん。ご冥福をお祈りします
↓これって並列処理かけるってこと? Isolateによる並列化: 各 Isolateは概念的なプロセス、Erlangスタイル 非共有 メッセージパッシングによる通信 Isolateは1つ以上のポートを持つ Isolateは並行に走れる
本の虫の人がDart絶賛してたな 正直Dartは流行ってほしい
それメモリを共有しないってのがアレだよな スクリプト的だからいいか
dartはC++使ってる人の評判がよさそう
Java使っている人も歓迎すると思うよ。
Javascriptよりはいいかなって程度
言語シェアでいったら Java C C++ が三強だからな この3つに気に入られたら勝ちだよ
アホ丸出し
いや、利用者よりベンダーの動きにかかってるだろう 現状、MozillaはJSへのこだわりを捨てきれず、 MSはGoogleがその気なら俺も言語作るわとか言い出し、 Appleは無視を決め込む …って感じであまり望みがなさそう
金やればMozillaとOparaは積むだろ
IEが積まなきゃ話にならんがそれはまったく期待できないな Googleはそこらへん勝算あるのかね それともJavascriptへの変換で充分と考えているのか
真面目に中間言語作ってトランスコードしてるんだったら、 アプリケーション制作の元言語として開発環境を整えるのにはいいかなーと思うな。 ちゃんとやってればLLVMに食わせたりできそうだし。
IEに囚われたい奴は囚われてればいいんじゃない?
苦労して変えるならもっと画期的な何かが必要だな これっぽっちの変化じゃ苦労に見合わない
とりあえずはトランスコードで凌ぐハラなんだろ いきなりIEやFFにエンジン載せろとかいってもしないだろ
GoogleトップをIEで表示できなくしたらChromeが普及するんじゃないだろうか
> Mozzila、MS、Apple、Operaだけを言いくるめても不十分で、 十分だよ。 だってこの4社しか自前でJavaScriptエンジンを開発していないじゃん。 書かれたスマホ3社は他所で開発したエンジンを使っているのだから、今なら Nokiaに頼むのはMSに頼むのと同義だし、Androidが対応すれば自ずとサムソン も対応するし、BadaやBBは、もう無かったことにして良いんじゃないのかな? というか上記4社の説得がまず難しいというか無理。 AppleなんかはHTML5なんてネイティブアプリに対してほどよく使いにくければ 好都合なのでWebアプリの生産性が上がることは内心歓迎しないと思う。
どうでも良いけどMozzilaのzが1個多くてlが足らない Appleはなんとかなりそうな気もするけどな MSは放置でいいだろうけど残りは対応するとは思えない
Mozzila モッツィーラ
266 :
デフォルトの名無しさん :2011/10/13(木) 21:35:50.35
>>224 ,225
昔スクリプト系のスコープで嵌ったことあるからうれしい。
dart流行って欲しいな。
>>257 dartで作られたwebサービスが増える。
しかし、変換されたjavascriptは重い。
ブラウジングを快適に過ごすために、vmを載っけたchromeにユーザーが移る
IEユーザー激減
仕方なく他ブラウザにもvmが積まれる
流行らせちまってデファクトスタンダード目指そうって流れじゃね?
java appletもsilver lightも1社だけじゃ普及もメンテも困難で、
標準規格のhtml5+javascriptである必要があるんだろう。
どこもセキュリティホールに責任持ちたくないだろうし
それはちょっと夢見過ぎですね
html5は正直HTML3とXHTML2.0とはなんだったのかと問いたい。 ぶっちゃけ対応するのはcanvasとvideoだけでしょって感じ。
>>268 作るのはお前が居るようなショボくれた零細企業じゃなくって、YCの連中だよ
>>267 >>271 Webの世界で古いIEを無視できる状況にはまだまだなっていないという現実を忘れるなよ、大手ならなおさらのこと。
ようやっとIE"6"を無視するというか移行を誘導するサイトが出てきたという状態だっていうのに。
>>267 1行目はなんら根拠がない
2行目が事実ならそもそも普及しない
ので3行目はありえないし少なくともchrome移行の理由にはならない
4行目も同様
5行目もなんら根拠がない
6行目はただの妄想
7行目はFlashの存在を忘れているか意図的に無視している
8行目もただの妄想
9行目に関してはブラウザ制作会社またはコミュニティの責任なのでいずれにせよ責任は免れない
>>267 は「普及すれば普及する」って言ってるだけだからな
もちろん、ある一定まで普及すれば爆発的に普及する事はありえるが、
Google一社にそこまでの力があるのか?というのが皆の疑問なわけで
疑問というか無理だよねってのはgoを見れば明らかなわけで
>>273 文盲とかアスペって言われたことない?
1行目から5行目までがgoogleの狙っている戦略で
6行目が上記の流れを狙っているってこと示唆してんだよ
7行目のflashはjavascriptとは明らかに用途が違うし、
iOSに載らなかったのは周知の事実だよね?
8行目の標準は言い過ぎかもしれないがはw3cにより策定が進められている
9行目はセキュリティホールに対して1社が責任を持つんでなくってコミュニティの責任になるなら、
多大な賠償金もリソースも割かなくてすむだろ
おまえは精神病院に行って、デパスでも処方されてこい
>>276 >1行目から5行目までがgoogleの狙っている戦略
お前本気で言ってるのか?
>>276 >7行目のflashはjavascriptとは明らかに用途が違うし、iOSに載らなかったのは周知の事実だよね?
JavaAppletとSliverlightがいつiOSに載ったのか教えていただきたい
>>275 goはシステム用プログラミング言語で地味だし、
並列化のための仕組み入れても手に負えないし、
用途がニッチすぎたんじゃないか?
dartは地味なクラスベースのOOP言語で、
恐らく作られたページのソースコードも読めるだろうから、
大衆性があって流行ると予想
電源入れたらbasicでゲームを組んだ時代から
ブラウザを起動してdartでゲームを組む時代になって
子供たちがプログラミングを覚えて廃人になっていくんじゃないかな
これは痛い…
goはもうすぐやっとバージョン1で、これからやで
今時セミコロンはないやろ。セミコロンいらんやん。
右端で折り返したときにバックスラッシュで改行エスケープって面倒やん
折り返せるポイントあるの知らんの?だっさいわ
goはもうみんな関心がなくなってるだろ
d8かなり速いしまずはサーバサイドでの 普及を狙ってるんじゃね クライアントに入れるには時間がかかるし nodeみたいなのが早晩出来るよ goは面白いけどツールチェインが…
サーバーサイドにはもう JavaやらScaleやらASP.Netがあるだろ
クライアントサイドの速度向上のためにはどうしても JavaScriptでは限界があるから仕方なく作ったって感じがする。 今の仕様ならスクリプト言語としては圧倒的な速度が出そう。 言語仕様に目新しさはないけどそこは意図的にそうしているんじゃないかと思う。 既存のJavaScript開発者が容易に移行できるように
>>288 そのデタラメは何処から出てくるんだ?
nodeなんてv8で動くし、その辺のP言語と同等の性能のはずだぞ
ってか、スクリプト言語を型でガチガチにして誰が嬉しいんだよ
どう見たって、javascriptプログラマが移行するんじゃなくって、
仕事がなくて窓際にいるjavaやc++プログラマのリサイクルだろ
object levelやclass levelのprivacyがないのは興味深いな。 MLによると、議論の末、あえて省いたそうだが。
P言語と同等の性能って、遅すぎだろいくらなんでも
すべてをWebで完結させたいググルさんの目指すところはC#やJavaレベルの速度のはず。 そのためJavaScriptで速度でなそうなとこはバッサリ切られ犠牲になったのだ
仮想マシンでも遅いぐらいなら、そこはnative clientがカバーすべき領域だ だいたい、googleほどjsで規模が大きなwebアプリを作ってるとこは少ないし 素のjsやgwtでは我慢できなかったんじゃね?
>>290 goも同じだよな
細かいのは意味があまり無かったとう結論なんじゃね
最近その辺取っ払う言語多いよな
アクセス権はケアレスミスをカバーするもんじゃなく、アホなコーディングスタイルを封じるもんだよな コーディングスタイルとか設計とか思想とかのレベルの間違いは、言語仕様じゃなく教育や経験で対応 する方が正解かもしれん、とは思う アクセス禁止にしてたからバグ出さずに済んだ、という記憶もちょっと出てこないし(忘れてる可能性も 十分あるが)
ぶっちゃけアクセス切ったって アクセッサ書いて無意味なコード増やすだけだからだろw
幸いインターフェイスを持っているので内部だけで使われるメソッド等を 隠したい場合はインターフェイスでアクセスするようにして実装を丸ごと 隠蔽してしまえばよし。
アホがいかれたコードでプロジェクトをぶっ壊すのを防ぐ手段にはならない
JavaApplet、Silverlight、Flashはリッチ化が目的だけど、Dartは開発効率の改善が目的だろうから流行る要素はまだあると思う 過去にこういうのあったっけ?
アイソレートとメッセージパッシングが面白そうだ。 これって、あーらんのプロセス、スカラのアクター?
ブラウザにvm入れなくても プラグインでjsランタイムライブラリを組み込むだけで サイズの問題はかなり軽減できそうだね 今日試したら出力コードが小さくなってた
>>121 > 仕様書のpdfみたけどjavascript1.5にプロトタイプ排除してクラスとジェネリックスと演算子オーバーライド付けただけじゃん。
それがいいのだとなぜわからん。あとオーバーロードな
306 :
デフォルトの名無しさん :2011/10/14(金) 16:21:04.25
つーかJavaScriptが超クソ言語であり即刻爆発するべきという認識がないやつが多くて困るぜ。 あとV8がいくら速くなったっつーでもC++やJavaと比べるとまだ圧倒的に遅いとかさ。 だいたいHTML5(笑)だかなんだか知らんが、性能の弱いスマホでまで JavaScriptみたいな仕様が膨大でクソでろくに最適化もできないファッキン言語を使い続けるのは狂ってるよ。 言語レベルでのリファクタリングが必要な時期に差し掛かっており、Dartはまさにそれを実現しようというものだ。 面白みがないなどと言ってる馬鹿はただの言語オタ また、JavaScriptやJavaでよくね?と言ってるやつは今現在のウェブの致命的問題を理解できていない馬鹿である。 Dartは真のエンジニアを判別するよい踏み絵だ。
そんな画期的なもんじゃないからこれ
>>306 は自分は色々知らない馬鹿ですと言いたいのか
レキシカルスコープがまともになったりvar無しの変数宣言も グローバル変数の宣言ではなくエラーとして弾くなど、現在の JavaScriptで残念なところはきっちり潰している気がする。 この辺りは互換性を気にしながらJavaScriptを拡張するやり方 では難しいのでは。 あとラムダともうひとつ無名関数の書き方が増えているので、 この辺りでどうコードの体裁が変わってくるのかも楽しみ。
>>307 画期的とか言い出すとDartのコンセプトを見誤るよ
歴史的なシガラミを捨てて、ただ当たり前のことを当たり前にこなせる言語としてDartは設計されてるんだから
トリッキーな書き方でアドレナリン出したいならCoffeeDartでも作ればいい
なぜかチョコレートが食べたくなった
というか最近のJSエンジンは速度競争でチューニングばりばりで言語仕様の拡張に弱くなっちゃってるし
そうだ。Dartの良さは、今まで考えもしなかった新機能があるんじゃなくて、 すでに価値が実証された機能が、自然に使えるように設計されていて、 しかも、他の言語にあるような落とし穴がないということだよ。 落とし穴とは、例えば複雑怪奇な暗黙の型変換だったりとか、 文脈によって改行が終端記号とみなされたりするとか。
趣味でHaskellやっている奴も 仕事じゃPHP使っているしな
公式トップにもtime-tested featuresって書いてあったね でも言語そのものも進化を止めるわけにはいかないというのもまた time-testedなわけで最終的にはdirtになるというオチが見えてる
こんなんで喜んでるのjavascriptしか使ったことないやつだろ
>>306 >JavaScriptみたいな仕様が膨大で
ごめん、このへんから既に同意できない…。
JSはCの正統進化だと思うね。開発環境がチープなことが多いけど。 DartはベターJSってかんじなんでしょ?
なにが言いたいのかわからんな
時間を表示させたいのですが print(now());って書いたらエラーがでます now()を表示させたいのですがどなたかご教示おねがいします
JSがCの正統進化ってどういうことだよ…
まあC++よりは
>>320 new Date.now()じゃないの?多分
main() {
print(new Date.now());
}
>>316 JavaScriptしか使えなかったからこんなんで喜んでいるんだろボケ。
ブラウザの上で他のまともな言語が使えるのであればとっくにそちらに
移行しているわ。
別に最強言語対決じゃないんだから。喜んでいる人の理由とか空気とか
全然理解出来ていないな。
vbとかIE限定で使えなかったか?C#あたりも・・・
Javaがなかった世界からの来訪者かw
MSワールドって実在してるとは思えない異次元の世界みたいだな なにやってももう鼻で笑われるだけ
大昔:ハードウェアを制するものは世界を制す ↓ 昔:OSを制するものは世界を制す ↓ 今:ブラウザーを制するものは世界を制す・・・けど世界を独占しているブラウザーなんて存在しない
>>325 自分でIActiveScriptHost実装してカテゴリ付きで登録するとHTAとかIEコンポーネントで好きな言語が使えるようになるよ
さらにMSからセキュリティートークン盗み出してくればIEでも使えるようになる
C++標準化の某人が絶賛してて興味持った
これ組み込み型すらないのか
組み込み型はないし、組み込みの配列型もない。 ただし、listリテラルとmapリテラルがあるから、困ることはない。
var x = {name: "Name"}; var name = x.name; みたいな書き方は出来ないんだね。 var x = {"name": "Name"}; var name = x["name"]; が必須みたい。
>>328 ブラウザかんけいないだろ。
OSはあってるな。
iPhoneもってるappleがキャリア
を好きなように従えてるからな。
いまは、OS>ネットワーク
>>323 そういう風に使うのでしたか
勉強になりました
せめてAjaxが流行る前位に出してくれたら
>>333 一つの宣言文で複数の変数を宣言するのはCの悪い癖だ。
なんでXcode・・・
>>337 var conf = {
param1: "aaaa",
param2: "bbb",
...
}
みたいにオブジェクトとして設定や初期化パラメータを記述するのは比較的普通
だったから、キーの値に引用符が強制されると正直ウザい。
var conf = { 'JSはkeyがこんなんでもOKだったんだけどどうなの?' : 'string data' }
JSONの仕様に合わせたんだろ。<引用付の強制
>>302 gwtがリリースされた時点でjavaにlambdaがあれば、もう少しだけ流行っていたと思うんだ
>>328 今の主戦場はブラウザとタブレットPC。とクロスプラットフォームの標準化。
予想に反して個人単位でiPadが普及すると、OSの勢力図までガラリと変わるとだろう
しかし、これはどこかのベンダが一人勝ちすることはないプロレスみたいなもの
一人勝ちすると独占禁止法で訴えられ、自由競争による進歩もとまる
銭稼ぐためにチマチマと製品を出してんだろうな
googleもさMSみたいに己の道に突き進んでるね 最近はgoogleは嫌い
そんな時、ふと頭をよぎるのはSun。
>>339 ああ、すまん、見間違えた。Mapリテラルだったか。
Mapリテラルのキーは、文字列じゃなくて識別子でも書けるよ。
その場合、あたかも
'識別子'
と書いたかのようにみなされる。
ただし、現行の実装では、まだ実装されていない。
10.7 Map
The use of identiers as keys to literal maps is not implemented at the time of
this writing.
ベンチャーですらないgoogleに銭出してくれたのがsunじゃないか
>>342 独禁法とは関係なく、一社独占ってのは、もう現代では起こらないだろ。
現代では、もうマイケル・ジャクソンが現れないのと同様に。
クラスベースなのはいいけど、クラスにあとから追加できないのは色々困りそう。
349 :
デフォルトの名無しさん :2011/10/14(金) 23:00:04.00
なんかPHPの前に屍累々ッて感じw PHPみたいな糞言語簡単に潰せるだろうと色々出してるんだろうが 手軽さで全然かなわない
お前は何を言ってるんだ
>>345 あ、そうなんですか。一応予定では引用符無しでも書けるようになるんですね。
でも流石にx.nameで値を読み出すのは無理と(こちらは流石に捨てるべき横着か)。
PHPをバカにするなっ!!!!!!!!!!!!!
馬鹿にはしてないよ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
PHPってテキスト加工なり、所々雑多な日常には不便
pythonは読む分にはいいけどインデントとselfが面倒
消去法でrubyが残った
数日前にhacker newsに流れてゲームのサイト
http://www.playmycode.com/home こんな場所でもruby使われていて、その生産性は明らか
flash(w、silverlight(ww な時代は目の前まできている
そして、地方の零細ITは風と共に去りゆく
またモルモン教徒か。はてなから出てくんなよ。
>>342 予想に反してじゃなく
タブレットはiPadの一人勝ちだわ
3つの子供にも80のおばあちゃんにも使える
googleがwebに力いれるのは正解だろな
アマゾンのタブレットはどうよ
rubyはスマートにかけて好きだけどクラス設計が気に入らない Python,Ruby,PHP野中でクラス設計が一番javaに近いのはPHPだし
タブレット自体はさして魅力ないしな 池田大作が壺売りだしてバカ売れしたからって、単純に追従してもコケるのは当たり前
この言語って本当に面白味に欠けるな 他の言語にあるような仕様ばかりで、独自性が皆無じゃね? Googleってこんなに無難で保守的な会社なんだっけ? こんな柔軟性のなさそうでシンタックスシュガーに頼った言語で 本当にjQueryのようなライブラリが出てくるのか? DSLとかに向いてなさそうだし、 RailsやTurboGearsのようなフレームワークも書けない気がする
今のGoogleは誰かが作って有料で売ってる製品を買収してタダで出すしか能がないから
>>361 >DSLとかに向いてなさそうだし
どの辺が?
ruby信者はどこでもキモいな。
>>305 js1.5が使いたいならV8でいい。いい加減1.7と同等のコード書かせてくれ。
dartはアクターやりたかっただけだろ。
>>363 間違ってたら済まんけど、ざっと見た感じでは
evalもなさそうだし、その上で演算子以外の記号に
意味をもたせるようなこともできなそうだし、
継承とかインスタンス生成なんかの動作もprototypeみたいなものがないから
自由度がなさそうだし
まあ凡庸なことしかできないようにすれば
個人プレーみたいなのを防いで多人数が理解するコストを
少なくすることが出来るんだろうけどw
evalとか勘弁してくれよ
タブレットだけで考えたらiOSの一人勝ちなんだろうが、 家電や玩具にandroidでも積んでリモートから操作するような未来は創造されんのかな androidがオープンである強みだと思うんだけれどもウェブ屋にはそこまで頭回らないんだろうな
evalがないとdslを作るには不利なのは事実 安全性などが犠牲になるけどね
googleはブラウザで使いたいわけだからdsl乗っけるとか考えなくていい。
結局、そうやって可能性を最初から狭めてるわけ そういう無難な挑戦を排除した言語 RailsとかjQueryとか作者も想定していない言語の使い方だろう
結局、型でガチガチに縛って余計な機能つけただけの 劣化Javascriptじゃね?
いまんところリフレクションの要素が皆無だからなぁ。
開発時にアホが適当なコード書かないように型チェック リリース時に寛容になる
>jQueryとか作者も想定していない言語の使い方だろう 15年越しで出てきたライブラリなんて視野に入れるわけないしjQuery使ってる奴らは言語使ってるんじゃなくてライブラリ使ってるんだろ。 今はテスト段階で言語以外の物は何も無いどころか言語仕様すらまだ全部実装されてない段階でjQueryjQuery馬鹿か。
静的解析はやりやすそうだから、開発ツールは作りやすそうだし 性能は出せそうだ ただ、ジェネリックや型周りでオーバーヘッドがかからないのだろうか という疑問があるが
>>375 意味がわからん
そいつらは紛れもなく、Javascriptを使ってるだろ
トランスレータとVM両方だとジェネリックスは型消去とRTTIどっちだろうか。 どこかに書いてあったっけ?どっちにしてもけっこう面倒くさい問題にぶち当たると思うが。
>>368 お前の言う未来は
100円のcpuでandroid走らせるってこった
後20年はかかる
GoogleEarthとか、パックマンとか、自動車の自動運転とかやっちゃう Googleには普通に便利なものじゃなくて、あっと驚く ワクワクするような期待してたのに これじゃあ、.Netが出てきた時の方がよっぽど革命的だったなあ 期待の仕方を間違えてた これからはMicrosoftにでも期待するわw
evalかリフレクションはなんだかんだで最終的には搭載される予感
>>380 > GoogleEarthとか、パックマンとか、自動車の自動運転
> あっと驚くワクワクするような期待してた
言語と製品をくらべてる自分の愚かさに気づくべき
きみ言語を使ってるんじゃなく、言語に使われてるんじゃないの
お勉強して満足しちゃうタイプでしょ
JavaとRubyのパクリだろこれ
>>382 はっきり言ってそれはくだらない言い逃れにすぎないと思う
製品とやらだろうが言語だろうが、そこに本質的差異はないし、
.Netという言語よりの例もわざわざ持ち出してるしね
新しいものが出たらとりあえずサンプルいじって はてなにブログ書く様な人たちにはつまらん言語だろそりゃ
既視感は半端ないが、シェアを取るには合理的な作戦
Javaにしか見えないんだけど、どこが違うの? 教えてエロい人
flash,silverlight,javascript+html5 どれも似たようなことやるんだし、ただの宗教戦争だよね MSってsilverlightに対してやる気あんのかな ウェブに関してはmozillaに帰依したいがアップルが頑張ってくれると、 ブラウザ上でも飯の種ができるのにな
普通にjsにコンパイルってのがミソだろ mozもmsもaaplも当分は様子見だな しかしflashすら排除の機運があるのに silverなんちゃらなんて時代錯誤も甚だしいよな
>>388 appleのそれらに対する対抗馬がiOSプラットフォームなんだろう
AppStore経由のアプリとガチで競合するしね
>>381 aotでコンパイルする以上evalは厳しそうかな
リフレクションとかもどうだか
rttiの類は基本的に不要な要素だからな
もうガチガチ静的言語とバリバリ動的言語の2種類作ればいいんじゃないかな
>>391 しかしそういう要素がなければRoRが生まれなかったし、
そうなると、今の主要なWebフレームワークは進化が
だいぶ遅れていたことになる
型通りのことしかできないのもまた弊害はあるってことだ
何より、面白味はない
最近の状況をみて、言語は実はobjective-cだけで十分だったんじゃないのかと思う c#に入ってる機能のほとんどが前々から含まれているわけだし、そして仮想マシンもいらない 後はiOSバブルでリンゴ教団が世界を支配してさえくれれば
RoRみたいなのGoogle嫌ってそうだなあ Androidなんて真逆のxml設定地獄な思想だろ
>>394 ああいうリフレクションやら動的な特性を持つ言語って
いつの時代になっても古くならないよな
近視眼的な目で見ればけしからんってことになるが
> いつの時代になっても古くならないよな C言語とか?
Cはそういう思想だろ プログラマを制限しないで、ポインタを操作したりして変態的なことが出来る
リフレクションって、型情報を取得するもんなんだけどw
VB6にもリフレクションあるんだけどね。 リフレクションがあれば古くならないなんて あてはまりません。
動的な性質自体はいいんだが 半端なヤツに弄らせるとの gotoスパの方がマシなモノが出来るし if ホゲ型ならばとかありえん
>>399 それはリフレクションの表層の狭い部分しか見えてないな
言語のメタ情報を取得しつつ動的に構造を変えるようなものだと思えばいい
Cのプログラマを制限しない思想に通ずる所があるわけ
まあ、今となってはさすがにCの仕様は古いけどw
>>400 VBのリフレクションってなんだよw
VB.NETのことならさすがにまだ新しい言語だしw
型情報を取得する所のことを言ってるのかw
そもそも、Vbより古くならない言語ってなんだ?
lispか何かか?w
> VBのリフレクションってなんだよw VB6のクラスが持っているメソッドやプロパティの列挙、 メソッドの引数(引数名・型情報)の取得、 名前によるメソッドの呼び出し。の機能のことだよ。
リフレクションはオブジェクト構造を変えるものじゃないよ。 Javaのリフレクションみてみ。 情報を取得するだけです。
evalはいらないんじゃないのかなぁ。特にWebブラウザ上で動かす場合は。 事実jQueryだって実装に使っていないし、無くても特に困らないし、あっても 安全に使うのはなかなか難しい。
>rttiの類は基本的に不要な要素だからな せっかく型に厳しくしたのにまたイレイジャに対するキャストですとか直感に反するエラー吐くだろ。 ランタイムが参照するRTTIはいる。プログラマから見えなくてもいい。
>>403 それなら紛れもなくリフレクションだね
でも、VB6にそういう機能があることによって、
古くなるのを食い止めてはいたんじゃないかな
>>404 Javaのリフレクションの話じゃなくて、全般的な話だし、
オブジェクトの構造を変えるとは言ってないよ
言ってないけど、情報を取得するだけじゃなくて、呼び出したり、可視化範囲を変更したり
出来るし、オブジェクトの構造を変えることも出来るよ
動的な特性を持つ言語が古くならないんじゃんなくて 最近の言語はもれなく動的な特性を持っているってだけだろ。 最近といってもC++以降(含む)だから、 結構前からだけどな。
リフレクションはもはや言語の基本機能の一つ ループや比較やクラスや例外処理などと 同じレベルのもの。
>>405 確かに、evalはやりすぎかもしれないけど、
DSLから安直にJavascript機能にアクセスするのには役立つ面もあるな
どちらにせよ、リフレクション的な機能ってことで方向性は一括りにできるので
個別の機能を論じるより、方向性で議論した方が良いように思う
リフレクション覚えたばっかりのガキか? なんでもリフレクションにすんなよ。 ある言語から、他の言語の呼び出しなんて ただのバインディグだ。リフレクション関係ない。
>>408 動的というより、自由度の高い言語と言った方が良いかもしれない
昔の言語でもそういう傾向なんだよ
LispやCはPascalより古くならなかったよね
>>411 dslからevalの下りの所?
evalは自分自身のコードを作って呼び出す使い方するし
バインディングっぽく聞こえたかもしれないけど
リフレクションの方が近いよ
つかリフレクションがないから古いとか 新しいとかそういうレベルの話じゃないし evalとリフレクションには遠い隔たりもある どっちにしろ不要な機能だな
「evalが無かったらjsonの発想も多分生まれなかったんだぞ、スゲーだろ」 と言おうと思ったが、yamlがあるからやめといたw
>>414 もしDartでRoRみたいなものがRubyとほぼ同等に
簡単に実現出来るなら不要と認めるが、
できないだろうから賛同できない
jsonは言語仕様の一部だけ見て騒いでるだけだろ。jsにjsonパーサ実装するとか手段と目的をはき違えてる。
言語仕様として見ればDartでもできるんじゃないのかな? ただし、それが多くの人々に受け入れられるか否かは別の話 過去を見れば、Python/Zope vs. Ruby/Rails が典型的な例
jsonなんて鬼っ子だしなw
縛ることを無駄と考えるやつは全部Cで書けよw アセンブラでもいい
縛りの有る無しと言語の抽象レベルを一緒にする馬鹿が居る
言語の抽象度や機能と優劣はまた別だし railsのような事がしたけりゃruby使えばいいだけの話 なんでも一緒クタにしても意味がない 逆に静的なチェックが出来ない故のバグや 実行時の効率の低さ 動的な故の理解しにくいコードも出来るし
柔軟性が必要ならJSがすでにあるし、 もうちょい洗練されたものが欲しけりゃCoffeeScriptもある 同じような言語ばかりあっても仕方ないので、 Dartはあれでいいと思うぞ
ん〜 おれはDart肯定派だけど、evalやリフレクションやオープンクラスはさすがに欲しいけどなぁ
あ、やっぱりオープンクラスないの? ざっと仕様書読んだ限りじゃオープンクラスやる方法が分からなかったけど、 実は裏技的なものがあったりしない?
リフレクションはいらないが EVALは欲しい
evalとかいるのかよ…有用な使い方できるやつはわずかで多くのスパゲティソースと初心者の俺TUEEEEEの産みの親だろ DSLに有利な自由度は速度とトレードオフ 確かにmethod_missingみたいのは欲しいが言語の目的からしてさほど必要性を感じない
オープンクラスなんてObjectクラスみたいなルートクラスの挙動変えて深いバグ産み出す奴がいるから要らん。
動的要素はできるだけ最小限にした方が効率も保守性も良くなるんだけど 初心者とか無能はすぐに使いたがるんだよね
↑みたいな「自称」熟練者ほど、リフレクション使えば1/10になるコードなのに、 巨大な複雑怪奇なわけわからん代物を作ってきやがるよなw
>>431 はまともにプログラム組んだことあるのか?
>>432 はマクロの使いこなしもできない初心者で無能のようだ
VBA使いがリフレクション触って発狂でもしたか?
Railsがリフレクションを使いまくってると聞いてリフレクションを 讃え出したRuby信者でしょ
Haskellスレにも沸いてるんだけど何なのコイツ
プログラム言語がアプリを作るためだけの 設計で作られていれば十分な時代は終わった。 今はアプリを作るための言語設計じゃ不足しており、 テストをするための言語設計も含めるべき。 例えばprivateメソッド。これは外部から呼び出せないようにするもの それはアプリを作るための設計であるが、 テストをするための設計では、アプリを作るための設計を打ち破って 強制的に呼び出す機能を別に追加する。 リフレクションもその一つ。
>>429 すでに散々副作用やら問題点やらが明らかになっているのに、ECMAScriptのネイティブオブジェクトへ色々プロパティを追加しくさって後から絶対泣きをみる羽目になるコード書いてる奴らと仕事すると、ほんとにそう思うよ
ていうか、せめて他人が読むことを前提にコード組みやがってくださいマジでおねがいします(泣
動的要素がいらないならJavascriptは流行ってないし、RubyもPythonも 生産性が悪い言語ってことになる その上Haskellが一番いいってことになる Haskell信者以外は納得しないだろ
メタプログラミングを実行時にばっかりに頼る傾向にあるのが間違い。 Perlのコンパイルフェーズに処理を実行できる仕組みをみなすべき。 コンパイル時メタプログラミングを採用すれば、 実行時メタプログラミングの必要性は9割減ると思っている。
> 動的要素がいらないならJavascriptは流行ってないし、 JavaScriptが流行ってるのは、 単にブラウザ上で動く唯一の言語だからだろw
>>419 リフレクションの使えないDartでは明らかに難しくなるでしょ
余計なパース部分がいる
あと、Railsは明らかに受け入れられた例だろ
Rubyの中では最高に成功した例だし
>>439 動的要素は必要だと思うが、
動的な処理を、実行時に行なっているのがおかしい。
コンパイル時に処理を行うことが出来れば、
動的な処理を実行時にやる必要がないことは多い。
たとえば、モンキーパッチとかコンパイル時に修正できれば
実行時に修正する必要はなくなる。処理も早くなるし、
コンパイラによる静的検査も行える。
>>441 ブラウザ上で動く唯一の言語がHaskellだったら良かったねw
>>440 むしろ、そっちの方を完全否定してるように見える
最近の言語のそういう特徴がほぼ全部不採用になった
c++の複雑怪奇なテンプレートてんこ盛りコードが
気に食わないんじゃないの
新規言語なんだから文法気に食わないならシンプルにすればいいだけの様な・・・ 何か別の理由でもあるんだろうか
> 最近の言語のそういう特徴がほぼ全部不採用になった 単に作れてないだけ。
HaskellやScalaも否定されたくさいな 唯一関数定義の表記法にちょっと似た部分がある程度か せめて引数のパターンマッチングくらいはあっても良かったと思うが
>>441 いまさらserver-side-javascriptが流行ってるのがマジで理解出来ない。mozillaですら捨てた技術なのに。
>>445 俺が言ってるのはPerlみたいなコンパイルフェーズにコードを実行して、
コードを書き換えるメタプログラミングだよ。
まあPerlは静的型付け言語ではないので、言語自体に欠点があるが
コンパイルフェーズによるコードの書き換えだけは評価している。
C++のテンプレートはなんでも定義で済ませようと思ったのが失敗だったね。
>>450 知ってるよ
Scalaのプラグインとかでしょ
C++のテンプレートも一応それに近い概念なんだよ
Cのマクロも一応コンパイル時にコードを生成するという点では
似てると言える
>>449 サーバサイドJSの利点とか解かってないだろ
リストの内包表記とかも意図的に省かれてる? 普通にfor文を使えということか
>>450 あれはjavaでいうpremainだからあれが特殊で全部で成功するとは限らん。
トランスレータ言語なんだから最終的にjsになってフェーズの違いなんてなくならないか?
>>452 古いものを引っ張り出して利点も何もない。
> 古いものを引っ張り出して利点も何もない。 JavaScriptのことか? 嫌われ者だったJavaScript 古いものを引っ張り出してきて いま大ヒットだよなw
>>452 俺はよくわかってないので調べてみたけど、結局よくわからなかった
・JavaScriptしかできない人間でも開発できるよ!v8も使えるよ!
・スレッドとかわからなくても開発できるよ!
・スケーラビリティ高いよ!(本当かよ)
こんなかんじ?
JavaScriptは初心者用の簡単言語というイメージで否定されてた面もあるからな 本当は本格的なクロージャや自己拡張的な機能を持つ先進的な言語だったんだが
最近になって注目されてるのはやっぱりV8の存在が大きいんでしょ あとCommonJS でもまぁ流行ってるって言っても趣味止まりでしょまだ まだ手探り状態だと思うけど 実際のプロダクトで使われてる例ってどれくらいある?
>>459 最近Google自身が糞ほど使いまくっててajaxなる言葉を生み出した
その上、PhoneGapやらTitaniumMobileやらでスマートフォンでも
流行り出した
flashも実はJavaScriptの仲間
えっ
463 :
デフォルトの名無しさん :2011/10/15(土) 11:59:36.30
個人的にはDartとJavaScriptの将来的な期待度は同じ 現段階ではどちらも残念な点が多い でもこの程度なら個人的にJavaScriptに任意の型等を加えて "use strict"の亜種を作ればいい気がする document.getElementByIdとかのqweryへの書き換えや他の様々な機能も JavaScriptで互換を保ったまま新しく実装すれば?と思う それこそJavaScript2.0を整理し直せばいい 処理速度の問題も低レベルな処理をネイティブで書かれた高レベル関数を提供する今の方向で十分だと思う
むしろ、今サーバーサイドJavaScriptが流行るのが なぜ理解できないのかがよくわからない 言語としてはRubyやPythonより人気だし、 昔は遅かった処理速度の問題も、解決してきたし
node.jsはコールバック地獄を見て、こりゃダメだと思った。
なんかスレ違いの話になってね?
>昔は遅かった処理速度の問題も、 遅くて問題になったのはクライアントサイドでサーバーサイド関係ないけど。
javascriptアンチの発狂が心地よい
>>468 そうか?
サーバー重くなると困るし、普通に関係あると思うけど
規格が0.02になったぞお前ら。 どこが変わったのか分からんけど。 PDFで公開されてるんで簡単に差分を取ることもできない。
どこが変わったかの説明は無いのかよー
Javascriptをさんざん使い倒したgoogleさんが Javascriptじゃ限界があるから作ったわけで
じゃあごおgぇさんにDartアプリをどんどん作ってもらうまで様子を見るか
Googleのやる気がどこまであるのかが不安だな
0.02てpdf開かないとわからんのか・・・ どこかにお知らせがないか公式ページを探しまくっちゃったよ
whatwgかw3cに移管しないのかな
>>477 そう、その辺のところ、Googleはどう考えているんだろうな?
一個人や一社の意志に左右されるような言語は、確かに進化の速度は早いかもしれんが、
一個人や一社の都合に振り回される恐れがあるから、気軽に使いづらいしな。
>一個人や一社の都合に振り回される D言語スレではご褒美です
委員会による仕様策定で、決まるのに何年もgdgdするよりマシ
Googleは一方で潰してきたプロジェクトも多いからな。
いちいち新言語作らないで、JavaScriptの言語仕様を強化すりゃいいのに C++を超えるカオスになるかもしれないが
JavaScriptは動的型付け言語だから そこに静的型付け言語の機能を持ち込もうとすると どうしても別言語になっちゃうんだよ。
強化っつっても互換性は捨てられないし、言語仕様肥大化してさらにパース遅くなったらいみないじゃん →新しい言語つくろうぜ
拡張じゃprototype捨てれないだろよ ポン付地獄をなんとかしたかったんだろ
結局プロトタイプベースって何だったの? クラスベースと比べて何か利点あったの?
CoffeScriptを始めようかと思った矢先にDartが出てきたんですが、 どちらが将来性ありますか?
んー、Hypertext Preprocessorがオススメ
同意
coffeescriptなんてjavascript知ってたらすぐ覚えられるだろ 両方やれば?
両方やるとして、プロジェクトに採用するなら どちらでしょうか?
マ板で聞いてきたら
今あるJavaScriptしっかりやっておけ。
>>492 将来性について尋ねているのですが
>>495 それは正しい指摘なのかもしれませんが、
ここではJavaScriptにコンパイルされる言語について話している訳で
>>488 smalltalkでオープンクラスと同じ問題が出てきたからIoがプロトタイプベースにした。
そしたらprototype.jsがプロトタイプチェーンぶっ壊した。
>>497 ここでGWTやCoffeeScriptやPyjamasやHotRubyの話題をやってよかったのか?
トピマス殿に質問しろよ
トピマス?何それ?
>>497 将来性なんてDartにもCoffeScriptにも無いのだからJavaScriptやっておけ。
というかJavaScriptとあと適当な静的型の言語やっておけばDart覚えるの
なんて簡単でしょ。
二郎さんの持ちネタだろう
ねぇ、プロトタイプベースの利点ってなんだったの?
クラスベースの利点と同じ。方法が異なるだけ
>>502 言語は覚えるのが目的じゃないから・・・
どうも勉強が目的になってる奴がいるよな。
言語なんて適材適所で必要な時に選べばよか 一つホームポジション作れば 10個位使い分けるのは簡単だよ
Dart批判してJavaScriptを応援してる人は、新しい言語を覚えるのがめんどくさいということ?
何を見てそう思ったのか不思議だがDartだと新しく作るほどのものじゃないじゃん
過去の資産がたくさんある人か、 「〜は普及しますか?ぼくちん勉強しても損しないですか?」 とか人に聞いて手を付けない人が様子見で煽ってるか 新しい言語なら俺の想像を超える画期的な言語仕様じゃないと許さない人
>>508 いっているのが
>>502 の事を言っているのであれば、別にDartを批判している
つもりは全然無いよ。むしろJavaScriptの残念なところを丹念に潰している点で
「仮に」これが広く普及した日には喜々としてスイッチすると思う。
ただ「将来性」なんか気にしている人にはDartもCoffeScriptもメジャーになって
生き残る可能性なんて今は全く分が悪いのだから全然お勧め出来ませんってこと。
本当に将来性を気にするのであれば今あるJavaScriptその他のメジャーな言語で
しっかり経験を積んで将来どの言語にもスイッチ出来る素養と応用できる考え方
を培うべきだと思うけどね。
DartもCoffeScriptも特に新しいパラダイムを持ち込んでいる分けでも無し、この
二つを比較して将来性が云々ってそんな表層的な比較なのであればJavaScriptでも
大差無いし今のところ生き残る将来性であればこれが断然高い。
>>508 言語を覚えるのに時間はかからない。
簡単なサンプルがあれば、あとは感で出来る程度のもの。
時間がかかるのは、その言語をどうやって使えば
効率の良い開発が出来るかを調べる所。
それは、結局のところライブラリやフレームワークの使い方を
マスターすることを意味する。
Dartは言語だ。言語(言語仕様で決まっている範囲)だけあっても
開発効率はよくならない。言語同士を比べれば優れていたとしても、
実際の開発ではライブラリやフレームワークの有無で開発効率は大きく変わってくる。
現時点ではDartはライブラリもフレームワークも未熟なので
言語としては優れていても、開発として優れたものではないという結論になる。
わざわざ学習コストを低くするためになじみのある文法になっているのに
言語の学習コストなんて、その言語を使った開発の 学習コストに比べれば無いも同然だよ。
本当に魅力的ならライブラリもあっちゅうまに揃うよ npmのカオスっぷりみてもよくわかる ありゃ一回大整理が必要だなw
>>512 >簡単なサンプルがあれば、あとは感で出来る程度のもの。
やめれ。
そうやって書かれた糞コードが言語問わず大量に存在するんだから。
お前ら早漏すぎだろ いまはまだそんなこと議論できる前の段階だ バージョン0.02だぞw いまは言語自体の優劣や未来を論じる段階じゃない Webの未来を考えて、どう設計するかが議論される段階なんだよ そういう議論ができないおバカさんはお帰りくださいね
coffeescript ってのをこのスレで知ってホームページ見てみたんだが、 こっちの方が簡潔にコードが書けて新しい感じがしたわ こっちの方がなんだかワクワク感があるし、センスが上に感じた
coffeeてjsを普通のスクリプトにしただけだよな わかりやすいけどさ てかdartって演算子オーバーロード(dartではoverrideか)なんて ゴミ仕様があんのか めちゃ不要じゃねえか
演算子オーバーロードが不要とかいうのは、文系か専門卒
RailsとかDjangoあたりをやってるならCoffeeScriptはありがたいだろうな
いや、このスレではそういう論調だったが、実際にはCoffeeScriptは、 ほーそう来たか、みたいなささやかな驚きがたくさんあって 面白かったわ
すまんな専門卒でも文系でもない Google自体がC++のコーディングで基本禁じてる機能だぜ 弊害のほうがでかい機能なんていらね
いくつも言語覚えて、その罠に嵌るの嫌だから、素のjsガンガレ。 expressとかwebsocketとかも、もっとガンガレ。
>>519 Dartではoverloadはない。
名前の重複を許さないから、同じ名前で別のシグネチャの関数というのはない。
内側のスコープが外側のスコープの名前を隠すことはできるが、それも規格で警告を出すように定められている。
ましてやoverrideではない。
スーパークラスのメソッドをオーバーライドするなら、結果的にoverrideではあるが。
クラスでは、演算子は特殊な名前のインスタンスメソッドであって、ユーザー定義演算子(user-declared operator)と呼ばれている。
>>523 あのGoogleのコーディング規約はかなり古いものだ。
クラスで演算子をユーザー定義できると色々と便利だぞ。
Coffeeと比べるとか愚の骨頂だろw 分野、目的が全く違う どっちがスケールするかって問題だ Dartは基礎として成り立つが、Coffeeは基礎として成り立ち得ない Dartが普及したとして、やっぱりCoffeeで書きたいならCoffee→Dartのトランスレータ書けばいいだけだし
なんだ高校生か。 javaの数値計算ライブラリのcoltとか眺めて味噌。オーバーロード必須だぞ。 行列の要素にアクセスするためにgetとかsetとか書いてたら気が狂るうぞ
ほんと、素直にJSやり続けるのが一番な感じがする…。今ブラウザ上でJSが無くなると色んな企業がかなり困惑しそう
ふむ。確かに呼び名としてuser-defined operatorsと書いてあるが 演算子をインスタンスメソッドとして定義できるのは 結局演算子オーバーロードと同じ事だろ 代入を定義できなくしたのは良識か
>>530 a*(x+E)
a.times(x.add(E))
こんな具合に長くなれば長くなるほどコード眺めて嫌気がさすぞ
>>530 a * b + c * d ;
が
a.multi(b).add( c.multi(d) ) ;
になるのか。
素晴らしいな。
定義された演算子が継承でsubtype-polymorphismされてると読むのが苦痛
>>531 そもそも、オーバーロードという用語自体が規格にない。
関数のオーバーロードといえば、一般に、ひとつの名前に大して複数の関数を割り当てるようなことを意味する。
C++でいえば、
int f( int ) ;
int f( double ) ;
int x = f( 0 ) ; // オーバーロード解決により、名前fに対して、f(int)がlookupされる。
Dartでは、名前には複数の定義を割り当てることができない。
スコープによる名前隠しは、ただ名前を隠しているだけで、複数の定義を割り当てているわけではない。
代入式は、Dartでは、変数が束縛されるインスタンスを指定するだけだから、
オーバーロードする意味がない。
あ、つい癖でオーバーロードと書いてしまったorz
Dart 作ったやつって、Java使いなんだろうなあ CoffeeScript 作った奴はPython使いだろう 節々でそういうのが、わかっちゃう違いが出るな
もともとGoogleはJavaがメイン。 JavaScriptを使っているように見えるが GWTというJavaで書いたら自動的にJavaScriptが生成される ライブラリを使っている。
Javaが糞だと言ってる奴は 大規模開発をやったことがない。 プログラム言語の勉強だけをしている 実践経験ないおこちゃま。
豚切りだがこのスレ言語とライブラリを混同してる奴が度々出てきてそのたびに言語とライブラリはryって言われてるな。
>>528 なんだ大学生か?
オレオレ演算子定義なんてされてるコードを
レビューしたら吐き気がするぞ
javaはlamdaとプロパティが欲しい 大規模開発って、まんま土方が治水工事しているか、クフ王のピラミッドでも建ててるイメージ 7人ぐらいの規模だと精密機械か時計職人のイメージ
>>544 単にデータを(特に操作もせず)右から左に流してるだけだからな
単純作業だよ
>>542 一応突っ込んでおくと、ややこしいことに、規格では「ライブラリ」という用語が定義されている。
ひとかたまりのソースコードがライブラリ。
他の言語だと、ソースファイルなどの用語を使えばいいのかもしれないが、
DartだとひとつのHTML内にscript要素で複数の「ライブラリ」が書かれるだろうしな。
>>527 > Dartは基礎として成り立つが、Coffeeは基礎として成り立ち得ない
「基礎」って何だ?OSか?ブラウザか?
ブラウザ上での話なら、Dartは基礎になりえないから。
JavaScriptからDartに実行環境が移るなんて、さすがのGoogleといえどもありえない。
だとすると、ブラウザ上ではDartもCoffeeScriptも五十歩百歩。
まあまあ。 最後には仲良くJSで走るんだしさw
>>543 オレオレ演算子オーバーロードなんてプロジェクト前の打ち合わせで
コーディング規約を決めて、まず禁止する機能だろ。
てか、演算子オーバーロード自体は普段は使うことがなくても、
十分にテストされた製品級の数値計算ライブラリにはないと可読性が低いんだよ
chromeにvmが載ってからこの言語の真価が問われる 一年後くらいかな
webkitにvmが載ったら、一気に来る??
webkitに乗るわけじゃないだろ それはそうと、dom操作についての記事が公式にアップされているな
初日からあったが?
>>549 C++0xに右辺値参照が入るまでは演算子オーバーロード使うと
コピーが発生して真面目な数値計算用途には遅くて使えなかった
>>554 その問題は、テンプレートメタプログラミングを使えば解決できた。
もちろん、これからはrvalue referenceのおかげで、楽ができるけど。
いまどきWeb言語を標榜しながらDocument.query()とかありえないって言ったら 勝手にjQuery信者にされ、勝手にライブラリと言語仕様の話にスライドされてるだけなんだけどな
>>538 多分セルフホスティング化される前はRubyで書かれていたからRuby使いじゃないかな
>>556 うん、実際にはムーブはしてない。
何をやっているかというと、単にテンプレートでラップした新しい型を返して、実際の計算を遅延させている。
rvalue referenceがあっても、行列計算とかを高速に、しかも演算子のオーバーロードを使用してやりたかったら、
やはりテンプレートメタプログラミングは必須だよ。
すごい伸びだね やっぱり注目されてるんだね
大規模開発向けとして普及させるにはプログラミングの現場を知らない人間ですら名前は知ってるほどの大きな知名度と実績が必要だが Dartにはそれを達成させる「何か」が今のところ全く見られないのが最大の問題だな Java言語だって普及したのは「一度書けばどこでも動く本格的オブジェクト指向言語」という今思えば嘘もいいところの触れ込みで知名度を上げたからだし
「一度書けばどこでも動く」なんて本気でやったら即使い物にならなくなるわ、ってのは当初から 言われてはいたけど、結局は大多数を騙せりゃいいわけだしな
>>561 後者はそんなに外れてもいないような気がするぞ
そりゃ厳密には嘘かもしれんが、実際にJava で作られてるから
あのソフトはLinux 版があるはずだよねとか
そんな感じに思うことが最近は多いよ
リストか配列の内包表記はないんかい? あと、複数の変数に一気に代入する仕組みとかもない? returnは省略できないのか? 最近の言語の簡略に書くためのちょっとしゃれたギミックは 何らかの理由で嫌われてるのか?
Javaが広げた風呂敷はそんな小さいもんじゃなかったしな
アホもプログラム書くんだよ派と、アホは生産性低すぎるから切り捨てるんだよ派との、いつもの かみ合わない話
>>564 List<int> l = <int>[1,2,3] ;
Map<String, String> m = { "
>>564 " : "規格読めない文盲", "
>>1000 " : "1000getオメ"} ;
f() => 0 ; // { return 0 ; }と同じ
もちろん、ListリテラルとMapリテラルはネストできる MapリテラルはネイティブJSONとして利用可能。
>>567 俺が言ってるのはそういう意味じゃない
・a,b=1,2
・=>を使わず、ブロックで書いたときのはなし
・内包表記は反論がない
>566 アホ用モードとエキスパート用モードを用意すれば良いのにね。
>>569 Haskell信者かPython信者?気持ち悪いからこのスレに来ないで自分の好きな言語使ってね
結局、あの言語にあるこういう機能はないのかと言っても、 その言語を知らない人には真意は通じない そんなのあるよとしか思わないので、必要性を感じることもない この言語を作った奴もそういう傾向だからつまらん言語しか作れないんだろ
この段階で人格避難しかできない程度の低い信者が現れるあたりお里が知れるというか・・・
>>569 return文がない場合、暗黙的にnullが返される。
複数の変数に一気に代入という文法はないな。
ただ、Dartでは変数の宣言は、初期化を伴うことが望ましいし、
一文で複数の変数に複数の値を代入ってのは、個人的にはちょっと意義が分からんが。
これDartはクライアントスクリプトでgoはサーバサイド とか狙ってんだろうか
>>574 複数の値を返す関数とかでスマートに初期化できる
この仕組みを発展させると、Jsonのような構造の一部を
スマートにバインディングできたり
詳しくはCoffeeScript のトップページの例がわかりやすい
Dartの関数は多値を返せないし、 複数の値を返したいとすれば、ListやMapを使えばいいわけで、 そもそも、そんな構文が必要になる理由が分からん。
内包表記はforで代用できるし、複雑にネストさせるとわかりにくい という判断だろうけど、単純な使い方ならスッキリするし パフォーマンスでも有利なはずなんだがな
タプルのシンタックスシュガーが欲しいってことかと
静的型付け言語で、簡易な書き方ができる オプションしだいで型も無視出来る。 動的型付け言語でできるすべてのことを 型付け言語で、静的検査出来る形で組み込む。 数学的な読みやすさと文学的な読みやすさを両立 それが俺の理想の言語。 つくるしかないかorz
>>572 googleで言語仕様作れる人間のレベルを舐めてんの
> 動的型付け言語でできるすべてのことを > 型付け言語で、静的検査出来る形で組み込む。 馬鹿すぎてワロタwww
>>557 >Document.query()とかありえない
ありえるんだよ。それに直球でライブラリと言語仕様の話なんだよ。
Document.query()云々のHTML APIは公式ページでも説明されているように
W3C DOMと同等の機能を書きやすくしたAPIで、それを言語仕様に含めるという
話なのだから。
言語仕様としてはW3C DOM相当の低水準のAPIを提供して、その上にライブラリ
として高水準のAPIを実装する、どうやらお気に入りらしいjQueryその他と同様の
アプローチがありえないとはこれ如何に?
「ありえない」とか言うなら一体どの水準のAPIまで仕様に含めるべきなんだ?
一度仕様に含めてしまったらバージョンが0.1上がる度に新しくメソッドや引数
が追加されるjQuery同様にはAPIを更新できない事は理解出来ているよな?
>>585 おい、俺に文句つけた以上
最後まできっちりと反論しな。
でないと、お前が 口だけ野郎だって
思われるだけだぞ。
>>580 いちいちめんどくさくね?
多値を返せないのも面倒だね
そういうスッキリ書くためのちょっとした機能が全部
不採用な傾向にある
製作者が知らなかったから入れなかったんではなく、
何らかのポリシーじゃないかな
>>584 言語に関しては舐めてるよ
だって低レベルなんだもん
goもそうだったけど、つまらない言語しか作れないよね
というか、プログラミングのスキルがありすぎて、つまらない言語で
十分なんだろw
実行時にしか分からないものをどうやって静的に検査するんだ? コンパイル時と実行時で別々にコードが走るメタプログラミング言語でもつくるのか?
>>589 完全に自由な文字列をevalしたいということはない。
殆ど決まった文字列で一部だけを置き換えたいときに使う。
つまり、その部分のみを変数に取り出し、
それ以外はコンパイルすることが可能。
C言語のインラインアセンブラみたいなもんだ。
>>591 > 実行時にしか分からないものをどうやって静的に検査するんだ?
発想が違う。
実行時にしかわからない? なら動的だ!という単純思考ではなく
実行時にしわからない? でも実行時にしかわからない部分は
極僅かだよね。じゃあ本当に実行時にしかわからない部分と
そうでない所を分離しよう。
実行時にしかわからないところを最小限にする。
それが俺の考える理想の言語。
>>592 そんなscanfもどきをevalと一緒にすんな
>>595 動的型言語と同じevalは実装できないんだろ?
だったらお前が
>>583 で書いたのは間違いで、馬鹿にされても仕方ないんだよ
evalを何のために使うのか さっぱりわからんのだが。 Perlは例外処理のために仕方なくeval使うけど それ以外の用途なんてほとんど無い。
なんで可能かどうかの議論を役立つかどうかにすり替えてるの?
>>586 あのさ、初めて言語を使ってみようと思ったときにサンプル見るでしょ
それでDOMを使ってると思われる部分がDocument.query().innerHTMLとか見たら引くだろ
これじゃ素のJavaScriptのdocument.getElementById().innerHTMLと同じじゃないか、
こんな本質的じゃない部分で文字の羅列がずらずら並ぶ状況なんて想像したくないし
そう思う人が多かったからこそjQueryに限らず$という記号なり何なりを使ってどうにかそれを隠ぺいしようとしてたんだろうが
Web言語を標榜するなら最初からここら辺は仕様でもライブラリでも何でもいいから工夫すべきなのに何もしてない(ように見える)から文句を言ってる
jQueryの機能がないからダメだとか言ってる馬鹿がまだいるのかよ
>>596 evalは目的ではない。
まず何のためにevalを使うか。それを明確にしてくれ。
それを明確にしてもらわなければ、
それに変わる方法なんか言えるわけがない。
例えば言うのならgoto。
これはあちこちにジャンプできるしろものだが、
これをループや例外処理やbreakといった「何んためにgotoを使うか」を
明確にすることによって、gotoを無くすことに成功している。
どこにでもジャンプするというgotoと全く同じものは実装していないが、
それでもgotoは無くせてるわけだ。俺が言っているのはこういうこと。
1、何のためにその機能を使うか。
2、それを別の方法で実装する。
この手順を踏むことで静的検査が行えるようにしようということ。
DOMのショートカットとして$使ってるのはjQueryだけじゃないんだが
過疎ってるなー
>>599 何がダメなんだよ。
$もdocumentも単なる識別子だろ。
あとqueryでやってることは、DOMで定義されているquerySelectorだからな。
単に使いやすいよう短くしただけ。
もちろん、DOMの定義通りのライブラリもある。
貧弱なgetElementByIdと一緒にすんなよ。
タプルなんてそもそもいらない。 多値返したいならMapにでもしとけ
まつもとはなんと言ってるんだ?
>>606 まつもとは懲りたのかやっと学習したのか知らんけど他の言語をDisるのは自重するようになったらしい
>>606 > まつもとはなんと言ってるんだ?
「アイデアは必ず行動に移す。結果が失敗なら、そのとき改めればいい。」
別にタプル作れなんて誰も言ってないと思う 配列があるし、普通に配列返せばいい
>>607 昔から処理系の出来はdisられてたけど、
最近は言語仕様までdisられる側だからねー
まつもとはこのスレで匿名でディスってそうw
綺麗に書きたい派と楽に直感的に書きたい派がいるな Dartは前者向け 文法的にはJavaに近い おそらくユーザーもそうなる 後者はRubyっぽいDartの対抗馬を作ればいいんじゃない?
綺麗も直感も人それぞれだろ まつもとはRubyが綺麗だと思ってるよ
Java の真似をしてる感じがする Java 信者が作ってるだろ
>>604 document.getElementByIdがdocument.querySelectorに変わっても言いたいことは何一つ変わらないから
綺麗に書きたい人っていうのは色々縛って不具合を出来る限り避けたい人のことを言いたかった
Javaで書いたソフトを移植するつもりなんだろうな
queryの件に関しては、CoffeeScript は解決してるわけ?
JQueryの$って、jQuery関数のただのエイリアスだぞ。 元が長い名前であっても、エイリアス設定すればいいだけじゃん。 ばかじゃないの?
さすがに、$が短いから便利とか、そういう意味じゃないんじゃないの セレクトしたあとのjQueryによるメソッドの適用の仕方が便利とか、 そういうことを言ってるんだと思ったが、違ったのか
$の代わりが欲しいなら、HTML5のgetElementsBySelector使えばいいじゃん。
こうか? Document $ = document ; 識別子として許されているのは、a-z, A-Z, 0-9, _, $ ただし、$は先頭文字にしか使えない。 数字は先頭文字には使えない。 $が先頭文字にしか使えないってのは妙な仕様だな。 JavaScriptはこんな制限なかったよな?
そのgetElementsBySelectorがDartのquery相当なんだっけ? doc.query("html head title")みたいに
多分、簡単にセレクト出来るだけでは駄目なんだろ その後の要素に対する操作も含めて不満だということだろう ってか、本人どこ行ったw
え?なに?呼んだ?
queryはquerySelector。 queryAllはquerySelectorAll。 Dartでは、どちらも使える。 getelementsBySelectorってのは、querySelectorAllとはどう違うんだ?
おまえらが素敵ライブラリをつくれば済むこと
あんまりよく知らないんだが、jQuery は返される値が単純なDOM要素じゃなくて、 イベントハンドラを付け加えたり、特殊なスタイル適用したりとか 色々簡単にできて、チェーンで繋げて簡単にかけて便利らしいじゃん それがないってことだろ
>>599 >DOMを使ってると思われる部分がDocument.query().innerHTMLとか見たら引くだろ
つうかこの程度のことで引く様な人は言語仕様のバージョンがまだ0.1とか0.2の
段階で首を突っ込む必要は無いんじゃない? お呼びじゃないよ。
環境が整ってアルファユーザー(笑)が喧伝し始めてから手を出せばいいさ。
普通はあぁW3C DOM相当は考えているけれどもその先はまだ未定未整備なのね、
でお終いの話だと思うが。
>>631 Web言語(笑)で終わって誰もアルファユーザー(笑)の喧伝に耳を貸さなくなるんじゃないかな(笑)
他人の車輪の再開発を期待する時点で終わってるのは置いておくとしても Dartにそれを期待できるほどのインパクトやメリットがあるのか?
>>624 まさかとは思うが、Javaの真似をしたいからそういう制限なんじゃないのか
内部でインナークラスを$使って区切ったファイルにコンパイルしたいとか
まあ、さすがにそう思いたくはないが
Java しか知らない情弱が作った言語w
Java しか知らない情弱でも触れるように作った言語だろ
>>634 書いたあとに気がついたが、String Interpolationがあるためだった。
int a = 123 ;
String s = "a = $a" ; // a = 123
>>637 でも、Ruby みたいに使用可能にすることもできたと思うが
>>638 そう、その辺がよく分からないんだよな。
結局、先頭文字に使うことはできるわけだ。
戦闘以外に使えないというのが、何かそんなに大きな違いがあるのかな。
パースが簡単になるとか。
あと、$identiferという形式のString Interpolationでは、identifierは$を含むことができないと決まっているから、
何も問題はないような気がするが
ASCII文字にもっと記号があれば もっと便利な言語ができただろうに。
> 戦闘以外に使えないというのが 武闘家をdisるな!
サーバでコンパイルさせるなんて手でも使わない限り どっちにしろ当分evalなんて 無理なんだから話し終わっとけ
言語作者がJavaしか知らないとかあり得ねーよ情弱
Unicode前提でどんどん新しい記号いれろや
>>590 Rob PikeとKen Thompsonが低レベルか
どこのダイクストラ
静的型チェックの結果がエラーでなく警告というところが新しいのかもしれない 個人や書き捨てで書くときは型を書かないとか警告をシカトするとかして、 仕事でがっつり書くときは警告を全部つぶしておく事を規約にして開発するとか
おいおいこの言語の策者の一人はscalaの作者でもあるんだぞ javaしか知らねーとかアホか
>>643 正直、それを疑われてもしょうがないぐらい
Java の機能しか取り入れられてない
>>648 それにしては、scalaの機能が全く無いな
だから意図的にそうしたってことだろーが
そういや言語仕様貶している話が多いけど、俺言語とか設計したことのあるやつどれぐらいいるの?
それじゃまるでJavaよりscalaが劣っているようじゃないか ありえないだろ!
MartinがGoogleに入ったなんて話は初耳だわw
Javaしか知らないとか本気で疑ってる奴は心底バカ晒してるだけだから黙ってろよ つーかム板に当分書き込むな
jsはブラウザに対するunixとcの関係なのかunixとperlの関係になるかが普及の分け目 jsがunixとperlの関係になるためには、jsが癖の強い、イディオムだらけの糞言語だって必要がある。 サイ本が必読書の候補に上がり、coffee scriptが絶賛されるのはjsにその素質があることの根拠だ
結局最後は静的型付け言語が 主流になるんだよね。 今は過渡期。
Javaしかまともに知らないだろ実際 Jvm作ってばかりで
このスレには凄腕のハッカーが居るらしいな Rob Pikeを馬鹿にするだなんて俺にはとてもできない
良い言語だと思うけどなぁ
Java にして、所々どうでもいいような欠点を直して わかりにくいマルチスレッド処理付け加えただけだよね まあ性能が高くなるから意味はあるけど
CoffeeScript と比べちゃうと残念感が強いな 静的だから被らないとはいえ
rob pike とかpascal風の古めかしい言語を昔作ってたような 印象しかないわ そんなに凄いやつなのか
まだ生まれたてで色んなしがらみがないんだから 適切な改善案が提示できれば反映される見込みは高いよ
使われないで終わるだけ
>>658 静的言語も動的言語も、何十年も前から存在するのに今更に過渡期かね?
ソフトウェアをどういったサイクルで実装していくかが問題だと思うんだけどな
ポールグレアムのyahoo storeの話だと仕様が見えず、
新機能を追加する必要があるものほど動的言語が有利そうなこと書いてあるけど
ただ、最近のウェブ上での記事やら見てるとrubyのような言語を大規模開発に使うと
型がどうこういった問題になるみたいだ
リーナスなんかはc++やオブジェクト指向でゲロゲロになるからアッチ行けってな主張
だから、スクリプト用途には可変長引数みたく
シグニチャを自由に受け取って変数はvariant型で書いて、
仕様が固まったら静的言語として書ければ色々と捗るはず
適切な改善案があっても反映されない雰囲気を既に放ってるよ なんだかんだ頑固な理由をつけて却下しそう 保守的すぎるし、言語仕様の小ささに非常にこだわってる印象
>>667 うん。過渡期。
動的型付け言語の便利さが認知され、
静的型付け言語が、動的型付け言語を吸収し始めている。
ブラウザへの実装しやすさにこだわってるのかな jqueryのようなライブラリで進化する方向か 標準化するなら仕様が早く安定するほうがいいな
今のところ一番うまく動的型付け言語を取りこんでるのはC#だと思うが普及してるかと言うと疑問符が
すまん、$の件、規格を読み間違えてた。 どこにでも使えるわorz
静的型付け言語はideが発達すると便利になる いろんなリファクタリングとか出来るし
多値返却がタプル・マップ使えばいいとか配列内包がいらないとか使い方分からないだけじゃん。
多値返却と配列内包と分割代入とyieldはジェネレータのための必須セットだろ。
>>657 サイ本を読めというのは「仕様書で理解出来ないなら」っていう大前提が付くんだけど。
それとcoffee scriptを絶賛してるのってrubyに嫌気が刺したjs書かなきゃいけない人くらいじゃないの?
静的型付け言語でない時点でJavaScriptは時代の流れから 取り残されるのは仕方ないことだよ。 JavaScriptだけじゃないHTMLもCSSもね。 これらはクライアント側で動くから 言語側の都合で進化させることができない。 じゃあどうするか。もう全くの別言語で書いてJ avaScript・HTML・CSSを生成する。これしか進化の道はない。 近い将来JavaScript・HTML・CSSは中間言語みたいな扱いになるよ。
バカじゃねえの 動的な言語の生産性の高さは昔から変わらない でもクリティカルな用途には使いたくない そゆこと
>>676 てか、Dart が中間言語になりそうだわ
性能が良いからうってつけ
元々rubyで実装されかつRails3標準搭載のCoffeeScriptの対象がRubyに嫌気がさしたjsコーダーとか意味がわからん
>>677 動的型付け言語と動的言語の違いわかってる?
今の言語はすべて多かれ少なかれ動的言語だよ。
>>676 こねぇよw
ってか、それってASPだろ
>>675 多値返却をタプル・マップで模倣しろってのはその時点で型安全で無くなるので
お勧め出来ないのは同意だけど、配列内包云々は別に無くても上手くやっている
言語は世の中には幾らでもあるわけで、取捨選択の範疇だと思うけれどもなぁ。
>>681 CoffieScriptとかHamlとかSCSS知らんの?
>>680 自分こそわかってねえんじゃね
webとかPCの世界しかしらんのだろ
>>682 確かに、必須だとかは言い過ぎの感があるけど、
それを言い出したら何でも必須ではなくなってくる
うまくやってるかどうかが人それぞれ定義が違うんで
価値観の違いだな
オブジェクト指向なんてなくてもうまくやってる言語はいくらでもあるとか
静的型付けなんてなくてもとか
多値返却は、戻り値を型で書けばいいんだよ。 でクラスを作ればいいんだけど、 多値返したいだけでクラスを作るとか面倒。 そこで俺が提案したいのは、無名クラスを 関数の戻り値の方として使えるようにする文法 class{int i; Class c} foo() { int value = 123; int obj = new Class(); return {value; obj}; } 適当に書けばこんな感じ。熟考して考えた文法じゃないから 文法的な矛盾とかのツッコミは無しなw
objがintになっちゃった。 コンパイルエラーだなw
plan9にのってたlimboかinfernoで似たような文法を見たな
689 :
686 :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;
>>689 俺はそこを、var i, c = foo()
みたいに書きたいんだ
めんどくさがりだからな
オブジェクト指向言語でよくある クラス爆発問題は無名クラスと型推論で解決できるでしょう。 少し考えれば継承爆発問題も解決できるかもな。
>>690 var i,c に代入できるってことは、
戻り値の順番に依存した問題だから
戻り値を配列でかくしか無いよね。
こんな文法でどうだ?
固定サイズ無名配列とでもといえばいいかな。
[int; Class] foo() {
int value = 123;
int obj = new Class();
return [value; obj];
}
コピペしたからまたコンパイルエラーwww
694 :
デフォルトの名無しさん :2011/10/16(日) 01:47:04.31
普通にinterfaceを戻り値の型にして無名クラスはそれをimplementsすればいいやん
>>694 それだとインターフェースを作らないといけない。
そこに「動的型付け言語なら・・・」と反論される隙を与えることになる。
わざわざインターフェースを作らずに、
その場で使い捨ての静的型付けを行うための文法だよ。
ああ、流れ読んでなかった。多値返却の代用だから冗長すぎたら意味無いか
>>692 大分スッキリしてるな
かなり満足だ
戻り値の型宣言があるならobjとvalueの型は型推論で取り除けるだろう
現時点では、言語仕様的にはbooが最強だよ まずbooのマネをしておけば間違いない
class{int i; Class c} foo() { 実はこのclassってのも嫌なんだよな。 本質的にはハッシュと同じではないのかと。 ただハッシュとは違い、キーの追加・削除はできない。 ということで、classを省略。キーの追加・削除ができないハッシュの定義 {int i; class c} さらに、キーの追加・削除ができるハッシュの定義として {int i; Class c; ... } さらに要素の追加、削除ができる配列の定義として [int, Class, ... ] というものを考えてみたりする。 追加だけ、削除だけができるハッシュ、配列ってのも要望あるのかな?
javascriptの何がくそかと言えば開発環境がくそ 実行した結果をブラウザ立ち上げてみるとか 面倒 デバッガはブラウザにあるし コード編集と別れてしまってる しかも動的型付けだから補完もろくにできない
やはりgo言語至高ということでよろしいか
│ _ │ /  ̄  ̄ \ │ /、 ヽ J |・ |―-、 | q -´ 二 ヽ | ノ_ ー | | \. ̄` | / O===== | / | / / |
704 :
デフォルトの名無しさん :2011/10/16(日) 03:56:09.20
至高言語はRubyだよな
Dartで作られた人気のあるwebアプリやゲームが出てくれば、来るかもしれんね。 Googleなら作れるんじゃないの。
エロゲ作ったらいいじゃん webサービスとして。 いやマジで。
Dartはマジでいい言語だと思うよ、癖がなくてスタンダードになり得る、それはここにいる大体の人が認めてる でもいざWEBでJavaScriptの代わりになりますとか、CGIで今の言語の代わりになりますとか言われるといろいろ不満は出る 期待されてて使ってみようかなと思われてるけど、そこまで画期的なものじゃDartはないから、 大きなメリットが見えない、普及してない言語を今改めて使い始める気が起きないのが実状 それに大抵の人は今使ってる言語のメリットを残しつつ改善版を望んでいるのであって、 どっちつかずのDartには使用価値を見出だしにくいのが実状
しつこいな
リーマンSIerはサーバーサイドのJavaには慣れてるし、クライアントサイドを似たような文法で書けるDartを採用、とはならないかな
つーかいまのヘビーなネイティブアプリ、つまりテキストエディタとかofficeとかゲームとかを移植するためのものでしょ。 javascriptはweb製作でこれからも当分使われるのは間違いないよ。 上手くすみ分けられるんじゃない?
多値返却の受け取る方を変に代用とかせずに分割代入があるじゃん。 var [n1, s1] = func return 1, "test"; これくらい型推論できるだろう。
714 :
デフォルトの名無しさん :2011/10/16(日) 10:07:10.80
仕様バージョンがあれだけ低いってことは、これからかなり変更されるんだな
クライアントサイドで動作するんだろ?コード見られるんだから流行らないだろ 手品師が種みせてるようなもので、商売にならねーだろ
えっ
ipv6と一緒で、なかなか普及しないと思うよ
実際のところ、ただパフォーマンスを出したいだけだよね
JVMの上で動くjavascriptを開発すればよいものを・・・
noopはもはや話題にもされない
> Noopではすべてのクラスのペアの間に「Seam」と呼ばれる結合部分が設けられ、 > 元のコードを編集することなくクラスのふるまいを変更できる。 > ほかにも、コンポーネント同士が依存関係を持たないようにする > DI(Dependency injection:依存性注入)などが言語に組み込まれている。 > また、プロジェクトにおけるコードは「書かれるものとしてよりも読まれるもの」であることが重要とし、 > プロパティ設定やデフォルトの不変性、実行可能なドキュメンテーションなどが定義されている。 俺が理想とする言語に搭載されている機能だな。
それがまるで普及しなかったんだからDartもまず普及しないな
noopは面白い言語だな googleもやれば出来るじゃん
どんな素晴らしい言語でもユーザが少なければ廃れるだけだろう
ていうか、dartは今のままじゃ jsより速くはならんぞ パフォーマンスより大規模と安全性だろ
>>720 ていうか、dart処理系の中で使われてるぞ
safariとandroidブラウザにdart vm乗れば一気に流行るかもな
たしかにアンドロイドに乗ったら、一気に多数派といえなくないかもね。
なぜWebKitと言わずにsafariなのかは謎だわ
iOSとIEに乗らない限りダメだな
chrome os用にはなる
>>726 こらこらそんなこと言うと普及した言語が素晴らしい言語なんだとかいう人がやってくるよ
noopの時と意気込みが全然違うだろ ホームページのデザインを気合入ったものにして、 サンプルをふんだんに載せ、ビデオを公開し、 ホームページ上で簡単に試せるようにしてる noopの時にここまでやったか? 今回は本気で流行らせる気だよ メジャーリリース時にはWebkitにVmを載せ、AndroidとChromeで 対応するようにして、大々的に宣伝するだろ
ブラウザとhtml5が主戦場になりそうだし、イニシアチブ取りたいんでし
お前イニシアチブ言いたいだけちゃうんかと。
Androidへの対応はどうやるんだろうな Dart用のDalvikのようなVMを用意するのか それともWebKit(WebView)だけDart対応させて あとはPhoneGapみたいなのが出るのにまかせるのか なんとなく後者のような気もしないでもない
次期AndroidはJavaを捨ててDartに!!!
将来はそれを狙っているだろ当然。
しかしそのころにはみんなNDKで開発していた
エリックとシュミットが検索アルゴリズムのモックを作って、そのときエンジェルになったのがsunだった。 googleが成功してからsunの技術者がけっこう移ったってな話を聞いたことがある。 んなわけでgoogleはjavaに思い入れがあるはずだが、ここにきてjavaと手を切ることになるのか oracleがsunを吸収したんだし有り得るか
GWTでもGAEでもAndroidでもSunのJavaとは全く違うライブラリだったり制限があったりしたものだから結構Java関係者に批判されてた記憶が
ライブラリはjavaの本質ではない てのがgoogleのスタンスなんだろ でないと永遠にあれに縛られるし
>>745 いや、WORAという建前(笑)があるからライブラリの互換性はJava関係者にとっては重要だよ
オラ? オラ悟空
ググったら一番上に出てくるよ
悟空が?
WORAが何の略でどういう意味かが出てくる
"Write once, run anywhere" (WORA、「一度(プログラムを)書けば、どこでも実行できる」)とは、 Javaのプログラムがオペレーティングシステム (OS) などのプラットフォームに依存しないという意味の、 サン・マイクロシステムズのJavaのスローガンである。 Write once, run everywhere (WORE) ともいう。
オラでもオレでもどうでもいいわw
オデともいうよ Java開発者は次のようなジョークを飛ばすことがある: 「<一度書いてしまえば、どこでも実行できる>というのは、実際には<一度書いてしまっても、そこら中でデバッグしなければいけない (Write once, debug everywhere) >という意味なのさ」
write once,run away っていうのをむかし見て吹いた覚えがあるな。
>>746 javaはSEだけじゃないから別にライブラリは重要ではない。java叩いてる連中が互換()笑とか言ってるだけ。
>>755 重要なのはライブラリの重要性どうこうよりJCPを通ったかどうか
JCPがあるのにJCP通さずに勝手に自前ライブラリでやってればそりゃJava関係者は批判するのは当たり前ってだけの話
まぁJCPを通ることに価値があるのかどうかは人それぞれ
JavaScript(ActionScript)とJavaバイトコード(PHP)に各種フレームワークやライブラリがそのまま使える程度に単純変換ができる言語があればいいんだけど
rhinoをサーバーで使うのならいろいろあるけどバイトコードはかせるとVMいるからクライアントだとブラウザ屋の対応になるんじゃないの?
JSに単純変換できかつJava(バイトコード)にも単純変換できる言語があればいいなぁって言ってるんだけど
>>756 日本共産党ってそんなにすごい組織だったんだな
>>759 そのバイトコードをどこで動かすんだよって言ってんだよ。
>>761 Tomcatをはじめとするサーブレットコンテナを想定していますが
>>762 だからアプリケーションサーバならrhinoつかったフレームワークがあるって言ってんだろ。
何を怒ってるのか知らんけどRhino使ったフレームワークで有名なのあったっけ? Node.jsもJaxerもRhino使ってないし・・・
リンゴだろ
MLやIRCで開発者達が質問に丁寧に答えてくれるんだが、相当なやる気だな。 それも、 「何故Dartはこのように設計されたのか?」 とか、 「何故Dartには機能Xがないのか?」 などのような質問にも丁寧に回答している。
このスレ訳して、日本ではこんなボロカスに言われてますよって 言ったらどんな反応するかな
「議論が活発で何よりです」
つーかGoogle Code Search廃止かよ これよりあれのほうが間違いなく使う機会多いのに
マジかよ。英語調べるのに重宝してたのに。
>>767 英語ではここよりボロカスに言っている記事があるぞ。
javaとjavascriptの悪いところをかけ合わせた、登場時から時代遅れの最悪の代物とかな。
google には python の作者をはじめとして言語オタクがいるはずだよな そいつらに意見を聞けば良かったのに あるいは保守的な考えで意見を封鎖してきたのかな
googleみたいに古い書き方で驚異的に複雑なロジックを すごい速度で書ける人にはこれが分かりやすく思えるんです CやJavaに慣れ過ぎた果ての現象
Javaでサーバ側開発して、そのまま人員をクライアント側に投入できるって考え方でしょ。 JavaからJavascriptのコンバータが一番受けそうだけどさ。 少人数で普通の人の頭の上を行こうって言語じゃない。
>>774 JavaからJavaScriptのコンバータとしてGWTを出したけど
全然受けなかったんだってヴぁ
大人数でもコードの品質がバラつかないようにしよう、という感じをうけるよね そういう意味ではGoogleが好んで使う傾向があるっぽいPythonのような印象 PerlのTMTOWTDIとは逆っていうか どこもそうだとは思うけど、JS界隈もヒドい奴とスゴい奴の差が激しすぎるから・・・
pythonっぽい印象は全くないけどねえ インデント方式もジェネレータも内包表記もメタ機能も ダックタイピングも無いしprivateがある クロージャはあるけどJavascriptが持ってるからでしょ
ちょっと試してみて?と思った部分。 ・配列がなくて全部リスト?部分的に抜き出したりとかを簡略的に書く記法もないのか ・文字列のsplitに第二引数がない。空の抜き出しかたとかどうするの ・try内部の変数がcatch で使えない? ・rangeみたいに簡単に数列が作れる記法がない? ・catch の第二引数なにこれ。複数のパターンをキャッチできるとかではないのか
これ非同期プログラミングに関する言語的サポートが特に無いように見えるんだが…… 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)); }
>>779 スレッドはない。
ただし、メモリ空間が完全に独立したisolateがあって、メッセージパッシングで通信する。
ていうか規格読め。
末尾再帰の最適化は、将来的には行われる予定。
ただし、今すぐではない。
http://code.google.com/p/dart/issues/detail?id=29 intは無限の精度を持った整数型。
ただし、DartCでJavaScriptにコンパイルすると、javascriptのNumberになる。
それはつまり、浮動小数点数。
これは規格違反だが仕方がない仕様。
手で書くより極端に遅いんじゃ誰も使いたがらないから。
Dart VMでは、規格通りに実装されている。
>>780 なるほど、isolateってやつがあるのな
サンクス
これはPythonとは違うのだよ Javaなのだよ諸君
py風が欲しけりゃcoffeeが既にあるしな
インデントでブロックを表すところ以外にPythonを感じない。 他にどのあたりがPythonぽいんだろう>CoffeeScript
>>778 >・try内部の変数がcatch で使えない?
本物の関数内ブロックスコープを持っている言語としては自然だと思うが。
>・catch の第二引数なにこれ。複数のパターンをキャッチできるとかではないのか
スタックトレースらしいが、詳細は定義されていない。
多分規格のアップデートがあるだろ。
それより、notationからcatch句がひとつしか使えないっぽいのが気になる。
あ、catchPartに+があった。
一応、このstack traceは、メソッドtoString()で、Throwに定義されているような内容の文字列を得られるようだ。 ただ、static typeが規格に見つからない。
>>784 動的型付けだし、配列のスライスとか多値代入とかRubyやPythonに似てると思うよ
少なくともDartよりは随分似てる
>>785 確か、Python,javascript,Rubyあたりは普通に
変数使えちゃうんじゃね
rubyは違う。 配列は規格にないけど使ったらあったよw
>>788 だから「ブロックスコープを持っている言語としては」って書いてあるんじゃね?
その3つは関数スコープだろう
P言語でもPerlならブロックスコープだし、JavaやC#、Dを含めC系の言語は基本的に
ブロックスコープ
ブロックスコープでcatch側からtryの中が見れたらそれはバグだw
>>778 は自分の知ってる数少ない言語にDartが似てないことについて文句を
言ってるんだなと思ってスルーしてた
>>790 778は俺だが、なんか気分を害したみたいで悪かったな
ブロックスコープや関数スコープの違いとかあまり考えてなかったし、
例外的にtryとcatchだけブロックがつながって変数が見えても
別に俺はなんとも思わないので適当にいってみただけ
確かに俺の知ってる数少ない言語であるPythonの便利な機能がないのは
結構不満だなあ
でも、文句というより疑問を言ってるだけ
知識もないのに適当言ってすまんかった
よくよく考えると、Javaでよく見るtryの前の不格好な変数宣言は catchとfinallyとtryのブロックが別れてるせいじゃね? 少なくとも、ブロックが別れていなければもっと近くで宣言できるはずだし 変数のスコープをtryからfinallyの間に閉じ込めらるはずだ 本質的には同じブロックになった方がいいんじゃないか?
>>792 その場合、tryブロックの中に子ブロックがあって、その子ブロックの
中で例外投げられてcatchのブロックに飛ばされた時はどういう扱いに
すれば良いだろう?
>>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++系の言語では、初期化行以降ブロックの最後までが
変数のスコープだ
つまりちゃんと構築され、オブジェクトが利用可能になっている範囲からのみ
可視になっている
子のtryだから、今まで通り見えないでいいんじゃないの それか、tryブロック自体実はいらなくね?w
いっぽうPythonのような関数スコープ言語では x = 0 def f(): print x x = 1 一番下のxのスコープは関数f全体になるので、print xのxは、その時点では 未束縛、未構築の下のxだ 変数が未構築で使えもしない時点で可視になっているわけだ Pythonの場合はこれは未束縛変数へのアクセスによる実行時エラーとなる try〜exceptでも勿論同種のことが起こり得る
まあ例外は構造化gotoだから汚いのは当たり前
>>794 でも、結局tryの前でnullで初期化しない?
そこは一緒じゃないか?
まあ、宣言に初期化が必須なら意味に違いが出てくるかもしれないが
>>798 勿論tryの「前で」(外で)nullで初期化すれば、両方のスコープから可視になるし
問題を明確化できる
つまり、catchからtryの中を見れても特にいいことがないということ
>>799 いや、最近は宣言が離れているだけでもスタイル的に問題だとされるし、
実際に使用する範囲よりスコープが広いから普通に名前衝突の問題がある
初期化してない変数に対するメソッド呼び出しは何もしない という仕様ならどうだ
>>800 catchの時点で未到達・未初期化の変数の場合はnull扱いにするような
仕様にしろってことかな?
全ての変数が参照型の言語なら、まあそうすることも可能だろうな
ただ、一般論として「実際に使用する範囲よりスコープが広い」のは
むしろ関数スコープの言語だぞw
実際JSにはブロックスコープが無いから、無名関数が代用によく使われている
(function(){...})()
みたいな涙ぐましいやつな
>>801 明示的に何かしたいときだけ定義する、でいいよね。
NullPoはマジでコーディングの邪魔・迷惑……
>実際に使用する範囲よりスコープが広いから 実際にはtryブロックとcatchブロックで参照したい変数なんだから tryブロックとcatchブロックから可視な場所に配置するのは当たり前だと思うが…… ブロックスコープなんだから、可視性を制限したければいつでもさらに ブロック使っていいんだぞ
>>802 いや、今まで通りでいいんじゃないか
nullで初期化しないといけないのは今も同じだから
あと、関数ブロックなら確かに利点はないが、
ブロックスコープでなら意味がある
なお、今思ったがtryブロックを廃止してしまえばいいかもw
>>804 でも一方でブロックのネストを深くするのも良くないとされてるし、
不格好ではないか?
そこにtryブロックがあるなら利用できた方がいい
try catchをswitch caseの構文にするのはどうだろう 逆にcaseの方がブロック別れてて欲しいかもしれんw
caseは初心者嵌まるから caseの条件に複数掛けるようにしてブロック化した方がいいと思うの。
話はそれるが、確かにcaseの条件に複数かけるのはいいな 最近の言語そういうのあるよね
dartも出来たw
>>784 listの内包記法も出来なかったっけ?
DHTML目的でHTMLに埋め込む用途だと<script>要素の中だけではなく要素の属性値 としてイベントハンドラのコード等を埋め込むことも(今はすっかり減ったとはいえ) あるので、Pythonみたいなインデントブロックの言語はやや不利かも。
ここはむしろxmlで書く言語でいい htmlとの相性は抜群 属性駆使すればjsonより簡潔にかけるらしい
MathMLみたいな文法を手書きするのか?
Mathmlは属性使ってない
FlexのMXMLなんかはXML要素の組み合わせでプレゼンテーションロジックも相当 書けるようにはなっているけれども、それでも現実にはMXMLの宣言的記述とAS3 の手続き的記述を組み合わせて書くのが一番楽。 手続き的な処理をXMLで書いても単に字数が多くなるだけだよ。
昔metahtmlというのがあってだな
>>812 htmlに埋め込むなんてそんなクソ設計は考慮しなくてい
手でXMLを記述なんてありえないからな
Android開発はみんな手で書いてるけどなw
Googleってやってることが本当に古い CoC全盛の時代に逆行するxml設定地獄 いつのリソースファイルだよって感じw 設定からソースを自動生成するとか、逆だよ逆w まーリフレクションを敵視する愚か者たちだから そうするしかしょうがないかw
XMLは冗長すぎるのでYAMLやS式で記述して変換したほうがマシだな <function> <return type="int" /> <arguments> <argument type="int"> <argument type="char**"> </arguments> <body> <statement> : なんかこんなん書くんだろ、冗談じゃねーぞ
>>822 構文木直接書く必要はないんだから、もうちょっと短くできるんじゃないか
<defun name="func:int" args="a:int; b:char**">
<fore index="i" ... />
みたいに
これでも結局文字列頼りの感が否めないが
だからmetahtmlと…
>>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とかで宣言的に書くんじゃないのか?
>>825 >RoRにしてもViewの部分はErbとかで宣言的に書くんじゃないのか?
実際に触ってもいないのに大口たたいても痛いだけ
いったいErbのどこが宣言的なんだと小一時間....
>>826 なんか話がずれてる気がする
Androidの開発を実際にやってみればDryとは程遠い現実に愕然とするぞ
確かにレイアウトはxml使わなくてもいいが、Googleが標準のつもりなのは
xml使う方だろ(現実には使わない方がメジャーかもしれないがw)
避けられない部分もあるしな
理想と現実は違う
一度インテントやアイテムを追加しようと思ったら、
何度あちこち同じ文字列を書かされることか
AndroidはSWT使いが頑張って.NET Formを目指したという感じ。
>>822 なんかそれ面白そうだな。
言語自作できるようになったら、JSのフロントエンドをそれに変換して作ってみたいぞ。
この言語は流行るよ 見慣れた文法だから でも、大胆な所がisolateぐらいしかないのはやっぱり残念
isolateってそんなに大胆か? まあ、個々のisolateが独立したメモリ空間をもつという、 コア言語上のサポートは、結構大胆かもしれない。
IsolateはWeb Workersと似たようなものかと思ってたけど 違うんだろか
isolateはjsの実装で言うダイナミックスコープになったアクターじゃないの?
とりあえず早くChromeにVMのっけてほすぃ
Chromeにのっけてもシェア低いからmozillaの拡張機能も出さんとなぁ。 問題はWinRT版のIE10でプラグイン使えないことだ。
言語の出始めは取りあえずどういう活用場所があるかまだ分からんしね。 Javaだって、ブラウザで使うために作られたのが今やサーバ側のロジック記述用だし。
run anywhereがrun awayなっただけです。
>>838 Wikipediaとか見れば書いてあるけど、Javaはもともと(Oakという名前だったころは)
組み込みを視野に入れたシステムズプログラミング用の言語で、別にブラウザ向けの
オモチャを作ろうとしてたわけじゃない
まあ一行目は同意
一般的には常識とされている普遍的なテーマ、例えば 真実は一つだけ 怒りは自然な感情 戦争・テロは無くならない 死刑には殺人の抑止力がある 虐められる側にも虐めの原因がある 自己チューな人間ほど自己愛が強い などの命題の間違いとその論拠を解説 義務教育では絶対教えない最新合理主義哲学 感情自己責任論
どこを縦読み?
javaに変換するjdart…。正直な話、こんなもの一体、誰が使うんだろう。 ってか、native clientはやく広まれ
まともな言語でweb開発ができるようになるかもしれないのか。 期待しとこう。
Javascriptがまともな言語であることを知ってるのは言語オタだけだな
そうか? JSLint使うのはちょっとしたチュートリアルさえあればそこらのウェブデザイナーでも ふつうにできると思うのだが。
>>848 そのレスで価値観や知識背景や感性がまるで違うことがわかったので
めんどくさいんでスルーするわw
せいぜいプロトタイプベースの利点の再発見とかくだらない事語るだけだろ
____ /__.))ノヽ .|ミ.l _ ._ i.) (^'ミ/.´・ .〈・ リ JavaScriptはわしが育てた .しi r、_) | | `ニニ' / ノ `ー―i´
"The Good Parts"とか語られる言語って…、てな感じだよな。
dartさんのパクリもとのJavaのことだな
>>771 でそのThe Bad Partsを掛け合わせた言語と言われる言語って...
上のほうでmethod_missingみたいなもの欲しがってたがnoSuchMethodなるものがあるそうで
javascriptがschemeを元に設計された言語だと知ってるレベルで 言語ヲタだなんて思っている香具師を見ると、お笑いブーム時の「いつもここから」コント。 「カワイイネ。カワイイネー」が思い出されてしまう
そういうのはどうでもいいから技術的な話をどうぞ
JavaScriptが好きならそれを使い続ければいい。 JavaScriptがなくなる時代なんて、おそらくあと30年はやってこないだろう。 ブラウザ内スクリプトで言語を選択できるのは、いいことだと思うよ。 問題は今のJSがあまりにも最適化されすぎてしまったせいで、 いくつかのブラウザではスクリプトエンジンを選択可能にするのが難しいこと。 一度プラグイン化されてしまえば、その後なら使える言語が増えていくという展開もありえなくはない。 Dartはその第一歩としてはまずまずの状態だと思う。 少なくともVBScriptよりは全然マシだ。 あれは「既存の、単価の安いVBプログラマ」のことしか考えてなくて、 本来どんな言語がブラウザ内スクリプトに適切なのか、 想定される開発の規模はどんなものなのかをまじめに検討していなかった。 当然MS以外のブラウザベンダーはVBScriptをサポートしなかった。 Dartの設計理念にはまだまだ怪しいところがあるけど、 外野としては今の段階で強く言うべきことは特にない…かな。
JavaScriptは『自由に何でも書ける』って方向は現在、そしてこれからの拡張で必要十分なんだよね でも型とか『制限させてしっかり書く』というのが(ES4,5で改良されてきたものの)足りない この2つは上手く両立させるのが難しくてES3で失敗もしたけど Dartには処理速度なんてどうでもいいからこれからJSのよさをどんどん取り入れて実現して欲しい まあ今よりそうなることは確実だろうけど、「必要」がでかいからね でもそうなってくると、JS側もこれからどんどん進化して開発環境も整ってくる(Dartもある意味そう?)し、 10年後JSAdvanceとDartAdvanceはそんなに違わない言語になってそう、 まあ両者とも活躍したい場所が同じだからそうなるのは必然、 Dartは単体では失敗するけどJSの開発環境としてしばらく実りそう
ChromeのDev Toolsと連携して強力な開発環境作り上げれれば開発者囲い込めるし 他ブラウザも追従せざるを得なくなる、かもしれない
Chrome IDEの登場ですね
>>859 なんか偉そうなんだが
> 本来どんな言語がブラウザ内スクリプトに適切なのか、
> 想定される開発の規模はどんなものなのかをまじめに検討していなかった。
じゃあ、どんな言語がブラウザ内スクリプトに適切なのか
お前には分かっているのか? 検討したのか?
抽象的なことばかり言ってるんじゃねーよ。
llvmやCLIみたいなもの載っけて、言語の選択を自由にしたらいいじゃないの? オブジェクトにはILUやらThriftやら使ってさ
それなんてjvm?
いまどきのウェブブラウザってデフォルトでjvmのってるの? javascript自体を中間言語に置き換えてしまう方が良かったよね 載っけたネットスケープもjsがここまで広まるとは思ってなかったんじゃないかと予想
>>864 それ言語じゃないから。
どんな言語が適切かと聞いたのに、
結局、適切な言語は言わないのか。
何かに最適な言語があるわけないのに何いってんだ? だいたい動的言語と静的言語の目的を同系列に考える時点で池沼 誰彼も自分が好きな言語を弄りたがってjavascriptへのトランスレータ書くんだから、 最初からブラウザ上には中間言語のっけりゃよかったんだよ
いやでもllvmはいいだろ jsがランタイムみたいになってるのが自然とは思えんw
今を知ってる人間から見ればそういう結論になるが、 当時いきなりブラウザ上で動く中間言語だけ提示しても先鋭的すぎて駄目だったのでは? ほとんど誰にも使われず、動的なWebサイトの真価が見出される前に サポート打ち切り、他のブラウザベンダーにも黙殺、2010年代になっても Webはほとんど静的ページで画面遷移だらけという展開も十分ありえる。
Emscriptenというのがあってだな
jsとdart、中間言語として使うならどっちのほうが優秀なんだろうねえ
言語仕様の優秀さという比較なら、後発という理由でDartだろ ただ、それで今のJSをひっくり返せるかどうかは未知数
>>868 何かに最適な言語ではなく、
ブラウザ内スクリプトに適切なのかを
まじめに検討すればその答えが出る。
それがVBScriptには無いと
>>859 が言い出したんだから
その話を聞こうじゃないか。
それとも偉そうなことを言って終わりなのか?
Callオブジェクトとwithなくしたjsが最適解じゃね? それにjs2.0のマシン型付け足せば文句ない。
>>870 というかそれを打ち出したら当時大流行(笑)のJavaを敵にまわすことになってたから
状況はまるっきり変わってたんだろうなぁ
なんかアラさがしをしたいだけの人みたいだし、スルーするよー。
flashみたいに各ブラウザ用のプラグインを自分で用意できれば最強。
もともとブラウザにはtclが載っかるはずだったんだよね それが、natclなんて不遇な運命を辿った。
お前らDartの言語の文法とか機能とか標準ライブラリとかについて語れよ。 背景事情とか歴史的経緯とか語ってもしょうがないだろ。
>>875 Callオブジェクトって何?
マシン型ってなに?
初心者臭いがしてくるんだがw
そんなえさにつられくまー
餌なら餌でそれでいいさ。 反論がなければ、あとは周りがどう思うかさw
噛み付く前に念のためググっておく癖をつけといたほうがいいね。
今初めてdartのソース見たけど 特に癖無く使いやすそうな構文だな golangとは全く趣向が違う気がした ブラウザにdartエンジン積んで普及すればjsの置き換え狙えるかもな
とりあえずchrome以外のブラウザにdartのVMをわざわざ乗せるメリットがからなぁ
>>886 コンパイラのソースコードみたのかと思ったよ
違うの? 処理系のコード読むって発想ない奴もいるもんだ
>>891 その言い方はヒンシュク買うからよした方がいい
普通違うんじゃね
普通読まないよ、というか読まないといけない時点で言語としては論外のような
Chrome以外にdartVMが搭載される目は全くない Safari持ってるAppleが動画規格や携帯端末で競合してるgoogleに協力するわけがないし、 それを棚上げしてまで搭載を英断するほどのメリットや素晴らしい要素も全くない (そういうのを目指したわけではないから当然なのだが) IEも同様、FirefoxやOperaはそういう対立はないが、逆にわざわざ載せる理由もない。 なので結局googleがなんと言おうと使われるとすれば主流はJavaScript変換にならざるを得ないわけだが、 初めからいきなり膨大なコードを吐きだすというイメージを持たれるという失態を犯した以上 普及するのはかなり厳しいんじゃないかな。
JSはブラウザにライブラリを インストール出来るようにしないとだな
それはブラウザの実装側の仕事だな。W3Cかどこかがオフラインwebアプリのキャッシュ仕様にjsコードも共有できるようにすればいい。
.Netなんてgoogleが採用するワケがない javaはGWTが今ひとつ乗りきらない domとか文字列処理の多いクライアント側には ガチガチの言語は使いにくい 妥協点探した結果がdartなんだろ
>>895 容易にカオスが想像できる
CDNで十分だ
Java: Oracleの支配下 C#: MSの支配下 なんだから、Googleとしては都合悪いだろ。
>>898 domをコードで操作するからそういうことになるんじゃねぇの?
domがクラスライブラリのインスタンスに見えるような実装とかってありえないんだろうか?(そんなことしたら互換性ないけどさ)
>>894 gmailやgoogle mapのjsを使った自社サービス運営にdart使うんだろ
でなけりゃ、jvmやflash、silver lightはどうやってブラウザに載っかったんだ
よく使われるインフラとも言えるサービスを快適に利用ためにはdart vmが必要になるなら
ブラウザのシェア自体をchromeに持ってかれるだろ
そうなりゃ、safariやIEは嫌でもプラグインを載せるしかないだろ
プラグイン? Dartと、FlashやSilverlightの目指しているものは違うでしょ。 あくまでDartは、DOMを操作できるJSの置き換えを目指してるでしょ。
で、いつになったらWindows上でDartのコンパイルができるようになるんだ?
今すぐでも出来るよ。
>>906 マジで!?
公式とかざっと読んでも見つけられなかったんで、ヒントお願いします
>>897 実行速度の高さもDartの目標の一つだし
>>902 プラグインは提供するかもしれないね、誰も入れないけどw
世間はプラグインを排除する流れなのに何を言ってるんだか・・・
Chrome FrameにVM入れ込むのはあるかもしれない
Dartはまず第一文句としてJSの置き換えを目指すと言っちゃってるからメリットが見えにくくなってると思う 例えば処理速度の向上もサーバーサイドやバイナリを扱う超高性能なメディア編集アプリなら活きるけど WEBアプリで速度が問題になる描画関係等のほとんどの部分は高次元関数化されて来てるから速度差はあまり生まれないし
>>900 別にOracleに従う必要はないんだけどJCPで標準化すると時間がかかるのか
そういうのをすっ飛ばして勝手ライブラリを作って互換性を無視してるから
Java関係者やJava信者の評判がすこぶる悪い
VMとJS変換の二本立ては意図はわかるけど明らかにJS変換がとりあえず変換できればOKといった感じで疎かになってる(ように見える)のが致命的なんだよなぁ 大規模に普及でもしない限りVMのほうはiOSの存在がある限り詰んでるのは目に見えてるんだから 普通に考えればJS変換のほうをもっと注力すべきなのは明らかなんだけど
>>910 まぁdartVMプラグイン提供するくらいに本気ならそれも当然やるんだろうけど
そもそもChromeFrameにdartVM入れようと入れまいと大勢に影響は全くないのがなんとも
Dartでなければ動かないググルのキラーサービス作れば流行りそうな
Dartでなければ動かないサービスが流行るかどうか。 当面はDart非対応のブラウザでもjs変換でそこそこ動く、Dart対応ブラウザならサクサク動くという 二段構えで進んでいくつもりだと思う。 しかしGmailとかGoogleドキュメントのような既存製品はDartで書き直すのかね。 肝心のGoogle内のプロダクトでもDartの採用が進まなかったりしてw
Closure LibraryのプロジェクトをDartに変換するのも提供するって話じゃなかったっけ? Closure Compilerはコメントに型書けば見てくれるしな
そもそもClosure Libraryの普及度が
とりあえずd8速えな jsとは思えない
d8はjsじゃねーだろ
js ninja共は、まず使わないんだろうな
dartのコード(もしくはバイトコードコンパイルしたもの)をアップしてもポータビリティはゼロなんだけど ここら辺はどう解決するんだろう? まさかdartバイトコードを変換済みJSを両方アップロードしろなんてバカな仕様じゃないといいんだけど
なんでVM相当のコードまるごとJS変換なんだろう?
>>922 dartのバイトコードってなに?
ところでもうjdartとか作られ始めてるな
仕事早過ぎ
なんだ? もう分裂したのか? すなおにdartの日本語パッチ作れよ。 んで、本家にマージしろよ。
うけた 日本語版なら面白いな
>>924 >dartのバイトコードってなに?
dartの仮想マシンでdartプログラムを動作させるための中間コードのことですが
dartのVMはdartのコードをそのまま解釈して実行するんじゃないのか。
>>928 んなわけない、いまどきの(直接機械語ファイルを生成しない)言語で中間コードにコンパイルしない言語なんて
個人的に作ったような簡易言語でもなければ滅多にない。
だいたいそんな仕組みだったらVMとは言わない、インタプリタって言う。
>>930 いまどきのJavaScriptの実装はJITコンパイラで、
実行時にプログラムコードをそのままマシン後に変換してるじゃないか。
Dartも同じだろ。
>>931 それだと「そのまま解釈して実行」してませんが
>>932 了解した。言い直しておく。
dartのVMはdartのコードを直接解釈して、機械語に変換して、実行するんじゃないのか。
少なくとも、VM外部に中間コードのようなものは存在しない。
>>933 わかった、
>>922 はアップするものがdartコードだろうが(仮に存在したとして)dartVMの中間コードだろうが
dartVM非搭載ブラウザ対応のために別に変換済みJSをアップする必要があるのなら言いたいことは全く同じなので
>>929 を見ればわかるが、
Dartのプログラムを単純にJSに変換してサーバにアップロードするだけじゃダメみたいだぞ。
dartで書いたページは、HTMLの方も<script type='application/dart'>とかなってるわけで、
さらにHTMLに直接dartのプログラムが書いてあることもあるわけで、
HTMLページそのものをdartからJavaScriptに変換するツールがHTMLConverterっていう名前で用意されてる。
それは酷い…
普通にDartVMがネイティブで載ってるかどうかを判別するjsをロードして 載ってるならプラグインとして<object>要素書き出すなり独自にDartVMをロードするなりしてdartコードを実行、 載ってないならコンパイラ,VM相当の機能を持ったjsを遅延ロードしてjsで変換、解釈して実行 ってすればいいんじゃないかと思うんだがなんでこんな仕様に
今は初心者の勉強とか使い捨ての簡易コードでもなけりゃ HTMLにJavaScriptコードを直接記述することは滅多にないし 記述しなくても支障や制限は全くないんだけど Dartはそういうわけにはいかないんだろうか?
ああ、
>>929 のはHTMLにdartのコードを埋め込む方法を説明したページなのかw
でも、HTMLとプログラムのファイルを分けたとしても、 HTML中の<script type="application/dart" src="xxx.dart"></script>はそのままじゃ使えなくて、 この問題を簡単に対処する方法は提供されるのかなあ。
同じプログラムに関して、 type="text/javascript" src="xxx.js"とtype="application/dart" src="xxx.dart"の 両方のscriptタグをHTMLに書いておけばいいのか・・・ 現状のFirefoxとGoogoleChromeはjavascriptの方だけ見て正常に動いてくれるから、 dart対応したブラウザがjavascirptを無視してdartの方だけ実行してくれればそれで問題は無い? これって規格的にはどうなの。
dartを直で実行しても性能面で大したメリットないからな 当分js吐かせて使うことになるだろな 直で実行可能になっても 結局ブラウザ判定とロード用のjs挟むことになるんじゃね
>>941 dart互換用のjsなのかそうじゃないのかの区別がつかないなぁ
と思ったがよく考えたら構造上dartを使いたかったら全部dartで書かないといけないのか
jdartとかinvokDynamicの練習にコンパイラ書いてるようにしかみえん
ダウンキャストで警告吐かないのは失敗だと思うんだがなぁ……
ツールで見抜けってことかね 型変換の構文とか、実行だけする側としては冗長だし
Dartの型システムは実行時のパフォーマンスやエラーチェックには一切影響はない(キリッ ってDartを絶賛してる人が静的型言語の数少ないメリットを自ら否定してどうしたいんだこの人w
ダウンキャストが出てくる実装って、基本的に設計ミスじゃなかったっけ?
>>947 それも自分からツール使えって言ってるならまだしもコメントで
「ツール使えって意味ですかね?」的な聞かれ方に対して
「その手もありますね」って答え方してるだけで自分から何も提示してないし
そのコメントで言われる「誰かが知らないうちにダウンキャストしてたらどうするの?」には
>>948 って言ってるし・・・普及したいのか称賛するふりして貶したいのかどっちなんだ
あのDartの褒め殺しっぷりは、多分貶めようとしてるんだろw それくらいはジョークとして見抜いてやれよw
>>951 dartの評判を調べてたらたまたま見つけたw
>>948 >>950 >>951 のスレでは、
ダウンキャスト使うと、int宣言した変数にString型のデータ入れることができて、
そのint型の変数に格納したString型のデータは変数の型を無視してString型として振舞うから、
実行時に型宣言の情報を使ってエラーチェックや動作の最適化はできないんじゃないかって話になった。
変数の型は実際に動かしてみないと確定できないってことね。
つまりDartは動的型付け言語だって結論。
>>954 JSに変換されて動く以上、実際に動く時はそりゃ動的型付け言語だろうよw
>>955 だからつまり、Dartの型は、実行前のチェックぐらいにしか意味ないんだねってことだよ。
>>956 いや、むしろ実行前のチェックにすらロクに使えないってことを
よりにもよって絶賛してる側(?)の人が言っちゃった感じ
ダウンキャスト許容の正当化にそれしたいなら動的言語使えってレベルのコードを提示して これコードは明らかに正しいとかちょっと信者のふりをしてるにしてもレベル低すぎないか? ほんとにこんなのがC++標準化委員会のメンバー?
ここまで適当な型付けなら構造的部分型&プロトタイプベースとかにしてくれよ
言語仕様も怪しければVMが普及する可能性も怪しいしJavaScript変換の出来も怪しいとか いくらgoogle様でもこれはちょっと酷すぎないか
完成度バリバリで出したら出したで、「オープンとか言いながら過程が全然オープンじゃない!」って言われるから 標準化が目標ならこの段階から世に出さざるを得なかったんだと思うけどね
>>962 変更が多い少ないという話は原文ではそれほど重要視されてないんだが、
お前はそんなふうにしか読めなかったのか…
>>963 「変更が多い少ない」って誰が言ったの?
俺は、「Googleがプラットフォームというものを理解していない」というのが
Yeggieの話のポイントだと思ったわけだけど
プラットフォームってのはそれが他人の仕事の基盤となり、それゆえ欠陥や互換性問題
等が他人に直接影響してしまう
だから、てきとーな出来やサポート状態では信用されないし、誰も使ってくれない
そういうものなのに、Google様は、わりとてきとーな状態で公開してしまう
それは、プラットフォームへの無理解のためだろう
そう俺は読んだけどね
例の文書との絡みで言うのであればGoもDartもGoogleというでかい組織の中の一つの チームが単独で出してきた取り組みに過ぎず、Google全社でこれに全面的に乗っかる ような本気さを見ていて全く感じないことかな。 Google社内ですらどんだけプラットフォームとして活用する気なのか出来ているのか 見ていてよく解らんのに、外に出しても使えてもらえるわけないだろと。 古くはOrkut、最近だとWaveなんかもそうだと思うけど、プラットフォームになれる 素養を持っていながらGoogleが全社的にこれに乗っかって社内社外で突っつき回す 事をしなかったため1チームの単独プロダクトに留まり孤立無援で結局死産になった ものは多い(Orkutはまだ一応生きてるけど)。 他方でGoogleはモバイル戦略として大々的にAndroidに乗っかっているからこちらは 一応成長しているけれどもChrome OSは野次馬がどう見ても死産コースだよね。 個人的にはDartもニッコリ死産コースだと思うのだけど、現状のJavaScriptの悲惨な 部分を再認識させてECMAScriptの改訂作業を加速する肥やしになってくれればまぁ 歴史的な意義はあるのだともう。
天才が集まって出来たものが,何もせずともサーバー走らせておけば金も勝手に入ってくるシステム。 暇なんだよ。 何か作りたかったんだよ。
まぁSunやMSみたいに 「5年後にはすべてのWebクライアントにDartVMが載るだろう」 とかハッタリかまされても引くけどな
とりあえずダウンキャストに警告つけてくれ。話はそれからだ それさえあれば、とりあえずJavaScriptを吐き出すためのツールとして有用だ
規格にばっちり書いてあるらしいから意図的なんだよねこれ、
さすがに理由は
>>946 が言ってるようなレベルじゃないことを祈るが
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トランスレータの実装だけの問題なの?
型指定は所詮ヒントでしかない ってことらしいけど…… うっかりミスを防げないなら、型システムの意味ないよなぁ
972 :
221 :2011/10/23(日) 23:11:52.46
つまり全部varにしろってことで。
リリース前に警告全部つぶしとけって事だよいわせんな恥ずかしい
その警告すら出ないわけだが
>>970 まぁ普通に考えるなら変数はそのままJavaScriptの変数に変換してるからそうなるんだと思うが、
VMについてはわからん・・・VMでもそうなるならもはや何も言うことはないのだが。
本当にバッチリ書いてあるんだがな。 この意図は代入を必ず正しくさせるためではない。 正しく動く可能性のある代入以外の、ほぼ確実に問題のある代入を警告するためにある。 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" ; // コメント必要なし になるわけだ。
てことは
>>970 はJSトランスレータのみならず言語仕様?
なら型注釈を見ての最適化も不可能じゃないか?
実際には完全に実行時型でのみ動作してるわけだから
int にStringつっこむのが、正しく動く可能性のある代入かぁ?
Pythonのtype annotationとかそんなんだっけ
>>978 正確にはintにString値を持つObject型の変数を代入している
intはStringのsubtypeじゃないけどObjectのsubtypeではあるので
コンパイル時には通してしまう
そのObjectの値が実はStringであることは
>>970 の例なら
もっとコンパイラが頑張って静的解析すれば分かるレベルだけれども
そこまでコンパイラが頑張っていないので素通し
そして実行時に代入する時点でも誰も何もチェックしないので素通し……
大規模開発用を謳いながら静的型言語にするメリットが完全に無くなってる仕様を意図的に規格に盛り込むとか 怒りとか呆れ通り越して笑いがこみ上げるな
>>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の静的型は最適化のためではない。
int型にString型をぶち込んだ場合は警告が出て動く。 int型にObject型(中身はString型)をぶち込んだ場合は警告も出ずに動く。
>>982 何を意味不明なことを言っているのか
JavaやC#でもClass型はJS同様に単一束縛ではない参照型だから
代入ではポインタのすげ替え相当のことが行われるだけだが、
nallow cast/down castで実際に実行時型が適合しなければClassCastExceptionだ
実際以下のJavaコード試してみればいいのに Object x = "Hello"; Integer nx = (Integer)x; // ClassCastException
>>982 ああ、なんだ。Stringをintにぶっこむのはちゃんとワーニングになるのね
ってかためしたらワーニング出たわ
やっぱ問題はダウンキャストだわな
馬鹿な決定したもんやで・・
>>984 Dartの思想としては、
実質的には何でも参照できるのに、わざわざ束縛できる型を限定するとか面倒じゃない?
というのがある。
最初はvarとかでゆるく書いておいて、後から時間があれば型を厳しくするような開発スタイルができるわけだ。
一見厳しくしているようでいて実はただのvarなんて害悪で、ないほうが マシなぐらいだろ 実際のコードと一致してないコメントみたいなもんじゃないか
>>987 うーん、その開発スタイルって大規模開発に向いてないよね?
初期にゆるく書いたコードが後々メンテの障害になりそうだが…
C++標準化委員会のメンバーともあろうお方が、 OOPではダウンキャストが当然みたいな言いまわししてるって、マジか? 何かのジョーク??
>>990 ジョークだといいんだけどなぁ、早くジョークって言ってくれないかなー
実はDart褒めてるふりしてるだけでしたって言ってくれないかな―
あの人は自分でも認めてるように規格を読むのが好きなだけで プログラミングはシロウトだから
ダウンキャストが必要になるシチュエーションが思いつかない
OOPはダウンキャストが当然的な言い回しは プログラミングはシロウトとかそんなチャチな話じゃ断じてねぇ もっとC++をはじめとしたOO言語やOO自体の概念に関わるもっと根本的な話だぜ…
>>993 Genericsが無いころのJavaでは必要不可欠だったけどな
コンテナがObject型オンリーだから……
ただ、その頃のJavaですら、キャスト使っても
Integer型の変数に文字列値が格納されるなんていうバカな事態はなかった
>>994 し、知っているのか!?雷電!
>>995 あー、あったあった。C++厨としては、なんでJavaがこんな間抜け実装なのかすげえ疑問だったわ
そしてDartはもっと間抜けな実装なんだぜw
まだ出たてだし議論が進めば変わるだろ 型が甘すぎるのは意味ないしな
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。