【JavaScript】スクリプト バトルロワイヤル49【php,py,pl,rb】at TECH
【JavaScript】スクリプト バトルロワイヤル49【php,py,pl,rb】 - 暇つぶし2ch1:デフォルトの名無しさん
15/04/29 20:58:27.13 ynuTQJZG.net
前スレ
【Lisp】スクリプト バトルロワイヤル48【pl,rb,php,js】 [転載禁止](c)2ch.net
スレリンク(tech板)

2:デフォルトの名無しさん
15/04/30 07:39:12.33 MvFOmsyD.net
2ん玉乱太郎

3:デフォルトの名無しさん
15/04/30 12:06:10.10 sdNUaG12.net
Swift万歳\(^o^)/

4:デフォルトの名無しさん
15/04/30 15:11:46.66 i/9khIDz.net
やっはろー(≧∇≦)
宇宙史上最大の市場規模を誇るSwiftこそ至高(≧∇≦)

5:名無しのプログラマー
15/04/30 21:57:33.92 Cq4XJc0D.net
JavaScript一択

6:デフォルトの名無しさん
15/04/30 22:08:47.47 LMpi+6WV.net
ES6は早くモジュール周りがまとまらないだろうか

7:デフォルトの名無しさん
15/04/30 23:13:44.04 SVCHT1aq.net
人類はgoogleに、jsに依存しぎた。その危うさについて、その凄惨な未来について、
今はまだ誰も想像することができなかった。

8:デフォルトの名無しさん
15/05/01 08:06:04.32 bNV+Z7Mu.net
>>6
いつまでグダグダやってるんだろうね。
スパっと決めりゃいいのに、時間掛かりすぎ。その割には、まともなものが出た
試しがない。

9:デフォルトの名無しさん
15/05/01 08:14:34.64 lwiWTNrd.net
言語は個人のセンスで作った方が良いものができる
もうアンダースヘルスバーグあたりに全権委任しろよ

10:デフォルトの名無しさん
15/05/01 10:12:03.50 0


11:GoFDzmc.net



12:デフォルトの名無しさん
15/05/01 11:16:17.38 JXntfV4T.net
JSで組んだ物がすぐに、iOS, Android, Windows Phoneアプリに完全に移植できて、なおかつそのJSの可読性がめちゃくちゃ高い方が良いんだけども、そんな事って可能なの?LLVM?
それか最悪モバイルアプリはSwiftで(後からAondroidやWindowsに自動で移植)
それ以外は全てJSで。
こんなふうになればより多くのサービスが世の中に生まれてきて、他の学問やセンスの良い人良いアイディアを持った人がバンバンサービス出して日本も面白い事になると思うのだが。
日本は勘違いした2次元好きやアホみたいに上から理屈を延々と並べてしか会話できない様なクソ自称プログラマーが多すぎてポンコツ。

13:デフォルトの名無しさん
15/05/01 13:54:15.15 8Yyb98Ue.net
そうか‥専用隔離スレに JavaScript を追加することにしよう‥

14:デフォルトの名無しさん
15/05/01 13:55:38.67 NUBjmeVD.net
URLリンク(news.careerconnection.jp)
昔、このスレを賑わせたakira developとか、ちんことかいうヤツが話題になってるね

15:デフォルトの名無しさん
15/05/01 13:59:14.77 NUBjmeVD.net
世間ではRubyやPython、Haskellが賑わせていたにも関わらず、
そいつに説教してたエンジニアはjs推しだったのを今でも覚えている

16:デフォルトの名無しさん
15/05/01 21:05:48.90 NUBjmeVD.net
Railsがあった頃から、Rhino on Railsはあったんだ
DHHが、ベンチャーや中小規模では如何にカリスマ的な存在だったかが分かるね
というか、まだ、誰かRails5になんて興味もっているの?

17:デフォルトの名無しさん
15/05/01 21:13:55.16 xWC+z5Rg.net
>14
> そいつに説教してたエンジニアはjs推しだったのを今でも覚えている
現状を見れば、説教できるやつっていうのは
自信があって、その時人には技術的根拠がある
場合が多いってことなのかもね。
URLリンク(pypl.github.io)
Rank Change Language Share Trend
1 Java 24.1 % -0.9 %
2 PHP 11.4 % -1.6 %
3 Python 10.9 % +1.3 %
4 C# 8.9 % -0.7 %
5 C++ 8.0 % -0.2 %
6 C 7.6 % +0.2 %
7 Javascript 7.1 % -0.6 %
8 Objective-C 5.7 % -0.2 %
9 Matlab 3.1 % +0.1 %
10 R 2.8 % +0.7 %
前回から10位落ちしたもの
12 Ruby 2.5 % +0.0 %
13 Visual Basic 2.2 % -0.6 %

18:デフォルトの名無しさん
15/05/01 21:22:27.51 lEcrZG2g.net
microsoftまでjavascriptに本気だしなぁ
実際はtypescriptだけど

19:デフォルトの名無しさん
15/05/01 21:57:24.39 Lf/t73ap.net
スレタイからするとSwiftの話題はココじゃない事になったんじゃないの?
別スレ立ててそっちへどうぞ

20:デフォルトの名無しさん
15/05/01 22:04:54.01 0GoFDzmc.net
>>16
11位に急上昇のNexカマーSwiftさんが居て軽く濡れた
これは恐らくオープン化を見越した医学系分野からの期待も含めた上昇でもあるも思われる
医学研究の進歩に貢献という大義名分なResearchKitというオープンフレームワークがあって、それはウェアラブルで真価を発揮し、Appを素早くSwiftで作成は理に適っている
現在世界で一番広く大きくエレガントでセキュリティ的にも安全な市場だからだ
そもそも医学というのは先進国にとどまらず世界各国どこの国地域でも一握りのトップクラスでエリートの卵である学生が目指す分野
それは日本でも例に漏れず、旧帝の医学部はいわずもがな
とどのつまりフレームワークだけがオープンではダメでそのための言語もオープンでなくてはいけない
でないとと医学のエリートは満足どころか不安を覚えるのは至極当然である
何故なら我々は単一のプラットフォームに依存したもので医学、医療技術、ライフサイエンスの閉鎖的な発展は望まないし、そもそもが歴史的に見てもそれは成し得ないからだ
そしてそれは当のアップルも理解しているらしくだからこそのオープンフレームワークなのだろう
あのアップルがまずは前代未聞のフレームワークをオープンにし医学研究コミュニティとの連携を図ってきた
その後は当然言語もオープン化されると思われる、何よりそのコミュニティに参加しているメイヨーやMIT、オックフォード、スタンフォードなどの世界的名門医学/研究機関が黙ってはいない
必ず圧力がかかる、それも生半可なものではなく世界的トップ頭脳がひしめく医学系の圧力だ政治など比較対象にすらならん
長くなったがまぁつまりあれだ、お前らがこの領域に踏み込めることは未来永劫あり得ないがSwiftは今すぐでも触れ!絶対に損はしない!

21:デフォルトの名無しさん
15/05/01 22:09:30.09 0GoFDzmc.net
因みに某○都医科大学の知り合いから声がかかりSwiftのオープン化に向けてアップルに書簡通達する旨につき協力を仰がれたり何たり
今年はもうGWも吹っ飛ぶ忙しさだよ参ったわ

22:デフォルトの名無しさん
15/05/01 22:48:55.86 NUBjmeVD.net
swiftがmacでも、windowsでもlinuxでもbrowserでも動くようになったら使うわ
そうなったらアナウンスして

23:デフォルトの名無しさん
15/05/01 23:21:48.25 uHQWrJk2.net
7,8年前のiPhone上陸したときObj-C(笑)なんて馬鹿にしてた俺を尻目に同僚が俊敏に行動しObj-C市場に移って今や国内で年収1000万を超えるプレイヤーだもんなぁ
多分今回もSwift市場に果敢に挑む者は数年後プチ成功プログラマーになってるんだろうな

24:デフォルトの名無しさん
15/05/01 23:53:28.80 PWvz5+9O.net
とりあえずJS厨とSwift厨はスルーってことで合意できそうな空気が整ってきたな

25:デフォルトの名無しさん
15/05/02 02:58:39.79 5Ov1zRgR.net
ruby,python,groovy,clojure,scalaって、最近、何の話題も聞かないんだけど

26:デフォルトの名無しさん
15/05/02 02:59:39.44 5Ov1zRgR.net
>>22
手堅くIoTとWebCRTに賭けるよ

27:デフォルトの名無しさん
15/05/02 04:3


28:7:29.22 ID:eb8YBKsF.net



29:デフォルトの名無しさん
15/05/02 04:48:27.72 6R55I/wK.net
JSはブラウザでしょうがなく使うものであって、それ以上でもそれ以下でもない
AltJSが隆盛なのをみても分かる通り、JSは実装は優れてるかもしれないが言語仕様としてはお粗末そのもの
Swiftはどれだけがんばっても同じようにベンダーロックインされたC#にすら及ぶかどうか

30:デフォルトの名無しさん
15/05/02 08:03:46.37 9R2187uJ.net
>>27 の意見が妥当なところだろうね
とりあえずSwiftはスクリプトではないのははっきりしてるわけだから、
別スレに行くかスレタイを変えるか、どちらかにしないとね

31:デフォルトの名無しさん
15/05/02 08:34:37.93 NH4NkmXO.net
>>26
これ

32:デフォルトの名無しさん
15/05/02 09:33:26.17 El93VR7c.net
>>27
> AltJSが隆盛なのをみても
いつ、AltJSが隆盛になったんだ?
使われてないだろう?

33:デフォルトの名無しさん
15/05/02 11:04:40.12 6R55I/wK.net
>>30
有名ドコロだけでも CoffeeScript、TypeScript、LiveScript などがある
CoffeeScript は Rails に採用されたことや、エディタ atom の開発言語としても有名
TypeScript は言わずと知れた MS 発であり、Angular2 では Google が MS とタッグを組むほど
この他にも色物くさいが brython、Opal、ScalaJS などもある
ただ、色物にしては開発はどれもアクティブなんだよなw

34:デフォルトの名無しさん
15/05/02 12:21:31.61 hodcznha.net
つか純粋なJSだけじゃダメなところがもうこの言語の限界だよな
今どきコンシューマでブラウザベースのサービスなんて誰も使ってくれんし、みんなApp経由で遊んでる
AppもインスタグラムみたいにフロントエンドはHTML5で後はネイティヴってのが主流だしJSさんの出番は時が経つにつれ皆無ってきてる現状だは

35:デフォルトの名無しさん
15/05/02 14:40:21.80 BKgedNqX.net
CoffeeScriptやTypeScriptなんて、ほとんどJavascriptのようなもんだろ
JavaScript覚えてないと使えないし、覚えてればすぐに使える
そもそも、Javascriptだってどんどん進化していくし、限界なんてあるわけない

36:デフォルトの名無しさん
15/05/02 14:47:55.24 BKgedNqX.net
React NativeのようにJavascriptでNativeアプリを作る方法も
生まれているし、JavaScriptはどんどん使われていくだろうね

37:デフォルトの名無しさん
15/05/02 15:15:12.40 6R55I/wK.net
>>33
JavaScript自体は各ブラウザごとの事情があるからそんなに劇的には進化できない
そのためもあってCoffeeScriptやTypeScriptが出てきたんだね
ブラウザアプリを考える上でJavaScriptという基盤は必要不可欠だし、その基盤の上で
JavaScript系の言語が色々と出てくるのはいいことじゃないかな
JavaScript自体は好き好んで書くような言語じゃないし、選択肢が増えるのは開発者を
呼びこむメリットもあるしね
あと、ネイティブアプリが云々はもうちょっとそいつが成熟してからアピールしないとね
今の状態では数多くある泡沫候補のひとつにしかすぎない

38:デフォルトの名無しさん
15/05/02 15:29:46.68 BKgedNqX.net
ES6でCoffeeScriptがほぼ不要になるくらい劇的に変化するのに何言ってんだか
TypeScriptにしてもJavaScriptのスーパーセットだろ
スーパーセットになるのに、ブラウザごとの事情なんて関係ねえし
実際ES7ではTypeScriptからの機能がいろいろあるようだしな

39:デフォルトの名無しさん
15/05/02 15:50:54.78 6R55I/wK.net
>>36
ES6で本格的に書けるのはいつになることやら
まずES6の仕様策定自体がスケジュールが伸びまくってる状態
さらに仕様が策定されてブラウザに実装されても古いブラウザが完全に淘汰されるまでは
無理だろうからね

40:デフォルトの名無しさん
15/05/02 16:05:18.65 BKgedNqX.net
Babelなどを使えば今でも本格的に書けるよ?
知らなかったの?

41:デフォルトの名無しさん
15/05/02 16:59:25.73 p2qIYtVZ.net
Babel遅いやん

42:デフォルトの名無しさん
15/05/02 17:44:38.01 0sOCQ5lR.net
>>31
> 有名ドコロだけでも CoffeeScript、TypeScript、LiveScript などがある
あるからって使われているわけじゃない。
> CoffeeScript は Rails に採用されたことや、エディタ atom の開発言語としても有名
それだけ。
> TypeScript は言わずと知れた MS 発であり、Angular2 では Google が MS とタッグを組むほど
それだけ。

有名な所が使った例しか見つからない。
ほとんどの開発者はAltJSを使ってないよ。

