ECMAScript デス 3at TECH
ECMAScript デス 3 - 暇つぶし2ch850:デフォルトの名無しさん
11/09/13 18:32:38.70
>>849
> 分割代入

for文とか発散しすぎて、5年前から何も進んでないw
URLリンク(wiki.ecmascript.org)
URLリンク(wiki.ecmascript.org)

代入式と実引数渡しだけでいいから仕様にしてくれないかなあ…

851:デフォルトの名無しさん
11/09/13 18:51:24.80
>>850
こうやってみると結構月日を重ねたあれやこれやの経緯がとか
重い偲ばれて…esmascriptも色々なんですな…

852:デフォルトの名無しさん
11/09/13 18:56:02.44
多値返すケースとかそれをどう受けるとか
その辺言語によってまちまちだし…しょうがない面もあるか…

853:デフォルトの名無しさん
11/09/13 19:27:10.51
リストを多値に流用というか、混同している言語は悲惨だね。
ちゃんとリフトしないと。

854:デフォルトの名無しさん
11/09/14 04:02:34.66
リストやタプルや酷いときは連想配列から取り出す作業が無くなるだけでも多値の分割代入は重要だしな。
正直イテレータ・ジェネレータ、yieldはとっとと普及しろと思う。何年も前の水準のコードをいつまで書かなきゃいけなんだ。

855:デフォルトの名無しさん
11/09/14 05:21:20.71
>>844
                     /ヽ、__
           _,, -─- ....__ //`ー∠
       ,...."´:::::::::::::::__/_:::::::::ヽ!_/ヽ>
     ./:::::::::::::::::::::::::( / )::::::(@))__rイ   スッ
     〈::::::::::::::::::::::::::::::::゙゙/ ̄:::::ヽ(@@)i \
     ヽ,.'´ ̄` 7´  ̄ ̄ ´ ̄``ヽ::::::::;ヽ ヽ
      /    / /!      `ヽ  ヽ::/ヽ! ノ          Full ECMAScript (JavaScript) 5.1 support
      / //   { / { ト、 |  }ハ 、 ヽ|/          URLリンク(my.opera.com)
       |l{ { | ∧{ ヽ.{‐ヽト、ノ}ノハ   ! !
     lハハlヽ{_,.. `  、.__   リ.ハl  | |___________
      | ハ. (ヒ_]     ヒ_ン ) !  l  | |    /
    / ヽヘノ"" ,____,  ""  |  |  | l   /
  /   ハ {             }  }  j/ /
   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

856:デフォルトの名無しさん
11/09/14 06:13:28.06
>reporting one error

現時点で最優秀の準拠率なんだろうけど
せっかくなんだからひとつしかないエラーをデバッグしてから
Full supportって言えよw

857:デフォルトの名無しさん
11/09/14 13:43:35.05
>>856
「S11.1.1_A2, is invalid.」
URLリンク(my.opera.com)

テスト自体が間違っているので、failedであってる

858:デフォルトの名無しさん
11/09/14 23:35:44.92
スタンドアロンなblockの中でlet使う意義がわからん。
letは暗黙なブロックを生成するんだからスタンドアロンなblockの中で定義したら見た目とスコープが一致しなくなってわかりにくいんじゃないの?
let文じゃダメなのか?

859:デフォルトの名無しさん
11/09/15 10:56:16.49
見た目とスコープは一致しているし、(むしろそのためのlet)
ECMAScriptには明示的なスコープブロックがないんだからあれば便利。


860:デフォルトの名無しさん
11/09/16 23:44:20.46
letの右辺は暗黙のブロックの中だからvar x=10; {let x=x;}でLexical EnvironmentのxからVariable Environmentのxが
参照できないからThisBindingしなきゃいけないのはecmascriptだけの特殊事情だから予測され得る見た目と一致してない。
let文ならvar x=10; let(x=x){};で済むからThisBindingを念頭におく必要はなくて特殊事情知らなくても予測可能だろ。
わざわざecmascriptの仕様に精通してなきゃわからない見た目と結果の乖離を起こすくらいならはじめからlet文でいいんじゃないか?
今流行でjavascript書いてる連中なんてコンテキストと環境の関係なんて理解してないのが多いだろ。

861:デフォルトの名無しさん
11/09/17 01:11:02.16
そういうのが欲しければlabels文とかletrec文って呼んで新しく提案しろよ
実装ひとつもないのに無茶言い過ぎ

862:デフォルトの名無しさん
11/09/17 04:07:33.84
明示的にvar/externしないとグローバル変数にならない、と
逆にするだけでもずいぶん助かる

既存のコードは全滅だが

863:デフォルトの名無しさん
11/09/17 09:46:53.34
>>861
実装がひとつもないってなんの話だ?

