[過去ログ] 次世代言語12 Go Rust Swift Kotlin TypeScript (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
619: 2018/08/06(月)23:04 ID:GZIQzwJh(2/2) AAS
じゃあ数メガぐらいのデータなら?
620
(1): 2018/08/06(月)23:11 ID:4RMVWTln(1) AAS
遅延評価だったりストリーム使えるんなら大体気にしなくていいんじゃないかね
621: 2018/08/06(月)23:47 ID:+WS/BAR+(1) AAS
関数型言語の本質は関数そのものを柔軟に扱うことだと思うんだけどな
例えばジェネリック関数のある言語ではジェネリック関数をジェネリックなまま引数や戻り値として扱えないと関数型言語っぽくない気がする
622
(1): 2018/08/06(月)23:57 ID:6BhDg/Vc(2/2) AAS
>>613
副作用はよろしくない、というのは確かに広く受け入れられている。
でもHaskellなどが要求する基準は、もっとずっと高い。
ちょっと前にstackツールのコードを見たことがある。今どうなってるかは知らんが当時は、
ある純粋な関数の中でデバッグ用ログをより詳細に出力するってフラグを、ソースコードに即値でベタ書きしていた。
これは他の言語では例えば環境変数を読み込む関数をその場で実行すれば良いだけなのだが、
Haskellでそれをやろうとすると、関数のシグニチャを非純粋なものに置き換えて、使用する全箇所も合わせて換えるか、
あるいはフラグを引き渡す配管を新設するか、などの工事が必要になる。
623: 2018/08/07(火)00:00 ID:Cr+icss0(1/2) AAS
>>620
それは勘違い
遅延ストリームでステップ毎にコピーしてるんなら、コピーするオブジェクト数はバッチでステップ毎に全件コピーするのと変わらん
というかメモリアクセスが細切れになる分だけ遅くなる
遅延ストリームはレイテンシの低減には有効だけどスループットも下がるよ
624: 622 2018/08/07(火)00:12 ID:iXXZIPQ5(1/4) AAS
...という工事が必要になる。だから仕方ないと言えなくもない。

このような事態は純粋な言語では良くあるのだが、このことだけで、すわHaskellあかんやん、は早計だと思う。
Implicit ParametersやGivenのようなアイデアも出てきてるし、これは解決する余地のある課題なのかもしれない。
あるいはこのような事態を引き起こす設計に問題があるのかも。
625: 2018/08/07(火)00:18 ID:UMEYDAwp(1/3) AAS
次世代言語たって、シングルスレッドのJSをこねくり回してドヤってる人と
Native言語でハードウェアの性能を最大限引きだそうとしてる人とで
必要とするもの違うからいっしょに議論してもかみ合わない
626: 2018/08/07(火)00:20 ID:wPKvZYDw(1) AAS
そもそもハスケルの仕様通りの評価順序で実装してたらまともな実行速度でないっしょ。
そういうごまかしを含んでる時点でしょーもねーわ。
627: 2018/08/07(火)00:30 ID:Cr+icss0(2/2) AAS
副作用はよろしくない、といってるくせに再帰やら遅延ストリームやらモナドやら状態依存のコードを好んで書きたがるのが関数型マニア
そもそも状態に依存するコードなんか極力書くな、避けられるならモナドなんか使うな、という正論を言えない空気があり、
競って予測困難で難解なコードを書いて「俺すげえ」のマウント合戦を繰り広げている
こんな状態で流行るわけがない
628: 2018/08/07(火)01:14 ID:rAZv+q4y(1/4) AAS
状態依存は避けられないのに状態を禁止してしまったからやたらと状態関連が発達してしまっているけど、状態なしで書ける部分と状態が必要な部分を分けて書くという理念は守られているはず……
629: 2018/08/07(火)01:27 ID:lcDZ2HG8(1/2) AAS
Haskellの定義を知ってる人ならいるけど関数型の定義は誰も知らないんだよ
だから「Haskellは関数型である」とか
「Haskellマニアと関数型マニアは同一人物である」とかいう根拠がそもそも存在しない
630: 2018/08/07(火)01:37 ID:wdyVMIbP(1) AAS
つまりおまいらはまたオブジェクティバラブルなコード時代に戻るというの?
631: 2018/08/07(火)01:38 ID:kyOAfGFT(1) AAS
日本語でおk
632: 2018/08/07(火)01:39 ID:UMEYDAwp(2/3) AAS
関数型言語の定義ってラムダ計算を計算モデルにしてる言語でいいだろ
633
(1): 2018/08/07(火)02:09 ID:lcDZ2HG8(2/2) AAS
そのラムダ計算には型があるのかないのか
副作用があるのかないのか
なにも定義されていない
634: 2018/08/07(火)03:28 ID:hhcOlifT(1) AAS
型なしラムダ計算だったとしてもlispだし型付ラムダ計算だったとしてもML/Haskell/etc…だし広義には問題なくない?
副作用の有無=純粋性は程度で片付けなきゃやってられない(どの汎用言語にもプログラムならどこかしら副作用が存在する)し

定期的に定義に固執しすぎなレス見掛けるけど自分でその問い掛けを考えたか?って感じなのが多い
635: 2018/08/07(火)03:47 ID:1Z28ZkuF(1) AAS
計算機科学の研究課題としては興味深いが
プロダクション用途ではないだろう
だから何が悪いというわけではないが
636: 2018/08/07(火)06:13 ID:o88xwRN/(1) AAS
>>614 がいいこと言った。
見通しが良いコードにするための宣言型言語のはずが
むしろ見通しを悪くしている。
637: 2018/08/07(火)07:56 ID:c0zbvnlv(1) AAS
Scalaという見通しの悪い言語が関数型として世に知られてしまったのも不幸だったよね
意識高い系のオモチャに選ばれたのがScalaではなくF#だったら状況はだいぶ違っていたのではないか
638: 2018/08/07(火)07:59 ID:6yZcjsMn(1) AAS
状態に依存する部分と純粋な部分を切り分けること自体は純粋関数型言語じゃなくてもできること

そもそもHaskell使える開発者が集まってるならHaskellじゃなくてもみんな極力そのように書くし、
強制されないと副作用ごちゃまぜコードを書くような土方はHaskellは使えない

純粋性を強制するメリットが禁止して柔軟性を失うデメリットに釣り合ってない
639: 2018/08/07(火)08:35 ID:iXXZIPQ5(2/4) AAS
純粋性を強制するメリット、を考えてみた。
例えばエディタの設定ファイルをHaskell自身で書くことができる。
設定ファイルがSafeHaskellであることを要請して、かつ設定操作に限定された型のみを許すようにする。

これで設定ファイルに、勝手にビットコインを採掘するスクリプトを忍ばせるような悪さができなくなるし、
Haskellそのものの柔軟性を活かして好きなだけ設定を短く表現できる。
安全さと強力さが両立された。
640: 2018/08/07(火)08:38 ID:FVK8LmPZ(1/2) AAS
Haskellは状態に依存するコードを書こうとすると途端に
可読性の低い冗長なコードになるのがダメなところだと思う
純粋な部分の構文に比べて手抜きすぎなんだよ
641: 2018/08/07(火)08:54 ID:UMEYDAwp(3/3) AAS
手抜きではないだろ、むしろ逆
worldを隠しつつ宣言的に書くという変態技のために
モナド用の構文糖衣が多数あるせいで関数型の簡潔さが失われている
642
(2): 2018/08/07(火)09:11 ID:FVK8LmPZ(2/2) AAS
シンタックスシュガーを幾ら用意しても簡潔に書けるようにする工夫がないから
どう書いても冗長って話なんだけど?分かってないなぁ
643: 2018/08/07(火)10:46 ID:rAZv+q4y(2/4) AAS
それは手抜きと表現すべきではない。わかってないなあ
644
(1): 2018/08/07(火)10:58 ID:hbLPpe/0(1/2) AAS
>>642
じゃあ例えばどういう工夫なの?
お前のHaskellの理解力が試されてるから慎重に答えてね
無理なら別に逃げてもいいよ
645: 2018/08/07(火)11:45 ID:7ewfkb5/(1/4) AAS
工夫するたびに言語の差は大きくなって言葉が通じなくなる
逆に言語を一つにしたければチューリングマシンだとかラムダ計算だとか
人が手を加えないまるで手抜きのような方向に行けばいい
646
(1): 2018/08/07(火)11:56 ID:MwJ3Tuus(1) AAS
>>644
そうだなぁ。何でもいいんだけど、たとえば in-place quicksort をHaskellで可読性高く書けるかって話ですよ
いままでCにも劣る可読性のコードしか見たことないわ
だから、お前が可読性高い in-place quicksort を書いて見せたらこっちの意見は取り下げてもいいけどね

無理なら別に逃げてもいいよw
647: 2018/08/07(火)11:56 ID:UdLWsfQc(1) AAS
関数型は実行モデルに由来する制約が少なくて言語設計の自由度が高い分、アイランドモンキー族にとって馴染みにくいものになってると思うんだよな
「結論から言え」なカルチャーが色濃く出すぎてる
648
(1): 2018/08/07(火)12:42 ID:hbLPpe/0(2/2) AAS
>>646
お前の可読性の基準なんかこっちはしらんがな
お前が言う工夫が例えば何かって聞いてんだよ
まさかノーアイデアで批判だけしてんの?
1-
あと 354 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.016s