1 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 05:16:18.29 ] 《ECMAScriptを語るスレ》 1. - 概要 - ECMA-262規格として知られる言語(通称 ECMAScript)についての利用法や言語仕様、 その他四方山話をするスレです。 Standard ECMA-262 ECMAScript Language Specification Edition 5.1 (June 2011) 標準規格(英語) www.ecma-international.org/publications/standards/Ecma-262.htm Annotated ECMAScript 5.1 es5.github.com/ Draft Specification for ES.next (Ecma-262 Edition 6) wiki.ecmascript.org/doku.php?id=harmony:specification_drafts Under Translation of ECMA-262 3rd Edition (日本語訳) www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/ ■前スレ ECMAScript デス 3 toro.2ch.net/test/read.cgi/tech/1190160481/ ■過去スレ JavaScript デス pc5.2ch.net/test/read.cgi/tech/1052273054/ ECMAScript デス 2 pc11.2ch.net/test/read.cgi/tech/1088298991/
152 名前:デフォルトの名無しさん mailto:sage [2012/10/15(月) 20:19:01.64 ] ECMAScript4の失敗についてはよく知らないけど TypeScriptはJavaScriptの上位互換だよ TypeScriptのように、既存のJavaScriptが動くように仕様を拡張したら問題ないのでは?
153 名前:デフォルトの名無しさん mailto:sage [2012/10/15(月) 20:43:43.76 ] ECMAScript4の失敗 ja.wikipedia.org/wiki/ECMAScript#ECMAScript_4 developers.slashdot.jp/story/08/08/19/0714251/ news.mynavi.jp/news/2008/08/18/027/
154 名前:デフォルトの名無しさん mailto:sage [2012/10/15(月) 22:08:55.95 ] >>153 の記事を読んでの感想。 ECMAScript 4の失敗というのは、ECMAScript 4の仕様自体の問題というよりも、 Adobe、Mozilla、Opera、Google陣営と、Microsoft、Yahoo!陣営による政治的な問題 という色彩が強いように感じた。 例えば、ECMAScript 4が決裂した2008年当時は、Microsoftは「Web標準」を軽視し、 Silverlightを普及させようとしていたのではなかったか。 つまり、当時のMicrosoftは、Silverlightを普及させるために、JavaScriptが高機能になるのを嫌った。 一方、JavaScriptの重要性を認識していたMozillaやGoogleなどは、JavaScriptを大幅に拡張したかった。 そうした各陣営の様々な政治的な思惑があって、ECMAScript 4は決裂したように思う。 しかし、今は、Microsoftも「Web標準」にシフトして、業界全体でJavaScriptの重要性に対する認識が 共有されるようになったのではないか。 Webサイトに限らず、デスクトップアプリケーションやモバイルアプリ、サーバーサイドにまで JavaScriptが使われている。 そうした中で、JavaScriptによる開発が行いやすいよう、ECMAScript 4のような大規模な拡張が JavaScriptには求められているし、こうした要求に異を唱える陣営は今はもういないのではないか。 だから、合意に達するのであれば、慎重かつ大胆にECMAScript 6の仕様を拡張してほしいというのが、私の考え。
155 名前:デフォルトの名無しさん mailto:sage [2012/10/15(月) 22:58:57.10 ] MicrosoftはMicrosoftで思惑あったと思うが、 ・AdobeがActionScriptをECMAScript4にしようとしていた。 ・既に広く広まったECMAScript3との互換性の問題が軽視。 古いコードをどうやって実行するのか議論が深まらないまま。 ・ECMAScript4の新機能の多くがActionScriptをコピーしただけで、 入れることの是非、設計詳細部の議論が深まらないまま。 ・ActionScriptの機能の多くが実装者の思いつきで設計。(Adobeの公開MLに残ってる) ・参照実装であるtamarinのコードの質の低さ。 というわけでストップになった。 ただしECMAScript4で導入されそうになった機能は捨てられたわけでなく、 多くは議論を深めてから入れる方向で考えられている。 Webの現状を考えると時間をかけるのが妥当と判断された。 それはBrandenの声明にもはっきり書かれている。
156 名前:デフォルトの名無しさん mailto:sage [2012/10/15(月) 23:48:22.01 ] >>155 ActionScriptはECMAScript 4を元に作られたと思っていたのですが、 実際は逆で、ActionScriptを元にECMAScript 4の仕様を決めようとしていたということでしょうか? ECMAScript 4は2回決裂しているようなので、そこらへんの前後関係は良く分かりませんが、 少なくとも2回目の決裂に関しては、Adobeの強引さとActionScriptの出来が問題になったということですかね。 ECMAScript 6に関してはしっかり議論して合意に達してほしいですね。 便利な機能が入ることを期待しつつ、時間が掛かることをもどかしく思ったりしつつ、 末端プログラマとして、仕様策定者に期待したいです。
157 名前:デフォルトの名無しさん mailto:sage [2012/10/16(火) 08:10:49.32 ] >実際は逆で、ActionScriptを元にECMAScript 4の仕様を決めようとしていたということでしょうか? ドラフトを先走って実装しただけ
158 名前:デフォルトの名無しさん mailto:sage [2012/10/18(木) 19:10:41.39 ] >>154 前半の陰謀論はまったく要らないな
159 名前:デフォルトの名無しさん mailto:sage [2012/10/19(金) 21:05:59.32 ] JavaScriptの未来? brendaneich.github.com/Strange-Loop-2012/#/
160 名前:デフォルトの名無しさん mailto:sage [2012/10/19(金) 21:13:28.34 ] >>159 ちなみにBrendan Eichのスライド
161 名前:デフォルトの名無しさん mailto:sage [2012/10/19(金) 21:25:10.17 ] Brendan Eich @BrazilJS 2012 - The State of JavaScript www.youtube.com/watch?v=DASvUIAfoRU
162 名前:デフォルトの名無しさん mailto:sage [2012/10/20(土) 00:54:46.78 ] typescript出たばかりなのに、No Classかよw
163 名前:デフォルトの名無しさん mailto:sage [2012/11/02(金) 03:30:41.79 ] tcp/ipみたく実装できてから仕様が固まるのかな
164 名前:デフォルトの名無しさん [2012/11/14(水) 10:34:30.08 ] 結果論かもしれないが、ECMAScript 4を捨てたのは明らかな失策だろう。 議論議論と、皆いつからそんなに会議好きになったのかな。 この記事がとても興味深いんだけど。 第二次世界大戦中のライフハック「仕事を進まなくさせる8ヵ条」 akihitok.typepad.jp/blog/2008/06/8-411f.html > 1. 何事をするにも「通常のルート」を通して行うように主張せよ。 > 決断を早めるためのショートカットを認めるな。 > 2. 「スピーチ」を行え。できる限り頻繁に、長い話をすること。 > 長い逸話や自分の経験を持ちだして、主張のポイントを解説せよ。 > 「愛国的」な主張をちりばめることを躊躇するな。 > 3. 可能な限りの事象を委員会に持ち込み、「さらなる調査と熟考」 > を求めよ。委員会のメンバーはできるだけ多く(少なくとも5人以上)すること。 > 4. できる限り頻繁に、無関係なテーマを持ち出すこと。 > 5. 議事録や連絡用文書、決議書などにおいて、細かい言葉遣いに > ついて議論せよ。 > 6. 以前の会議で決まったことを再び持ち出し、その妥当性について > 改めて問い直せ。 > 7. 「警告」せよ。他の人々に「理性的」になることを求め、将来やっかいな > 問題を引き起こさないよう、早急な決断を避けるよう主張せよ。 > 8. あらゆる決断の妥当性を問え。ある決定が自分たちの管轄にあるのか > どうか、また組織上層部のポリシーと相反しないかどうかなどを問題にせよ。 まさにウェブ標準そのものじゃないですかね。 > 「愛国的」な主張をちりばめることを躊躇するな。 オープンウェブ()の理想を語るとかですかね、この辺に対応するのは。
165 名前:デフォルトの名無しさん [2012/11/14(水) 10:41:03.03 ] >>159 他人事ながら心配になるのは、そのスライドが現実化するよりも Firefoxのシェアがゼロになる方がおそらく早いってことなんだが。 StatCounter等のデータ参照。特にモバイルでシェアゼロだしな。 Googleもいつまで養ってくれるんだか。 危機感があるから、ウェブの未来だのFirefox OSだの大々的にぶちあげてるんだろうけれど。
166 名前:デフォルトの名無しさん mailto:sage [2012/11/14(水) 11:55:54.29 ] >>165 >Firefoxのシェアがゼロになる方がおそらく早い StatCounterのデータをきちんと分析できればその妄想は消えるよ ttp://gs.statcounter.com/#browser_version_partially_combined-ww-monthly-201001-201211 今Chromeが食ってるのはIE8以前のシェアとFirefox4以前のシェアってのが一目瞭然。 過去のFirefox3.xのシェアがぶっとかったから、ブラウザ名だけの分析だとFirefoxのシェアが失われてるように見えるが 実際には、Firefox5以降のラピッドリリースに乗り換えてるFirefox信者をGoogleは全然動かせてない。 その量、WEB利用者全体の20%強……このシェアがゼロになるというなら、ちょっとその理由を教えてほしい
167 名前:デフォルトの名無しさん mailto:sage [2012/11/14(水) 12:14:52.56 ] ちょっと昔なら逆転不可能そうに見えたブラウザ市場をChromeがガツガツ食い込んで行ったのは 裏を返せば、どのブラウザにだってまだまだシェア伸ばすチャンスはいくらでもあるってことの証明だしな
168 名前:デフォルトの名無しさん mailto:sage [2012/11/14(水) 12:25:49.32 ] おまいらスレチなんで各ブラウザの専スレでやってくれないかー
169 名前:デフォルトの名無しさん mailto:sage [2012/11/14(水) 12:39:10.73 ] そこはブラウザの専スレじゃなくてブラウザ戦争スレに誘導だろ
170 名前:デフォルトの名無しさん mailto:sage [2012/11/14(水) 17:03:47.11 ] |┃三 ,ィ, (fー–─‐- 、、 |┃. ,イ/〃 ヾ= 、 |┃ N { \ |┃ ト.l ヽ l ガラッ.|┃ 、ゝ丶 ,..ィ从 | |┃ \`.、_ _,. _彡’ノリ__,.ゝ、 | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ |┃三 `ゞf‐>n;ハ二r^ァnj< y=レヽ < 話は聞かせてもらったぞ! |┃. |fjl、 ` ̄リj^ヾ)  ̄´ ノ レ リ | Operaは滅亡する! |┃三 ヾl.`ー- べl,- ` ー-‐’ ,ン \____________ |┃ l r─‐-、 /:| |┃三 ト、 `二¨´ ,.イ | |┃ _亅::ヽ、 ./ i :ト、 |┃ -‐”「 F′:: `:ー ‘´ ,.’ フ >ー、 |┃ ト、ヾ;、..__ , ‘_,./ /l
171 名前:デフォルトの名無しさん mailto:sage [2012/11/15(木) 16:23:31.62 ] >>164 かなり勘違いしてる。 >>165 これ、まだ現実味ない事ばかり書いてるわけじゃなくて、 既に確定しているversion 6や既に現実になっていることが多い。 Javascriptが共通基盤になるって話がちょっと盛ってあるくらい。
172 名前:デフォルトの名無しさん mailto:sage [2012/11/22(木) 22:07:58.91 ] 正直Windowsみたいに一社独占になった方が開発は楽になるけどね。 今後はいろいろなOSとブラウザが乱立するんだろうね。
173 名前:デフォルトの名無しさん mailto:sage [2012/11/23(金) 08:48:10.93 ] > 正直Windowsみたいに一社独占になった方が開発は楽になるけどね。 一生Adobe信者になれば楽になれるぞ
174 名前:デフォルトの名無しさん mailto:sage [2012/11/23(金) 09:55:42.99 ] そういやアドベはブラウザは作らないのかね。 作って普及させれば全て無駄にならないのに。
175 名前:デフォルトの名無しさん mailto:sage [2012/11/23(金) 10:39:23.23 ] Flashプラグインあるじゃん。これさえあれば既存の全ブラウザ乗っ取ったも同然。
176 名前:デフォルトの名無しさん mailto:sage [2012/11/23(金) 16:48:28.33 ] すでにIE10が乗っ取れてないわけだが
177 名前:デフォルトの名無しさん mailto:sage [2012/11/24(土) 12:58:20.82 ] なんかe4xが死にそう interpolationは便利だったのに
178 名前:デフォルトの名無しさん mailto:sage [2012/11/27(火) 04:47:12.84 ] これか https://developer.mozilla.org/en-US/docs/E4X かなり思い切った決断だけど なんで廃止にする必要があったの? 問題はFirefoxだけ?
179 名前:デフォルトの名無しさん mailto:sage [2012/11/27(火) 04:50:27.92 ] >>178 ごめん、E4Xをサポートしているのは、ブラウザではFirefoxぐらいか?
180 名前:デフォルトの名無しさん mailto:sage [2012/11/27(火) 10:58:00.49 ] もっと早くに死んでるべきものだった。 XML literal syntax(笑)
181 名前:デフォルトの名無しさん mailto:sage [2012/11/27(火) 11:22:01.01 ] セキュリティの問題さえなければ便利だったんだけどね innerHTML(笑)は標準化さえされてないし、DOMは超冗長だし
182 名前:デフォルトの名無しさん mailto:sage [2012/11/27(火) 15:07:03.68 ] >>181 innerHTMLは標準化されてるよ domparsing.spec.whatwg.org/#innerhtml www.w3.org/TR/DOM-Parsing/#widl-Element-innerHTML
183 名前:デフォルトの名無しさん mailto:sage [2012/11/27(火) 16:30:09.11 ] E4Xってヒアドキュメントに使うもんだと思ってた っていうかこれからヒアドキュメントどうすればいいんや・・・
184 名前:デフォルトの名無しさん mailto:sage [2012/11/27(火) 17:35:53.95 ] >>182 ちゃんと勧告まで進めばいいな DOM4は大丈夫そうだけど、その関連規格はコケそうで怖い DOMの仕様は5つもW3C Noteになった前例があるし
185 名前:デフォルトの名無しさん mailto:sage [2012/11/27(火) 22:54:32.73 ] >>183 uupaa.hatenablog.com/entry/2012/11/08/154422
186 名前:デフォルトの名無しさん mailto:sage [2012/12/03(月) 09:07:26.90 ] >>183 ES6 Template Strings
187 名前:デフォルトの名無しさん mailto:sage [2012/12/03(月) 22:31:17.95 ] >>186 何この気持ち悪い構文 普通にWYSIWYGリテラルでいいのに・・・
188 名前:デフォルトの名無しさん mailto:sage [2012/12/04(火) 17:52:16.89 ] Perlとシェルを合体させたような変な構文だな
189 名前:デフォルトの名無しさん mailto:sage [2012/12/04(火) 17:55:27.25 ] XML literalの百倍マシ。Javascriptっぽいし。
190 名前:デフォルトの名無しさん mailto:sage [2012/12/09(日) 23:50:29.25 ] JXONってDOMなんだな >>186 #演算子やん
191 名前:デフォルトの名無しさん [2013/01/01(火) 13:04:46.41 ] typescriptて散々実装しねぇって駄々捏ねてたのにes4の先行実装だな。 15年早かったらes5なんてなかったのに。
192 名前:デフォルトの名無しさん mailto:sage [2013/01/04(金) 01:02:18.10 ] benvie.github.com/continuum/ ここにES6が実験出来るサイトがあった。 早速classとか試してみたらちゃんと動いた。 多重継承が出来なそうだが、ES6は出来ないのかな? あと配列内包(List comprehension)がうまく動かん…
193 名前:デフォルトの名無しさん mailto:sage [2013/01/04(金) 02:06:29.51 ] trait使えばできるだろ>多重継承 ES.nextに入ってなかったっけ?
194 名前:デフォルトの名無しさん mailto:sage [2013/01/05(土) 11:47:34.88 ] VBScriptでweb上の画像を取得するスクリプトをいくつか書いたのだけど、 ブラウザをIE8からFireFoxに変えたら正常に動作しなくなった。 それで結局全部Jscriptに書き換えるはめになってしまった。 WSHの動作環境はブラウザに依存するもんなんでしょうか? 画像の取得に使用したcomはWinHttp.WinHttpRequest.5.1とMSXML2.XMLHTTP3.0、 使用OSはXPです。
195 名前:デフォルトの名無しさん mailto:sage [2013/01/05(土) 14:25:52.62 ] バッチリ依存します。そもそも、それらのAPIは標準化されていません OperaだろうとGoogle Chromeだろうと動かないでしょう
196 名前:デフォルトの名無しさん mailto:sage [2013/01/05(土) 15:01:24.08 ] >>195 ありがとう。 テキストは取得できるのに画像が取得できないという症状でした。 JScriptにしたら問題なく動作するようになりました。 しかしそのJScriptでさえ、JavaScriptの「方言」と呼ばれたりしています。 う〜む……、 現実の世界では英語が国際的に標準語の地位を固めて久しいですが、 プログラムの世界は混沌としていますね。
197 名前:デフォルトの名無しさん mailto:sage [2013/01/05(土) 16:09:05.30 ] そのJScriptがクソなだけだ 英語が標準語ならJScriptはラテン語だろう
198 名前:デフォルトの名無しさん mailto:sage [2013/01/05(土) 19:51:42.53 ] MicrosoftがJScriptとかいう謎なクソ言語を作っただけの話で、 そこまでややこしい話ではない。 とりあえずIEをメインにして開発するのをやめれば 自然とそれなりに標準に沿ったものになる
199 名前:196 mailto:sage [2013/01/05(土) 23:50:29.96 ] >>198 移植そのものは2ヶ月ほどの作業だったのですが、 その後のデバッグにみっちり1月半かかってしまいました。 それにしても、OSは世界標準なのに、実装されているバッチスクリプトが方言って……(泣)
200 名前:デフォルトの名無しさん mailto:sage [2013/01/06(日) 01:06:47.43 ] MSはWeb関連では失敗続きで弱小メーカーだからね。 真に世界標準なのはOffice(Excel,Word)であって、WindowsはOfficeの抱き合わせ販売 といっても過言ではない。(過言かも…) だから、Officeの呪縛がない個人PCだとWindowsでなくてもそれほど困らないし。
201 名前:デフォルトの名無しさん mailto:sage [2013/01/06(日) 01:11:47.62 ] OfficeもWineで動くから実はWindowsは全く必要ない…?
202 名前:デフォルトの名無しさん mailto:sage [2013/01/06(日) 02:12:03.17 ] 確かにそうだね。ただ、Webアプリが充実してくるとOSの重要性は無くなっていって どうでもよくなりそうだね。 少なくとも会社のPCは、惰性でWindowsをずっと使っていくと思われる。
203 名前:デフォルトの名無しさん mailto:sage [2013/01/08(火) 19:42:04.34 ] 海外じゃ公的機関が予算削減のためにOpenOfficeを使ってるだろ
204 名前:デフォルトの名無しさん mailto:sage [2013/01/09(水) 15:59:00.23 ] es6どんどん糞になっていくよな proxyとAPI強化しか要らん どこに行こうとしてるんだ
205 名前:デフォルトの名無しさん mailto:sage [2013/01/09(水) 20:30:38.50 ] >>204 letとかオプション引数とか=>とかが要らないわけない。 早くES6が普及してほしい。
206 名前:デフォルトの名無しさん mailto:sage [2013/01/09(水) 21:04:16.79 ] たまにはremoveされた<| と TriangleLiterals のことも思い出してあげてください
207 名前:デフォルトの名無しさん mailto:sage [2013/01/09(水) 23:49:59.86 ] >>204 API強化はスレ違いです。
208 名前:デフォルトの名無しさん mailto:sage [2013/01/10(木) 00:44:06.28 ] 意味が分からん。いきなり何を言ってるんだお前は
209 名前:デフォルトの名無しさん mailto:sage [2013/01/12(土) 12:43:53.73 ] es6でconstが導入されるけど、functionの引数にもconst指定できればいいけど。
210 名前:デフォルトの名無しさん mailto:sage [2013/01/12(土) 16:18:48.94 ] const引数か、あったら便利かもな
211 名前:デフォルトの名無しさん mailto:sage [2013/01/12(土) 17:18:05.69 ] 逆に無いと引数が変更されるのかがわからないし、 精神衛生上よくないよね。是非ともあってほしい機能だ。
212 名前:デフォルトの名無しさん mailto:sage [2013/01/12(土) 17:28:59.86 ] プロパティが変更できるんじゃ意味ないだろ
213 名前:デフォルトの名無しさん mailto:sage [2013/01/13(日) 09:51:30.92 ] >>211 constってプロパティが変更出来るのか? そもそも、C++みたいにconstメソッドとかの指定が無いから、 メソッドが内部を変更してしまうかも分からないね。 つうか、今一俺が仕様を分かってないな…
214 名前:デフォルトの名無しさん mailto:sage [2013/01/13(日) 11:03:23.10 ] 今のFirefoxに実装されてるconstは、 const指定した変数が指すオブジェクトを別のオブジェクトには変更できないけど、 const指定した変数が指すオブジェクトの中身は変更できるね これを関数引数に指定できても意味無いな
215 名前:デフォルトの名無しさん mailto:sage [2013/01/13(日) 13:09:36.12 ] じゃあconstの存在意義って何よ
216 名前:デフォルトの名無しさん mailto:sage [2013/01/13(日) 13:52:23.84 ] constはプリミティブ型にしか意味なさそう。 オブジェクトを本当にconstにするには、Object.seal(obj)を使う必要があるんだろうね。
217 名前:デフォルトの名無しさん mailto:sage [2013/01/13(日) 14:14:28.53 ] インタプリタでconstは厳密な実装が難しい。ましてevalのある言語。
218 名前:デフォルトの名無しさん mailto:sage [2013/01/13(日) 14:15:58.46 ] >>216 オブジェクトを書き込み不可にしたいのならそう。 通常、constは参照の方の属性。
219 名前:デフォルトの名無しさん mailto:sage [2013/01/13(日) 17:39:39.16 ] >>217 それは違うんじゃないかな?Object.seal()とかあるわけだし。 それにしても、es6になっても癖のある言語である事に変わりないね。俺は好きだがw
220 名前:デフォルトの名無しさん mailto:sage [2013/01/13(日) 17:51:08.18 ] >>219 const引数修飾子はオブジェクトの属性ではないのです。
221 名前:デフォルトの名無しさん mailto:sage [2013/01/13(日) 18:23:10.52 ] >>220 >>217 はインタプリタの一般論で言ってたから、そんなわけないとObject.seal() を例にして否定したんだよ。
222 名前:デフォルトの名無しさん mailto:sage [2013/01/13(日) 19:10:38.56 ] 一部でも難しければ、全体が難しいんじゃないかな?
223 名前:デフォルトの名無しさん mailto:sage [2013/01/13(日) 19:26:59.41 ] じゃあどうやってObject.seal()実装してるの、って話だろ 別に一部も全部も難しくないって
224 名前:デフォルトの名無しさん mailto:sage [2013/01/13(日) 19:44:05.92 ] はあ? Property descriptorで全てのpropertyをflexible: falseにして、 新規propertyを作れなくするんだけど?
225 名前:デフォルトの名無しさん mailto:sage [2013/01/24(木) 19:33:48.70 ] flexibleは名前変わったしsealじゃなくてfeezeだよ インタプリタでconst難しいのはあってるけど
226 名前:デフォルトの名無しさん [2013/02/01(金) 22:14:26.55 ] 代入した時にエラーを吐くならともかく 完全にスルーするってどういう意味があるのかサッパリでござる バグの元にしかならんと思うんだが
227 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 00:31:41.27 ] そんなあなたにstrict mode
228 名前:デフォルトの名無しさん mailto:sage [2013/02/03(日) 13:30:29.45 ] >>226 pageをリロードしたときに二重定義エラーになるからだろ。 リロードしたときに一々コンテキスト毎再生成してたら遅いだろ。 標準化されたstrict modeはfatal-warnings modeの挙動取り込んだんだから >>227 の言う通りデバッグのときだけstrict mode使えば良いじゃん。 それよかletになつたから#ifdefとして使えんのが痛い。 他のも標準化範囲半端だから不便だけどfor ofとextraとコレクションやっと入ったんだ喜べ!
229 名前:デフォルトの名無しさん mailto:sage [2013/03/07(木) 15:27:21.75 ] en.wikipedia.org/wiki/ABAP 112位 https://github.com/languages/Lasso 54位 https://github.com/michaelcontento/monkey マルチプラットフォームなcompilerらしいが実態は謎 108位 https://github.com/languages/MoonScript coffeeっぽい lua transpiler 107位 https://github.com/languages/Rouge ruby 実装の clojure 109位 https://github.com/languages/TypeScript 真打登場?しかしrazor-qtなぜおまランクに入ってる… 80位 https://github.com/languages/PogoScript forthっぽい js transpiler 111位 https://github.com/languages/Xtend みんなも言語つくろうね!そんなeclipseで言語dsl作成ツール 99位 githubのランクにニューフェース(新言語)登場! 上記ふたつは昔からあるのだけど。状況を一言で言い表すと すげー混沌でこれは…っていうか百花繚乱
230 名前:デフォルトの名無しさん mailto:sage [2013/03/22(金) 13:13:07.13 ] JScriptから、要素数が65536の配列に見える オブジェクトをC#で作っています。 x[1]=2とか、y=x[1]と書くと、IReflect.GetFieldではなく IReflect.GetFieldsですべてのメンバを取得してから "1"という名前のフィールドを探しているようです。 GetFieldsを呼び出された時点では、 目的のフィールド名が分からないので フィールド名が"0"〜"65535"のFieldInfo配列を返したら InvokeMemberまでに数秒かかってしまいます。 要素数に関わらない時間で呼び出せるようにする 方法はありませんか?
231 名前:デフォルトの名無しさん mailto:sage [2013/03/22(金) 13:18:16.69 ] proxy
232 名前:デフォルトの名無しさん mailto:sage [2013/03/29(金) 07:35:30.36 ] https://github.com/timkurvers/byte-buffer >Theoretically any browser supporting JavaScript's typed arrays is >supported. Unfortunately, the spec hasn't been finalized yet and >as such support is limited for now. stackoverflow.com/tags/typed-arrays/hot stackoverflow.com/tags/arraybuffer/hot いまさらtyped-arrayとか調べてみたけどやっぱこの辺でつまったorz よくみたらphpもasのライブラリとかも書いててすごいなオスロのひと…
233 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 13:55:55.13 ] >>230 ちょうどおいらもC#でjscript等で使用されることを想定してるオブジェクトを設計してるんだけど IExpandoとかIReflectとか実装する意味ある?(面倒くさい) もうできること限定しちゃって コレクションもコレクションクラス作っちゃってやったほうが楽じゃね? x.Set( 1, 2 ); y = x.Item( 1 ); で妥協しちゃだめ?
234 名前:230 mailto:sage [2013/04/04(木) 12:31:59.48 ] setメソッドでは妥協したくないところです。 IReflect.InvokeMemberに"[DISPID=0]"というメンバに対する処理を書いて x(1)=2、y=x(1)というのは実装できました。 今のところ、これ以上の策がなく、妥協してるところです。 IExpandoを実装するとx[1]=2は実装できたんですが y=x[1]に対応しようとすると、 230に書いた課題が残るんですよ。 コレクションではなくて、UART経由で0〜65535のアドレスを持つ レジスタへの読み書きなので、GetFieldsを呼び出された時点で 求めるメンバ名が取得できれば良いんですけどね。
235 名前:デフォルトの名無しさん mailto:sage [2013/04/28(日) 12:03:49.25 ] Functional JavaScript: Introducing Functional Programming with Underscore.js www.amazon.com/Functional-JavaScript-Introducing-Programming-Underscore-js/dp/1449360726/ Publication Date: June 18, 2013
236 名前:デフォルトの名無しさん mailto:sage [2013/04/30(火) 19:29:37.54 ] es6 draft 15.4.4 >is not an Array exotic object なん、だと・・・往生際が悪いぞ!マスター・アジア! わざわざ下線引くからには皆考えることは同じだな。 あと、MappedArgumentsObjectがjs1.2のarguments objectと同じ仕様じゃん。caller無くした代わりか。 つか上がってるpdf3月なのにもう古い。
237 名前:デフォルトの名無しさん mailto:sage [2013/05/29(水) 16:28:30.33 ] 30%の確率で0、70%の確率で1を返すプログラムを教えてください
238 名前:デフォルトの名無しさん mailto:sage [2013/05/29(水) 19:04:59.18 ] >>237 乱数
239 名前:デフォルトの名無しさん mailto:sage [2013/05/29(水) 19:14:50.60 ] if ( (new Date()).getSeconds() % 3 ){ return 1; }else{ return 0; }
240 名前:デフォルトの名無しさん mailto:sage [2013/05/29(水) 19:54:46.93 ] >>239 それなら Date.getTime() % 3 の方がGC的によい
241 名前:デフォルトの名無しさん mailto:sage [2013/05/29(水) 20:08:41.26 ] そもそもそれ70%のコードじゃなくね
242 名前:デフォルトの名無しさん mailto:sage [2013/05/30(木) 12:49:14.78 ] これはひどい
243 名前:デフォルトの名無しさん mailto:sage [2013/05/30(木) 14:10:10.49 ] >>240 ほとんどのシステムで時計見るのは遅いよw
244 名前:デフォルトの名無しさん mailto:sage [2013/06/01(土) 03:42:36.21 ] >>237 課題はできた? 亀だが。 f(); とすることで取り出せるから。 上のは全然できてないから、これちゃんと提出してね。 var f = (function () { var b = this.a, l = b.length, r = function (l) { return Math.floor(Math.random() * l); }; return b[r(l)]; }).bind( (function (a) { var r = [], i = 0; a.forEach(function (m, v) { for (i = 0; i < m; i += 1) r.push(v); }); return {a: r}; }([3, 7])) );
245 名前:デフォルトの名無しさん mailto:sage [2013/06/02(日) 21:39:31.17 ] >>237 var f = function() { var base = 10000000; var r = Math.floor(Math.random() * 10 * base); return r < 3 * base ? 0 : 1; }; // 検証コード var zero = 0; var one = 0; for (i = 0; i < 10000000; ++i) { var result = f(); if (result == 0) { ++zero; } if (result == 1) { ++one; } } print(zero / (zero + one)); // => 0.2999617 print(one / (zero + one)); // => 0.7000383
246 名前:デフォルトの名無しさん mailto:sage [2013/06/02(日) 21:42:53.65 ] 少し間違った var f = function() { var base = 10000000; var r = Math.floor(Math.random() * 10 * base + 1); return r < 3 * base ? 0 : 1; };
247 名前:デフォルトの名無しさん mailto:sage [2013/06/04(火) 16:55:54.33 ] >>244 ,245 ↑ こいつらは何がしたいわけ?
248 名前:デフォルトの名無しさん mailto:sage [2013/06/07(金) 12:17:25.74 ] どっかのアホなスレと勘違いしてるんだろ
249 名前:デフォルトの名無しさん mailto:sage [2013/07/25(木) NY:AN:NY.AN ] (function (x) { y=2; print(x,y); function(x){x=10;y=20;print(x,y)}; print(x,y)})(1) [出力] 1 2 10 20 1 20 これ一体どう実装されているんだろう? クロージャの生成で変数テーブルの参照を共有するのだろうから yの変更が反映されるのは至極真っ当。 xの変更が反映されないのは、引数については変数捕捉されないように細工がされている? a.クロージャ生成時に見えていた変数テーブル b.クロージャ引数用の変数テーブル この2つを持っていて、変数評価時に走査している? さらにクロージャの中でクロージャ生成する場合は a,bを合わせて新たに1つのaにしているんだろうか。
250 名前:デフォルトの名無しさん mailto:sage [2013/07/25(木) NY:AN:NY.AN ] >>249 単純に4行目のfunction宣言内で新しい環境が作られているからじゃね? つまり3行目と5行目のprint呼び出しに現れるxは、 1行目のfunction宣言の環境内で束縛されているけれど、 4行目はのprint呼び出しは(新しい)別の環境内にあるx(の束縛)を参照している
251 名前:デフォルトの名無しさん mailto:sage [2013/07/25(木) NY:AN:NY.AN ] 4行目が function(x){x+=10;y=20;print(x,y)}; だとどうよ
252 名前:デフォルトの名無しさん mailto:sage [2013/07/25(木) NY:AN:NY.AN ] >a,bを合わせて新たに1つのaにしているんだろうか。 スタックみたいにテーブルを重ねていくんじゃね