1 名前:デフォルトの名無しさん [2018/06/03(日) 23:53:27.92 ID:vrBh4O6u.net] スレタイ以外の言語もok 前スレ 次世代言語10[Rust Swift TypeScript Dart] https://mevius.5ch.net/test/read.cgi/tech/1524607347/
862 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 23:16:50.81 ID:tr0WXiW5.net] >>837 Ruby のProc, block はクロージャだから、クロージャを囲む関数から戻る。 一方ラムダは、単にクロージャを抜けるだけ。 Groovy なども参照 def f (0..5).each do |i| puts i return if i == 3 end end f() #=> 0, 1, 2, 3
863 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 23:39:42.18 ID:xV+Shhkx.net] >Ruby のProc, block はクロージャだから、クロージャを囲む関数から戻る。 クロージャ「だから」、クロージャを囲む関数から戻る?? まるでクロージャだったら当然の挙動と言わんばかりの書き方だけど、クロージャってそんなんだっけ?
864 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 00:39:17.02 ID:tX8JlSDC.net] そんなものちゃんと読んでる>>845 に感心したw ネットにはゴミが多いね
865 名前:デフォルトの名無しさん [2018/07/01(日) 01:54:08.61 ID:5prQoZWD.net] >>845 ヒント:Smalltalk
866 名前:844 mailto:sage [2018/07/01(日) 02:00:27.83 ID:YZ+qvhoO.net] クロージャは、クロージャの外側の環境をつかんでいる。 つまり、クロージャを囲む関数内の変数をつかんでいる だから、クロージャ内でreturn すれば、外側の関数も抜けて、 関数内の変数なども、解放した方が良いと考えた Groovy の挙動とは違うかも
867 名前:デフォルトの名無しさん [2018/07/01(日) 02:11:27.56 ID:FQlsc9Xo.net] >>848 return だけだったら納得できるんだが、next や break の扱いがぐちゃぐちゃなのはどう説明するの?
868 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 02:52:24.35 ID:QlwNZjji.net] >>847 関数型でもないウンコ言語がクロージャの話に入ってくんな 何の参考にもならんわ
869 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 03:04:39.74 ID:3SrV2o5x.net] >>837 > まさか行き当たりばったりってことはないよね笑 その、まさかだぞ。 楽しくプログラミング()した結果が仕様だ文句あるか!w
870 名前:844 mailto:sage [2018/07/01(日) 08:32:31.95 ID:YZ+qvhoO.net] クロージャ(block
871 名前:)内のbreak は、クロージャを抜けるだけで、外側の関数は抜けない。 関数の最後まで実行される クロージャ内のnext は、次の繰り返しに進むだけで、クロージャも抜けない。 クロージャの最後まで実行される def f num = 0 (0..5).each do |i| num = i break if i == 3 end puts num end f() #=> 3 [] [ここ壊れてます]
872 名前:デフォルトの名無しさん [2018/07/01(日) 08:58:20.58 ID:mO0FHij0.net] すみませんがゴミの話は当該スレでお願いします
873 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 09:01:20.31 ID:TobyyIDd.net] これ他の言語にも影響あるだろ continueはバグの原因になるとか、gotoの方がマシとか言われる
874 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 09:18:30.80 ID:5prQoZWD.net] >>850 えー?closureが関数型特有な概念だと思ってるわけー? 面白いね、それ。本当は純粋関数型ではclosureはさほど重要ではないのだけど。 どうしてclosureが関数型固有な概念だと思ったのか、説明してごらん?
875 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 09:22:52.78 ID:TobyyIDd.net] >>855 おまえが自分で説明しないで人に説明させようとするからだよ もし関数型の人が説明したら関数型の概念になるに決まってるだろ
876 名前:デフォルトの名無しさん [2018/07/01(日) 09:23:49.76 ID:FQlsc9Xo.net] >>852 あなたが closure だからと主張する、block は 952の挙動だが Proc では break は例外吐くらしいけど何で? # 言っちゃ悪いが、closure は定義した時点での環境を基準に動作が普通だと思うんで、 # ループ外で定義されているならば next/break は一律例外吐くで無いと一貫性がないようにしか見えん。
877 名前:デフォルトの名無しさん [2018/07/01(日) 09:24:49.31 ID:FQlsc9Xo.net] >>857 すまん、「block は >>852 の挙動」だな。
878 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 09:25:25.69 ID:89p34iy1.net] このbreakとnextは並列コレクションで困る気はする
879 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 10:22:00.59 ID:5prQoZWD.net] >>856 へー、技術のベースになる概念が、関数型の人が説明したら別物になるのかー おもしろいねークスクス
880 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 10:23:24.47 ID:5prQoZWD.net] >>856 で、関数型の人って誰?ばか?
881 名前:デフォルトの名無しさん [2018/07/01(日) 10:45:16.40 ID:QlwNZjji.net] Smalltalkの人たちはScalaやRustのtraitsに対して、オリジナルのSmalltalkと違うからダメだ!あれは別物!って批判するくせに 他の言語より後に実装したclosureについては独自仕様でも問題ない、技術ベースで語れっておかしくね? ダブスタも甚だしいだろ
882 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 10:48:49.50 ID:TobyyIDd.net] 忖度とか伝言ゲームとかいう問題を織り込むまでがITです
883 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 10:59:11.30 ID:uHA6sqOS.net] >>844 はクロージャなら当然あるべき姿としてRubyのProcを語ってるからなぁ それに対して>>847 がヒント:Smalltalkって言ってるのは 要するにSmalltalkがクロージャのあるべき姿を体現してるって言ってるワケで、そりゃ傲慢すぎる ただの一例としてSmalltalkのような仕様もあるって言うなら批判されないのに
884 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 11:00:03.93 ID:7m3QggRW.net] クロージャの方が自身の関数スコープを持ってる印象だな メジャーな中では Java, C#, C++, JavaScript, Obj-C, Swift などがそうだし Rubyのラムダも上記と概ね同じに見える ブロックは文字通りコードの塊と考えるとreturnやbreakについて妥当な動きに見える Proc.newは挙動がキモい ↓によるとdo…endも挙動が違うらしいから >>837 のリンク先は4種で比較した方がいいかもな https://qiita.com/riocampos/items/43e4431ddff93e01a18d
885 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 11:08:34.39 ID:7m3QggRW.net] 中身読んだら結合度の差だったので >>865 の最後2行は撤回する
886 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 11:16:48.58 ID:5prQoZWD.net] >>864 妄想が激しいね。 ヒント:Smalltalkっていうのは、Rubyのそのヘンテコな仕様はSmalltalk由来だということなんだけど。 お大事にね
887 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 11:19:42.69 ID:5prQoZWD.net] >>862 きみ、結局はSmalltalkでのクロージャからのreturnの仕様を調べることすらしないで 思い込みだけで騒いでるでしょ? そういうのを「バカ」って言うんだよ
888 名前:857 [2018/07/01(日) 11:25:18.69 ID:usR85dqh.net] >>867 smalltalkには break や continue (next) はないだろう? ruby のは、closure に break や next を持ち込んでおかしくなっているように見えるよ。
889 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 11:43:42.24 ID:fENDu7uP.net] Smalltalkの仕様がどうであれ、それがRubyの仕様を正当化すると思ってなされているレス(>>847 だの>>867 だの)は 結局Smalltalkの仕様に権威がある、またはRubyがSmalltalkを模倣するだけの理由があるのを前提にしているわけで 傲慢という批判は妥当に思うな
890 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 11:52:10.11 ID:tX8JlSDC.net] 気持ち悪い挙動だと言いがかりをつける気満々のレスに対して smalltalk でもそうだった昔からある挙動ですよと指摘しているだけでは。 なにも知らなければ議論はできない といって smalltalk の知識は前提にしていいのかは疑問 とはいえやはり共通の知識がないと議論は無理だし難しいわ
891 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 12:46:18.88 ID:fENDu7uP.net] Smalltalkを前提にすることに意味はない(Rubyと周辺状況が違いすぎるのに何故真似た?)というのが すぐ直前の議論では
892 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 12:59:23.83 ID:gbNzWOju.net] 俺を批判するのはSmalltalkを批判するのと同じだっていうことの意味は一応ある 自分自身を守るためではなく仲間を守るためという大義名分ができる
893 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 13:03:25.38 ID:QlwNZjji.net] 滅びた言語のヘンテコな機能を真似た言語が やっぱりヘンテコになって滅びつつある それだけの話ではある
894 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 13:04:20.30 ID:yp7ufL3+.net] もうRubyの話はやめよう 次世代でも現世代でもないし
895 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 13:25:35.07 ID:5wbqPO3N.net] なんで? rubyは触ってないけど、rubykaigiとかで盛り上がってる様子見てると、楽しそうだし盛り上がってる感あるけど。未だ現役じゃないの? スタートアップがrails採用するイメージって、まだ古くないよね? 最近だとrailsのボトルネック部分をgoで書く話が面白かった。
896 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 13:42:13.57 ID:k6Y+DK56.net] perlの後継になりそこなったし 海外の人気がかなり落ちてるからね rails用言語で終わってしまった感
897 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 13:43:43.18 ID:3SrV2o5x.net] railsにincludedされてるバッテリーだろ?www
898 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 13:57:23.22 ID:5wbqPO3N.net] つーかrails言語で別に良くないか? 言語なんて所詮はツールなんだから。 bashでwebサービス作るやつはいないだろ?
899 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 14:06:40.12 ID:gbNzWOju.net] 目的と結果を比較されるから 目的はこれだったのに結果はこれなのか?と 目的などどうでもいいと断言できる人は少ない
900 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 15:32:54.19 ID:5prQoZWD.net] >>870 そこまで妄想が激しいようだと治療は困難だね。 でもあきらめないで、先生からもらった薬をちゃんと飲むようにね。 でないと他人様に迷惑かけることになるから。 やくそくだよ。
901 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 15:34:06.79 ID:2efWQwxv.net] 薬? お薬の幻覚でも見えてんのか?
902 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 15:40:22.85 ID:QlwNZjji.net] Smalltalkという完全に終わった言語に執着してるんだから まあフツーに頭がおかしいんでしょう 薬飲めも普段自分が言われてるんだろうね
903 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 15:55:04.17 ID:2efWQwxv.net] 自分が言われたら嫌なことを人に言うって奴かw
904 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 16:07:47.75 ID:rXvfzJkI.net] ここでも見てとれるようにRubyは言語と言うより信者がクソ。 他言語のスレで聞いてもないのにルビーデワールビーデワー宣伝必死過ぎてウザい。 Ruby自体は悪くない。
905 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 16:15:05.64 ID:lS5AQxvk.net] >>885 同感
906 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 16:33:48.43 ID:gbNzWOju.net] 陰謀論みたいに、お前が世界を支配してるんだろって言われるのは嫌じゃないが
907 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 17:13:50.39 ID:fENDu7uP.net] >>873 今回のSmalltalkは道連れ的に名前出されただけでむしろ被害者 変なのが混ざってないSmalltalk内ではちゃんと一貫した挙動のはずだろ?知らんけど
908 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 17:30:42.04 ID:009IG+wv.net] >>885 よくわからんのだけど Rubyでは〜って意見が出たらそんなに嫌なん?w 俺なら他の言語でどうって意見はむしろ感心があるが
909 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 17:32:52.47 ID:i54g35bC.net] >>889 同感
910 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 17:49:59.60 ID:5prQoZWD.net] >>883 Smalltalkを知っている != Smalltalk信者 ちゃんとお薬のんでる? 勝手にやめちゃいけないよ?
911 名前:857 mailto:sage [2018/07/01(日) 18:07:48.02 ID:FQlsc9Xo.net] >>891 なあ、smalltalk と ruby に詳しいんだったら、意味の無い罵倒を止めて、 >>869 の答えてくれない?
912 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 18:22:04.92 ID:IY9E+BQR.net] Perlさん何で死んでもうたん?
913 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 18:23:52.18 ID:mbUvUy2m.net] Perlはワンライナーとして生き残ったのさ
914 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 19:07:07.35 ID:QlwNZjji.net] >>891 まあお前がSmalltalk信者かどうかは見た人間が判断するから気にするな。病気が進行するぞ ただ客観的な事実としてSmalltalkは完全なオワコンw このスレでは場違いすぎて引くレベル
915 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 19:34:13.12 ID:5wbqPO3N.net] >>894 わかる。awkよりも使い勝手はいい。正規表現処理ツールとして有り。ふとnode.jsでもいい気がしたけど
916 名前:デフォルトの名無しさん [2018/07/01(日) 19:46:03.96 ID:x/qhOfWF.net] スレタイ読まずに書き込んでる奴らなんなの?
917 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 19:51:05.54 ID:e+fGbKAY.net] >>862 > Smalltalkの人たちはScalaやRustのtraitsに対して、オリジナルのSmalltalkと違うからダメだ!あれは別物!って批判する それは「批判」ではなく、理解や運用の混乱を避けるための「区別」の必要性を訴えているのです。 「オブジェクト指向」もそうで、Smalltalkが重きを置く「決定の遅延のためのメッセージングのオブジェクト指向」と C++以降の「抽象データ型をクラス(またはそれに準ずるエンティティ)で実現するオブジェクト指向」とは区別すべきと一緒です。 批判があるとすればそれは、本質的に違うものに後から同じ名前を付けて混乱を招いていることに対するものでしょうね。
918 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 20:00:26.61 ID:e+fGbKAY.net] >>862 > 他の言語より後に実装したclosureについては独自仕様でも問題ない、技術ベースで語れ 私はSmalltalk信者wですが、この文脈での>>844 の「クロージャだから」もそれを受けた>>847 の「ヒント:Smalltalk」も 混乱を招きかねない説明やサジェスチョンだと思いまよ。 # 以下は比較的に古典的かつナイーブな実装の Squeak や Pharo を想定しています。為念。 Ruby の retrun に相当する Smalltalk の(唯一の)制御構造である「^戻り値」は、 Ruby の>>837 の例では prco_return や block_retrun と同じ挙動になります。 Object compile: 'rubyReturn | f ret | f := [:n | ^ n * 10. "以降に処理を書くとコンパイル時エラー"]. ret := #(1 2 3) collect: f. ^'
919 名前:'ret: '', ret printString'. self rubyReturn "=> 10 " 余談ですが、lambda_return の挙動も「thisContext retrun」(戻り値が欲しいときは「return: 戻り値」) という表現を使えばまあできなくはないです(が普通はやりません)。 Object compile: 'rubyLambdaReturn | f ret | f := [:n | thisContext return: n * 10. #以降の処理は無視]. ret := #(1 2 3) collect: f. ^''ret: '', ret printString'. self rubyLambdaReturn "=> 'ret: #(10 20 30)' " いずれにせよ、Smalltalk でクロージャ内のリターンがそのクロージャを実行中のメソッドコンテキストを抜けるという挙動をもって (継続渡しとかならともかく)Ruby の複雑な状況の説明を試みるのはあまりよい方法ではないのは確かですね。 [] [ここ壊れてます]
920 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 20:01:01.72 ID:gbNzWOju.net] >>897 pythonやrubyで型を宣言させる話だったな 型を宣言すれば次世代に行けるらしい
921 名前:857 mailto:sage [2018/07/01(日) 21:20:45.24 ID:FQlsc9Xo.net] >>900 かといって、スレタイの TypeScript だって、 Python + 型チェック とあんまり変わらなくないか? #まあ、TypeScript は次世代じゃないという主張はありだけど
922 名前:デフォルトの名無しさん [2018/07/01(日) 21:23:13.47 ID:mO0FHij0.net] 掲示板の書き込みに#で補足コメントするスタイルはキモすぎる
923 名前:デフォルトの名無しさん [2018/07/01(日) 21:23:34.86 ID:8lWKFGMK.net] どんな言語も最初は簡単で使いやすいと言う。 しかし、注目されて実用レベルになると言語仕様が破綻してくる。 お前さんが使っている次世代言語もいつのまにか消えてなくなるさ
924 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 21:28:36.04 ID:jMta/5/n.net] とりあえず動的言語嫌いだから次世代に遺さなくていいよ
925 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 22:10:15.50 ID:iGjgOveK.net] せやな // 型なし糞言語は死ね
926 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 22:47:05.58 ID:IY9E+BQR.net] 米は//より#のが好きです //や’はスカスカし過ぎててなんか
927 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 23:13:47.55 ID:CF9fODYJ.net] まーたsmalltalker来てんのか。草
928 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 23:27:37.29 ID:eYdB7t9V.net] >>906 俺逆だ #の目にうるさいこと極まりない コメントですらバグったのかと思う
929 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 23:41:20.04 ID:YPIrazbz.net] ‘
930 名前:デフォルトの名無しさん mailto:sage [2018/07/02(月) 02:35:06.08 ID:1yNW4Sj0.net] スクリプト言語はshebangあるから#じゃないとうれしくないな コンパイル言語は好きにすればええ
931 名前:デフォルトの名無しさん mailto:sage [2018/07/02(月) 03:45:57.45 ID:sK89Ta1p.net] >>876 Rubykaigiは井の中の蛙の見本市だから Ruby最強他言語バーカって精神異常者の集まり そら宗教の本山みたいなもんだから盛り上がり自体はあるが 技術的にはもう終わってる
932 名前:844 mailto:sage [2018/07/02(月) 06:42:05.84 ID:9wGdj7CA.net] >>857 Ruby のProc, block はクロージャで、 Procは、blockを変数に入れて、持ち運んで、後で呼べるようにしたもの その際、block内でbreak を呼ぶと、ループ処理が完遂せず、失敗とみなしたのだろう ラムダは後に作られたから、return で値を返すようにした 結局、Proc, block、ラムダ、クラス・モジュールも、 スコープチェーンという単一の概念から出来ている 自分の1つ外側のスコープを指す、ポインタを持っている
933 名前:デフォルトの名無しさん mailto:sage [2018/07/02(月) 09:01:43.20 ID:Ovw/GWMA.net] >>911 すげー思い込み強すぎ。中にはそういう人もいるかもだけど多数派じゃないだろ。 原理主義者怖すぎ。あんまり偏りすぎて人刺したりするなよ。
934 名前:デフォルトの名無しさん mailto:sage [2018/07/02(月) 09:17:09.45 ID:BcUDQh/y.net] > Procは、blockを変数に入れて、持ち運んで、後で呼べるようにしたもの これしょうもない設計だよな。 jsとかだったらコールバック関数で統一的に扱えてるところだろ。 こんな本質じゃない言語機能
935 名前:ムダに複雑にして何やってんだか。 わざとパズル難しくして解いて「楽しい」こんな言語かな? [] [ここ壊れてます]
936 名前:857 [2018/07/02(月) 09:49:51.97 ID:OVGUyhuB.net] >>912 あなたがrubyを好きなのはよくわかる、が >結局、Proc, block、ラムダ、クラス・モジュールも、 >スコープチェーンという単一の概念から出来ている > >自分の1つ外側のスコープを指す、ポインタを持っている 単一の概念にするのは失敗してるんだ 理由は簡単、blockにbreakがあるせい。breakの飛び先は、通常のlexcal scope では解決できない。飛び先は定義時と関係ない、後で呼び出される each などのblockを呼び出す関数内に有るからな 他の内部イテレータ使う言語は、諦めて例外やcall/ccなどの大域ジャンプでエミュすることにしてる。 rubyは頑張ってなんとかしようとして、結局統一出来ず、でも似てるから使用が困惑する結果に
937 名前:デフォルトの名無しさん mailto:sage [2018/07/02(月) 10:18:33.33 ID:nMhGW4st.net] >>913 このレスの方が怖い
938 名前:デフォルトの名無しさん mailto:sage [2018/07/02(月) 10:41:05.97 ID:XQH9Y7UX.net] 連想配列[名前] = ラムダ こうして連想配列と代入とラムダで統一すればclassは本質ではないのに 統一を阻止して、classを次世代に遺そうとするのはRubyもECMAScriptも同じ穴の狢
939 名前:デフォルトの名無しさん mailto:sage [2018/07/02(月) 10:47:23.08 ID:j4QNCpln.net] まだ80年代の技術に追いつけないのか、次世代言語wスレの住民は…ばか?
940 名前:デフォルトの名無しさん mailto:sage [2018/07/02(月) 10:50:09.56 ID:FaPINm7E.net] Smalltalkとか言うカビ臭いクソ言語について語ってるやつの頭の中だけ80年代で止まってるけど 他の人は普通に話ししてると思うけど
941 名前:デフォルトの名無しさん mailto:sage [2018/07/02(月) 13:03:54.58 ID:EdW/pwjk.net] >>913 原理主義者怖すぎ、については、 そっくりそのままRubyistにお返しするわ
942 名前:デフォルトの名無しさん mailto:sage [2018/07/02(月) 19:19:13.27 ID:NAI8Vih0.net] 建て前上だけでもclassを消したら次世代感あると、思います
943 名前:デフォルトの名無しさん mailto:sage [2018/07/02(月) 19:39:32.22 ID:NyO7x8zO.net] >>921 ハスケルばかにしてる?
944 名前:デフォルトの名無しさん [2018/07/02(月) 19:42:13.22 ID:HeCnpISr.net] アンチMicrosoftを掲げる以上、Rubyを使うべきだろね。
945 名前:デフォルトの名無しさん mailto:sage [2018/07/02(月) 20:33:18.53 ID:9WbprnCr.net] クロージャの問題は結局変数の評価タイミングが分かりづらくなりやすいってところ。 common lispはその点わかりやすい。
946 名前:デフォルトの名無しさん [2018/07/02(月) 20:47:10.91 ID:HeCnpISr.net] あちらこちらに分身がいて、どれかを書き換えると他に影響してしまう。 そんな混とんとした世界で生き抜くにはいろいろなものが必要になる。 つまり、コピーとムーブが一番楽。
947 名前:デフォルトの名無しさん mailto:sage [2018/07/02(月) 20:47:29.49 ID:nj5wv8+r.net] >>920 goとかjsとかparser用意しないとast作れないところを見るとlispが次世代感あるように感じてきた
948 名前:デフォルトの名無しさん mailto:sage [2018/07/02(月) 20:50:20.50 ID:lajLSwSc.net] >>917 >>921 やはりここはLuaの出番か
949 名前:デフォルトの名無しさん [2018/07/02(月) 21:36:57.09 ID:F0SAJ301.net] luaはnginxと組みわせて使う
950 名前:デフォルトの名無しさん mailto:sage [2018/07/02(月) 21:49:01.21 ID:TJD/4INa.net] >>926 astそのもの書いてるだけじゃん。 靴に足を合わせる理屈は御免です。
951 名前:デフォルトの名無しさん mailto:sage [2018/07/02(月) 21:51:14.33 ID:vpeKf2Dq.net] Lispはいいぞ
952 名前:デフォルトの名無しさん mailto:sage [2018/07/02(月) 21:58:33.96 ID:SHnfHk0h.net] >>920 社会に出ろよ。
953 名前:デフォルトの名無しさん mailto:sage [2018/07/02(月) 21:59:57.72 ID:JnEvidvy.net] >>920 ドカタの社会に出ろよ ドカタの社会に出てないの丸わかりレベル低すぎ
954 名前:デフォルトの名無しさん mailto:sage [2018/07/02(月) 22:00:32.20 ID:9WbprnCr.net] algol系のシンタックスに合わせてる方が無理がある。
955 名前:デフォルトの名無しさん mailto:sage [2018/07/02(月) 22:06:32.06 ID:3279IT8S.net] 久々に社会に出てみたら、 青春を捧げたRubyがすっかりオワコンになってて哀しいです(^q^)
956 名前:デフォルトの名無しさん mailto:sage [2018/07/02(月) 22:27:57.20 ID:sXgZmTLa.net] インターンってRubyばっかだな 素人学生にRuby書かせるとか頭おかしなるで 正気か?どうゆうロジックなんだ?
957 名前:デフォルトの名無しさん [2018/07/02(月) 22:42:00.11 ID:F0SAJ301.net] 世代的にrubyで育ったリーダが多いからじゃない 外資ではgoとかpythonが多い メガネのヒョロガリが写真に写っていてRoRエンジニアを募集してたらまずハズレだ
958 名前:デフォルトの名無しさん mailto:sage [2018/07/03(火) 00:16:39.10 ID:ulFfuTSn.net] 何故breakにしたんだろねRuby。returnじゃ駄目だった理由が分からない
959 名前:844 mailto:sage [2018/07/03(火) 01:06:30.72 ID:LtnxPY8P.net] Ruby では、break, return、例外も、単一の同じ仕組みを使っている。 コールスタックをさかのぼるポインタ。 つまり、どこから呼ばれて、どこへ戻るか breakは、1つ外側のスコープへ戻る。 returnは、最も外側のスコープを抜ける (レキシカル)スコープチェーンと、コールスタックの2大柱。 実装系・VM を作るには、この本がおすすめ Rubyのしくみ、2014 Rubyの実装系、Ruby1.9のRuby仮想マシンの内部の仕組み
960 名前:デフォルトの名無しさん mailto:sage [2018/07/03(火) 01:19:37.85 ID:rBmEiF9u.net] いいえ、私は遠慮しておきます
961 名前:デフォルトの名無しさん mailto:sage [2018/07/03(火) 01:55:27.47 ID:gSJ8jPZs.net] 旧世代言語のネタですっかり過疎ってしまった
962 名前:デフォルトの名無しさん [2018/07/03(火) 03:04:30.31 ID:V6NmESsv.net] RailsってC#でいう.Netみたいなもん?