43:デフォルトの名無しさん
15/05/02 18:14:10.50 KsFrSYmH.net
>>37
ES6はもうFinal Draftまで出てるよ。
それにドラフトの進み具合はもうぶっちゃけ関係ない。
ChもFxもES7の仕様が固まったのを先行実装してるし、
ローダー周りとか国際化周りとか、別仕様にどんどん分離されてる。
ES6がES2015と名前を改名したように、これから1,2年置きに仕様出していく予定だし、
殆どLiving Standerdみたいなもん。
いつまでも完成することはないし、使える使えないは個人が判断すること。

44:デフォルトの名無しさん
15/05/02 19:10:07.02 zzHcK0W8.net
どれだけjs万能可能性論を叫ぼうが現実として圧倒的過半をしめるコンシューマ市場では>>32が指摘する通りネイティヴかHTML5/ネイティヴである
結局のところブラウザ以外でjsを使うと糞アプリ/サービスとなってしまうのでjsさんが入り込める余地は未だ無いに等しい
繰り返す、今やブラウザ経由が滅びつつあるライフスタイルでjsさんの出番は皆無となっているのだよ諸君

45:デフォルトの名無しさん
15/05/02 19:27:14.21 JlylPCL2.net
ブラウザ云々というか
HTML/DOMがアプリを作るための基板として認められてきてるのが事実だと思うよ。

46:デフォルトの名無しさん
15/05/02 19:45:59.76 zzHcK0W8.net
残念ながらアプリ作成の基盤としてDOMは使われてはいない

47:デフォルトの名無しさん
15/05/02 19:49:07.68 zzHcK0W8.net
世界的なモバイルアプリであるインスタグラムにDOMは使われているか?
答えは「ノー」だ!
何故HTML/ネイティヴでDOMは省かれたのか?
答えは至ってシンプルでユーザビリティに起因するからである

48:デフォルトの名無しさん
15/05/02 19:55:19.61 NPD96cYa.net
5年後もブラウザHTML相手はES3メインですよ。

49:デフォルトの名無しさん
15/05/02 20:29:07.46 8BK51zCJ.net
流石にアプリ基盤にDOMなんぞ使わん

50:デフォルトの名無しさん
15/05/02 22:22:36.53 5Ov1zRgR.net
jsを推すけど、altJSだけはないわー
大本のjsで書くメリットがないじゃん
>>45
そんなものビジネス規模が大きくなってから考えればいいから

51:デフォルトの名無しさん
15/05/02 22:33:56.69 8BK51zCJ.net
へ?最初はユーザビリティ無視するの?
そんなのそもそもが使ってもらえるわけないやん

52:デフォルトの名無しさん
15/05/02 22:40:46.33 PF5/uCn8.net
JSとSwiftだけ使っとけばマジで作りたいウェフサービスなんでもできそうだな。
まず話題を集めたいならモバイルでiPhoneからだろうし、
優勢すぎてMicrosoftもiOSアプリを変換するソフトを出す始末。
フロントもエンドもJSで。

53:デフォルトの名無しさん
15/05/02 22:42:57.81 s05aYLEG.net
>>45
> 何故HTML/ネイティヴでDOMは省かれたのか?
だって、HTMLもDOMもJavaScriptじゃないし。
ブラウザが搭載しているライブラリにすぎないよ。
だから純粋なJavaScriptなら、DOMは元から含まれない。

54:デフォルトの名無しさん
15/05/02 22:44:44.91 9R2187uJ.net
jserの"なんでも"は語弊があり過ぎ 狭すぎ

55:デフォルトの名無しさん
15/05/02 22:51:35.67 +3JS5FNC.net
>>50
だな
とりま今の現状を鑑みるにSwift一択で勝負
保険にjsをちょこちょこ触る
てな感じかな
あとはMSの起死回生になりうるHoloLensがいかなるものか...特にゲームなどのエンタ方面での爆発力を予感させる
てことでまぁこれも保険というか少なくともjsよりは真面目にUnityでC#触っとくべきかな

56:デフォルトの名無しさん
15/05/02 22:53:46.37 5Ov1zRgR.net
swiftなんて保険にもならない。
ゲームプログラマなら、最初から全てをソレに賭けてるから

57:デフォルトの名無しさん
15/05/02 23:05:59.24 8BK51zCJ.net
えっと...何でゲーム限定?

58:デフォルトの名無しさん
15/05/02 23:08:17.81 s05aYLEG.net
ゲームの事しか知らないからだろw

59:デフォルトの名無しさん
15/05/03 00:01:16.12 +1/GzoNu.net
ゲームプログラミングってWebとは比較にならないぐらい大変だし、
需要もないから近づきたくないわ

60:デフォルトの名無しさん
15/05/03 02:36:03.23 r6wgrf+g.net
日本ってなんで世界ではやるサービス作れないカスエンジニアばかりなのに、
ゲームとなった瞬間にFFやドラクエやキングダムハーツなど海外でも売れるゲーム作れるんだろうか。
他のジャンルのゲームも世界的に有名だし人気ありすぎだよね。鉄拳なんかも。
アニメ作るみたいに手がかかる作業だからゲームも凄いの?
最近はピクサーがアニメは凄すぎだが

61:デフォルトの名無しさん
15/05/03 04:11:29.42 zxj6HICr.net
それはこのスレで聞かないほうがいいな
ここはいかに俺にとって素晴らしい言語かを言い合う場所だから

62:デフォルトの名無しさん
15/05/03 05:19:27.42 ucRg2o2p.net
ドラクエはそうでもないな
80年代、90年代と比べると、日本のゲームの評価は凄く落ちてるし

63:デフォルトの名無しさん
15/05/03 05:32:26.76 564ILq9/.net
世界と言っても現実的に国内の数倍程度のマーケットしか見込めない。
スマホではこのところ日本の課金額がずっと2位1位だし。
それに日本は老若男女に受けるものを作るのは旨いと思うよ。

64:デフォルトの名無しさん
15/05/03 07:28:15.47 aiD72K3t.net
どれだけJS壊滅論を叫ぼうが、JS一人勝ちの状況は変わらん
ネイティブアプリもJSがメインになると思う
Swiftは負ける

65:デフォルトの名無しさん
15/05/03 08:00:57.89 7AJkLeM5.net
>>62
JS しか見えてないんだろうな...

66:デフォルトの名無しさん
15/05/03 08:14:49.08 5s3y+RNy.net
jsがpy,pl,rbに圧勝しちまったのは事実で、半永久的に逆転はない。
かすかな可能性があるとしたらplだと思う。ハッカーだのギークだのと自称していたような浅はかでレベルの低いミーハーな連中が世代交代で淘汰されつつある現在からのタイミングに本物達がplに没頭したら怖いぞ。

67:デフォルトの名無しさん
15/05/03 08:27:30.77 O5TW7WMk.net
具体的に事実を証明してくれないか

68:デフォルトの名無しさん
15/05/03 09:29:02.87 aiD72K3t.net
事実として現在Webアプリが圧倒的市場規模であり、
その中で圧倒的なのがJS
これだけでもJSの勝利なのだが、
デスクトップアプリもモバイルネイティブアプリも
JSの有力なソリューションが出てきた
あとはただ浸透していくだけの状況
JSの圧倒的一人勝ちの未来しか見えない

69:デフォルトの名無しさん
15/05/03 09:33:32.67 aiD72K3t.net
これほどまでにJSが圧倒的な理由は、言語仕様の素晴らしさにある
クロージャを備え、オブジェクト記法を備え、柔軟性を備えていた
これにより、新しい言語仕様ができたらすぐにPolyfilやコンパイラができる
枝葉末節の粗に囚われて本当の素晴らしさが分かっていなかったバカが多かったが
時代はJSの本当の素晴らしさを証明した

70:デフォルトの名無しさん
15/05/03 09:37:15.99 O5TW7WMk.net
思い込みじゃなくてw
実際の数字とか

71:デフォルトの名無しさん
15/05/03 09:55:06.48 7AJkLeM5.net
>>64
> かすかな可能性があるとしたらplだと思う。
ないわ~ w

72:デフォルトの名無しさん
15/05/03 10:24:36.14 3KH0KCaR.net
やっぱりSwift、JS厨はスルーしかないな、もう

73:デフォルトの名無しさん
15/05/03 11:23:00.74 aiD72K3t.net
実際の数字
URLリンク(redmonk.com)
1 JavaScript
2 Java
3 PHP
4 Python
5 C#
5 C++
5 Ruby
8 CSS
9 C
10 Objective-C
11 Perl
11 Shell
13 R
14 Scala
15 Haskell
16 Matlab
17 Go
17 Visual Basic
19 Clojure
19 Groovy
JSが勝者で決まってしまったから、このスレの存在意義がなくなってしまったな

74:デフォルトの名無しさん
15/05/03 11:31:34.12 aiD72K3t.net
やべー、これを使えばクロスプラットフォームのデスクトップアプリが作れちゃうw
しかもAtomのような本格的なソフトが作れることがすでに証明されているw
URLリンク(electron.atom.io)
やべー、これを使えばモバイルのネイティブアプリが作れちゃうw
しかもFacebook Groupsのような本格的なソフトが作れることがすでに証明されているw
URLリンク(facebook.github.io)
JavaScript最強すぎワロタw

75:デフォルトの名無しさん
15/05/03 12:12:46.85 I75TtZUp.net
JavaScriptはやむなく使ってるのは多いだろ。
ブラウザの言語としてほぼ採用されてる標準だから。
自分はJavascript押しだが。
環境次第で互換性がないのが弱点。
JavaScriptという枠で複数言語を含んでるようなもの。
JavaScript自身が統一言語、仕様にならないと難しい。

76:デフォルトの名無しさん
15/05/03 12:21:14.02 aiD72K3t.net
何言ってんだ
今どきJavaScriptに互換性の問題なんてほぼないぞ
Polyfillやコンパイラがあるのだから
ブラウザがWebGLに対応していないとか、
そういうブラウザの機能の互換性はあるかもしれないが、
それはJavaScriptとは別の問題だろう

77:デフォルトの名無しさん
15/05/03 12:25:30.23 aiD72K3t.net
しかも、nodeやChromeはほぼどんなOSでも動く
今やこうしたOSの互換性の問題を解決するのがJSという位置づけだろう

78:デフォルトの名無しさん
15/05/03 12:28:50.06 I75TtZUp.net
高度なレベルでなく、標準機能ですら互換性がない

79:デフォルトの名無しさん
15/05/03 12:31:03.61 aiD72K3t.net
たとえば?
Polyfill使えばたちどころに解決するものしか思い浮かばないが

80:デフォルトの名無しさん
15/05/03 12:33:29.16 I75TtZUp.net
利用者側がマルチプラットフォームなJavascriptの実装やライブラリを選択して使い
利用者側がその仕様にあわせればあうだろうが。
世の中全体がそうなってなく、実行できないソースコード、ライブラリが世の中にあふれている。

81:デフォルトの名無しさん
15/05/03 12:34:34.75 /BBLGU8S.net
>>74
> 今どきJavaScriptに互換性の問題なんてほぼないぞ
上位・下位互換性や前方・後方互換性という言葉の意味知ってる?
その名の通り互換性の話なんだけど?
互換性っていうのは全く同じ機能という意味じゃない。
足りない機能があってPolyfillで埋めたとしても
それは新しいOSに搭載された新機能を
古いOSには搭載されていないのと同じで
互換性があることには変わりない。

82:デフォルトの名無しさん
15/05/03 12:34:54.94 aiD72K3t.net
溢れてないと思うが?
何の話なんだ?
具体例を出してみてくれよ

83:79
15/05/03 12:35:52.98 /BBLGU8S.net
ごめん。読み間違えてたw
>>74は互換性があるって言っていたねw

84:デフォルトの名無しさん
15/05/03 12:36:01.29 aiD72K3t.net
>>79
分かった分かった
じゃあ、互換性の問題はあるってことにしよう
ただし解決できるので困らないがw

85:デフォルトの名無しさん
15/05/03 12:37:20.23 aiD72K3t.net
>>81
ああ、なるほど
君もJavascriptの互換性については問題ない派のようだね

86:デフォルトの名無しさん
15/05/03 12:39:29.52 BpdPzAyw.net
>>58
そりゃお前WEB系よりゲーム方面のエンジニアリングが圧倒的に難易度高いからだろ
だから特に日本はWEB系には落ちこぼれやナンチャッテ系しか集まらずゲーム業界にはとんでもないエンジニアやクリエイターがゴロゴロいる
後はゲームはなんだかんだとファミコンゆかりの地である日本のお家芸的な自負あるし世界からも認められているという点もあるだろうな

87:デフォルトの名無しさん
15/05/03 12:40:13.91 aiD72K3t.net
確かにJavaScript自体の互換性ではなく、ブラウザの機能の互換性の問題なら
たくさんある
CSSが動かないとか、SVGのレンダリング結果が違うとか
そういうやつね
そういう意味なら古いブラウザで動かないライブラリはたくさんあるよ

88:デフォルトの名無しさん
15/05/03 12:48:17.73 I75TtZUp.net
ある環境で動作するコードを別のところへ持っていくと、動かないか、動いたとしても応答が違う。