864:デフォルトの名無しさん
11/09/19 17:28:11.50
let文

865:デフォルトの名無しさん
11/09/20 01:46:59.46
>>862
strict modeなら何も書かない場合勝手にグローバル変数生成しないで
エラーになるでしょ

866:デフォルトの名無しさん
11/09/21 07:41:38.28
>>864
let文の実装ならあるじゃん。

867:デフォルトの名無しさん
11/09/21 08:26:59.72
River Trail ? Intel's Parallel JavaScript
URLリンク(games.slashdot.org)


868:デフォルトの名無しさん
11/09/22 15:50:36.46
JavaScriptに並列処理機能を追加する、IntelのJavaScript拡張機能が明らかに
URLリンク(www.infoq.com)

869:デフォルトの名無しさん
11/09/28 19:19:52.60
パーフェクトJavaScriptって本どうすか?

870:デフォルトの名無しさん
11/09/28 21:37:36.84
javascriptスレで聞け

871:デフォルトの名無しさん
11/10/02 01:08:40.83
ECMAScript5はIE8を搭載したWindows7のサポートが切れる2020年までは絵に描いた餅かな
悲しいけどこれが現実なのよね

872:デフォルトの名無しさん
11/10/02 09:00:08.70
クロスブラウザする必要ない場面ならそうでもなくね
ブラウザー拡張、node.jsとか
あとはUA判別後に部分的にES5の機能を利用するとか

873:デフォルトの名無しさん
11/10/02 12:16:11.33
node.js は windows じゃ npm とか 外部ライブラリが利用できないです
URLリンク(github.com)
>Last edited by dobesv, September 19, 2011

そこで cgwin ですよ cgwinと。

874:デフォルトの名無しさん
11/10/02 12:27:13.98
cygwin?

875:デフォルトの名無しさん
11/10/02 14:00:03.72
dmonkey script とか昔からあるよね
互換実装なら…

876:デフォルトの名無しさん
11/10/03 23:04:46.79
>>871
だから後方互換性なんか無視して理想言語を仕上げりゃ良かったんだ
足を引っ張るのはいつも現実を見てない自称「現実派」

877:デフォルトの名無しさん
11/10/04 01:11:54.16
そのうちVMだけ標準化してコンパイルしたILを走らせるようになると夢想

878:デフォルトの名無しさん
11/10/04 01:22:55.40
理想言語ならすでにSchemeがあるだろう?

879:デフォルトの名無しさん
11/10/04 20:45:36.00
>>876
ES4ゴリ押しした連中こそ現実見てなかっただろ

880:デフォルトの名無しさん
11/10/04 20:47:46.34
その頃には76バージョンのIEのサポートが必要になったりして
クロスブラウザは破綻してるよ
URLリンク(paulirish.com)

881:デフォルトの名無しさん
11/10/04 22:22:25.03
>>879
ES4は中途半端なJavaって印象があるから理想とは程遠かったんだよきっと

882:デフォルトの名無しさん
11/10/05 19:45:55.37
>>876-878
ボブ「そんなあなたに持って来いのRhinoを今回ご紹介。
JavaVMで走りjavaの資産も使えjavascript自身の手続き、OOP、関数型パラダイムに加えてなんと継続までサポート!」
パトリシア「でもV8みたいに言語仕様が古いんでしょ?」
ボブ「お~パット、そんな心配は無用さ。Rhinoを開発してるのはmozilla。本家本元js1.8まで対応さこれで安心だろ?」
パトシリア「まあ!それはすごいわボブっ!それならyeildすらなくてイライラすることもないわね!」
ボブ「そうさパット!これでフィボナッチ数列もたったの数行で書けるよ。ロジックに集中できて便利だろ。
それにね・・・このLiveConnect、LC3っていうんだけど、なんとJavaとシームレスに通信ができるからJavaの資産が使い放題なんだ!」
パトリシア「わ~お!それはびっくりね」
ボブ「ちょと待ってパット。今ならなんとRhinoにしかない継続までサポートされているんだ!」
パトリシア「どういうことボブ・・・え~とそれはつまり、プリエンプティブ・マルチタスクが自分で実装できるってことかしら?」
ボブ「プリエンプティブ・マルチタスク?そうさパット。マルチタスクだって例外処理だって自分で実装できちゃうすぐれものだよ!」
パトリシア「あぁ~ちょっと、どうしようかしら・・・。でもボブ、そんなに至れり尽くせりだったらお値段がちょっと高めなんじゃない?」
ボブ「そう来ると思ったよパット。なんとこのRhino、mozilla開発でモダンなコードも書けて継続まであってこの値段なんだ!」

 ち ょ っ と お 待 ち く だ さ い ! !

