1 名前:デフォルトの名無しさん mailto:sage [2015/04/29(水) 20:58:27.13 ID:ynuTQJZG.net] 前スレ 【Lisp】スクリプト バトルロワイヤル48【pl,rb,php,js】 [転載禁止](c)2ch.net peace.2ch.net/test/read.cgi/tech/1425051187/
96 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 13:26:48.79 ID:aiD72K3t.net] >>92 意味がわからない お絵かきソフトのソースコードを金融システムに流用したって動かないだろうけど それが弱点と言われてもな ちなみにnodeのライブラリはbrowserifyを使ってブラウザ上で結構動くよ
97 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 13:27:48.30 ID:aiD72K3t.net] >>93 2011年ねえ。。。
98 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 13:34:37.37 ID:hfdn/Wn2.net] if (typeof my_var !== "undefined" && my_var !== null) { // Rasmusも顔負けのマヌケだね! } これねえw if (my_var != null) { // こうやって簡潔に書けるのにマヌケだね! } Javascriptの枝葉末節の粗にとらわれて、本当の素晴らしさが分からなかった バカって本当に多いなw
99 名前:デフォルトの名無しさん [2015/05/03(日) 13:39:59.79 ID:I75TtZUp.net] Javascriptは非常に基礎的部分ですら互換性がない。たとえばオブジェクトの型を調べるだけですら簡単でない。 Nakajiman Software Blog: JavaScriptにおける未定義値の判別方法 nakajiman.blogspot.jp/2008/05/javascript.html JavaScriptの「型」の判定について - Qiita qiita.com/south37/items/c8d20a069fcbfe4fce85 JavaScriptでオブジェクトの型を判別するのにtypeof演算子使うとツラいよね - Qiita qiita.com/Layzie/items/465e715dae14e2f601de JavaScript配列検出で起こる問題について ─── 型判定の基礎 JavaScriptの「実行時型判定」は、機能が弱いことが知られているが、特に配列のチェックに於いて回避の難しい問題を起こすことが知られている。 oka-ats.blogspot.jp/2013/01/oka01-lkatupfcnayncnco.html
100 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 13:49:35.77 ID:hfdn/Wn2.net] >>97 オブジェクトの型を調べるのが容易では無いのは、 別に互換性の問題では無いだろ それに、お前の中の時間は2008年や2013年で止まってるのか 日本と海外の違いはこの辺にもよく現れてるな 配列の検出の問題は、今ならArray.isArrayで解決する
101 名前:デフォルトの名無しさん [2015/05/03(日) 13:55:58.00 ID:I75TtZUp.net] >>98 配列だけでないが。 2013年以前に実装されたエンジンもまだ使われてるだろ。Javascriptはどれか一つのエンジンか実装に統一されてない。 Javascriptはいたるところで環境差があるのは間違いない。
102 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 14:01:48.61 ID:XZDYEtiX.net] 2011年の記事を翻訳wwww アホとしか思えない。 2015年の記事を翻訳してよイエローモンキー
103 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 14:02:14.00 ID:hfdn/Wn2.net] >>99 配列だけではなく何が問題なの? 記事によると解決策が全て記されているが 2013以前のエンジンなんて、今はほぼ使われてないだろ 例えば、Array.isArrayがない主要環境はIE8くらいだが これもes5-shimのような有名なPolyfillでたちどころに解決する問題
104 名前:デフォルトの名無しさん [2015/05/03(日) 14:10:28.74 ID:I75TtZUp.net] node.jsがノンブロッキングなのは今でもそうだから2011年の記事はいまでも通じる。
105 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 14:15:55.58 ID:hfdn/Wn2.net] まあ記事そのものがもとから的外れなんだけどな clusterも使わず一スレッドで、fib実行したらどんな環境でも遅くなるわ もしかして2011年にはnodeにclusterがなかったのかもしれんがw
106 名前:デフォルトの名無しさん [2015/05/03(日) 14:18:44.76 ID:I75TtZUp.net] ライブラリ
107 名前:ナ環境差を埋められるのはJavascriptの特徴でない。 C/C++でもマルチプラットフォームのライブラリはある。 たとえばJavaやPHPの環境差はJavascriptのように多くない。 [] [ここ壊れてます]
108 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 14:20:25.10 ID:hfdn/Wn2.net] そして、他の言語と同様、今のJavaScriptに互換性の問題は ほとんどない
109 名前:デフォルトの名無しさん [2015/05/03(日) 14:30:51.43 ID:I75TtZUp.net] node.jsの記事は、手続き型でない純粋関数型は難しいといいたんだろう。 Javascriptの枠で、ノンブロッキング/ブロッキング、手続き/関数型が混在していていまだ統一されてない。
110 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 14:36:01.72 ID:/BBLGU8S.net] ん? 統一する必要あんの? どちらか一方が、どんな場合でも優れているわけじゃないし。 用途が違うのに、統一する必要がない。
111 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 14:39:33.46 ID:aiD72K3t.net] ノンブロッキングのプログラミングが難しいという話なら まあ一応理解できなくもない が、それもcoやES7のasync/awaitで難しくなくなった
112 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 14:40:16.19 ID:/BBLGU8S.net] バカには難しい
113 名前:デフォルトの名無しさん [2015/05/03(日) 14:40:45.80 ID:I75TtZUp.net] 統一されていないことが、 互換性が低いかない一理由。 node.jsをJavascript枠から追い出すか、 Javascriptの標準仕様がnode.jsに合わせたら互換性がよくなる。
114 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 14:43:11.27 ID:/BBLGU8S.net] 統一されてないことと 互換性に何の関係があるんだ?
115 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 14:43:14.42 ID:aiD72K3t.net] お前の出したどの記事も互換性が低いとは一言も言ってないぞ
116 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 14:43:49.91 ID:/BBLGU8S.net] むしろ統一しないことのほうが 互換性が高いことに繋がる。 前のものを廃止したら、 互換性が途切れるんだよ。
117 名前:デフォルトの名無しさん [2015/05/03(日) 14:55:05.64 ID:I75TtZUp.net] 互換性の記事見つけてきたぞ。環境差は確かに存在する。 ECMAScript 6 compatibility table kangax.github.io/compat-table/es6/ JavaScript - Wikipedia 現在では、ECMAScriptの策定により実装間の互換性は向上し、DOMなど関連仕様の実装に関する互換性も比較的高くなっている。 ただ、現在でも特定のブラウザでしか実行できないECMAScript以前の古い構文や、ブラウザ独自のDOMを使ったコードが使用されている場合があり、 互換性の問題が完全に解消されたわけではない。
118 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 15:01:38.73 ID:/BBLGU8S.net] 互換性はある = 100%の互換性 99.9% だったら 互換性はないということ などと定義している馬鹿 いい加減消えないかな。
119 名前:デフォルトの名無しさん [2015/05/03(日) 15:11:03.11 ID:I75TtZUp.net] 異なるJavascript同士に90%の互換性すらないとおもうぞ。 たとえばJavaだと本家(?)実装がシェアのほとんどを占めて90%以上の互換性は確実だろう。
120 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 15:12:49.59 ID:aiD72K3t.net] そもそも>>114 はES6のネイティブでのブラウザの対応状況だろ ES6というのは、次期JavaScriptであって、それを先行して どれだけ実装しているかということ 次期JavaScriptの先行実装状況に互換性どうこう言われてもな 言うなら現行JavaScriptであるES5.1の表を持ってこいよ
121 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 15:14:15.31 ID:aiD72K3t.net] >>116 それは怪しいな AndroidのDalvik(かなりのシェアを占めるだろう)は Version8に全く対応していないから
122 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 15:18:45.95 ID:aiD72K3t.net] ES5の表見つけてきた Chrome(V8)、Firefox、IE10以降、iOS、Webkitと主要環境は軒並み100% kangax.github.io/compat-table/es5/
123 名前:デフォルトの名無しさん [2015/05/03(日) 15:25:29.56 ID:I75TtZUp.net] 独自仕様、先行仕様が多ければ多いほど互換性は減ってくるわけで。 ある環境では当たり前のコードが、他で動作しないのでは互換性が低い。 Dalvikと本家の差はしらないが、Javascriptだと実際にコピペしただけでは動作しないことが頻発するが。
124 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 15:29:16.49 ID:aiD72K3t.net] 先行仕様というのは、Javaで言えば、Java9の機能が使えるということ これはプラスでありこそすれ、マイナスにはならない 互換性を気にする場合先行仕様なんて使わないからな
125 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 15:30:32.52 ID:/BBLGU8S.net] > 独自仕様、先行仕様が多ければ多いほど互換性は減ってくるわけで。 それは互換性が減ったとは言わないよ。 高い互換性 + 独自仕様,先行仕様 だろ 完璧な互換性を持ったC言語コンパイラ二つあったとして、 一方がC99に新たに対応したら互換性が減った!って叫ぶ奴いねぇだろ?
126 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 15:35:40.54 ID:hfdn/Wn2.net] AndroidはJava 8が全く使えない さっきの表で言えば、ES5が全く0%の対応状況だと言ってるに等しい それどころか、Java 7すら、ついこの間やっと対応した 当然ながらJavascriptはそこまでひどくない
127 名前:デフォルトの名無しさん [2015/05/03(日) 15:53:59.85 ID:I75TtZUp.net] Android Dalvikは6とか7に対応していて後方互換性があるなら実用上問題ないだろうが。 Javascriptは実装が相当あって互換性はかなり怪しいと思うが。 windowsにJScript(WSH)が組み込まれているが、これ自体、古い規格すらクリアしてないだろうし 最新のエンジンでJScript(WSH)のコードは動作しないことが多い。
128 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 15:57:32.73 ID:/BBLGU8S.net] >>124 え?なに? Javaは互換性が低い、 iモードアプリ(Java製)が動かないから。 っていう話がしたいの?
129 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 15:58:05.60 ID:qMGCv9q/.net] JScriptでTypeScriptのコンパイラも動いてるし問題ないだろ
130 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 16:06:24.22 ID:aiD72K3t.net] WSHねぇ この人はやっぱ2006年あたりで時が止まってるっぽいな
131 名前:デフォルトの名無しさん [2015/05/03(日) 16:15:11.03 ID:I75TtZUp.net] 自分が止まってるのではなく、windows標準のJavascript環境が止まっていて、 いま使えるのは古くて更新されないJScript(WSH)だろ? より新しいwindows標準のJavascript環境があるか?
132 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 16:17:51.84 ID:aiD72K3t.net] MSはブラウザ用には更新しているし、PowerShellという新しい代替品を 使ってほしいから更新してないだけだろうに
133 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 16:17:59.40 ID:/BBLGU8S.net] JScriptとWSHの違うも理解してないみたいだしなw ちなみに、IE9に搭載されているのはJScript 9.0。 IE9で動くのはJScriptであり、 そのコードがJavaScriptでも動いてるから 互換性があることは証明済みである
134 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 16:20:44.63 ID:aiD72K3t.net] Windows 8では新しいJavaScript(これはJScriptとは呼ばれていない)で アプリが作れることも知らないらしい
135 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 16:30:05.05 ID:aiD72K3t.net] そういえば、ひそかにMacもYosemiteからJavaScriptで AppleScriptを代替できるようになったよな JavaScriptでMacのアプリも作れて自動化作業もできる時代 JavaScriptが着実に言語の争いを制覇しつつあるね
136 名前:デフォルトの名無しさん [2015/05/03(日) 16:42:33.83 ID:I75TtZUp.net] これだろ? 計画段階であってNode.jsがwindowsの標準として取り込まれてない。 マイクロソフトのJavaScriptライブラリー「WinJS」について知っておくべき5つのこと Node.js は、自分のローカル・マシンに WinJS を構築するための必須コンポーネントだ。 恐らく WinJS は、Node 上で動作することによって、アプリ内でのチャットやユーザー・インタラクションのような非同期タスクを適切に処理することができるのだろう。 しかし、ほとんどの JavaScript フレームワークが Node と連携するよう設計されているため、これは特別ユニークではない。 恐らく WinJS の一番の利点として挙げられるのは、マイクロソフトがこのフレームワークに含めた JavaScript のライブラリ群だろう。 このライブラリ群は、複雑なコードを迅速かつ簡単に開発することを可能にしてくれる。 トライアル・ページでは美しいインタラクティブなウィジェットが紹介されており、これらは組み込みも非常に簡単だ。 そして Angular のような、既に信頼を勝ち取っている他のフレームワークと一緒に WinJS の機能を使えるという事実も、多くの開発者が WinJS を試してみたいと思う動機となるだろう。 ascii.jp/elem/000/000/882/882829/
137 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 16:51:54.47 ID:hfdn/Wn2.net] 計画段階ってなんの話だ? WinJSならとっくにリリース済みだが
138 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 16:58:20.97 ID:hfdn/Wn2.net] まあJavaScriptの世界の動きは他とは次元の違う早さだから ついていけないのは分かる
139 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 17:01:54.00 ID:/BBLGU8S.net] >>133 > 計画段階であってNode.jsがwindowsの標準として取り込まれてない。 JavaもRubyもWindowsの標準として取り込まれてないが、 お前は一体何の話をしてるんだ?
140 名前:デフォルトの名無しさん [2015/05/03(日) 17:03:14.47 ID:I75TtZUp.net] windowsの最新版でもプレビュー版でもアップデートでも コマンドプロンプトとかScript(WSH)とかPowerShellのようにOSに組み入れられず 開発者に試してもらうための公開だろ。
141 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 17:04:37.34 ID:hfdn/Wn2.net] JavaScriptでアプリを開発するのが開発者じゃなくて何なんだよw 試してもらうんじゃなくて、本当に使ってもらうんだろうがw
142 名前:デフォルトの名無しさん [2015/05/03(日) 17:04:58.45 ID:I75TtZUp.net] >>136 だからwindows標準のJavascript環境は、古いJScript(WSH)のまま。
143 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 17:05:28.05 ID:/BBLGU8S.net] >>137 今はオープンソースはgithubで公開するのが 正式リリースと言ってもいい状況なんですが? なぁ、お前。10年ぐらい前から何か成長した?
144 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 17:06:04.38 ID:/BBLGU8S.net] >>139 > だからwindows標準のJavascript環境は、古いJScript(WSH)のまま。 新しいJScriptですけど? えと、JScriptがバージョンアップしているのって もしかして知らない?
145 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 17:07:47.25 ID:/BBLGU8S.net] じゃあ、話しそれて、Windows 10のJavaScriptの話でもするか?w Windows 10におけるMicrosoft JavaScriptエンジンの仕組み www.infoq.com/jp/news/2014/10/chakra-javascript-windows-10 いやー、すごい仕組みだわこれ。
146 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 17:09:18.03 ID:hfdn/Wn2.net] あと、JavaScript(JScriptではない)がVisualStudioにくっついてくるけどね まあ確かにVisualStudioはOS標準ではないがw
147 名前:デフォルトの名無しさん [2015/05/03(日) 17:11:01.29 ID:I75TtZUp.net] JScript - Wikipedia JScript バージョン 5.8 2009年3月 JScript .NET バージョン 10.0 2010年4月13日
148 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 17:11:31.79 ID:/BBLGU8S.net] Windows 10に標準搭載されてるChakraってJScriptは凄いらしいね。 カコのバージョンよりも数十倍早くなっているらしい。 Windows ストアアプリ の JavaScript エンジンとしても使用されているってよ
149 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 17:12:53.36 ID:hfdn/Wn2.net] >>144 wikipediaも日本と英語で情報格差があるのかw
150 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 17:14:04.68 ID:z/HlZYol.net] 画像見つけてきたわ。新しいWindowsではこんなふうになってるんだな。 JavaScriptが普通に使えるなんて。OS標準搭載されたから当然か。 our.componentone.com/wp-content/uploads/2011/09/winrt.png
151 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 17:16:00.13 ID:Q2e6sJJ5.net] >>147 JavaScriptはネイティブ言語同等の扱いになってるね。 ここまでOSに採用される言語は、もう他にないのでは?
152 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 17:18:36.01 ID:Q2e6sJJ5.net] >>146 あるぞw Chakra (JScript engine) en.wikipedia.org/wiki/Chakra_%28JScript_engine%29 This article is about a JavaScript engine. For other uses, see Chakra (disambiguation). Chakra is a JavaScript engine developed by Microsoft for its Internet Explorer 9 (IE9) web browser. A distinctive feature of the engine is that it JIT compiles scripts on a separate CPU core, parallel to the web browser.[1][2] Though Microsoft has in the past pointed out that other elements, such as rendering and marshalling, are just as important for a browser's overall performance,[3] their improvements to the engine were in response to evolving competing browsers, compared to which IE8 was lagging behind in terms of JavaScript processing speed.[4] SunSpider tests performed on November 18, 2009 showed the PDC version of IE9 executing scripts much faster than IE8, but slower than Firefox 3.6, Chrome 4, and WebKit Nightly.[3] The same test performed on March 15, 2010 showed the first IE9 Platform Preview (using the then-current version of Chakra) to be faster than Firefox (with SpiderMonkey), but slower than Safari (with SquirrelFish Extreme), Chrome (with V8), and Opera (with Carakan). On March 8, 2011, Microsoft published results showing the 32-bit Internet Explorer 9 to be faster than Safari, Firefox (with TraceMonkey), Chrome, and Opera.[5] March 2011 performance tests for ZDNet concluded that Internet Explorer 9 (32-bit), Chrome 10, and Firefox 4 release candidate were "pretty evenly matched."[6]
153 名前:デフォルトの名無しさん [2015/05/03(日) 17:24:25.99 ID:I75TtZUp.net] Javascriptがダメな所は、Chakraとかnode.jsとか独自仕様で開発する所。 たとえばnode.js互換で実装して速度を競うんだったらいい。 それをさっきから指摘してるわけだが。互換性をなくそうとしない。
154 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 17:25:55.49 ID:hfdn/Wn2.net] ChakraとV8(node)はとても互換性が高いと思うが 独自ってなんのことだ?
155 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 17:28:29.44 ID:Q2e6sJJ5.net] 150のふり 独自って言ったら独自なんだ! 名前が違うのがその証拠!
156 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 17:30:02.77 ID:Q2e6sJJ5.net] 皆わかってるけど、I75TtZUpって 言語と動作環境とライブラリを 全部ごっちゃにしてるんだよねw だからWSHがでてきたりJavaScriptと node.jsを比較したりするw まあ、馬鹿だよ。こいつは。
157 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 17:30:59.81 ID:Q2e6sJJ5.net] > Javascriptがダメな所は、Chakraとかnode.jsとか独自仕様で開発する所。 Rubyに例えると Rubyがダメな所は、Railsとか独自仕様で開発する所。 まあこんな感じだろう。
158 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 17:35:43.74 ID:hfdn/Wn2.net] node.jsのエンジンがブラウザのChromeと同じエンジンだってのも知らないんだろうな
159 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 17:36:25.20 ID:kwbWbObW.net] JavaScriptはCのように手続き型っぽく書けたり、Javaからメソッド取ってたりと 落ち着きがあるんだよな。 それに比べてPythonやRubyはやんちゃだから落ち着いたOSの標準スクリプトになるのは難しい。 但し落ち着いたを古臭いと言い換えても成り立つ。
160 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 17:36:50.96 ID:hfdn/Wn2.net] ことによると、Chromeも知らないんじゃないか 2006年あたりから時が止まってるようだし
161 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 17:40:08.40 ID:qMGCv9q/.net] Chakraはただのエンジンだろ? node.jsとは全く土台が違うし つーかMicrosoftもVisual Studio CodeじゃChromiumとNode.jsで実装されてるし 一枚岩じゃないな
162 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 17:41:40.31 ID:hfdn/Wn2.net] >>158 それらは全部ES5の仕様の互換性を当然のように守っているから エンジンがどれだろうと問題ないのだろう
163 名前:デフォルトの名無しさん [2015/05/03(日) 17:43:36.16 ID:I75TtZUp.net] Node.jsと他のJavascriptエンジンで決定的な差はノンブロッキングを徹底してるかどうか。 たぶん、Chakraがノンブロッキングを徹底することはないとおもうが。ここが一致しないと動作が違ってくる。
164 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 17:44:18.99 ID:hfdn/Wn2.net] >>160 クッソワロタw
165 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 17:44:34.52 ID:Q2e6sJJ5.net] >> 158 > つーかMicrosoftもVisual Studio CodeじゃChromiumとNode.jsで実装されてるし そこが今のマイクロソフトの怖いところなんだよな・・ ナデラCEOになってから、倫理的にも技術的にもビジネス的にも 正しいことをし始めた。やってることはマイクロソフトが儲かるという ビジネス的に正しいことなんだが、それでいてオープンソース陣営とか かつてMSとは敵対関係にあったような人たちが喜ぶことをしている。 だから面と向かって批判できない。正しいやり方で マイクロソフトを大きく拡大しようとしている。 あと5年ぐらいたてば、かつて無いレベルであちこちを侵食しているよ。
166 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 17:45:03.82 ID:+1/GzoNu.net] ttp://techcrunch.com/2015/04/29/microsoft-shocks-the-world-with-visual-studio-code-a-free-code-editor-for-os-x-linux-and-windows/#.prq6v4:bz08
167 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 17:45:39.47 ID:Q2e6sJJ5.net] >>160 > Node.jsと他のJavascriptエンジン え? Node.jsはJavaScriptエンジンじゃありませんが?
168 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 17:48:05.59 ID:hfdn/Wn2.net] Visual Studio Codeってそういえばまだ一週間経ってない出来事だったっけ 時代の変化が早すぎてもう古い情報のように聞こえてしまうw
169 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 17:48:08.67 ID:Q2e6sJJ5.net] 今のMSの勢いだと、Node.jsの実行エンジンとしてChakraを 使えるようになるってこともありそうな気がするね。 >> ID:I75TtZUp 俺が言ってる意味分かんないでしょ?w
170 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 17:49:47.44 ID:qMGCv9q/.net] JavaScriptで実装されたエディッタでインテリセンスがサクサク動く時代だし もうネイティブがどうとか無意味っすわ
171 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 17:50:30.30 ID:hfdn/Wn2.net] ノンブロッキングを徹底するかどうか (`・ω・´)キリッ
172 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 17:52:07.63 ID:Q2e6sJJ5.net] Chakraはノンブロッキングを徹底してるよね。 ブロッキングしている所ってどこよ? 言ってみなw
173 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 17:53:34.95 ID:Q2e6sJJ5.net] JavaScriptがNode.jsで採用されたのは、 JavaScriptの実装(v8、SpiderMonkey、JScript、Chakra等)が ノンブロッキングを徹底していたからなんだよね。
174 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 17:57:25.44 ID:VNMbSaqh.net] ちなみに、Node.jsでブロッキング関数は fs.writeSync みたいに、後ろにsyncが付いているよ。 もちろん、JavaScriptエンジンはノンブロッキングが徹底されているけどね! 具体的にはChakraとかね! 等と言ってると、無知なID:I75TtZUpは ますます頭が混乱してそうで楽しいw
175 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 18:01:45.76 ID:+1/GzoNu.net] wordpress, rails, spring mvcを過去のものにしたいだけ 破壊しなければ、仕事がなくなる
176 名前:デフォルトの名無しさん [2015/05/03(日) 18:03:25.73 ID:I75TtZUp.net] JavaScriptの言語仕様は、ECMAScriptとして策定されています。ECMAScriptには、スレッドやI/Oに関しては記述されていません。 しかし、サーバサイドJavaScriptを作成するうえで、I/O機能は必須であるため、各サーバサイドJavaScriptの実装(RingoJSの前身であるHelmaや、Aptana Jaxerなど)が独自に拡張していました。 各自が独自に実装していると、API互換性などで問題が出てくるため、「CommonJS」が策定されました。 前回記事では、「Node.jsは、このCommonJSにのっとって開発されています」と記載しましたが、現実的には、CommonJSのごく一部を実装しているだけです。 Node.jsの特徴である「シングルスレッドでのノンブロッキングI/O」は汎用的な機能ではないためか、CommonJSには定義されていません。 今後、Node.jsがCommonJSに沿って、実装されていくかは微妙な所ですが、JavaScriptでアプリケーションを作成する際のガイドラインとして、CommonJSは有用です。 www.atmarkit.co.jp/ait/articles/1103/23/news101_2.html
177 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 18:04:52.26 ID:hfdn/Wn2.net] 2011年か、、、 commonjsってものも昔はあったねえ・・・(遠い目
178 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 18:06:31.11 ID:VNMbSaqh.net] >>173 > JavaScriptの言語仕様は、ECMAScriptとして策定されています。ECMAScriptには、スレッドやI/Oに関しては記述されていません。 ほう! じゃあJavaScriptはノンブロッキングに絶対になるってことだな。 Chakraがノンブロッキングが徹底されているのはそういうことか!
179 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 18:07:56.72 ID:VNMbSaqh.net] CommonJSってJavaScriptの仕様じゃないんですねー。
180 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 18:10:13.55 ID:oEmNvyKo.net] >>84 確かに日本のゲーム業界には世界的クリエイターやエンジニアが沢山いるなぁ CSゲーム業界も世界で3プレイヤーだけで内2プレイヤーは日本企業だもんなぁ それに比べWEBは皆無で情けない状態w
181 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 18:10:26.74 ID:+1/GzoNu.net] 何れ、chromeはjvmの位置へと昇格する.そのときこそ、dartの復活のとき
182 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 18:11:48.55 ID:hfdn/Wn2.net] まあサーバーサイドJavaScriptは、ほぼNode一択(細かい事を言えばio.jsもあるが)だから 言語仕様以外のapiに関しても互換性の問題はっやっぱり、ほぼないといえるなあ
183 名前:デフォルトの名無しさん [2015/05/03(日) 18:18:53.37 ID:I75TtZUp.net] 自分が勘違いしてるかと試してみたが。 すべてのJavascriptがノンブロッキング動作するわけないだろ。 たとえばJScript 5.8はファイル読み込みで停止する。標準的な関数ではノンブロッキングできないはず。 var fs = new ActiveXObject( "Scripting.FileSystemObject" ); var file = fs.OpenTextFile("sample.dat"); var str = file.ReadAll(); WScript.Echo(str); WScript.Sleep(2000); WScript.Echo(str);
184 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 18:19:54.00 ID:VNMbSaqh.net] >>180 ActiveXObject は Javascript ではない。 JavaScriptでそれは使えない。
185 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 18:21:09.79 ID:hfdn/Wn2.net] おお、具体的な例をはじめてちゃんと出したな ジュラ紀の地層から出てきた化石のようなソースコードだが
186 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 18:21:27.84 ID:VNMbSaqh.net] 自分が勘違いしてるかと試してみたが。 すべてのJavascriptがノンブロッキング動作するわけないだろ。 たとえばV8はファイル読み込みで停止する。標準的な関数ではノンブロッキングできないはず。 var fs = require('fs'); var text = fs.readFileSync('test.txt', 'utf-8'); console.log(text);
187 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 18:22:13.75 ID:VNMbSaqh.net] >>180 なにをいってるんだー! Node.jsはブロッキングしてるじゃないかー!
188 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 18:25:45.36 ID:VNMbSaqh.net] それにしても、何が実行環境で 何が言語なのか、本当にわかってないんだぁw
189 名前:デフォルトの名無しさん [2015/05/03(日) 18:25:53.19 ID:I75TtZUp.net] >>181 それはNode.jsのファイル読み込みでも同じこと。
190 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 18:27:50.14 ID:VNMbSaqh.net] >>186 自分にいえや。 お前が出してきたコードは Node.jsのファイル読み込みでも同じこと お前、Node.jsはノンブロッキングが徹底されてるって 言ったの忘れたのか?
191 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 18:31:58.94 ID:hfdn/Wn2.net] >>178 結局、DartはJavaScriptに敗れ去ったね あれだけ新しい時代に過去の教訓のもとに作られた言語が JavaScriptに敗れ去ったという事実 JavaScriptの言語仕様が非常に優れていたことの証明だろう
192 名前:デフォルトの名無しさん [2015/05/03(日) 18:36:43.03 ID:I75TtZUp.net] Node.jsはノンブロッキング。sleepすら初期標準装備ではまともにできない。 Node.jsの人はちゃんとsleepしてください - Qiita qiita.com/tanakahisateru/items/9b937989c0ef5345ff9e Node.jsとは何か、開発者ライアン・ダール氏が語る〜ノンブロッキングとはどういうことか? − Publickey www.publickey1.jp/blog/11/nodejs.html
193 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 18:37:12.35 ID:/2mvjJQZ.net] >>188 それは違うよ。 優れていたから生き残るわけじゃない。 力を注ぐ人間が多いほうが生き残る。 どんなに優れていても、一つの会社に 依存しているようなものはすぐに消える。Delphiとかね。 JavaScriptの強みは、実装が多く存在するということ。 つまりそれだけ多くの人が関係しているということ。 同時代に複数の実装が出回っていて標準化されていて 互換性もある。こんな言語他にあったか? 多くの会社が、より優れたものを作ろうと競争しているんだ それだけ投資されているものが簡単に消えるわけがない。
194 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 18:38:00.90 ID:/2mvjJQZ.net] >>189 > Node.jsはノンブロッキング。sleepすら初期標準装備ではまともにできない。 >>183 でブロッキングする例を上げて 論破してるよ。
195 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 18:38:16.86 ID:xkutDKZm.net] Dartは敗れたのではなく戦略的撤退及びJSへの吸収合併 Nodeはサブプロセス立ち上げと、そこでの同期処理は普通。
196 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 18:39:13.98 ID:/2mvjJQZ.net] > Dartは敗れたのではなく戦略的撤退及びJSへの吸収合併 それを敗れたという