ECMAScript - Wikipedia
ECMAScriptの方言およびその呼称
Mozilla JavaScript
JScript
JScript (Chakra)
Opera ECMAScript, with extensions to both JavaScript and JScript
Konqueror(KJS)
Safari(JSCore)
iCab InScript
JScript .NET
ActionScript
Adobe Acrobat JavaScript
Adobe Creative Suite ExtendScript
DMDScript
QtScript
Max/MSP JavaScript
Google Chrome JavaScript

89:デフォルトの名無しさん
15/05/03 12:49:08.20 aiD72K3t.net
>>84
日本のゲーム業界もレベルが高いとは思わないけどな
確かにそこそこ稼げてはいるが、それはレベルが高いせいではない
日本自体が全体的にレベルが低いよ
海外はWebもゲームもレベルが高い
それは給料がぜんぜん違うからだ
アメリカのWebエンジニアは日本の3倍近くの給料だ
そんな状況で優秀な奴が日本に集まるわけ無いだろ

90:デフォルトの名無しさん
15/05/03 12:52:18.71 I75TtZUp.net
>>85
すぐには上げられないが。
あるJavascript環境では標準的な関数や文法であったとしても、
べつのところではそれ自体が使えないか、動作が違う。
そういうのがJavascriptには無数にある。

91:デフォルトの名無しさん
15/05/03 12:59:48.42 aiD72K3t.net
>>86
方言って言ったらCommon LispとSchemeくらい違っても
方言になるしなあ
方言持ちだすのは違う
そして、その中で今よく使われてるのは
Mozilla JavaScriptとChrome Javascriptくらいだろうけど
その2つはかなり互換性があるよ
>>88
今はそんな状況じゃないと思う
各モダンブラウザのJavascriptの、互換性ははっきり言って相当高い
nodeもV8エンジンだから、結局ほぼ互換性の高いエンジンで占められていると思う

92:デフォルトの名無しさん
15/05/03 13:10:08.69 I75TtZUp.net
言語仕様の差だけでもなく、node.jsだとノンブロッキング(I/O)を強要されるのもやばい。node.js用の書き方をしないといけない。

93:デフォルトの名無しさん
15/05/03 13:14:30.39 aiD72K3t.net
>>90
そうだとして、それはnodeではnode特有の処理を書かなくてはいけないという
当たり前のことであって、互換性の問題と呼ぶのは違わないか?
Windows特有の機能にはWindowsのための書き方をしなくてはいけないし
ネットワークにはネットワーク特有の処理を書かなくてはいけないのと同じことだろ

94:デフォルトの名無しさん
15/05/03 13:22:12.17 I75TtZUp.net
Javascript界がたとえばnode.jsで全世界統一されてるならそれでいいんだが。
そうなっていない現状がJavascriptの弱点。結構使われてる環境どおしでコードを流用しようとしても動かない。

95:デフォルトの名無しさん
15/05/03 13:25:52.94 I75TtZUp.net
訳:Node.jsは癌だ
原文を読んでみたら罵倒しまくってて面白かったので全文翻訳してみました。
原文はNode.js is Cancerです。
URLリンク(blog.uu59.org)


Node.jsはソフトウェアの癌になる。
eBayのテクニカルスタッフであるTed Dziubaから衝撃的な記事が出たので、読んでしまいました。
Node.js is Cancer
要点を訳すと下記のような感じです。
?Node.jsがスケーラブルであるというのは嘘。
?Nodeの運用が難しい。
?やっぱりJavaScriptってWebアプリのロジックを書くのに向いてない。
URLリンク(yosuke-furukawa.hatenablog.com)

96:デフォルトの名無しさん
15/05/03 13:26:48.79 aiD72K3t.net
>>92
意味がわからない
お絵かきソフトのソースコードを金融システムに流用したって動かないだろうけど
それが弱点と言われてもな
ちなみにnodeのライブラリはbrowserifyを使ってブラウザ上で結構動くよ

97:デフォルトの名無しさん
15/05/03 13:27:48.30 aiD72K3t.net
>>93
2011年ねえ。。。

98:デフォルトの名無しさん
15/05/03 13:34:37.37 hfdn/Wn2.net
if (typeof my_var !== "undefined" && my_var !== null) {
// Rasmusも顔負けのマヌケだね!
}
これねえw
if (my_var != null) {
// こうやって簡潔に書けるのにマヌケだね!
}
Javascriptの枝葉末節の粗にとらわれて、本当の素晴らしさが分からなかった
バカって本当に多いなw

99:デフォルトの名無しさん
15/05/03 13:39:59.79 I75TtZUp.net
Javascriptは非常に基礎的部分ですら互換性がない。たとえばオブジェクトの型を調べるだけですら簡単でない。

Nakajiman Software Blog: JavaScriptにおける未定義値の判別方法
URLリンク(nakajiman.blogspot.jp)

JavaScriptの「型」の判定について - Qiita
URLリンク(qiita.com)

JavaScriptでオブジェクトの型を判別するのにtypeof演算子使うとツラいよね - Qiita
URLリンク(qiita.com)

JavaScript配列検出で起こる問題について ── 型判定の基礎
JavaScriptの「実行時型判定」は、機能が弱いことが知られているが、特に配列のチェックに於いて回避の難しい問題を起こすことが知られている。
URLリンク(oka-ats.blogspot.jp)

100:デフォルトの名無しさん
15/05/03 13:49:35.77 hfdn/Wn2.net
>>97
オブジェクトの型を調べるのが容易では無いのは、
別に互換性の問題では無いだろ
それに、お前の中の時間は2008年や2013年で止まってるのか
日本と海外の違いはこの辺にもよく現れてるな
配列の検出の問題は、今ならArray.isArrayで解決する

101:デフォルトの名無しさん
15/05/03 13:55:58.00 I75TtZUp.net
>>98
配列だけでないが。
2013年以前に実装されたエンジンもまだ使われてるだろ。Javascriptはどれか一つのエンジンか実装に統一されてない。
Javascriptはいたるところで環境差があるのは間違いない。

102:デフォルトの名無しさん
15/05/03 14:01:48.61 XZDYEtiX.net
2011年の記事を翻訳wwww
アホとしか思えない。
2015年の記事を翻訳してよイエローモンキー

103:デフォルトの名無しさん
15/05/03 14:02:14.00 hfdn/Wn2.net
>>99
配列だけではなく何が問題なの?
記事によると解決策が全て記されているが
2013以前のエンジンなんて、今はほぼ使われてないだろ
例えば、Array.isArrayがない主要環境はIE8くらいだが
これもes5-shimのような有名なPolyfillでたちどころに解決する問題

104:デフォルトの名無しさん
15/05/03 14:10:28.74 I75TtZUp.net
node.jsがノンブロッキングなのは今でもそうだから2011年の記事はいまでも通じる。

105:デフォルトの名無しさん
15/05/03 14:15:55.58 hfdn/Wn2.net
まあ記事そのものがもとから的外れなんだけどな
clusterも使わず一スレッドで、fib実行したらどんな環境でも遅くなるわ
もしかして2011年にはnodeにclusterがなかったのかもしれんがw

106:デフォルトの名無しさん
15/05/03 14:18:44.76 I75TtZUp.net
ライブラリ�


107:ナ環境差を埋められるのはJavascriptの特徴でない。 C/C++でもマルチプラットフォームのライブラリはある。 たとえばJavaやPHPの環境差はJavascriptのように多くない。



108:デフォルトの名無しさん
15/05/03 14:20:25.10 hfdn/Wn2.net
そして、他の言語と同様、今のJavaScriptに互換性の問題は
ほとんどない

109:デフォルトの名無しさん
15/05/03 14:30:51.43 I75TtZUp.net
node.jsの記事は、手続き型でない純粋関数型は難しいといいたんだろう。
Javascriptの枠で、ノンブロッキング/ブロッキング、手続き/関数型が混在していていまだ統一されてない。

110:デフォルトの名無しさん
15/05/03 14:36:01.72 /BBLGU8S.net
ん? 統一する必要あんの?
どちらか一方が、どんな場合でも優れているわけじゃないし。
用途が違うのに、統一する必要がない。

111:デフォルトの名無しさん
15/05/03 14:39:33.46 aiD72K3t.net
ノンブロッキングのプログラミングが難しいという話なら
まあ一応理解できなくもない
が、それもcoやES7のasync/awaitで難しくなくなった

112:デフォルトの名無しさん
15/05/03 14:40:16.19 /BBLGU8S.net
バカには難しい

113:デフォルトの名無しさん
15/05/03 14:40:45.80 I75TtZUp.net
統一されていないことが、 互換性が低いかない一理由。
node.jsをJavascript枠から追い出すか、
Javascriptの標準仕様がnode.jsに合わせたら互換性がよくなる。

114:デフォルトの名無しさん
15/05/03 14:43:11.27 /BBLGU8S.net
統一されてないことと
互換性に何の関係があるんだ?

115:デフォルトの名無しさん
15/05/03 14:43:14.42 aiD72K3t.net
お前の出したどの記事も互換性が低いとは一言も言ってないぞ

116:デフォルトの名無しさん
15/05/03 14:43:49.91 /BBLGU8S.net
むしろ統一しないことのほうが
互換性が高いことに繋がる。
前のものを廃止したら、
互換性が途切れるんだよ。

117:デフォルトの名無しさん
15/05/03 14:55:05.64 I75TtZUp.net
互換性の記事見つけてきたぞ。環境差は確かに存在する。

ECMAScript 6 compatibility table
URLリンク(kangax.github.io)

JavaScript - Wikipedia
現在では、ECMAScriptの策定により実装間の互換性は向上し、DOMなど関連仕様の実装に関する互換性も比較的高くなっている。
ただ、現在でも特定のブラウザでしか実行できないECMAScript以前の古い構文や、ブラウザ独自のDOMを使ったコードが使用されている場合があり、
互換性の問題が完全に解消されたわけではない。

118:デフォルトの名無しさん
15/05/03 15:01:38.73 /BBLGU8S.net
互換性はある = 100%の互換性
99.9% だったら 互換性はないということ
などと定義している馬鹿
いい加減消えないかな。

119:デフォルトの名無しさん
15/05/03 15:11:03.11 I75TtZUp.net
異なるJavascript同士に90%の互換性すらないとおもうぞ。
たとえばJavaだと本家(?)実装がシェアのほとんどを占めて90%以上の互換性は確実だろう。

120:デフォルトの名無しさん
15/05/03 15:12:49.59 aiD72K3t.net
そもそも>>114はES6のネイティブでのブラウザの対応状況だろ
ES6というのは、次期JavaScriptであって、それを先行して
どれだけ実装しているかということ
次期JavaScriptの先行実装状況に互換性どうこう言われてもな
言うなら現行JavaScriptであるES5.1の表を持ってこいよ

121:デフォルトの名無しさん
15/05/03 15:14:15.31 aiD72K3t.net
>>116
それは怪しいな
AndroidのDalvik(かなりのシェアを占めるだろう)は
Version8に全く対応していないから

122:デフォルトの名無しさん
15/05/03 15:18:45.95 aiD72K3t.net
ES5の表見つけてきた
Chrome(V8)、Firefox、IE10以降、iOS、Webkitと主要環境は軒並み100%
URLリンク(kangax.github.io)

123:デフォルトの名無しさん
15/05/03 15:25:29.56 I75TtZUp.net
独自仕様、先行仕様が多ければ多いほど互換性は減ってくるわけで。
ある環境では当たり前のコードが、他で動作しないのでは互換性が低い。
Dalvikと本家の差はしらないが、Javascriptだと実際にコピペしただけでは動作しないことが頻発するが。

124:デフォルトの名無しさん
15/05/03 15:29:16.49 aiD72K3t.net
先行仕様というのは、Javaで言えば、Java9の機能が使えるということ
これはプラスでありこそすれ、マイナスにはならない
互換性を気にする場合先行仕様なんて使わないからな

125:デフォルトの名無しさん
15/05/03 15:30:32.52 /BBLGU8S.net
> 独自仕様、先行仕様が多ければ多いほど互換性は減ってくるわけで。
それは互換性が減ったとは言わないよ。
高い互換性 + 独自仕様,先行仕様 だろ
完璧な互換性を持ったC言語コンパイラ二つあったとして、
一方がC99に新たに対応したら互換性が減った!って叫ぶ奴いねぇだろ?

126:デフォルトの名無しさん
15/05/03 15:35:40.54 hfdn/Wn2.net
AndroidはJava 8が全く使えない
さっきの表で言えば、ES5が全く0%の対応状況だと言ってるに等しい
それどころか、Java 7すら、ついこの間やっと対応した
当然ながらJavascriptはそこまでひどくない

127:デフォルトの名無しさん
15/05/03 15:53:59.85 I75TtZUp.net
Android Dalvikは6とか7に対応していて後方互換性があるなら実用上問題ないだろうが。
Javascriptは実装が相当あって互換性はかなり怪しいと思うが。
windowsにJScript(WSH)が組み込まれているが、これ自体、古い規格すらクリアしてないだろうし
最新のエンジンでJScript(WSH)のコードは動作しないことが多い。

128:デフォルトの名無しさん
15/05/03 15:57:32.73 /BBLGU8S.net
>>124
え?なに? Javaは互換性が低い、
iモードアプリ(Java製)が動かないから。
っていう話がしたいの?