yeildが書けて継続まであるRhino。実はこれだけじゃないんです!

今ならなんとE4XとAOTコンパイルが出来るコンパイラ、GUIデバッガがついてお値段なんと!

ボブ「オープンソースにつきタダ!」
パトリシア「タダ?ほんとにタダなのボブ!?」
ボブ「そうさpricelessさ!」
パトリシア「まあ!今すぐダウンロードしに行かなくっちゃッ」
ボブ「お~と、ひとつだけいいかいパット?WWWへの接続料は自分で持ってね。なに、ほんのチップがわりみたいなもんさ。だってそうだろ?」
パトリシア「まあ、ボブったら」
ボブ「HAHAHAHAHAHA」

883:デフォルトの名無しさん
11/10/05 20:04:41.64
> ボブ「そうさpricelessさ!」
タダほど高いものはない
ってことですかボブ

884:デフォルトの名無しさん
11/10/05 20:56:31.37
LispやPython使ったらええがなって思います

885:デフォルトの名無しさん
11/10/05 21:09:43.30
>>883
マジレスしていいのか。
それと「アメリカの通販番組はpricelessly」とかけてる。
MCのCMがpricelessで〆てたからさHAHAHA

886:デフォルトの名無しさん
11/10/05 21:24:54.55
>884
CommonLisp/SchemeはとっつきにくいしPythonは標準規格がない
よし、ここはRubyをだな……

887:デフォルトの名無しさん
11/10/05 21:37:50.00
pythonに標準規格がないとかいう文句初めて見たわ

888:デフォルトの名無しさん
11/10/05 22:09:24.59
2004年のものだけど。

WHY Common Lisp?
URLリンク(cl-www.msi.co.jp)
> ANSI, ISO あるいは JIS で現実的な仕様の決まっている programming 言語と
> いうものはそう多くなく、わたしに思いつくものはCOBOL, FORTRAN, ADA,
> PL/1, C/C++, Common Lisp くらいしかありません。どれも一応 PC も含めた複
> 数の platform で動いていますが、この中で例えば web server を現実的なコ
> ストで書けるものは何か、と尋ねたら C/C++ か Common Lisp に落着く。
>
> したがって、どの programming 言語を使いますか?という問いは、
>
> gc のない C/C++ と、それを持つ Common Lisp の、どちらを使いますか?
>
> という問いと同値です。

889:デフォルトの名無しさん
11/10/05 23:35:15.47
rubyは組み込むにはでかすぎる。信者があまりにもキモすぎるで論外。

890:デフォルトの名無しさん
11/10/06 00:57:52.87
ECMAScriptの文法とどっこいどっこいじゃね>キモい
それに信者は言語と関係ないし

891:デフォルトの名無しさん
11/10/06 01:16:50.19
>>888
当時すでにESは標準化されてるのに見事にスルーしてるのがひどい……
ほかにも今のところIEEEのSchemeとか、ECMAのC#とか
ISOならSmalltalk、Prolog、Eiffel、Modula-2、Forthなんかがあるな
Rubyも一応今ならJISがあるし、ISOにファストトラックで送られてる最中
Haskellみたいなのも一応標準化されてると言えるのかな

892:デフォルトの名無しさん
11/10/06 01:50:29.44
仕様なんてなくたって次期gcc4.6に組み込まれることになった
golang さんのことも忘れないでくださいね…

893:デフォルトの名無しさん
11/10/06 04:56:47.88
>>891
要するに実装に縛られたくないんだろうけどlisp使いたいだけの後付だよね

894:デフォルトの名無しさん
11/10/06 06:31:00.43
プロパティに名前空間つかんのかの

895:デフォルトの名無しさん
11/10/06 10:50:06.18
c# みたいにならないかそれ delphi とか pascal みたいにいったほうが
正確か…昔の葉名前空間と言うよりモジュール名で管理というかんじだけど

896:デフォルトの名無しさん
11/10/07 02:27:49.65
オブジェクトが名前空間に属すなら
それを参照するプロパティも同じプレフィクスを持つとか

897:デフォルトの名無しさん
11/10/07 14:24:23.42
>>882
Rhinoよく使うけどyieldとかletが使えるようになってたこと知らなかった。
ありがとう。

でもgenerator式はまだなんだね。

898:デフォルトの名無しさん
11/10/08 00:19:18.22
>>897
js1.8自身ジェネレータまわりの変更がメインだからだと思う。
Rhinoで使えるバージョン=rhinoのバージョン数+サポートしたと言っている言語仕様バージョンの一部て感じだからspidermonkeyと同期してるわけじゃないよ。
Rhino1.7R3の変更ってes5準拠とCommonJSサポートのが目立つしね。
組み込み用途だとjs object実装がjava collectionsとして扱えるようになったから便利になったよ。

