【PHP,Python】スクリプト,バトルロワイヤル38【Perl,Ruby】at TECH
【PHP,Python】スクリプト,バトルロワイヤル38【Perl,Ruby】 - 暇つぶし2ch1:デフォルトの名無しさん
13/09/08 20:40:19.09
前スレ

【PHP,Python】スクリプト,バトルロワイヤル37【Perl,Ruby,JS】
スレリンク(tech板)

2:デフォルトの名無しさん
13/09/08 20:47:58.63
< `∀´>ニダー

3:デフォルトの名無しさん
13/09/08 20:50:17.85
民主党は、パナソニックやシャープ、ソニーを潰す気だった?
URLリンク(www.youtube.com)

帰化朝鮮人ばかりが政治家を目指す国?日本
URLリンク(www.youtube.com)

4:デフォルトの名無しさん
13/09/08 21:14:07.17
>>1
スレ立て乙
>>2
2get乙
>>3
工作乙

5:デフォルトの名無しさん
13/09/08 21:58:51.72
Node.jsはHaskellを理想としつつも
GHCをハックするほど頭良くない人に作られました。
妥協の産物だったんですね。

ここは、そんなNode.jsについても議論するスレです。

6:デフォルトの名無しさん
13/09/08 22:01:26.22
>>前スレ997
言語エンジンレベルのハックが困難って話で
コンバータとはぜんぜん違うよ

>>前スレ998
ジェネレータ部分はまだいいけど
イテレータ周りはまだまだ実装不足

>>5
どこにも妥協したなんて書いてないんだが
自分の都合の良いように解釈し過ぎ

7:デフォルトの名無しさん
13/09/08 22:03:57.72
>>5
お前が英語読めない奴ってのは分かった。
お前が議論寄りをも煽りを選ぶ頭の悪いDQNってことは分かった。

8:デフォルトの名無しさん
13/09/08 22:04:30.32
GHCはいいけれど、それでもnodeの目的を
達成するには言語エンジンレベルのハックが
必要だったってこと。

9:デフォルトの名無しさん
13/09/08 22:05:46.69
GoogleがV8エンジン(JavaScript実装)ではなく
Haskell実装を作っていれば、
歴史は変わったかもしれない。
なぜJavaScriptを実装したのか?

10:デフォルトの名無しさん
13/09/08 22:08:48.50
Googleに居るのは、民間人にしては賢い連中ってだけで
研究者村からみれば凡人だからGHC作れる程賢く無い

11:デフォルトの名無しさん
13/09/08 22:09:25.40
>>9
HaskellがWebで使われる言語だったらそうなってたかもな
考えるのも恐ろしいが

>>10
ワロタ

12:デフォルトの名無しさん
13/09/08 22:10:24.06
スレタイにも乗ってない言語共が争ってるんじゃねーよw

13:デフォルトの名無しさん
13/09/08 22:26:22.70
まあ、Haskellの使用も検討するくらいの柔軟さが無いと
あの当時Javascriptをサーバサイドで使おうって思わなかったかもな

14:デフォルトの名無しさん
13/09/08 22:30:30.70
Rhino「…………」

15:デフォルトの名無しさん
13/09/08 22:34:19.22
>>8
Yesod見る限り、言語エンジンまでハックする必要はなかったみたいだけどね

16:デフォルトの名無しさん
13/09/08 22:44:02.54
ネイティブとの連携のしやすさは重要だと思うが

17:デフォルトの名無しさん
13/09/08 22:45:56.46
初めから文句つけたいだけの奴だから何言っても無駄だよ

18:デフォルトの名無しさん
13/09/08 22:49:35.88
次スレはこれで
【Haskell】スクリプト,バトルロワイヤル39【JavaScript】

19:デフォルトの名無しさん
13/09/08 22:53:52.38
お題
stdlib.hのrandを10回呼び出して総和を取れ

20:デフォルトの名無しさん
13/09/08 23:00:18.56
stdlibのstdの意味分かってんの??

21:デフォルトの名無しさん
13/09/08 23:02:36.75
性病

22:デフォルトの名無しさん
13/09/08 23:03:52.84
突っ込むのはそこじゃないだろw

23:デフォルトの名無しさん
13/09/08 23:06:48.52
libc.soのrand使えってことか

24:デフォルトの名無しさん
13/09/08 23:08:21.88
ネイティブ連携 & 副作用

25:デフォルトの名無しさん
13/09/08 23:09:13.07
考え方が逆、
ネイティブの関数を呼ぶんじゃなくて
ネイティブを関数を呼べるようにエンジン経由で提供、登録する

26:デフォルトの名無しさん
13/09/08 23:11:29.28
そんなん共有ライブラリを作れる言語なら
どれでもできるやんけ

27:デフォルトの名無しさん
13/09/08 23:13:17.98
オーバーヘッド短縮や循環参照でのメモリリークとか
厄介な問題を避けるためエンジン側の協力は必須

28:デフォルトの名無しさん
13/09/08 23:16:49.38
よくあるコールバックを引数にとって、
処理が終わったらオブジェクトを与えて呼ぶみたいなのが
どれだけ自然にできるかエンジンによって全く違うと思う

29:デフォルトの名無しさん
13/09/08 23:18:34.55
ネイティブ系の言語よりスクリプトの方が抽象化能力が高いので
ネイティブで書く必要がある処理だけネイティブで書いて
それをスクリプトでラップする方がずっと需要あるけどな

30:デフォルトの名無しさん
13/09/08 23:21:20.21
Haskellは何と連携したらネイティブなの?
Haskell自体ネイティブじゃないの?

31:デフォルトの名無しさん
13/09/08 23:21:21.31
nodeの凄い所は思想ドリブンで開発が進んだから
そのラップするライブラリが基本的に非同期に
なったという所だよ。

32:デフォルトの名無しさん
13/09/08 23:22:38.03
おーすごい
randは呼び出せないけど口は達者だ

33:デフォルトの名無しさん
13/09/08 23:24:21.95
>>29
新しいもの作るんならそれでいいが、
大きなAPIだと既にネイティブで書かれてるのを連携させるのが基本だろ。
Node.jsみたいな環境レベルなら当然そうだし。

多くをJSで書かれてはいるけど、
3大柱のEvent、Buffer、Socketは言うまでもなくネイティブだし。

34:デフォルトの名無しさん
13/09/08 23:27:15.50
大きなモジュールを連携させるとこを書くのがグルー言語

35:デフォルトの名無しさん
13/09/08 23:30:22.90
V8エンジンがネイティブとJSの橋渡しをしてくれるのは当然だけど
フラグをつけるとJS側にも実装に迫れる関数を提供してくれる

というか一般JSで触れる表面のAPIは皆特権JSから提供して貰ってるもので
Nodeとかでフラグを有効にしたら神様気分が味わえて面白いよ
危険だけど性能の良い関数とかも触れる

36:デフォルトの名無しさん
13/09/08 23:34:38.28
そうそう、
ネイティブ|非ネイティブ
じゃなくてその間に適切に層を作ってくれるのが大事

37:デフォルトの名無しさん
13/09/08 23:36:41.75
それって普通の話だぞ?もっとNode以外も触った方が良い

38:デフォルトの名無しさん
13/09/08 23:37:49.72
そう言えば各言語のメタプログラミングの能力はいかほど?
マクロは抜きにして

39:デフォルトの名無しさん
13/09/08 23:38:15.59
マクロ抜くなよLispが泣くぞ

40:デフォルトの名無しさん
13/09/08 23:41:20.90
>>38

JavaScriptは関数定義の引数の数を取得できる。

41:デフォルトの名無しさん
13/09/08 23:42:03.94
>>37
ん、誰もNode限定とは言ってないだろ
ただV8みたいな素晴らしいエンジンの重要性を説いてるだけのこと

42:デフォルトの名無しさん
13/09/08 23:44:42.60
マクロ入れるとなんでもありになっちゃうし、
言語の能力とは少し違うんじゃない?

もっと高次元の能力が知りたい。

43:デフォルトの名無しさん
13/09/08 23:46:49.00
マクロがどの程度のレベルを指しているのかしら無いが、
C言語みたいなプリプロセッサがOKとなると
汎用のプリプロセッサをどの言語でも使うことができるからなぁ。

44:デフォルトの名無しさん
13/09/08 23:47:50.18
んー、その条件ならSmalltalkが無双すると思うよ
わりとマジで

45:デフォルトの名無しさん
13/09/08 23:49:34.61
プロキシが無い言語ってあるの?

46:デフォルトの名無しさん
13/09/08 23:51:30.18
>>45
君の知ってる全ての言語と
その言語にあるプロキシは具体的に
どれのことか答えなさい。

繰り返すが、君の知ってる全ての言語です。

47:デフォルトの名無しさん
13/09/08 23:53:32.09
>>40
よう知らんけどそれっていまどきの言語なら普通じゃないの?

48:デフォルトの名無しさん
13/09/08 23:55:02.23
COBOLのCOPY文最強

49:デフォルトの名無しさん
13/09/08 23:55:43.90
>>46
うーん、、、bashとかは除くとして
Rubyのmethod_missingのオーバライドと、あとJavaScriptにもProxyあるよね
あとはそんなに深く触ってないけどJavaとかでも聞いたことあるし

50:デフォルトの名無しさん
13/09/08 23:57:54.36
method_missingのオーバライド程度がプロキシと呼べるの??

51:デフォルトの名無しさん
13/09/09 00:00:15.94
この話の結論は見えてる
「作った人がそう読んだらそう」ってことだろ

52:デフォルトの名無しさん
13/09/09 00:06:08.17
うーん……

53:デフォルトの名無しさん
13/09/09 00:07:12.86
演算子オーバーロードの有る無しとかはどうよ?

54:デフォルトの名無しさん
13/09/09 00:08:59.42
C++がアップを始めました

55:デフォルトの名無しさん
13/09/09 00:11:42.44
関数のソースコード or バイトコードを取得して
実行時に書き換えられるかどうか

56:デフォルトの名無しさん
13/09/09 00:12:40.94
演算子オーバーロードとValue Proxyってどっちがどんなケースで合ってるんだろう?
後者のほうがオブジェクト指向っぽいと思うんだけど。

57:デフォルトの名無しさん
13/09/09 00:18:41.99
Value Proxy?

58:デフォルトの名無しさん
13/09/09 00:19:10.42
>>55
アセンブラでも実行時にコード書き換えできるよなw

59:デフォルトの名無しさん
13/09/09 00:19:15.24
>>55
関数の上書きとevalができればたいていの言語でできるんじゃない?

60:デフォルトの名無しさん
13/09/09 00:22:03.05
ライブラリを動的にコンパイルして
動的に読み込むのは
実行時に書き換えてるというのかな?

61:デフォルトの名無しさん
13/09/09 00:22:27.27
レキシカルスコープとダイナミックスコープの両方が使える

62:デフォルトの名無しさん
13/09/09 00:23:23.79
>>57
こういうの
URLリンク(wiki.ecmascript.org)

63:デフォルトの名無しさん
13/09/09 00:36:00.25
>>61
それは・・・なんかメリットあるの?

64:デフォルトの名無しさん
13/09/09 00:37:17.53
頭の体操になる

65:デフォルトの名無しさん
13/09/09 00:40:32.82
スタックフレームを読み書きできる
ダイナミックスコープもこの応用でいける

66:デフォルトの名無しさん
13/09/09 00:45:08.28
スコープを直接触れる言語ってある?

67:デフォルトの名無しさん
13/09/09 00:47:07.13
スコープを直接触る、ってのが良く分からんが
グローバル変数をローカル変数に無理矢理書き換えたりとか?

68:デフォルトの名無しさん
13/09/09 00:54:04.31
ギミックとしてはできれば面白いだろうけど、黒魔術にしかならないと思う

69:デフォルトの名無しさん
13/09/09 01:00:12.92
1つ上のスコープの変数を
__scope__.__scope__.xみたいに参照できたらいいなあと思うことがある。
スコープチェーンを触りたい。

70:デフォルトの名無しさん
13/09/09 01:04:29.12
プロトタイプチェーンの
__proto__.__proto__
みたいな感じか

71:デフォルトの名無しさん
13/09/09 01:57:57.29
プロトタイプチェーンをちゃんと理解出来てるのは
JSerでも1割くらいだと思う

72:デフォルトの名無しさん
13/09/09 02:56:26.44
そうでなきゃお前が困るもんなw

73:デフォルトの名無しさん
13/09/09 05:34:48.69
func.prototypeとプロトタイプの関係性は大抵の土方には説明困難だろう
というか同じものだと思ってる人も多いと思うわ

74:デフォルトの名無しさん
13/09/09 06:59:07.49
そんな奴いねえよw

75:デフォルトの名無しさん
13/09/09 08:53:01.94
JSに出来ない事ばっかり並んでてワロタw

76:デフォルトの名無しさん
13/09/09 13:19:07.47
JSのProxyはそこそこ協力だと思うけど

77:デフォルトの名無しさん
13/09/09 14:49:53.10
せやろか?


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