129:デフォルトの名無しさん
15/05/03 15:58:05.60 qMGCv9q/.net
JScriptでTypeScriptのコンパイラも動いてるし問題ないだろ

130:デフォルトの名無しさん
15/05/03 16:06:24.22 aiD72K3t.net
WSHねぇ
この人はやっぱ2006年あたりで時が止まってるっぽいな

131:デフォルトの名無しさん
15/05/03 16:15:11.03 I75TtZUp.net
自分が止まってるのではなく、windows標準のJavascript環境が止まっていて、
いま使えるのは古くて更新されないJScript(WSH)だろ?
より新しいwindows標準のJavascript環境があるか?

132:デフォルトの名無しさん
15/05/03 16:17:51.84 aiD72K3t.net
MSはブラウザ用には更新しているし、PowerShellという新しい代替品を
使ってほしいから更新してないだけだろうに

133:デフォルトの名無しさん
15/05/03 16:17:59.40 /BBLGU8S.net
JScriptとWSHの違うも理解してないみたいだしなw
ちなみに、IE9に搭載されているのはJScript 9.0。
IE9で動くのはJScriptであり、
そのコードがJavaScriptでも動いてるから
互換性があることは証明済みである

134:デフォルトの名無しさん
15/05/03 16:20:44.63 aiD72K3t.net
Windows 8では新しいJavaScript(これはJScriptとは呼ばれていない)で
アプリが作れることも知らないらしい

135:デフォルトの名無しさん
15/05/03 16:30:05.05 aiD72K3t.net
そういえば、ひそかにMacもYosemiteからJavaScriptで
AppleScriptを代替できるようになったよな
JavaScriptでMacのアプリも作れて自動化作業もできる時代
JavaScriptが着実に言語の争いを制覇しつつあるね

136:デフォルトの名無しさん
15/05/03 16:42:33.83 I75TtZUp.net
これだろ?
計画段階であってNode.jsがwindowsの標準として取り込まれてない。


マイクロソフトのJavaScriptライブラリー「WinJS」について知っておくべき5つのこと
Node.js は、自分のローカル・マシンに WinJS を構築するための必須コンポーネントだ。
恐らく WinJS は、Node 上で動作することによって、アプリ内でのチャットやユーザー・インタラクションのような非同期タスクを適切に処理することができるのだろう。
しかし、ほとんどの JavaScript フレームワークが Node と連携するよう設計されているため、これは特別ユニークではない。
恐らく WinJS の一番の利点として挙げられるのは、マイクロソフトがこのフレームワークに含めた JavaScript のライブラリ群だろう。
このライブラリ群は、複雑なコードを迅速かつ簡単に開発することを可能にしてくれる。
トライアル・ページでは美しいインタラクティブなウィジェットが紹介されており、これらは組み込みも非常に簡単だ。
そして Angular のような、既に信頼を勝ち取っている他のフレームワークと一緒に WinJS の機能を使えるという事実も、多くの開発者が WinJS を試してみたいと思う動機となるだろう。
URLリンク(ascii.jp)

137:デフォルトの名無しさん
15/05/03 16:51:54.47 hfdn/Wn2.net
計画段階ってなんの話だ?
WinJSならとっくにリリース済みだが

138:デフォルトの名無しさん
15/05/03 16:58:20.97 hfdn/Wn2.net
まあJavaScriptの世界の動きは他とは次元の違う早さだから
ついていけないのは分かる

139:デフォルトの名無しさん
15/05/03 17:01:54.00 /BBLGU8S.net
>>133
> 計画段階であってNode.jsがwindowsの標準として取り込まれてない。
JavaもRubyもWindowsの標準として取り込まれてないが、
お前は一体何の話をしてるんだ?

140:デフォルトの名無しさん
15/05/03 17:03:14.47 I75TtZUp.net
windowsの最新版でもプレビュー版でもアップデートでも
コマンドプロンプトとかScript(WSH)とかPowerShellのようにOSに組み入れられず
開発者に試してもらうための公開だろ。

141:デフォルトの名無しさん
15/05/03 17:04:37.34 hfdn/Wn2.net
JavaScriptでアプリを開発するのが開発者じゃなくて何なんだよw
試してもらうんじゃなくて、本当に使ってもらうんだろうがw

142:デフォルトの名無しさん
15/05/03 17:04:58.45 I75TtZUp.net
>>136
だからwindows標準のJavascript環境は、古いJScript(WSH)のまま。

143:デフォルトの名無しさん
15/05/03 17:05:28.05 /BBLGU8S.net
>>137
今はオープンソースはgithubで公開するのが
正式リリースと言ってもいい状況なんですが?
なぁ、お前。10年ぐらい前から何か成長した?

144:デフォルトの名無しさん
15/05/03 17:06:04.38 /BBLGU8S.net
>>139
> だからwindows標準のJavascript環境は、古いJScript(WSH)のまま。
新しいJScriptですけど?
えと、JScriptがバージョンアップしているのって
もしかして知らない?

145:デフォルトの名無しさん
15/05/03 17:07:47.25 /BBLGU8S.net
じゃあ、話しそれて、Windows 10のJavaScriptの話でもするか?w
Windows 10におけるMicrosoft JavaScriptエンジンの仕組み
URLリンク(www.infoq.com)
いやー、すごい仕組みだわこれ。

146:デフォルトの名無しさん
15/05/03 17:09:18.03 hfdn/Wn2.net
あと、JavaScript(JScriptではない)がVisualStudioにくっついてくるけどね
まあ確かにVisualStudioはOS標準ではないがw

147:デフォルトの名無しさん
15/05/03 17:11:01.29 I75TtZUp.net
JScript - Wikipedia
JScript
バージョン 5.8 2009年3月
JScript .NET
バージョン 10.0 2010年4月13日

148:デフォルトの名無しさん
15/05/03 17:11:31.79 /BBLGU8S.net
Windows 10に標準搭載されてるChakraってJScriptは凄いらしいね。
カコのバージョンよりも数十倍早くなっているらしい。
Windows ストアアプリ の JavaScript エンジンとしても使用されているってよ

149:デフォルトの名無しさん
15/05/03 17:12:53.36 hfdn/Wn2.net
>>144
wikipediaも日本と英語で情報格差があるのかw

150:デフォルトの名無しさん
15/05/03 17:14:04.68 z/HlZYol.net
画像見つけてきたわ。新しいWindowsではこんなふうになってるんだな。
JavaScriptが普通に使えるなんて。OS標準搭載されたから当然か。
URLリンク(our.componentone.com)

151:デフォルトの名無しさん
15/05/03 17:16:00.13 Q2e6sJJ5.net
>>147
JavaScriptはネイティブ言語同等の扱いになってるね。
ここまでOSに採用される言語は、もう他にないのでは?

152:デフォルトの名無しさん
15/05/03 17:18:36.01 Q2e6sJJ5.net
>>146
あるぞw
Chakra (JScript engine)
URLリンク(en.wikipedia.org)
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:デフォルトの名無しさん
15/05/03 17:24:25.99 I75TtZUp.net
Javascriptがダメな所は、Chakraとかnode.jsとか独自仕様で開発する所。
たとえばnode.js互換で実装して速度を競うんだったらいい。
それをさっきから指摘してるわけだが。互換性をなくそうとしない。

154:デフォルトの名無しさん
15/05/03 17:25:55.49 hfdn/Wn2.net
ChakraとV8(node)はとても互換性が高いと思うが
独自ってなんのことだ?

155:デフォルトの名無しさん
15/05/03 17:28:29.44 Q2e6sJJ5.net
150のふり

独自って言ったら独自なんだ!
名前が違うのがその証拠!

156:デフォルトの名無しさん
15/05/03 17:30:02.77 Q2e6sJJ5.net
皆わかってるけど、I75TtZUpって
言語と動作環境とライブラリを
全部ごっちゃにしてるんだよねw
だからWSHがでてきたりJavaScriptと
node.jsを比較したりするw
まあ、馬鹿だよ。こいつは。

157:デフォルトの名無しさん
15/05/03 17:30:59.81 Q2e6sJJ5.net
> Javascriptがダメな所は、Chakraとかnode.jsとか独自仕様で開発する所。
Rubyに例えると
Rubyがダメな所は、Railsとか独自仕様で開発する所。
まあこんな感じだろう。

158:デフォルトの名無しさん
15/05/03 17:35:43.74 hfdn/Wn2.net
node.jsのエンジンがブラウザのChromeと同じエンジンだってのも知らないんだろうな

159:デフォルトの名無しさん
15/05/03 17:36:25.20 kwbWbObW.net
JavaScriptはCのように手続き型っぽく書けたり、Javaからメソッド取ってたりと
落ち着きがあるんだよな。
それに比べてPythonやRubyはやんちゃだから落ち着いたOSの標準スクリプトになるのは難しい。
但し落ち着いたを古臭いと言い換えても成り立つ。

160:デフォルトの名無しさん
15/05/03 17:36:50.96 hfdn/Wn2.net
ことによると、Chromeも知らないんじゃないか
2006年あたりから時が止まってるようだし

161:デフォルトの名無しさん
15/05/03 17:40:08.40 qMGCv9q/.net
Chakraはただのエンジンだろ?
node.jsとは全く土台が違うし
つーかMicrosoftもVisual Studio CodeじゃChromiumとNode.jsで実装されてるし
一枚岩じゃないな

162:デフォルトの名無しさん
15/05/03 17:41:40.31 hfdn/Wn2.net
>>158
それらは全部ES5の仕様の互換性を当然のように守っているから
エンジンがどれだろうと問題ないのだろう

163:デフォルトの名無しさん
15/05/03 17:43:36.16 I75TtZUp.net
Node.jsと他のJavascriptエンジンで決定的な差はノンブロッキングを徹底してるかどうか。
たぶん、Chakraがノンブロッキングを徹底することはないとおもうが。ここが一致しないと動作が違ってくる。

164:デフォルトの名無しさん
15/05/03 17:44:18.99 hfdn/Wn2.net
>>160
クッソワロタw

165:デフォルトの名無しさん
15/05/03 17:44:34.52 Q2e6sJJ5.net
>> 158
> つーかMicrosoftもVisual Studio CodeじゃChromiumとNode.jsで実装されてるし
そこが今のマイクロソフトの怖いところなんだよな・・
ナデラCEOになってから、倫理的にも技術的にもビジネス的にも
正しいことをし始めた。やってることはマイクロソフトが儲かるという
ビジネス的に正しいことなんだが、それでいてオープンソース陣営とか
かつてMSとは敵対関係にあったような人たちが喜ぶことをしている。
だから面と向かって批判できない。正しいやり方で
マイクロソフトを大きく拡大しようとしている。
あと5年ぐらいたてば、かつて無いレベルであちこちを侵食しているよ。

166:デフォルトの名無しさん
15/05/03 17:45:03.82 +1/GzoNu.net
URLリンク(techcrunch.com)

167:デフォルトの名無しさん
15/05/03 17:45:39.47 Q2e6sJJ5.net
>>160
> Node.jsと他のJavascriptエンジン
え? Node.jsはJavaScriptエンジンじゃありませんが?

168:デフォルトの名無しさん
15/05/03 17:48:05.59 hfdn/Wn2.net
Visual Studio Codeってそういえばまだ一週間経ってない出来事だったっけ
時代の変化が早すぎてもう古い情報のように聞こえてしまうw

169:デフォルトの名無しさん
15/05/03 17:48:08.67 Q2e6sJJ5.net
今のMSの勢いだと、Node.jsの実行エンジンとしてChakraを
使えるようになるってこともありそうな気がするね。
>> ID:I75TtZUp
俺が言ってる意味分かんないでしょ?w

170:デフォルトの名無しさん
15/05/03 17:49:47.44 qMGCv9q/.net
JavaScriptで実装されたエディッタでインテリセンスがサクサク動く時代だし
もうネイティブがどうとか無意味っすわ