899:デフォルトの名無しさん
11/10/12 09:26:39.29
javascriptのアンチテーゼのはずのDartが見事なjavascript1.5なのは仕様面で見てどう思うよ?

900:デフォルトの名無しさん
11/10/12 12:31:15.46
Dartがjs1.5というのは分からないけどこのクソ言語だけは絶対に流行って欲しくない

901:デフォルトの名無しさん
11/10/12 13:18:10.06
DartもCoffeeも一緒に滅んでくれ
あと激重jQueryもな
jsごとき1から10まで手書きできなくてどうする

902:デフォルトの名無しさん
11/10/12 13:40:38.05
ついでにECMAScriptも滅べばいいのに

903:デフォルトの名無しさん
11/10/12 14:00:14.77
Dartがボロクソに叩かれまくって、じゃあブラウザにvm乗せてもう好きな言語で開発できるようにしようぜって流れになればいい

904:デフォルトの名無しさん
11/10/12 22:29:08.63
IEは好きなスクリプト言語を自由に追加できる設計だった
IE6は登場時点ではほんとに超先進的ブラウザだったんだよ

905:デフォルトの名無しさん
11/10/13 03:59:40.91
>>903
java plug-inの出番だな。CommonDOMだけじゃなくLiveConnectもjava plug-inの管轄になったから次はブラウザ用の言語か。

906:デフォルトの名無しさん
11/10/13 12:15:58.05
> ...このクソ言語だけは絶対に流行って欲しくない
> ついでにECMAScriptも滅べばいいのに

こういうアンチ野郎が多い言語は、不思議と普及してしまうというマーフィーの法則

907:デフォルトの名無しさん
11/10/13 14:03:13.55
出たばかりのLiveScriptもいじり倒して遊んでるギーク以外重いからやめろって結構言われてたよ。
そのときからcallerまわりは問題視されてたけどnetscapeには黙殺されて今までズルズルやってんよ。

908:デフォルトの名無しさん
11/10/13 21:14:27.79
ECMAScript.next: the “TXJS” update by Eich
URLリンク(www.2ality.com)

909:デフォルトの名無しさん
11/10/14 14:36:11.77
Dartのすごさがイマイチわからんけど
よく見る「ECMAScriptのセミコロン省略が良かった/悪かった」てのは
単純にHTMLのonclick="..."とかでセミコロン不要にするってだけのものだろ?

onclickにDartを書きたいときとか、どう区別すんの

910:デフォルトの名無しさん
11/10/14 16:12:09.46
>>909
URLリンク(www.dartlang.org)

911:デフォルトの名無しさん
11/10/14 16:54:56.59
>>910
なるほどね
こりゃ、だめだわ

912:デフォルトの名無しさん
11/10/14 17:14:23.36
ん、htmlタグの属性値中でセミコロン使うと何か問題あるんだっけ?

913:デフォルトの名無しさん
11/10/14 21:19:50.77
HTML5の仕様によるとonclickにはJavaScriptしか書けないので
そもそも考慮無用

914:デフォルトの名無しさん
11/10/15 00:44:43.61
>単純にHTMLのonclick="..."とかでセミコロン不要にするってだけのものだろ?
そもそもこれが間違ってる。
分かりきったものをだらだらと書かせるなよって事。型推論いいよねと似てる。
他の言語だとxml地獄、rubyでend地獄やpythonのインデント強制によるエントロピー増加が問題なわけ。

省略したらしたでjsみたいな問題も出てくるし、jsの場合はセミコロンの省略が言語仕様にあるからそれとは別問題。
たんにセミコロン省略できない言語メインが省略便利といってるだけ。

915:デフォルトの名無しさん
11/10/15 01:21:58.33
>>914
すまんが何言ってるかちょっとわからん
まーあれだ、イベントハンドラのrobustnessの重要性にjQueryもやっと気づきはじめたところに
document.query(...).on.click.addとか、また黒歴史を繰り返すのかよって感じ
ライブラリの問題だからスレ違いだけどな

916:デフォルトの名無しさん
11/10/15 04:26:27.99
dartスレのjQuery厨か?

917:デフォルトの名無しさん
11/10/16 18:54:33.85
Dartスレなんてあったのかよ
なんでここで議論してんだ

918:デフォルトの名無しさん
11/11/25 19:39:31.74
JDKのjavascript実装がJDK7でrhino1.7R3に変わっとる。
デフォルトの言語バージョンが1.8で特権コード書かないと変更できないようになってるがJDK8でnashornに変えるのに互換性大丈夫だろうか。
これはもしかしてnashornが1.8準拠なのか?
spidermonkeyもjs1.8.xでes5準拠だしやっと最新仕様で早い実装が来るかもしれんな。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch