- 1 名前:デフォルトの名無しさん [2018/11/04(日) 20:30:10.42 ID:OF8fjEC1.net]
- スレタイ以外の言語もok
前スレ 次世代言語14 Elixir Crystal Julia Rust Swift https://itest.5ch.net/mevius/test/read.cgi/tech/1536668904
- 666 名前:デフォルトの名無しさん mailto:sage [2019/03/31(日) 21:59:57.35 ID:hQIJpK9h.net]
- diコンテナは何のメリットがあるのか不明
- 667 名前:デフォルトの名無しさん mailto:sage [2019/03/31(日) 22:31:08.06 ID:BrkeBPe8.net]
- >>655
は?
- 668 名前:デフォルトの名無しさん mailto:sage [2019/03/31(日) 22:37:11.66 ID:hQIJpK9h.net]
- 依存性注入はクラスが増えてカオスになる
何故かjavaではよく使われるのが謎
- 669 名前:デフォルトの名無しさん mailto:sage [2019/03/31(日) 22:49:56.27 ID:fbfMx+RF.net]
- オブジェクト指向だとクラスは大量に作るもんだぞ
- 670 名前:デフォルトの名無しさん mailto:sage [2019/03/31(日) 22:58:47.59 ID:vireAt4B.net]
- それLaravel使えば問題ない話じゃね?
- 671 名前:デフォルトの名無しさん mailto:sage [2019/03/31(日) 22:59:24.74 ID:vireAt4B.net]
- アンカ抜けてた>>652
- 672 名前:デフォルトの名無しさん mailto:sage [2019/03/31(日) 23:08:51.93 ID:rPARd9Mh.net]
- カオスだと感じる脳程度だけしか持ち得てないんだろう
察してやれよ
- 673 名前:デフォルトの名無しさん [2019/03/31(日) 23:49:26.60 ID:qnazkb5e.net]
- FXの自動売買ツールを無料で配布しています。
hbgvf.blog.jp
- 674 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 00:33:10.08 ID:dYyCWZhX.net]
- 人類最底辺の脳みそしか持ち合わせてない永遠の土方ペチプァの話題なんか出すな
スレが穢れる
- 675 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 01:55:20.15 ID://wZRuJn.net]
- >>641
ついでにSAMも滅びろ あいつ使いにくくてかなわん
- 676 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 02:44:37.39 ID:PICzK0N0.net]
- >>647 だれが勉強すんねん
一目見た時から、恋の花が咲いた のでは無く、こりゃダメだと思った。
- 677 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 02:48:36.94 ID:PICzK0N0.net]
- 逆に Python はなんとなく幼い頃の悪ガキ仲間と似てるなと思ってたら、立派に成長して懐の深い大人になってた。
ちょっと見の見た目で判断してはいけない。
- 678 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 07:12:14.06 ID:dYyCWZhX.net]
- 単純に機械学習ライブラリの虎の威借りてるだけだろ
言語としてはPHP並の糞だわ venv周りも糞糞アンド糞だしな
- 679 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 20:13:46.91 ID:5Qv5OJbI.net]
- そのへん、他の軽量級言語は何故うまくやれなかったのかな。
- 680 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 20:23:06.27 ID:no59bRT+.net]
- 情報系専門でない連中が多い分野だから、言語オナニーには興味ないんだよ
Pythonは昔から数値計算系のライブラリが充実してたし学習コストも低い
- 681 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 21:00:27.10 ID:oZ4uWA1m.net]
- venvなぁ。
中にpython.exeがそのまんま入ってたのを見たときはコントかと思ったw
- 682 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 21:18:09.61 ID:dOhRlOJ8.net]
- 数学の関数やOSのシステムコールを
いちいちオブジェクト指向に翻訳しないといけない文化は仕様が不安定になる 不安定な自作オブジェクトを集めたものが自作FWになる
- 683 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 21:52:46.65 ID:I/9Vex97.net]
- pyenvとかあの辺弄るくらいならdockerで閉じ込めた方がマシ。
- 684 名前:デフォルトの名無しさん [2019/04/02(火) 09:42:15.53 ID:exqjvsIl.net]
- >>671
翻訳しないで済むOS作れば良いのでは?
- 685 名前:デフォルトの名無しさん mailto:sage [2019/04/02(火) 20:30:27.35 ID:JAcM/MrS.net]
- WinRTがそれかな
- 686 名前:デフォルトの名無しさん mailto:sage [2019/04/03(水) 11:55:08.65 ID:eJ7jSanC.net]
- >>672
venvに比べたら、docker重いよ。
- 687 名前:デフォルトの名無しさん mailto:sage [2019/04/03(水) 12:10:05.50 ID:nFtQHhqP.net]
- >>669
その言語オナシストたちが挙ってPython推してるからお前も鼻が高いだろう 良かったな
- 688 名前:デフォルトの名無しさん [2019/04/03(水) 13:11:27.32 ID:GUjlsyjt.net]
- dockerがどっかー行っちゃったー
すまん。一度言ってみたかったんだ。ゆるせ。
- 689 名前:デフォルトの名無しさん mailto:sage [2019/04/03(水) 13:47:18.98 ID:ZdmGYXWn.net]
- 実際には一人で気持ち良くなるのではなく
staticおじさんを責める自分に酔ってるみたいなパターンが多い 一人じゃないから正常なんて思ったら大間違い
- 690 名前:デフォルトの名無しさん [2019/04/03(水) 13:50:02.32 ID:/cw++oNj.net]
- パンツじゃないから恥ずかしくないなんて思ったら大間違い
- 691 名前:デフォルトの名無しさん [2019/04/03(水) 21:33:59.24 ID:x59pa14S.net]
- staticおじさんてなに?
- 692 名前:デフォルトの名無しさん [2019/04/04(木) 02:32:05.58 ID:dJc2ae+t.net]
- >>680
高卒や専門卒のプログラマーのことだよ そういうのにはstaticが好きが多いからそう呼ばれてる
- 693 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 05:09:05.51 ID:fR1MFQa7.net]
- >>680
つhttps://el.jibun.atmarkit.co.jp/minagawa/2010/04/post-ebc4.html
- 694 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 05:48:32.02 ID:Bp6OcKFp.net]
- 特殊用途以外でstatic変数を使うのはアホだけど
staticメソッドもまとめてstaticおじさんとか書いてる記事は 関数型にもついてけないただの周回遅れ
- 695 名前:デフォルトの名無しさん [2019/04/04(木) 07:07:10.33 ID:vFGtgSry.net]
- うちのおじさんはdbのクライアントをstaticにするんだよね
- 696 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 08:14:30.23 ID:O0tv1R/2.net]
- シングルトンおじさんの呼び方のが正しい問題意識な感じがする。
- 697 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 08:44:10.37 ID:t2REljhQ.net]
- ここのstaticおじさんの話題で関数型を持ち出してる人間たまに居る(多分同一人物)けどimmutableに一切言及してないのはなんなんだ
関数型は言語機能で束縛をimmutableにして、それでもなお必要な時にmutableを扱うのであって、staticおじさんのpublic staticなんて言語も踏まえてmutableの可能性の方が高いでしょ
- 698 名前:デフォルトの名無しさん [2019/04/04(木) 09:23:20.89 ID:NLHdu954.net]
- Kotlin もよろしく
- 699 名前:デフォルトの名無しさん [2019/04/04(木) 09:29:42.90 ID:vFGtgSry.net]
- コトリンなんてシングルトンおじさん量産言語じゃん
- 700 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 09:30:46.16 ID:MhhM4cG2.net]
- static禁止の次の世代はimmutableではなく依存性注入だからね
class名をハードコードするだけでアウト interfaceはセーフ もちろんSingletonはアウト
- 701 名前:デフォルトの名無しさん [2019/04/04(木) 09:33:41.65 ID:l5IgkZnr.net]
- Love≒依存性
- 702 名前:デフォルトの名無しさん [2019/04/04(木) 10:37:11.62 ID:NLHdu954.net]
- >>688
え?そうなるか?
- 703 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 10:59:33.23 ID:no/JRFUK.net]
- class名.static変数
class名.static関数 超便利じゃん
- 704 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 11:25:51.28 ID:MhhM4cG2.net]
- class名がそのままファイル名になるじゃん
定義を変えてみたくなったらファイルを上書きするしかないじゃん そういうとこだよ
- 705 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 11:31:19.04 ID:Bp6OcKFp.net]
- >>686
この話題何度も出てるのか staticおじさん云々に言及したのは初だわ というか>>683はググって読んだ記事に対する感想な staticメソッド: 副作用無し → OK 引数への副作用有り → 許容内 標準出力などプロセスに1つのリソースへの副作用 → 許容内 内部でstatic変数への副作用有り→ デバッグ等の特殊用途を除いてはゴミ privateでないstaic変数 → 論外のゴミ これらをただstaticというだけで その先にある局所性や副作用への悪影響を区分せず ひとまとめに扱う雑な記事は、何かをdisるレベルに無いという考え
- 706 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 12:40:50.62 ID:no/JRFUK.net]
- >>692
なんかIDEに怒られてstatic関数にできないときは シングルトンのgetInstance作って class名.getInstance.メンバ関数 で回避
- 707 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 14:01:55.30 ID:t2REljhQ.net]
- >>694
私が勢いでレスしてしまったようだすまない 確かにstaticメソッドのみでみれば関数型的な副作用の切り分けとして見れるね ただ >>682 リンク先 > 共有変数も、pubulic static宣言していまう。したがってプロパティなんて作らない。 というアレがあるので『staticおじさん』とした時に関数型を持ち出すのは不適であると勢いづいてしまった
- 708 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 21:07:18.41 ID:zCERpG8r.net]
- staticメソッド:
副作用無し ↑これにめちゃくちゃ違和感がある 特定の言語は宋なのかもしれないけど…
- 709 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 21:24:47.26 ID:g//GkyZ8.net]
- 同じ機能を持った別個体のオブジェクト変数を持ちたい時にフィールドをstaticにしてたら何も出来ないけどね
- 710 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 22:06:34.27 ID:Bp6OcKFp.net]
- >>697
どういう違和感か分からないが一応補足しておくと staticメソッドのうち、副作用無しの場合 という意味な 副作用が無いメソッドというのは 引数以外に影響されず、戻り値以外に影響を与えないもの 具体例としては java.lang.Math.max
- 711 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 22:39:36.52 ID:bWgxb2Xi.net]
- >>699
引数以外に影響されないことは副作用のないことの必要条件ではない 参照透過とごっちゃになってるぞ
- 712 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 23:09:47.59 ID:ELt56IMR.net]
- 副作用の定義によっては
参照透過と同義になってしまうかも?
- 713 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 23:20:58.18 ID:qij6PJCK.net]
- 定義によってはって、「副作用」の意味を変えちゃうってこと?
- 714 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 23:34:18.16 ID:Bp6OcKFp.net]
- >>700
すまんその通り オブジェクト指向に絡む話なのもあって 関数型に寄りすぎる単語を微妙に避けようとして変なこと言った
- 715 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 20:17:32.71 ID:p2nz2EB6.net]
- 副作用とは関数使ったら値を返すだけじゃなくて他のとこに影響出てしまうやつ
わかりやすい例で言えばファイル操作(write,read)関数とか画面に文字を出す関数(print)が 副作用があるとされている
- 716 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 22:40:10.47 ID:nOvsDaXU.net]
- 先生! ユーザー入力や乱数は副作用に入りますか?
- 717 名前:デフォルトの名無しさん [2019/04/05(金) 23:31:16.26 ID:OJKC59P7.net]
- 入ります。
- 718 名前:デフォルトの名無しさん [2019/04/05(金) 23:36:46.00 ID:OJKC59P7.net]
- そう言う意味じゃHaskellはHaskell信者?は副作用は無いと言い張るが、確実に有る。
私がHaskellに注目してるのは副作用があっても参照透明性が保たれている。この一点だ。
- 719 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 23:56:50.87 ID:lYJMaqmI.net]
- ブログやニュース記事ならhaskellだろうけど
ソフトウェアを書けといわれたらocamlで書くわ
- 720 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 00:31:00.91 ID:fOYiDoB+.net]
- 副作用があるのかないのかを型で宣言すればいいんだよ
副作用は無いと言い張るより、型は嘘をつかないと言い張る方が面白くなる
- 721 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 00:31:05.44 ID:tSYMD8Eq.net]
- >>707
Haskellの世界ではないんだよ まあトリックではあるんだが でもそこを理解しないとmonadの意義もわからない
- 722 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 01:24:43.24 ID:fOYiDoB+.net]
- モナドは外見上は引数がないけど値を返す
逆に引数はあるけど値を返さないとか、引数もない値も返さないとかの方が 副作用に関してはわかりやすいのだけどモナドの意義は副作用だけではないので
- 723 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 01:40:05.33 ID:/WRt9p3o.net]
- モナドとかクソしょうもない型合わせごっこの遊び道具でしかない。
- 724 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 01:43:50.36 ID:yyDZS6P1.net]
- 関数型コミュニティのモナドをディスっちゃいけない空気嫌い
技巧に溺れて本来の関数型のメリットである見通しの良さや宣言性を完全に見失ってる
- 725 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 01:44:02.26 ID:eNhmVT4m.net]
- トレートとインターフェースの違いは何なんだ?rust難しすぎ
- 726 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 02:56:29
]
- [ここ壊れてます]
- 727 名前:.83 ID:Rn9Ldrv+.net mailto: JavaとかC#のインターフェイスと似たようなもんだけど、後付じゃないジェネリクスと階層構造の無い型のおかげでむしろ使いやすい
OOPのインターフェイスの方がルール覚えづらいと思う。<? extends T>と<? super T>とかinとかoutとかもう覚えてないわ [] - [ここ壊れてます]
- 728 名前:デフォルトの名無しさん [2019/04/06(土) 08:23:20.81 ID:LfoN0yho.net]
- >>710
そのトリックに拘って純粋関数型言語と言う言葉に拘ってたら、 そこから話が進まなくなる場面を何度も見てきたから。 純粋じゃない言語から見れば「それもう副作用じゃん」「ただの方便じゃん」と。 だから私はHaskell使って何が嬉しいか聞かれたら、 参照透明性を保つことを徹底する所と答える。
- 729 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 08:33:11.58 ID:/WRt9p3o.net]
- rustはc++に比べると一見学習コストは低いようにも見えるが
色々な機能の意義を理解するには結局c++やることになるという意味でc++以上に学習コストがかかる。
- 730 名前:デフォルトの名無しさん [2019/04/06(土) 08:37:35.86 ID:LfoN0yho.net]
- >>711
? モナドは常に引数あるよ。 doでしか使った事ないのかな。。。 main = do print (1 + 1) print (2 + 2) は main = print (1 + 1) >> print (2 + 2) のdo表記だし、(>>)は main = print (1 + 1) >>= \_ -> print (2 + 2) の(>>= \_ ->)部分の略記。(print (1 + 1)の戻り値IO()からIOを外した()がラムダ式の引数に入るが使わない)
- 731 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 08:37:59.39 ID:LXikOU7p.net]
- >>712 >>713
でもSwift, Java, JavaScriptとかの関数型がメインじゃない言語にも 実質モナド操作であるflatMapが入ったじゃん
- 732 名前:デフォルトの名無しさん [2019/04/06(土) 08:43:32.56 ID:LfoN0yho.net]
- >>713
そうなん? Haskell信者は兎も角、OCamlとかLisp系とか他の言語の人もそんな空気なん? まあモナドをディスる理由も無い気はするが。 見通しの良さや宣言性も見失ってると思わないので、参考までに聞きたい。
- 733 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 08:48:46.26 ID:/WRt9p3o.net]
- そんなクソみたいなものでIOの実行を表現するくらいなら実行タスクのチェーンを作ってますって
意味をもっと明示的に取り扱った方がマシだわ。
- 734 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 08:56:14.69 ID:fOYiDoB+.net]
- >>718
printはモナドを返す関数だ printの引数は関数の引数であってモナドの引数ではない だからprintに引数を渡しただけでは副作用が発生しない
- 735 名前:デフォルトの名無しさん [2019/04/06(土) 09:10:31.05 ID:LfoN0yho.net]
- >>722
モナドと言ったら>>=とかの演算子の方だと思ったんだが、IOな関数(アクション)の方なの? それなら、getLineみたいなアクションは圏論的にはある種の変数扱い。 n = 1 ― 圏論では変数であり、引数無しの関数 値も、Haskellでは出来ないが強いて書いてみると 1 = 1 ― 1という名前の変数(値は1)、もしくは1という名前の1を返す引数無しの関数 そう考えると getLine ― 外部からの入力(IOな値)が入った変数、もしくは(ry >>712 の言う通り、型がIOなだけで、何も特別な関数というわけじゃ無い。 少なくともHaskellから見た扱いは純粋な関数と変わらない。 (それにも関わらず、main表層にアクションが自然と集まるというだけ)
- 736 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 09:13:29.66 ID:LXikOU7p.net]
- 以下は個別に分けられる話
(1) 純粋関数型ではそれ自体の制限からIOにモナドなどを必要とする (2) Haskellでは実行タスクのセマンティクスを明示しやすくするためdo構文がある (3) モナドの有用性はIOの表現用に限らない (他言語にも関連する) >>721 それは(2)を考慮してもなお(1)に納得してないということ? より良い方法があるんだろうか? それ以前の、純粋関数型は要らないということかもしれないけど
- 737 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 09:17:48.36 ID:LXikOU7p.net]
- >>723
その文脈のモナドは、それらを持つ型あるいは値では
- 738 名前:デフォルトの名無しさん [2019/04/06(土) 09:55:46.82 ID:umTWflC6.net]
- これだから関数型の連中はいやなんだよ
- 739 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 10:04:05.89 ID:fOYiDoB+.net]
- Rust「静的型はいいぞ」
Haskell「静的型はいいぞ」 迷探偵「これだから関数型は」
- 740 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 12:47:15.25 ID:TkGMaDeW.net]
- Innullableな世界で仕事がしたい
- 741 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 13:11:50.28 ID:hBfZV6UD.net]
- 学習がしたい
- 742 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 13:33:25.41 ID:fOYiDoB+.net]
- 学習の難易度と速度を上げると壊れる
やばい全然勉強してないと感じる程度に勉強すれば壊れない そういうやつほど無駄に成績が良い
- 743 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 14:03:55.76 ID:hBfZV6UD.net]
- あのさ、この世界で学習と言えばAIだろ。 機械学習だよ。
- 744 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 14:35:38.07 ID:eNhmVT4m.net]
- なぜ深層学習は深いんだい?
- 745 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 15:22:47.45 ID:0N4TKw3/.net]
- >>716
そのとおりだよ 参照透過性だとどっから評価しても結果同じなわけで数学的に扱いやすいわけさ だからそこにこだわるのがHaskell プログラミングにも理論的なアプローチは重要だよ ちなみにおれは普段c++使ってるから 実用性重視してる方だけどな
- 746 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 16:48:06.36 ID:fOYiDoB+.net]
- 関数型の世界でAIといえば記号処理でその成果が型推論
- 747 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 17:53:47.62 ID:7tGee9uO.net]
- >>734 なんか全く的を外していないかい?
- 748 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 19:17:55.07 ID:8WC9KsB7.net]
- 社畜の世界でAIといえばアクションアイテムでその成果はない
- 749 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 22:51:30.58 ID:5uCwXBh8.net]
- >>732
昔はせいぜい2・3層だったからとか?
- 750 名前:デフォルトの名無しさん [2019/04/06(土) 23:03:26.36 ID:qQhidKgX.net]
- さんまの世界ではAIと言えばエッチの後
- 751 名前:デフォルトの名無しさん [2019/04/07(日) 06:55:03.83 ID:DafnpbK7.net]
- 圏論だ参照透明性だと出て来て難しそうに見えるけど、Haskellの裏でそう言う論理に基づいて処理系が動いてるってだけで、
プログラマーは意識する必要はない。 (必要無いのに知らなきゃダメみたいな雰囲気作ってる純粋関数型言語信者がプログラマーからHaskell触る機会を奪ってるだけ) もっと言えば純粋関数型言語だからとか、関数型言語だからと肩肘はる必要もない。 型に気をつければ動く算数・数学のエミュレータみたいなもの程度で良い。 変な言語だけど、そう言う言語というだけの意識で良い。
- 752 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 07:15:45.34 ID:c9qO7NyZ.net]
- いやさすがにHaskelをその評価戦略を理解せずに使いこなすのは不可能だ
Haskelが初心者を阻んでいる最大の壁はそれ
- 753 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 08:18:35.92 ID:OFkYw0l7.net]
- だよな
それで使えたら誰も苦労せんだろ 理論知らずにあの型エラーどうやって直すんだ? つーかHaskell使えない人がそういう知ったようなこと言うのがそそもそもおかしい そりゃ話が噛み合わないさ
- 754 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 08:20:55.34 ID:ObuUWG1X.net]
- 評価戦略と型エラーは関係ないぞバーカ
- 755 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 08:34:15.00 ID:/9bq+rwa.net]
- せやな、デフォルトの遅延評価だと空いてる時間に先読みさせておくとか出来ない。
Deepseqみたいなのを使ってワザと何か変数を明示的に評価したりBangパターン使ったりと少し工夫が要る、、よね? こと速度云々やり始めるとFusion的なのは強みだけど、評価戦略の理解も必須。
- 756 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 09:19:17.34 ID:GYBhj6UR.net]
- haskellプログラマがすごいと思えるところはその辺の最適化についてしっかり理解してるところだろうな。
決してモナドでド
- 757 名前:ヤるところではない。 []
- [ここ壊れてます]
- 758 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 09:35:57.59 ID:uhpyC8M8.net]
- 初心者はPython以外意識する必要はないぞ
近い将来Pythonに代わる言語が出てくるのを知らなきゃダメみたいな煩悩を捨てろ それと煩悩は信者の陰謀で作られたのではなく人間なら誰でも持っているものだ
- 759 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 09:41:31.61 ID:I8qUkc8+.net]
- >>744
評価順を意識することなく気持ち良く数学オナニーするための遅延評価のはずが、 結局みんな評価戦略のハックを競ってるの草
- 760 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 09:57:40.07 ID:uhpyC8M8.net]
- 重要なのは起動時に変数を初期化する順序
C++ならグローバル変数のコンストラクタを呼ぶ順序 Javaならとりあえずnullで初期化して後で代入することになる この問題をHaskellは遅延評価で解決する
- 761 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 10:12:31.86 ID:KWJ+xksL.net]
- >>747 Pythonだって遅延評価を取り入れてるぞ。
range 関数やジェネレータでは遅延評価する。
- 762 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 10:35:27.16 ID:PWWywgBM.net]
- 「遅延評価 *も* できる」と「ぜんぶ遅延評価でやる」の違いの大きさ(良くも悪くも、だが)
が理解できてないPython使い
- 763 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 11:08:03.83 ID:uhpyC8M8.net]
- ジェネレータは疑似マルチタスクを意識する
遅延評価は無意識というか自動運転のようなものを目指して猛反対されている感じ
- 764 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 11:10:17.55 ID:BQvGqFhC.net]
- haskell使うのが適してるのってなんなの?大きなプロダクト?小さなプロダクト?高速動作が求められるプロダクト?生産性が求められるプロジェクト?
- 765 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 11:11:16.13 ID:BQvGqFhC.net]
- 煽りっぽい書き込みになってしまってすまん。
よく名前聞くのでGWに勉強してみようか悩み中なんだ。
- 766 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 11:24:49.64 ID:uhpyC8M8.net]
- 人工知能プロダクトではなく人工知能ブームのようなものを作るのに適している
|

|