171:デフォルトの名無しさん
15/05/03 17:50:30.30 hfdn/Wn2.net
ノンブロッキングを徹底するかどうか (`・ω・´)キリッ

172:デフォルトの名無しさん
15/05/03 17:52:07.63 Q2e6sJJ5.net
Chakraはノンブロッキングを徹底してるよね。
ブロッキングしている所ってどこよ?
言ってみなw

173:デフォルトの名無しさん
15/05/03 17:53:34.95 Q2e6sJJ5.net
JavaScriptがNode.jsで採用されたのは、
JavaScriptの実装(v8、SpiderMonkey、JScript、Chakra等)が
ノンブロッキングを徹底していたからなんだよね。

174:デフォルトの名無しさん
15/05/03 17:57:25.44 VNMbSaqh.net
ちなみに、Node.jsでブロッキング関数は
fs.writeSync みたいに、後ろにsyncが付いているよ。
もちろん、JavaScriptエンジンはノンブロッキングが徹底されているけどね!
具体的にはChakraとかね!

等と言ってると、無知なID:I75TtZUpは
ますます頭が混乱してそうで楽しいw

175:デフォルトの名無しさん
15/05/03 18:01:45.76 +1/GzoNu.net
wordpress, rails, spring mvcを過去のものにしたいだけ
破壊しなければ、仕事がなくなる

176:デフォルトの名無しさん
15/05/03 18:03:25.73 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は有用です。
URLリンク(www.atmarkit.co.jp)

177:デフォルトの名無しさん
15/05/03 18:04:52.26 hfdn/Wn2.net
2011年か、、、
commonjsってものも昔はあったねえ・・・(遠い目

178:デフォルトの名無しさん
15/05/03 18:06:31.11 VNMbSaqh.net
>>173
> JavaScriptの言語仕様は、ECMAScriptとして策定されています。ECMAScriptには、スレッドやI/Oに関しては記述されていません。
ほう! じゃあJavaScriptはノンブロッキングに絶対になるってことだな。
Chakraがノンブロッキングが徹底されているのはそういうことか!

179:デフォルトの名無しさん
15/05/03 18:07:56.72 VNMbSaqh.net
CommonJSってJavaScriptの仕様じゃないんですねー。

180:デフォルトの名無しさん
15/05/03 18:10:13.55 oEmNvyKo.net
>>84
確かに日本のゲーム業界には世界的クリエイターやエンジニアが沢山いるなぁ
CSゲーム業界も世界で3プレイヤーだけで内2プレイヤーは日本企業だもんなぁ
それに比べWEBは皆無で情けない状態w

181:デフォルトの名無しさん
15/05/03 18:10:26.74 +1/GzoNu.net
何れ、chromeはjvmの位置へと昇格する.そのときこそ、dartの復活のとき

182:デフォルトの名無しさん
15/05/03 18:11:48.55 hfdn/Wn2.net
まあサーバーサイドJavaScriptは、ほぼNode一択(細かい事を言えばio.jsもあるが)だから
言語仕様以外のapiに関しても互換性の問題はっやっぱり、ほぼないといえるなあ

183:デフォルトの名無しさん
15/05/03 18:18:53.37 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:デフォルトの名無しさん
15/05/03 18:19:54.00 VNMbSaqh.net
>>180
ActiveXObject は Javascript ではない。
JavaScriptでそれは使えない。

185:デフォルトの名無しさん
15/05/03 18:21:09.79 hfdn/Wn2.net
おお、具体的な例をはじめてちゃんと出したな
ジュラ紀の地層から出てきた化石のようなソースコードだが

186:デフォルトの名無しさん
15/05/03 18:21:27.84 VNMbSaqh.net
自分が勘違いしてるかと試してみたが。
すべてのJavascriptがノンブロッキング動作するわけないだろ。
たとえばV8はファイル読み込みで停止する。標準的な関数ではノンブロッキングできないはず。
var fs = require('fs');
var text = fs.readFileSync('test.txt', 'utf-8');
console.log(text);

187:デフォルトの名無しさん
15/05/03 18:22:13.75 VNMbSaqh.net
>>180
なにをいってるんだー!
Node.jsはブロッキングしてるじゃないかー!

188:デフォルトの名無しさん
15/05/03 18:25:45.36 VNMbSaqh.net
それにしても、何が実行環境で
何が言語なのか、本当にわかってないんだぁw

189:デフォルトの名無しさん
15/05/03 18:25:53.19 I75TtZUp.net
>>181
それはNode.jsのファイル読み込みでも同じこと。

190:デフォルトの名無しさん
15/05/03 18:27:50.14 VNMbSaqh.net
>>186
自分にいえや。
お前が出してきたコードは
Node.jsのファイル読み込みでも同じこと
お前、Node.jsはノンブロッキングが徹底されてるって
言ったの忘れたのか?

191:デフォルトの名無しさん
15/05/03 18:31:58.94 hfdn/Wn2.net
>>178
結局、DartはJavaScriptに敗れ去ったね
あれだけ新しい時代に過去の教訓のもとに作られた言語が
JavaScriptに敗れ去ったという事実
JavaScriptの言語仕様が非常に優れていたことの証明だろう

192:デフォルトの名無しさん
15/05/03 18:36:43.03 I75TtZUp.net
Node.jsはノンブロッキング。sleepすら初期標準装備ではまともにできない。

Node.jsの人はちゃんとsleepしてください - Qiita
URLリンク(qiita.com)

Node.jsとは何か、開発者ライアン・ダール氏が語る~ノンブロッキングとはどういうことか? - Publickey
URLリンク(www.publickey1.jp)

193:デフォルトの名無しさん
15/05/03 18:37:12.35 /2mvjJQZ.net
>>188
それは違うよ。
優れていたから生き残るわけじゃない。
力を注ぐ人間が多いほうが生き残る。
どんなに優れていても、一つの会社に
依存しているようなものはすぐに消える。Delphiとかね。
JavaScriptの強みは、実装が多く存在するということ。
つまりそれだけ多くの人が関係しているということ。
同時代に複数の実装が出回っていて標準化されていて
互換性もある。こんな言語他にあったか?
多くの会社が、より優れたものを作ろうと競争しているんだ
それだけ投資されているものが簡単に消えるわけがない。

194:デフォルトの名無しさん
15/05/03 18:38:00.90 /2mvjJQZ.net
>>189
> Node.jsはノンブロッキング。sleepすら初期標準装備ではまともにできない。
>>183でブロッキングする例を上げて
論破してるよ。

195:デフォルトの名無しさん
15/05/03 18:38:16.86 xkutDKZm.net
Dartは敗れたのではなく戦略的撤退及びJSへの吸収合併
Nodeはサブプロセス立ち上げと、そこでの同期処理は普通。

196:デフォルトの名無しさん
15/05/03 18:39:13.98 /2mvjJQZ.net
> Dartは敗れたのではなく戦略的撤退及びJSへの吸収合併
それを敗れたという

197:デフォルトの名無しさん
15/05/03 18:43:39.32 I75TtZUp.net
>>191
いつからブロッキング関数が入ったかは知らないが。
たぶん、利用者からの不満で信念を曲げてあとから組み込んだんだろう。
たとえば初期状態で単純なsleepができるのか?

198:デフォルトの名無しさん
15/05/03 18:45:41.99 /2mvjJQZ.net
> いつからブロッキング関数が入ったかは知らないが。
最初から。
無知に無知を重ねてどうするw

199:デフォルトの名無しさん
15/05/03 18:46:48.22 hfdn/Wn2.net
>>190
色んな意味で違うな
実装が比較的少ないJava、PHP、Perl、Python、Ruby、ObjectiveCなどは
普通に人気がある
実装の多かったC++はJavaに敗れた(それでも消えたわけではないが)
実装の多かったC++はJavaに敗れたが(それでも消えたわけではない)
それにしてもDelphiがすぐ消えたとかマジで言ってるのか
(C#やTypeScriptと名前を変えて生き残ってるのは別としてw)

200:デフォルトの名無しさん
15/05/03 18:48:50.43 /2mvjJQZ.net
> それにしてもDelphiがすぐ消えたとかマジで言ってるのか
消えたよ。すぐとは言ってないよ。
でも消えたよ。

201:デフォルトの名無しさん
15/05/03 18:50:14.83 hfdn/Wn2.net
>>197
すぐにと言ってるようにみえるのだが
俺の気のせいなのか

202:デフォルトの名無しさん
15/05/03 18:51:36.31 hfdn/Wn2.net
ちなみにDelphiの最新の安定リリースは22日前だそうだが

203:デフォルトの名無しさん
15/05/03 18:51:40.44 /2mvjJQZ.net
>>198
Delphiがすぐとは言っていない。

204:デフォルトの名無しさん
15/05/03 18:53:17.71 hfdn/Wn2.net
「一つの会社に依存しているものはすぐ消える
Delphiとか」
みたいに言っておいてすぐ消えてないのかよw
結局、ひとつの会社に依存していてもすぐ消えてないだろw

205:デフォルトの名無しさん
15/05/03 18:54:54.93 /2mvjJQZ.net
>>199
消えたというのは表舞台からという意味だ。
使われなくなったということ。
そりゃどこかに使ってる会社あるだろ。

まあ具体的な数値で知りたいのなら、
人気言語投票などで1%未満は消えたでいいんじゃね?w

206:デフォルトの名無しさん
15/05/03 18:55:36.43 hfdn/Wn2.net
DartはJavaScriptに敗れ去ったがTypeScriptは敗れ去らなかった
これはTypeScriptがJavaScriptの拡張として成り立っており、
JavaScript機能を全て含んでいるからだ
それだけJavaScriptが優れているんだろうね

207:デフォルトの名無しさん
15/05/03 18:57:06.92 /2mvjJQZ.net
>>201
> 結局、ひとつの会社に依存していてもすぐ消えてないだろw
いやー、でも速かったよ。
ほんの数年で全く使われなくなった。

208:デフォルトの名無しさん
15/05/03 18:59:13.36 I75TtZUp.net
>>195
初期のほうではブロッキング関数が見つからない。
いつから登場するかは探してみる。

Index of /docs/
URLリンク(nodejs.org)

209:デフォルトの名無しさん
15/05/03 19:02:18.97 hfdn/Wn2.net
>>204
まあ小学校時代の数年は長く感じるけど、大人になってからの数年は
あっという間だというし、人の感覚はそれぞれだね
それにしても数年ってのはないだろ
少なくとも5年以上は人気だった気がする

210:デフォルトの名無しさん
15/05/03 19:13:30.76 hfdn/Wn2.net
ああ、なるほどTurboPascalはDelphiじゃないという扱いなのね
それだと確かに長くはないかも
それでも5年以上人気だったと思うが

211:デフォルトの名無しさん
15/05/03 19:25:12.71 xkutDKZm.net
>>205
パッチファイル的な使われ方もするんだからブロッキングAPIがあってとうぜん

212:デフォルトの名無しさん
15/05/03 19:26:27.52 I75TtZUp.net
nodejsのこれらのバージョンにはreadFileSync関数なし。初出はたぶんv0.1.30。

v0.0.1 v0.0.2 v0.0.3 v0.0.4 v0.0.5 v0.0.6 v0.1.0 v0.1.1 v0.1.10
v0.1.11 v0.1.12 v0.1.13 v0.1.14 v0.1.15 v0.1.16 v0.1.17 v0.1.18
v0.1.19 v0.1.2 v0.1.20 v0.1.21v0.1.22 v0.1.23 v0.1.24 v0.1.25
v0.1.26 v0.1.27 v0.1.28 v0.1.29 v0.1.3 v0.1.4 v0.1.5 v0.1.6 v0.1.7 v0.1.8 v0.1.9

Index of /docs/
URLリンク(nodejs.org)

213:デフォルトの名無しさん
15/05/03 19:31:11.34 hfdn/Wn2.net
だから何なんだ
v0.1.30?
今はv0.12.2だよ

214:デフォルトの名無しさん
15/05/03 19:34:45.13 /2mvjJQZ.net
>>209
つまり、v0.1.30でnodeは
ノンブロッキング徹底されているんだって言う
お前の希望はついえたってこと。
v0.1.30、リリース日2010.02.22
それは0.0.1から1年も絶たない出来事であった

215:デフォルトの名無しさん
15/05/03 19:39:51.70 /2mvjJQZ.net
だが安心して欲しい。それはnodeの話であって
JavaScriptエンジンの話ではない。
JavaScriptエンジンはどれもノンブロッキングが
徹底されているのだ。
もちろん(nodeの)V8エンジンもChakra(JScritpt)もね!

216:デフォルトの名無しさん
15/05/03 20:27:40.06 RUldsALn.net
まだやってるのか...
アホか

217:デフォルトの名無しさん
15/05/03 20:28:39.20 I75TtZUp.net
nodejsは全体として、言語として、ノンブロッキング言語であることには違いがない。
ノンブロッキング言語に特例としてブロッキング関数が入ってるだけ。
sleepを入れたとしてもそこでプログラムが停止しない。
停止するJavascript環境も存在する。
動作が違うことを互換性がないと言っている。

218:デフォルトの名無しさん
15/05/03 20:39:35.46 /2mvjJQZ.net
> nodejsは全体として、言語として
言語じゃねーよw
何いきなり間違ってるんだ。
そこから訂正してやり直せ

219:デフォルトの名無しさん
15/05/03 20:45:12.18 TY1Q/wFn.net
そりゃ、まあnode.jsで
WScript.Sleep(1000);
ってコピペしても動かないだろうよ。
Sleepという根幹機能ですらJavascriptは互換性がない言語だと
俺も認めざるをえないな!w

220:デフォルトの名無しさん
15/05/03 20:45:28.34 /2mvjJQZ.net
あまりいじめると泣くかな?w
でも


221:自分が悪いんだよ。 あまりにも無知だからね。



222:デフォルトの名無しさん
15/05/03 20:59:27.21 I75TtZUp.net
Node.jsはオモチャ - from scratch
世界は非同期である。だから、プログラミングも非同期であるべきである。
実際にはムーアの法則には限界があり、これまで以上のリソース拡大は嘘になる可能性がある、これ以上のパワーを得るためには同期による待ち時間を減らすべきである。
Erlang, scala, golang, nodejs は全てが純正の非同期システムであり、それらを試せば、違いが分かるだろう。
Nodejsは非同期プログラミングを学ぶ上で、世界で最も優れた言語である。javascriptを打ち負かせる言語は他にいない。
Nodejsの基盤は素晴らしい(libuv, V8)、バッテリー同梱(batteries included)を除いて、ユーザーはとても短い時間でこの素晴らしさを提供する事ができる。
Nodejsは非同期のクライアント、サーバーのプロトタイプを構築する上でベストなツールである。
常にNodejsはこれまでのAPIを壊してくる。Node v0.4、0.6、0.8にかけて悲劇を見てきた。
この事を覚えていて欲しい、nodejsを仕事で試すのは辞めたほうが良い。
娯楽かプロトタイプ以上のものを作り、現実の問題解決を望む場合、ErlangやScala、Golangのような現実的な言語を使うべきである。

from scratch的感想
Node.jsは素晴らしいといいつつも、APIの互換性が保たれていない事に異を唱え、それをなんとかCrockfordやRyahに伝えたいのかな、と思わせる感じ。
ニコニコ超会議でも @KOBA78 さんが一番Nodeに向くのは今はLTネタである、と言い切っていたので、通じるものがあるのかな、と思いました。
また、同期的、非同期的の話は前回のNode学園で出た
同期的関数は同期的でなければならない。非同期的関数は非同期でなければならない。
という話を思い出しました。いずれにせよ、Node.jsは今回の記事にも書いてある通り、非同期プログラミングを学ぶにはこれ以上ないツールです。
URLリンク(yosuke-furukawa.hatenablog.com)

223:デフォルトの名無しさん
15/05/03 21:00:38.31 /2mvjJQZ.net
>>218
まずは、訂正しろって言っただろ
何逃げてんだよ。
卑怯者か?

224:デフォルトの名無しさん
15/05/03 21:08:50.34 hfdn/Wn2.net
>>218
お、2012年か
1年進んだな!w

225:デフォルトの名無しさん
15/05/03 21:10:42.69 /2mvjJQZ.net
ここでネタバレをすると
ID:I75TtZUpは2005年から
記憶喪失だったんだ。

226:デフォルトの名無しさん
15/05/03 21:28:52.72 r6wgrf+g.net
2015年の話しようよ。
あとプログラミングとかが昭和で止まってる人間は申し訳ないが消えてくれ。

227:デフォルトの名無しさん
15/05/03 21:38:09.91 /2mvjJQZ.net
2015年の今ではNode.jsという言語が
生まれたのである。ドヤァ!

228:デフォルトの名無しさん
15/05/03 22:04:37.60 O5TW7WMk.net
スレの流れがアホらしすぎ
こどもの喧嘩か!

229:デフォルトの名無しさん
15/05/03 22:06:02.43 /2mvjJQZ.net
子供なんだろ?

230:デフォルトの名無しさん
15/05/04 00:20:47.52 QPogxQWE.net
apache2.4とnode.jsって、何方がサーバーとして優れてるの?
apache serverとphpの方が進化し続けることができそうなんだけど

231:デフォルトの名無しさん
15/05/04 03:16:13.97 3D0tbtvP.net
とりあえず、JS厨は有害だということが分かったね

232:デフォルトの名無しさん
15/05/04 06:20:36.08 3D0tbtvP.net
>>190
別にケチつけたいとか何でもなく
Lisp とかやたら実装あるし、長生きだなとか思った

233:デフォルトの名無しさん
15/05/04 06:23:20.12 3D0tbtvP.net
おお、227とID同じだ。初めて見た

234:デフォルトの名無しさん
15/05/04 07:03:16.84 J0bB/MBQ.net
>>227
"こども" っていうのはお前のことな

235:デフォルトの名無しさん
15/05/04 07:31:38.85 IlsJpzht.net
JSが使われるいろんな場面でノンブロッキングを徹底する必要はあるけど、
それ=非同期関数を使いまくったり、コールバックで書かないといけないというわけじゃない。
Worker立てて別プロセスで同期処理しても目的は達成されるわけだし、ジェネレータ使えば非同期処理を同期的に書ける。

236:デフォルトの名無しさん
15/05/04 07:38:45.62 1poVLIgC.net
それにNode.js環境であればreadFileSyncなどのように
非同期関数も存在する。

237:デフォルトの名無しさん
15/05/04 17:21:24.39 Xz6tXobb.net
非同期関数じゃなくて同期関数でしょ
で、それをIOと関係ないところで使えば問題ないってことでしょ

238:デフォルトの名無しさん
15/05/04 18:12:17.94 +glKkzJw.net
脱ブラウザ化を前提にした新しいインターネット体験が既に始まった現代においてjsとか何の冗談ですか?
老害はおかえり下さい

239:デフォルトの名無しさん
15/05/04 18:48:25.24 Xz6tXobb.net
WebはWebでServiceWorkerのPush通知みたいにちゃんと時代に合わせて進歩してきてると思うよ。
まあJSの良い所は柔軟性と、機能が少ないからこその拡張性だろうね。

240:デフォルトの名無しさん
15/05/04 19:53:27.82 wYDx+Rh8.net
>>233
readFileSyncというI/Oの同期関数を
I/Oと関係ないところで使うって
どういう意味?

241:デフォルトの名無しさん
15/05/04 20:01:22.49 prYoIKs4.net
一般的に同期関数をメインスレッド→
Nodeだと基本リクエストを受け付けるサーバ、そういう意味でのIO
WebだとDOM操作、そういう意味でのIO
で使うのは厳禁ということでしょうよ。

242:デフォルトの名無しさん
15/05/04 20:35:24.91 wYDx+Rh8.net
Nodeってスレッド一つしか無いんだけど?

243:デフォルトの名無しさん
15/05/04 20:37:53.08 40ee8aRr.net
Nodeの同期関数はバッチ処理やちょっとしたユーティリティの類も作れるようにという意図だね
もちろんオンラインで使えば確実に固まる

244:デフォルトの名無しさん
15/05/04 20:54:14.33 prYoIKs4.net
>>238
子プロセスを立ちあげられる。
それと「Node」はシングルスレッドではない。
スループット向上の為バックのio処理は数スレッドで動いてる。

245:デフォルトの名無しさん
15/05/04 21:07:03.45 WoMWhSqx.net
記者の眼 - Node.jsの仕組みはWebアプリ開発者も知っておくべき:ITpro
URLリンク(itpro.nikkeibp.co.jp)
Node.jsは、シングルスレッドでしか動作しない。
大量のアクセスに対しては、とにかくリクエストを受け付けてしまう。
だが、シングルスレッドなので一つひとつのリクエストを高速に処理していかないと、処理すべきリクエストは増える一方となる。
シングルスレッドでも高速に処理するため、Node.jsは「イベントループ方式」と「非同期I/O処理」を実装している。

246:デフォルトの名無しさん
15/05/04 21:20:49.32 QPogxQWE.net
URLリンク(jxcore.com)

247:デフォルトの名無しさん
15/05/04 21:23:58.58 QPogxQWE.net
URLリンク(en.wikipedia.org)

248:デフォルトの名無しさん
15/05/04 21:25:38.95 QPogxQWE.net
URLリンク(nodejs.org)

249:デフォルトの名無しさん
15/05/04 22:21:39.41 prYoIKs4.net
>>241
シングルスレッドなのはV8エンジンのメインスレッドであって、
Nodeの心臓部であるlibuvは非同期処理を効率的にこなすためにマルチスレッドで動いてる。
またChild Processモジュールを使ってメイン


250:からサブのNodeのプロセスを立ち上げたり、 一般的なサーバ用途であればそのロードバランサをClusterモジュールに任せることも出来る。



251:デフォルトの名無しさん
15/05/04 22:33:43.75 40ee8aRr.net
>>245
V8エンジンがシングルスレッドである以上、一つのコールバックが同期IOをやれば当然全部固まるだろ
それを問題にしてるんであって、内部がどうなってようが関係ないよね
また、子プロセスを立ち上げるとNode.jsのアーキテクチャのメリットが完全にスポイルされるわけだから
結局バッチ処理などのまとまった処理にしか使えない

252:デフォルトの名無しさん
15/05/04 22:33:49.78 QPogxQWE.net
URLリンク(nikhilm.github.io)

253:デフォルトの名無しさん
15/05/04 22:43:56.08 prYoIKs4.net
>>246
だから最初からバッチ処理などのまとまった処理には使えるよってことを皆言ってるんだよ。
>>236からの流れ完全無視ですか?
それと子プロセスを立ち上げるのはNodeのメリットを削がない。
セッションごとに立ち上げるわけではなく、あくまでマルチコアを有効に使おうというものであるから。

254:デフォルトの名無しさん
15/05/04 22:45:51.72 FuYVSRSb.net
Node.jsって万能なんだな

255:デフォルトの名無しさん
15/05/04 22:49:08.26 prYoIKs4.net
上で最初は非同期関数しかなかったという話が出てるけど、
一番最初は作られた目的からしてもサーバサイド限定だったけど、
やっぱそういう用途にも使えた方がいいよねということもあって同期のファイルアクセスAPIが用意されたのだと思う。
ちなみに同期のネットアクセスAPIは用意されてない。野良モジュールであるけど。

256:デフォルトの名無しさん
15/05/04 23:54:57.01 wYDx+Rh8.net
>>248
いやいや話の流れがわかってない。
Node.jsはノンブロッキングに特化しており、
JScriptはそうではないという話をしていたんだ。
別プロセスで動かせば、ノンブロッキングだというのなら
JScriptでも同じことになる。
矛盾してるんだよ。
まあそもそもこいつは、Node.jsを言語と言っているし
言語と実行環境の区別がついていないやつだから
最初っから矛盾してるんだけどな。

257:デフォルトの名無しさん
15/05/05 00:36:20.53 Y7D43j5s.net
>>251
Node.jsはノンブロッキングに特化してるということは今さら言うまでもなく誰もが認めている
だけど同期関数が無いだとか、別プロセス立ち上げるのはNodeのありように反してるとか、
間違ったことを言い張るから皆から突っ込まれてるんでしょ
それに単純にノンブロッキングで何かJSで重たい処理をする必要があるときは、
WebならWorker、Nodeならchildprocessみたいにメインの外でやる以外無い
そのような用途のためにもchildprocessが用意されてる
あともう一度言うけどノンブロッキングである必要があるのは
沢山のイベントをリアルタイムに履かないといけないからで、
バッチ処理的に使うのであれば関係がないこと

258:デフォルトの名無しさん
15/05/05 00:47:58.83 8OQq3apA.net
>>252
> Node.jsはノンブロッキングに特化してるということは今さら言うまでもなく誰もが認めている
> だけど同期関数が無いだとか、別プロセス立ち上げるのはNodeのありように反してるとか、
> 間違ったことを言い張るから皆から突っ込まれてるんでしょ
俺に言うなよ。
俺がreadFileSyncの例を持ち出して、同期関数があることを
教えてやったんだよ。
別プロセス立ち上げるなとも言ってない。
JavaScriptの話と実行環境の話をごっちゃにしている奴がいたから
からかって遊んでいただけだ。

259:デフォルトの名無しさん
15/05/05 01:13:53.37 0S25WcbA.net
こうやって言い負かされて形勢不利になると
ふざけたんだよ~って逃げるヤツってどのスレにもいるんだなw

260:デフォルトの名無しさん
15/05/05 01:25:58.72 8OQq3apA.net
言い負かしたレスってどれだい?

261:デフォルトの名無しさん
15/05/05 01:37:58.48 TIrf+R0e.net
★ 炭水化物(小麦、米)=砂糖 ★
・「いつものパン」があなたを殺す: 脳を一生、老化させない食事 (デイビッド パールマター 2015/1/16)
・ダダモ博士のNEW血液型健康ダイエット (集英社文庫)
 O型とB型は小麦、とうもろこし、蕎麦を食べると体調が悪くなり太ります
・統合失調症、うつ病、パニック障


262:害は糖を抜くと3日で治った。 ・チョコレートは超危険食品 強い依存性、糖尿病の恐れ…妊婦や子供は摂取要注意 http://aoi.bbspink.com/test/read.cgi/club/1416413686/235 ・すべての不調は首が原因だった! ・長引く痛みの原因は、血管が9割  (奥野祐次ワニブックスPLUS新書2015/2/7)  ・あなたの不調、実は「脳脊髄液減少症」かも!? ・その不調は遅延型フードアレルギーです! ↓ http://wc2014.2ch.net/test/read.cgi/shapeup/1425713834/73



263:デフォルトの名無しさん
15/05/05 08:22:20.17 bbS1ITn2.net
で、結局同期非同期について何が言いたかったのだろうか。

264:デフォルトの名無しさん
15/05/05 09:15:17.82 iBC7PNnN.net
>>257
御託を並べただけでしたね♪
こういう奴いるよね。御託並べて悦に浸っちゃうお馬鹿さん。

265:デフォルトの名無しさん
15/05/05 10:11:35.57 uw/h34kl.net
2つの言語環境で文法や関数が完全一致していても、完全同期と完全非同期(例外的非同期と例外的同期)では同一コードでも出力が違う。

266:デフォルトの名無しさん
15/05/05 11:06:39.15 t+uHmPE6.net
具体的に、何が違うかを書いたら?
一方の出力は、これで、
もう一方は、こうって言う風に
具体的に。

267:デフォルトの名無しさん
15/05/05 11:41:44.59 +V6CgyJV.net
>>259
日本語でプログラミング学ぼうとすると効率悪そうだよな。

268:デフォルトの名無しさん
15/05/05 12:46:40.50 Y1anEcJj.net
ID:prYoIKs4の説明がわかりやすいから常駐してほしい

269:デフォルトの名無しさん
15/05/05 21:33:39.70 P8IV0u4y.net
いや何を主張したいのかが理解できないわ
「NodeJSは基本的に非同期IOに特化しているが、バッチ処理などの単発の処理のために同期IOが使える」
と言いたいだけなんだったらなんでchildprocessを持ち出すのか
この文脈で子プロセスと同期IOを使った非同期処理を引き合いに出し、さらにNodeJSはマルチプロセスでも効率的な処理が行えるというようなことを言えば
セッションから子プロセスを起動するようなNodeJS的に明らかに間違った使い方をしようとしてるのかと
誤解されるのは当然だと思うよ

270:デフォルトの名無しさん
15/05/05 22:23:18.89 Y1anEcJj.net
はぁ?itproみたいなイベントドリブンだの非同期処理だの、
誰でも知ってるレベルのことだから。
誰がみても、ID:prYoIKs4の解説の方が処理系の実装まで、もっと突っ込んでるだろ

271:デフォルトの名無しさん
15/05/05 22:54:07.22 P8IV0u4y.net
解説以前に、何が言いたいのか意味不明だと言っているんだけど?

272:デフォルトの名無しさん
15/05/05 22:55:50.52 P8IV0u4y.net
っていうか>>264はID:prYoIKs4が結局何を言いたかったのか理解できたのか?
理解できたなら教えてくれ

273:デフォルトの名無しさん
15/05/05 23:57:51.46 Y1anEcJj.net
>>266
死ねよカス。オマエは煽りたいだけだろw
>>240から>>245の流れで、node.jsのIOとcluster,child processの概要を把握したよ。

274:デフォルトの名無しさん
15/05/06 00:03:10.42 M8LrA/ZF.net
node.jsのIOとcluster,child processなら
知ってて当然の話だろう?

275:デフォルトの名無しさん
15/05/06 00:10:11.52 mbn+dbFM.net
ID:prYoIKs4は「シングルスレッド」という言葉尻に反応してるだけだね
Nodeがシングルスレッドだというとき、スクリプトスレッドがシングルスレッドであることを意味するのは当然の暗黙の了解だし
Node自体の実装がマルチスレッドだなんて当たり前すぎていちいち特筆するようなことじゃないわな

276:デフォルトの名無しさん
15/05/06 00:27:35.27 /1rfMabx.net
Node.jsはシングルスレッド、イベント駆動モデルと多くで解説されてるがウソか?

Nodeビギナーズブック ≫ Node.jsチュートリアル ≫ Node.js 教程
Node.jsはたくさんの処理を同時に行えるけれども、 全てをスレッドに割り振って行うわけではないのです ?
実際、Node.jsはシングルスレッドです。そうではなく、 イベントループを走らせることでデベロッパーはこれを利用できるのです ?
これらの理由から、ブロッキング操作は極力避け、 かわりにノンブロッキング操作を行うべきなのです。
URLリンク(www.nodebeginner.org)

277:デフォルトの名無しさん
15/05/06 00:31:50.59 /1rfMabx.net
サーバーサイドでの利用が想定され、資源を使いきらないよう、全力を出しきらないようにシングルスレッドは有り得る話だ。


Node.jsの特徴
一般的にNode.jsのメリットというとC10K問題(クライアント1万台問題)を解消できるというのが大きいです。
C10K問題というのはJavaやPHPではクライアント接続の度に新しいスレッドが立ち、その度に2MB程度のメモリを使用してしまうため、
同時に接続できるクライアント数があり、それを超えてしまうとシステムダウンしてしまう、というやつです。
Node.jsではシングルスレッド・イベント駆動で動作しており、クライアント接続されてもスレッドは立たず1イベントとして処理されるため、このメモリの問題を飛躍的に解消できるというわけです。
URLリンク(blog.sinap.jp)


Node.js を5分で大雑把に理解する - Qiita
特徴
サーバーサイドのJavaScript
非同期
ノンブロッキングI/O
イベントドリブン
シングルスレッド (メモリ消費が少ない、仕事切り替えが少ないので速い)
JavaScript エンジンが Google の V8 で速い
小さいデータや小さい計算の場合、速い
メモリ消費量が少ない
URLリンク(qiita.com)

278:デフォルトの名無しさん
15/05/06 00:47:10.48 M8LrA/ZF.net
VB6はスレッドを使えない。
VB6でAPIを無理やり使っても落ちるだけ。
にもかかわらず、VB6で作られたアプリは複数のスレッドを持っている。
これをマルチスレッド対応といえるだろうか?
って話と同じなんだよな。

自分で書いたコードでスレッドが使えなければ
内部でいくら複数のスレッドを使っていたとしても
それはシングルスレッドと言うべきだよ。
もちろん別プロセスを起動しても
マルチスレッドとはいわない。

279:デフォルトの名無しさん
15/05/06 00:58:24.06 Ntj9QqNO.net
スレッドを使えないことは別に悪いことじゃないんだから、使えないでいいと思うけどね
というか、Node.jsはそういうコンセプトの言語なんだし

280:デフォルトの名無しさん
15/05/06 01:07:19.00 mbn+dbFM.net
clusterはサーバーの負荷分散には使えるけど、プロセスを分けたからって決して同期IOで止めていいわけじゃないから
同期非同期の話からは外れるな。>>231のいうような目的を達成できない。
childprocessも同様で、同期IOを使うなら子プロセスは結局バッチ処理の並列化くらいにしか使い道がないわけだ。単なるfork-joinだね。

281:デフォルトの名無しさん
15/05/06 07:54:08.43 8X10Hly1.net
それは違うな
まずClusterはChildProcess上に成り立っている技術だけど
前者がサーバとしての負荷分散のためにあるのに比べ、後者の汎用的なものもあることを区別すべき
そしてまず同期処理っていうのはIOだけにとどまらない
IOのような「待ち時間の長い処理」の他に、「根本的に重たい処理」もあるわけだ
もしその重たい処理に同期/非同期API両方あったとしても
メイン側でたくさん非同期APIを使って組み立てるよりも
外で一度にやらせてメインでは一度のコールバックでサブから結果を受け取る方がスマート
つまり、結局ここで言ってるのは粒度の違いでしかない
機能粒度の小さいネイティブ実装のスレッド外APIを沢山メインから叩くのか、
サブに必要な処理をまとめて大きな非同期APIとするのかの違い
最後にクライアントJSやNodeで非同期が大事なのは、リアルタイムなイベントをブロックしないためであって、
それはあくまでWebサーバ/Webブラウザという分野での特徴的なこと
そこから離れればバッチ処理に限らず、リアルタイムにイベントを相手し続ける必要がないものはたくさんある
まあとは言えNodeのChildProcessとWebWorkerは前者はプロセス、後者はスレッドという粒度の違いがある
後者では共有メモリの実現も可能だから、また違ったこともできる
それとここまで書いたのは非同期APIは扱いづらい、まとめづらいという前提だから、ジェネレータやasync/awaitを使うと
同期APIとさほど違わない使い勝手になるので、より同期APIの必要性は下がってくると思われる

282:デフォルトの名無しさん
15/05/06 11:12:14.01 sgQow1cN.net
>>269
Node.jsはシングルスレッドですが何か?

283:デフォルトの名無しさん
15/05/06 11:29:36.13 FTo6IrWP.net
>>270
それは掻い摘んだビギナー向けの概要で、libuvの内部にまで突っ込んだ話しじゃないだろ

284:デフォルトの名無しさん
15/05/06 11:34:35.02 FTo6IrWP.net
IoTでやたらnode.jsが使われるのは
センサーから入力がリアルタイム処理だからって認識でいいのかな

285:デフォルトの名無しさん
15/05/06 11:35:36.85 ctlCJDEk.net
libuvの内部にまで突っ込んだでシングルスレッドというのなら、
ドライバの内部にまで突っ込んで、全てのアプリは
マルチスレッドで動いていると言えてしまう。
ライブラリやドライバでスレッドが複数使われているかは
関係ないんだよ。

286:デフォルトの名無しさん
15/05/06 11:51:22.18 +wDbHyO4.net
セッション毎にプロセスやスレッドを立ち上げる従来のやり方ではないよということで
シングルスレッド型と言っているのであって、
実際は今やClusterを使ってCPU資産を有効に使うのが当然だし、
別にApacheと組み合わせて従来のCGIのように動作させることもできるし、
今はそう呼ぶのは言葉が良くないとは思うな

287:デフォルトの名無しさん
15/05/06 12:15:23.62 sgQow1cN.net
>>280
いや、cluster使ってるなら別じゃんww
node.js自体はシングルスレッドに他ならないんだから。
君ら勝手に定義変えるなよ。

288:デフォルトの名無しさん
15/05/06 12:17:45.38 +wDbHyO4.net
あともっと広く非同期APIとスレッド分けのことを考えた時、
crypto的な重いAPIの時は呼んだAPIの1つ1つが違うスレッドで動いてくれないとメインを妨げてしまうから重要
まあNodeで非同期APIを提供するネイティブモジュール作るときは別スレッドで動かすし
Nodeはlibuv含めたそれらの複合体なんだから、Nodeをシングルスレッドと言うのはやっぱり間違い
あくまでイベントループによりシングルスレッド上で沢山のイベントを履けるよということであって
例えJSがマルチスレッドで動くようになっても、NodeのWebサーバとしての基本アーキテクチャの話をする上で関係ないし
そういう意味ではシングルスレッドと言ってもいいが、Nodeを広く深く認識してる人からは当然ツッコミが入るだろうな
まあ>>276のような言い方なら明らかに間違い

289:デフォルトの名無しさん
15/05/06 12:20:24.99 +wDbHyO4.net
>>281
JSはシングルスレッドだけど、別にこれがマルチスレッドを扱えるようになっても上の記事の文言は変化しない
上の記事はあくまでWebサーバとしてのNodeの表面を、従来型のアーキテクチャと比較して書いてるに過ぎない
そしてNodeという存在はそれだけでは無いことを認めるべし

290:デフォルトの名無しさん
15/05/06 12:26:03.09 mbn+dbFM.net
>>278
Webやってる連中に訴求するための宣伝の都合だよ。
普段組み込み開発の情報なんてインターネットであまり見かけないだろ? 君の場合、そういう風に広告やサーチエンジンがオプティマイズされてるわけ。
Node.jsを採用することにより、そういう連中にもアプローチがしやすくなる。

291:デフォルトの名無しさん
15/05/06 13:02:03.10 ctlCJDEk.net
nodejsは全体として、言語として、ノンブロッキング言語であることには違いがない。
ノンブロッキング言語に特例としてブロッキング関数が入ってるだけ。
sleepを入れたとしてもそこでプログラムが停止しない。
停止するJavascript環境も存在する。
動作が違うことを互換性がないと言っている。

292:デフォルトの名無しさん
15/05/06 15:41:48.39 FTo6IrWP.net
>>284
訴訟って(;・∀・)
夏休みの宿題レベルにセンサー取っつけるようなことしかしないだろ

293:デフォルトの名無しさん
15/05/06 15:42:45.78 FTo6IrWP.net
あれ、なんで、訴求と訴訟を読み間違えたんだろう

294:デフォルトの名無しさん
15/05/06 15:45:38.74 FTo6IrWP.net
>>280
node.jsをapacheと組み合わせてCGIのように使う方法なんて、
少なくとも公式に使われるようなモジュールでは見たことないんだけど。

295:デフォルトの名無しさん
15/05/06 15:47:39.66 ctlCJDEk.net
node.jsを含めて最近はウェブサーバーは必要な


296:く 単体でウェブサーバーとして動くからね。 ウェブサーバーは静的コンテンツを返したり httpsを処理したりリバースプロキシとして、 アプリのフロントエンドとして使うものになってる。



297:デフォルトの名無しさん
15/05/06 17:21:23.20 FTo6IrWP.net
はぁ?phpやpython付属のサーバーって、ちょっとテストするための玩具だろ

298:デフォルトの名無しさん
15/05/06 19:34:34.72 8X10Hly1.net
JSにsleepがあろうがなかろうがNodeの作りが今と同じ限り、
もしNodeを知らない人にNodeとは何かを説明するときは
シングルスレッド云々いうことになるだろうよ。
でもここ専門版でNodeについて話すときその見解じゃ狭すぎると思うけどね。

299:デフォルトの名無しさん
15/05/07 07:04:53.60 yJeqbwSV.net
>>284 面白い説だ

300:デフォルトの名無しさん
15/05/07 07:09:03.76 JT7pwAxA.net
Webしか見えてない奴のいう「~が流行ってるのはなぜ?」は
大抵「お前がそれに興味を持っていて、Googleはそれを知っているから」で説明がつくね

301:デフォルトの名無しさん
15/05/07 08:09:19.85 u225hXbX.net
Swiftが世界的に流行ってるのは何故?

302:デフォルトの名無しさん
15/05/07 08:20:45.38 /buoCUil.net
Webしか見えてないとか言ってる人はどうせNodeで行うあらゆる事や
UnityやWinメトロアプリで使うJSもWebの範疇に入れるんだろうな。
まあWeb全体を見通してる人がいたら間違いなく人類の宝だと思うが。
それ以上は神か器用貧乏かのどちらかだろう。

303:Office & Gamers ◆G144Hzgh2.0e
15/05/07 12:21:39.62 D9UlN1Gu.net
安定の99BASICとDarkBASIC。(キリッ

304:デフォルトの名無しさん
15/05/07 15:29:17.35 F6M4LkMK.net
>>293
ちがうよ。
githubもhacker newsもinfoqもredmonkも、node.jsの話題しかないじゃん
昔は多様性があったのに、node.jsとjavascriptだけになったんだよ

305:デフォルトの名無しさん
15/05/07 16:42:31.12 nNBhDPvj.net
node.jsの話題しかないってお前3年前からタイムスリップしてきたのかよw
io.js騒動で急激に盛り下がったじゃん
今からnodeが盛り返すにはMSがJoyentに代わってプロジェクト引き継いで、フォーク統合するしかないな

306:デフォルトの名無しさん
15/05/07 18:11:26.92 /fyjA82q.net
今のWeb APIなんてどっかで見たなと記憶を辿ればIE4やIE5で既に在ったものばかりだからMSの人なら仕事が早いかもしれないな。
でもみんなが今すぐに欲しいのはparallelStreamじゃないかな。ウェブデザイナーレベルに媚びたような仕様の糞すぎるworkerやproxyなんてホンマに要らんし。

307:デフォルトの名無しさん
15/05/07 20:31:31.71 L0UP8Sbb.net
>>298
違うね、Nodeが盛り下がって危機感を感じたからio.js騒動が起きた。
Nodeの問題点はもうわかりきっている。それはAPIだ。
5年前は革新的だったが今では古臭くなってしまった。
そしていつまでたっても1.0が出ずAPIを刷新しない、できない状況が続き、良く言えば枯れ切って盛り下がってしまった。
とは言えAPIの進化には構文の進化が必要で、JSの進化を待つ必要があることも確か。
だからio.jsではまず最初にV8のバージョンを上げることを行った。
V8のバージョンが最新になればES6の一部機能が使えるので、フレームワークの力を借りて
APIを刷新とまではいかないでも、新しい構文の恩恵を受けられる形にする事ができる。
本当はES7までは待たないとまだNode刷新するだけの力はないが、
それでもES6の取り入れはES7までコミュニティを温めるには十分だ。
次の課題は今DOM側で策定中のStreamやIOのAPIとNodeがどう折り合いをつけるかだ。
これはES7の取り込みと一緒に訪れるだろう。
それこまで上手く行けばNodeはWebとJSと共に繁栄する。

308:デフォルトの名無しさん
15/05/07 20:59:23.64 NXZBxN2S.net
> Nodeの問題点はもうわかりきっている。それはAPIだ。
> 5年前は革新的だったが今では古臭くなってしまった。
> そしていつまでたっても1.0が出ずAPIを刷新しない、できない状況が続き、良く言えば枯れ切って盛り下がってしまった。
なんでこんな完全に間違いな文章を
ドヤ顔で書くことが出来るんだろうかw
io.jsが出た理由はプロジェクトの進め方だって有名じゃないか。
APIの問題じゃないからAPIは互換性がある。

309:デフォルトの名無しさん
15/05/07 22:19:14.74 L0UP8Sbb.net
>>301
その進め方ってのは、まさにコミュニティの意見を聞き入れず、
新しいことを取り入れず停滞していたこと。
io.jsはそりゃ最初はAPIをそのまま引き継いだが、
さっさとバージョンを2.0に上げて、それ以降は壊していく予定。
あとそもそもV8のES.nest実装が進まないと試せることに限界がある。
上で書いたように暫くはES6+フレームワークの補助の元で進めて、
標準APIとしてスマートにAPIを刷新するのはES7を待つ必要がある。
その第一歩として重要なのがV8のバージョン上げであり、
そこがNodeの不満点の中でも大きく、io.jsの大きなアピールポイントでもあった。

310:デフォルトの名無しさん
15/05/07 23:31:31.18 NXZBxN2S.net
> さっさとバージョンを2.0に上げて、それ以降は壊していく予定。
こわさないってよ。
誰が壊すって言った?

311:デフォルトの名無しさん
15/05/07 23:49:45.91 L0UP8Sbb.net
>>303
壊さないのは1系の間。とは言え細かな変更は入ってる。
まだ2.0につい先程なったばかりなので大きな違いはないが、
io.jsはセマンティックバージョニングに従ってるのでこれからどんどん入る。
具体的にはまず廃止予定のAPIは互換性を無視して切られる。

312:デフォルトの名無しさん
15/05/07 23:55:12.23 NXZBxN2S.net
>>304
だから、2系がでたから壊さないんだよ。
まさかすぐに3系が出ると思ってるの?
Node.jsとの互換性をなくすってことは、
io.js 2.0の互換性をなくすということに等しい。
セマンティックバージョングだからこそ、
io.jsが2系であるかぎり互換性は保たれる。
もしすぐにio.js3.0系がでて、リリースされたばかりの
io.js2.0系との互換性が切れるんだと言いたいのなら、
そうはっきり言いなさい。

313:デフォルトの名無しさん
15/05/07 23:56:53.79 NXZBxN2S.net
参考
セマンティック バージョニング 2.0.0
URLリンク(semver.org)
1. APIの変更に互換性のない場合はメジャーバージョンを、
2. 後方互換性があり機能性を追加した場合はマイナーバージョンを、
3. 後方互換性を伴うバグ修正をした場合はパッチバージョンを上げます。
つまり、io.jsが2系であるかぎり互換性は保たれる。

314:デフォルトの名無しさん
15/05/08 00:04:00.35 d2WjMR/U.net
html5やnode.jsが出たての頃ってさ、
flashがあるから流行らない( ー`дー´)キリッ
node.jsなんて流行らない( ー`дー´)キリッ
こんなのばっかだったよね(´・ω・`)

315:デフォルトの名無しさん
15/05/08 00:15:33.53 k44MRK8x.net
そりゃ、何にでも賛成する人と反対する人がいるから
当然の話では?

316:デフォルトの名無しさん
15/05/08 00:50:35.21 i0jHqfPR.net
io.jsが今後覇権を握るということでおけ?

317:デフォルトの名無しさん
15/05/08 01:04:50.02 k44MRK8x.net
未来のことは誰にもわからない。
互換性はあるのだから
後から考えても遅くない。

318:デフォルトの名無しさん
15/05/08 08:03:16.33 BFwbM8EM.net
>>309
>>300が言うにはnode.jsのAPIは古臭くカビが生えていて、
そのせいで盛り下がってるそうだから、
API互換性があるio.jsも盛り下がるんじゃないの?

319:デフォルトの名無しさん
15/05/08 08:15:23.07 YYhtHM3N.net
>>299
じゃ、自分で作れば?

320:デフォルトの名無しさん
15/05/08 14:53:36.08 QEodygYi.net
>>305
その通りでリリースからのバージョンアップのスピード見�


321:黷ホ分かるけど io.jsはもうすでに3系に向けて動き出してる 順当に行けば数カ月後には3.0が出る



322:デフォルトの名無しさん
15/05/08 14:56:36.07 QEodygYi.net
あともう1つ、互換性が守られるのはあくまでio.js間であって、
Nodeとの差異は日に日に大きくなってきている
そもそもV8のバージョンが上がった時点でネイティブモジュールのAPIは大きく変わった
そこがNodeが中々V8を更新したがらない理由の最大のポイントだろう
中間層を設ける試みが上手く行けばいいね

323:デフォルトの名無しさん
15/05/08 16:17:49.14 ZwlRorsU.net
io.js使えばNode.jsを使っていたように使えるって事か!
io.js始まったな!

324:デフォルトの名無しさん
15/05/08 20:04:14.79 oviWhSW0.net
なんだかんだ最も大切なことはV8のバージョンだろうな
来年再来年になってくるとHTTP2への対応とかいろいろ重要なこともでてくるだろうが

325:デフォルトの名無しさん
15/05/08 23:41:50.72 4Zeeq/SU.net
JSの覇権も
これからプログラミング力なくて他に良いアイディア持ってる奴が入れるかどうかも
V8のGoogle次第って事か。

326:デフォルトの名無しさん
15/05/09 00:28:06.18 oI9IuS7a.net
>>314
> そもそもV8のバージョンが上がった時点でネイティブモジュールのAPIは大きく変わった
全く変わってないんだが?
大きく変わったと主張するAPIを幾つか書いてくれ。
小さな変更点は不要。

327:デフォルトの名無しさん
15/05/09 03:57:00.56 InPHVTpg.net
URLリンク(yosuke-furukawa.hatenablog.com)

328:デフォルトの名無しさん
15/05/09 18:16:50.39 VYp+BTzE.net
ぶっちゃけV8はChromeのためにあるようなものだから
APIの互換性なんて微塵も考えてないように見えるな

329:デフォルトの名無しさん
15/05/09 18:48:48.26 O7eykXcd.net
そもそもなんで特定のJavaScriptエンジンにべったり依存するような作りなんだ?
まともな神経してれば分離したくなると思うけどな
そういう重要なところを今動けばいいで安易にやっちゃうWeb屋のセンスは
プラットフォームや言語作るのに向かないよね

330:デフォルトの名無しさん
15/05/09 20:16:42.10 K7et29/1.net
そりゃあJSとネイティブを繋ぐ部分なんて当然標準がなくてエンジン固有のものだからだよ。
でも最近になってネイティブモジュールのための中間層を設けようとしてるよ。
とはいえ限界があるとは思うけどね。

331:デフォルトの名無しさん
15/05/09 20:50:50.65 j7qMd7YI.net
>>321
> そもそもなんで特定のJavaScriptエンジンにべったり依存するような作りなんだ?
YAGNI。無駄な抽象化は複雑にするだけ。

332:デフォルトの名無しさん
15/05/09 22:42:36.26 U8gV8WCh.net
>>321
常に、どこの組織のものよりも最速だから

333:デフォルトの名無しさん
15/05/09 22:43:51.78 U8gV8WCh.net
てか、express,node.jsでapacheと同レベルのサーバーを書く方が大変じゃない?

334:デフォルトの名無しさん
15/05/09 22:56:42.45 824TVvuQ.net
>>325
簡易なWebサーバなら簡単に実装できるけど、かといっていちいちWebサーバを書くわけじゃないからw

335:デフォルトの名無しさん
15/05/09 23:34:06.92 h9oTi1Ow.net
void setup() {
size(2000, 2000, P3D);
background(150);
stroke(0, 50);
fill(255, 200);
float xstart = random(10);
float ynoise = random(10);
translate(width/2, height/2, 0);
for (float y = -(height/8); y <= (height/8); y+=3) {
ynoise += 0.02;
float xnoise = xstart;
for (float x = -(width/8);x <= (width/8); x+=3) {
xnoise += 0.02;
drawPoint(x, y, noise(xnoise, ynoise));
}
}
}
void drawPoint(float x, float y, float noiseFactor) {
pushMatrix();
translate(x * noiseFactor * 4, y * noiseFactor * 4, -y);
float edgeSize = noiseFactor * 26;
ellipse(0, 0, edgeSize, edgeSize);
popMatrix();
}
最近クリエイティブコーディングが楽しくてしょうがない

336:デフォルトの名無しさん
15/05/09 23:47:46.48 j7qMd7YI.net
>>327
昔はやったメガデモの
簡易版かい?

337:デフォルトの名無しさん
2015/05/


338:10(日) 00:38:46.49 ID:BOhIcMJG.net



339:デフォルトの名無しさん
15/05/10 02:16:02.80 AKBaSbC1.net
道具としてはさ、processing.jsの方が自然だよね

340:デフォルトの名無しさん
15/05/10 10:11:12.45 gNsXHtNj.net
もう何でもかんでもjsなんだな

341:デフォルトの名無しさん
15/05/10 11:51:32.49 lFzaOLtb.net
js=偽装LISP

342:デフォルトの名無しさん
15/05/10 11:55:47.93 MYiGE0x7.net
なんでもかんでもjsがいいかどうかはともかく、processingはjsの方が相性いいのは事実
>>327のようにドヤ顔してコードだけ貼られても大抵の人は興味を持たないが、
URLが貼ってあれば見てやろうという人もいるだろう

343:デフォルトの名無しさん
15/05/10 12:05:14.21 nV6M9ucc.net
可哀想なオツム故に見れなくて悔しいってこと?

344:デフォルトの名無しさん
15/05/10 12:11:03.01 MYiGE0x7.net
生憎PCを新調してからprocessing入れてないからな
わざわざ>>328を見るためだけに入れようとは思わないね
俺のオツムが可哀想かどうかはともかく、jsの方が見てくれる人は格段に増えると言っているだけだよ

345:デフォルトの名無しさん
15/05/10 13:48:13.80 h/ACmruh.net
「基本的にjserは馬鹿」

346:デフォルトの名無しさん
15/05/10 13:56:48.43 TMIQ+gqn.net
そうだ、馬鹿だバーカバーあk。

347:デフォルトの名無しさん
15/05/10 14:36:40.62 5OwFMfSa.net
>>328
懐かしいなあ。Cマガの特集思い出す
思えばあれから碌な本出てないな

348:デフォルトの名無しさん
15/05/10 14:39:35.05 gNsXHtNj.net
>>336
負け犬の遠吠えが心地よい
東大生とか大富豪とかもこんな気持ちを味わってるんだろうなあw

349:デフォルトの名無しさん
15/05/10 14:55:12.54 BC0Bktms.net
PythonやRubyのバージョン移行の普及度ってどんなもんなの?
でかい変更があってから5年以上は経ってると思うけど


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