[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2ch.scのread.cgiへ]
Update time : 10/13 04:35 / Filesize : 243 KB / Number-of Response : 957
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

次世代言語議論スレ[Rust Kotlin Haskell]第6世代



1 名前:デフォルトの名無しさん [2017/08/28(月) 21:53:37.12 ID:5I+bTEeA.net]
※前スレ
次世代言語議論スレ[Go Rust Scala Haskell]第5世代
mevius.2ch.net/test/read.cgi/tech/1497311647/

449 名前: mailto:sage [2017/09/15(金) 10:44:10.07 ID:2tC+gtK2.net]
プログラムと言う単語が悪いわな。
もう少し語源に近づいて「(ある目的のために)予め書かれたもの(pro(羅pre 前以て)-gamme(羅gram 書く))」とすると、運動会のプログラムも電算機のプログラムも同じものなんだが。
書かれた順に行うからプログラムでも無いよ。
紅組優勝の場合は○○、とか、もっと言っちゃえば午前中に雨が降った場合、午後のこの演目は土が乾くまで他の演目を先に行う、なんてのも運動会のプログラム。
それを読んで行う>>415の半分は「スケジュール」。ジョブスケジューラがやるべき事。

450 名前:デフォルトの名無しさん mailto:sage [2017/09/15(金) 11:27:00.11 ID:sIN/n6dF.net]
>>448
それってHaskellの意味あるか?逆ならわかるけど

451 名前:デフォルトの名無しさん mailto:sage [2017/09/15(金) 11:32:50.11 ID:efiXKXYM.net]
どっちにしろ式だの文だのは関係ない話やな。

452 名前:デフォルトの名無しさん mailto:sage [2017/09/15(金) 11:53:54.90 ID:mZUTGfgJ.net]
F#に型クラスさえ導入されればHaskellなんて見向きもしないのに

453 名前:デフォルトの名無しさん mailto:sage [2017/09/15(金) 12:09:58.95 ID:LbVH6Dx6.net]
>>452
コンピュテーション式あるだろ

454 名前:デフォルトの名無しさん mailto:sage [2017/09/15(金) 12:12:03.29 ID:LWf5nRni.net]
>>448
ずっとIOかStateの中に居ればいいと思うよ
do記法が副作用すなわち手続きを自動的にモナドに変換してくれるよ

455 名前:デフォルトの名無しさん mailto:sage [2017/09/15(金) 12:14:55.56 ID:LbVH6Dx6.net]
あれはモナドか

456 名前:デフォルトの名無しさん mailto:sage [2017/09/15(金) 12:17:37.01 ID:0MiV6Sa6.net]
Haskellの型システムを理解できていたら副作用ガンガン使えるよ
型システムをいちいち気にしないやつはPythonを使えよ

457 名前:デフォルトの名無しさん mailto:sage [2017/09/15(金) 12:24:26.12 ID:dK0HzMbN.net]
>>449
どうでもいいがラテン語かね?
普通ラテン語で、書く、となるとscribo、(略)、、scriptumじゃね?



458 名前: mailto:sage [2017/09/15(金) 12:52:34.10 ID:2tC+gtK2.net]
>>457
ごめん、思い切り間違えた。希だな。

459 名前:デフォルトの名無しさん mailto:sage [2017/09/15(金) 13:04:41.59 ID:aCZyfKQz.net]
>>454 >>456
そういうのを取っ払って使えるようにして欲しいのよ
型クラスとかdo記法も隠蔽してシステムの方で勝手に管理してくれればいいじゃん

460 名前:デフォルトの名無しさん mailto:sage [2017/09/15(金) 13:56:26.77 ID:Tu1mqslW.net]
ぶっちゃけhaskell使ってどんくらい開発効率上がるか知りたい。
railsみたく10倍開発スピード上がるって文句のフレームワークでないのかな。

個人的にはgolangのgoaがそれに匹敵する気がする。
webpaiに特化したフレームワークでswagger.jsonも吐いてくれる。
クライアントライブラリまで自動生成できる。

461 名前:デフォルトの名無しさん mailto:sage [2017/09/15(金) 14:59:35.94 ID:Xh3vGrxx.net]
プログラムを作る事と使う事の
区別が付かないやつ多数発見

462 名前:デフォルトの名無しさん mailto:sage [2017/09/15(金) 15:34:36.71 ID:aCZyfKQz.net]
むしろ、作る事≒使う事になっていくだろうな
ある意味先祖返り的な感じだけど
分けることが意味が無い方向に進んでいくと思う
やりたいことを思いついたら、それでプログラム完了したと同じみたいな

463 名前:デフォルトの名無しさん mailto:sage [2017/09/15(金) 15:51:54.65 ID:Xh3vGrxx.net]
>>462
それはもうプログラミングとは呼ばなくなるんだよ
すでに通ってきた道

作る事と使う事の境界線が時代とともに移動することはあっても
分ける事に意味が無くなることはない
概念に名前を付けるというのは分けることそのものだから

464 名前:デフォルトの名無しさん mailto:sage [2017/09/15(金) 15:54:23.94 ID:aCZyfKQz.net]
概念に名前を付けるとか付けないとか、それ自体が意味が無くなるよ

465 名前: mailto:sage [2017/09/15(金) 18:51:48.11 ID:Or0Hv36R.net]
人間は概念に名前がついてると、そいつの素性を知らなくてもなんとなく完璧に理解した気になるステキな特性を持っとるからな。
js界隈のFluxとか使い古しの技術の詰め合わせだし、disりの為の池沼、ガイジ、アスペらへんの言葉も同じ。
精神医学やら臨床心理学、障害者心理学やっても無いのになぁ、って思うわ。やった人間からすると。

466 名前:デフォルトの名無しさん mailto:sage [2017/09/15(金) 19:22:38.65 ID:aCZyfKQz.net]
もう、それって古い考え方だよ

467 名前:デフォルトの名無しさん mailto:sage [2017/09/15(金) 19:54:08.23 ID:0MiV6Sa6.net]
ユーザーが作者に文句を言うことができなくなっていく
使う人≒作る人だから



468 名前:デフォルトの名無しさん mailto:sage [2017/09/15(金) 19:56:37.96 ID:aCZyfKQz.net]
意味がわかんない
使う人≒作る人だって、言えばいいじゃない

469 名前:デフォルトの名無しさん mailto:sage [2017/09/15(金) 20:54:08.67 ID:ZHku/f/z.net]
>>446
ごまかしって、今お前がやってる下手くそな例えのポエムで自爆してる事?

文や式云々は確かに俺個人の解釈の一つだ
で、それで?
いつまでもまもな解釈を提示できない時点で、意味のないレスと自分で反復的に証明してる用なもんだぞ

ちゃんと理解できてるか?知恵遅れ

470 名前:デフォルトの名無しさん mailto:sage [2017/09/15(金) 21:27:47.90 ID:gy747Xnp.net]
>>444
Javaのライブラリが使えるのが大きい
ClojureがLispの中で今一番流行してるのもそこ

471 名前:デフォルトの名無しさん mailto:sage [2017/09/15(金) 21:30:03.12 ID:gy747Xnp.net]
>>460
関数型言語で開発効率は
言うほど上がらないよ
上がるならもっと採用されてる

472 名前:デフォルトの名無しさん mailto:sage [2017/09/15(金) 22:07:36.31 ID:sIN/n6dF.net]
>>470
知ってる。知ってるけど、知った上で鬱陶しく感じてるんや色々と

473 名前:デフォルトの名無しさん mailto:sage [2017/09/15(金) 23:06:38.84 ID:7m1NmZ8+.net]
言語で開発効率が上がるのではない
その言語を使いこなせるエンジニアだから開発効率が上がるのだ
流行に流されず手に馴染んだものを使いたまえ

474 名前:デフォルトの名無しさん mailto:sage [2017/09/15(金) 23:15:03.10 ID:klJRpzhS.net]
それはちょっと違うな
言語の性質そのものが生産性を大きく向上させることはないのは同意するが、
その言語に習熟しているかどうかもそれほど重要ではない
最も重要なのは、学習コストを受け入れて生産性の向上を図ることのできるエンジニアは優秀なエンジニアである、ということだ

475 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 04:11:26.94 ID:AcW1bn43.net]
あと生産性については使い分けがあるな

関数型は記号処理が中心なら簡潔に書けるが
ゲームみたいな
状態遷移が中心の開発対象に向かない

あとCRUDとか定型的なアプリなら
ライブラリやフレームワークの方が
生産性の要素として大きい

結果メジャーなOO言語の方が使いやすい

476 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 08:18:11.68 ID:8gG27N70.net]
言語で効率に差はない君の主張は「HelloWorld程度なら」という前提らしいので真に受けてはいけない

477 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 09:11:09.54 ID:F+TnbpuB.net]
デマを真に受けるだけで効率100倍ぐらい悪化するよな
言語は変えてもせいぜい2倍程度だろう
だから言語の差は意味がないと考えられる



478 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 16:33:37.37 ID:aqKyvOS6.net]
oO(アセンブラでアプリケーション全部書くのからはC++2011でも100倍は確実だと思うけど)

479 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 18:14:46.05 ID:kjHVa57h.net]
お前らは気持ちよくかけるオナニー言語が欲しいんだろ
普及するのは入りやすくて変化の少ない言語だろ

なのでどっちみち生産性とか実用性は無視していいんじゃないか

480 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 19:05:55.59 ID:j0p/1V2e.net]
>>479
これなー
別にC/C++で実行速度も解決できるしほぼなんでもできるからな

言語で何をするかが重要なのであって案の定スレ開いてみたら言語の欠点じゃなくわけのわからんこと抜かしてるし

多分こいつら下の階層のプログラマーじゃないだろ

481 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 19:11:14.44 ID:j0p/1V2e.net]
というか下の階層にいたらこんなスレ開かないか
めんごめんご

482 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 20:48:37.37 ID:AcW1bn43.net]
>>477
>>478
100倍は大げさ
機械語と高級言語だったら100倍ありそうだけど

アセンブリとCで10倍くらいかな
アセンブリとC++で20倍くらい?

483 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 21:13:49.72 ID:CDKitgfC.net]
まあ確かに普段何のプログラム書いてんだよってのはかなり重要かな。

484 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 21:56:40.44 ID:e/AIeMoG.net]
アセンブリとRubyなら15倍くらいかな

485 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 22:16:18.09 ID:j0p/1V2e.net]
そもそも次世代ってどれも対して変わらんだろ。GUIでプログラミングとか今までにない要素ぶち込むならまだしもどれも劣化python/C++じゃん

java/kotlinなんか仮想化すんなら別に言語javaである必要はないしな
次世代取りたきゃandroidみたいにほぼ強制的にやらせればいい

486 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 22:21:07.30 ID:j0p/1V2e.net]
よってkotlinだろう

このスレは終わりである


487 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 22:23:39.18 ID:G0kiNrp9.net]
うぉおおおおおおお
議論スレの終わりを初めてみた!!!!



488 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 22:24:51.68 ID:qNpzB8Gl.net]
今北産業

489 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 22:26:15.80 ID:oDIa36LP.net]
>>488
次世代は
javaの進化系
スレ完

490 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 22:27:09.86 ID:VQ/VXHVC.net]
記念パピコ

491 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 22:27:31.65 ID:j0p/1V2e.net]
俺が自演してるみたいに思われるだろ
やめろ

492 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 22:48:18.22 ID:luYdXLIJ.net]
自演パピコ

493 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 00:49:41.17 ID:WzljKSlU.net]
>>485
>今までにない要素ぶち込む
じゃVR/AR/MR or(amazon Echoみたいな)スピーカーデバイスだけで
プログラミングできる言語作れと?
確かに次世代っぽくはあるかもねw

494 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 02:58:00.79 ID:A1VU6Oqu.net]
どう考えても次世代はルーストだろう

495 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 08:32:15.30 ID:msCJo3bN.net]
他言語もそろそろRustのぱくりを考えているだろう
例えば参照カウントが2以上なら例外を投げるだけの機能

496 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 14:20:07.64 ID:AD9s+d5U.net]
Rustが色んな意味で新しい事は確かだ

497 名前: mailto:sage [2017/09/17(日) 15:03:42.87 ID:4luHVr+4.net]
VRで作業は少しアリかもしれんけどな。単純に視野的に。
Oculus買ったけど、Unityでアプリのウィンドウをキャプチャしたものを浮かべてたくさんの仮想ディスプレイのようにして遊んだけど楽しかった。NASA感ある。
でもキーボードとトラックボール以上の入力装置は無いな。空間をつかむって思ってるより難しかったわ。

でも何より熱いのと、その仮想ディスプレイを浮かべる部分作る作業は酔う。



498 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 17:49:11.61 ID:iL83YJ5L.net]
キーを押した感覚とかフィードバックがないとな
タッチパネルの課題としても研究してる人いるけど

499 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 17:56:51.20 ID:T71SjEGu.net]
良く知らないんだけど、関数型の言語って関数を動的生成してるんだろうか?
C++のラムダはしてないけど

500 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 22:55:01.08 ID:3VVJG3KB.net]
そんなことしなくても推論したシグネチャ通りの関数をコンパイル時に生成すれば十分。

501 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 23:44:37.23 ID:T71SjEGu.net]
クロージャとか関数オブジェクトはそう簡単にはいかんくね?
C++だと結構ダイナミックに引数変更してくるし

502 名前:デフォルトの名無しさん [2017/09/18(月) 01:25:42.89 ID:+b1AQYPX.net]
>>499
関数型言語の計算モデルであるラムダ計算モデルを単純に実装すると、
常に(「関数」ではなく)クロージャがヒープ上へ動的に生成され、
最終的にガーベジコレクションによって回収される
これはSICP本にあるような初歩的な関数型言語インタプリタ実装や
初期のLISP処理系実装で見ることができる

で、現在の最適化技術が反映された関数型言語処理系では
「クロージャ変換」と呼ばれる技術が使われていて、
単に束縛変数(いわゆる関数の仮引数)だけを参照する関数は
手続き型言語と同様にスタック上へ引数が割り当てられ、
本当に必要な時しかヒープを消費しないよう設計されている
その概略はTiger本に解説がある

なお、Haskellのような純粋関数型言語では「ラムダリフティング」と
呼ばれる技術によってクロージャ変換と同様な最適化が実現されているらしいけど、
自分は知らない

503 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 11:44:41.42 ID:iZW012ea.net]
>>502
知りたいことを過不足なく書いてくれた有能。感謝感激雨霰

504 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 12:25:46.18 ID:/x8A7ZAN.net]
それ最適化と呼ぶようなことなのか?
ラムダを普通の関数として実装するくらいのこと、静的言語だったら必ずやってるよね
静的言語の場合は単にそう実装するのが自然だからそうしてるだけで、最適化でも何でもないな
その程度のことにわざわざかっこいい名前をつけなきゃいけないほど動的な関数型言語の最適化技術は貧弱なのかなと思ってしまった

505 名前:504 mailto:sage [2017/09/18(月) 12:53:56.59 ID:/x8A7ZAN.net]
全ての名前をコンパイル時に解決する言語ではラムダは自由変数を参照してないのがデフォで、
静的解析時に自由変数の参照を発見したら例外として変数をヒープへリフティングする
名前を動的に解決する言語では、あえて静的解析を入れない限り基本的には常に自由変数の参照があると仮定する
という意識の違いがあるってことかな

506 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 13:07:29.67 ID:DpRq8b6A.net]
なーにいってだこいつ
動的型付けの言語は全部ゴミってもう証明済みだろ

507 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 13:22:40.50 ID:aKawbEQ/.net]
ID:/x8A7ZANが何言ってるのか良くわからんのだが、まず「動的な関数型言語」って何を指してんだ?

俺の認識では動的な関数型言語って言ったらErlang,Lisp,Schemeを指すんだがそれのことを言ってんのか?

俺は話を動的型付け言語に限定してないぞ



508 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 14:14:51.60 ID:8XcvDR/h.net]
c++ だと単純に実行コードのメモリ内容をヒープに置いてるだけかと思ってたよ。

509 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 14:46:46.94 ID:/x8A7ZAN.net]
>>507
名前解決を評価時に行う言語と考えてくれ

510 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 14:47:16.89 ID:aKawbEQ/.net]
C++はautoで持ってるかstd::functionで持ってるかでもう最適化の内容が変わるし、ラムダは普通の関数ポインタでは持てなかったりするし、autoで最適化したら環境の変数も引数として渡すことになってたりすることもあるし良くわからん
苦手や

511 名前: mailto:sage [2017/09/18(月) 15:32:23.61 ID:HvWrF9I2.net]
なんか変な話だな。
ラムダをどう使いたいかの方が最適化では問題になるのでは?
インライン展開してしまうか、関数にするか、関数内関数にするかってことになるなら、関数ポインタとして呼びたいか条件分岐の方が良いのかとかそっちの観点が問題になるような。
それは石にもよって、armなんかだと再帰しないならインライン展開と条件実行の方が具合が良かったりすると思う。

512 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 15:47:47.30 ID:vOYXlSBd.net]
>>511
レイヤの違う問題。誰もそんな話はしていない。
インライン展開するにしても、前のプロセスで自由変数に依存しないラムダについては独立した関数への変換を予め済ませておけば、
インライン展開は容易になるだろう。

513 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 17:44:30.57 ID:aKawbEQ/.net]
>>509
ちょっと抽象的すぎんよぉ。Pythonとかか?それ

514 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 19:19:25.45 ID:urldNTTh.net]
型概念はリソース制限がきつかったころのレガシーなところはあるかもね
今わざわざunsignedにして1bit節約したい人はまずいない
20年後はchar?そんなのint(64bitだけど意識してない)でいいだろ?になるんじゃない?

515 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 19:57:06.67 ID:7osjOZ8K.net]
なんならdoubleで整数の計算してもいいですよ

516 名前: mailto:sage [2017/09/18(月) 20:01:58.72 ID:HvWrF9I2.net]
>>512
「自由変数に依存していない」から、ラムダが変換出来る訳じゃないよ、って言ってんの。
レイヤの違う話ではなくて、地続きの話では?
その上、最適化と言う言葉は危険すぎると思うが。

517 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 21:37:53.46 ID:Rs/BRyvp.net]
突っかかり始めた



518 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 21:41:40.52 ID:dU2P6lSN.net]
なんか突っかかってることはわかるけど、読み辛すぎて読む気がしない。二行目でギブ(笑)

519 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 23:48:00.28 ID:Wz+o0dZv.net]
>>513
jsもそうだな。関数型じゃないけど。

大雑把に書くと

所謂var bindingされる宣言を評価->所謂let bindingされる宣言を評価->実行

だからvar bindingされた名前は一番最初に見えてる。
やろうと思えばIRの変換で出来ることは実行前に(JIT使わずに)できる。
型情報がないから役に立つのか分からんが。

520 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 02:02:55.32 ID:jzE0vKua.net]
わけのわからん理屈話されるよりこういう内容のほうがまだましだろ

521 名前:デフォルトの名無しさん [2017/09/19(火) 03:04:41.27 ID:NsD/KMp/.net]
>>514
レイヤー次第だろうけどそれは無いと思う。
ネットワーク関連のバイナリプロトコルは思いっきりビット・バイト意識しまくりだし。

522 名前: mailto:sage [2017/09/19(火) 06:53:09.32 ID:GMytP/5k.net]
なんで疑問に思えないんだろう。

523 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 07:36:33.77 ID:L/k3HGkW.net]
下手に最適化するとデバッグが困難なイメージを払拭できないどころか助長している
最適化しない動的言語のデバッグは容易な気がする

524 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 07:53:57.35 ID:Rp+gHpgj.net]
動的言語ってなんだよ
コンパイルしない言語のこと?

525 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 08:03:33.07 ID:t8DbjZup.net]
>>522
じゃあラムダが自由変数に依存してないのに独立した関数へ変換できないケース、
または、その変換を行うことにより最適化が適用しづらくなるケースの例を挙げてくれ
あDHDの主張はこのどちらかを反例として挙げることで裏付けられるというのが俺の理解だが、合ってるかな?
あと、自然言語で回答されても誰も理解できないと思うから必ず具体的なコードで頼む

526 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 09:30:28.30 ID:B9qsqzra.net]
>>525
こいつが言ってるのって、たぶん他の最適化如何でラムダ部分のコードそのものが変わるとか、そういう話じゃねえかな…
変換が何を指してるかは分からないから、完全否定はしないけど、反例の種類は対偶もあるだろよ

527 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 09:36:28.47 ID:sbIiLP4m.net]
あDHD(いいネーミングセンス)の言うことを真面目に読むのは疲れるし、読み人によって解釈が異なる上に詠み人は違う解釈でいる
おまえら良くやるわ
でもたしかに自然言語で描かれるよりコードか数学記号で主張してるほうが読みやすそうww



528 名前: mailto:sage [2017/09/19(火) 18:24:32.47 ID:ORpK0dfd.net]
>>525
例えば、ARMだとインライン展開してしまえばADDEQとかADDNEみたいな条件付き命令でループ中でもストールさせずに飛ばしたり出来ちゃう時とか。
関数にしてjmpすると効率悪いコードになる時。
最適化では。
>>526
コードは変わらんよ。

529 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 18:52:46.88 ID:PJTSF08k.net]
>>528
だからインライン展開は変換後でもできると何回言われたら理解するのか

530 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 20:25:33.85 ID:BJkNW1hw.net]
コードで言われているのに自然言語で返すガイジ
Haskellの時に具体的に書いた結果無知を晒して大恥をかいたことがよほどトラウマになっているものと見える

531 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 21:17:03.18 ID:OwH7JHtJ.net]
前原も就任した後のTV出演で
モリカケ問題ばかりをやるきはないっていったそばから
モリカケ問題トーク始まったからなw

532 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 21:20:11.16 ID:OwH7JHtJ.net]
>>531
誤爆シマスタw

533 名前: mailto:sage [2017/09/19(火) 22:09:51.81 ID:ORpK0dfd.net]
>>529
それは独立した関数が最適ではない、と言う話ではないか。
何が最適化なんだよ。

>>530
別に恥とは思っとらんよ。勉強にはなった。
しかし余程、自分は恥だと思うんだろうなぁ、他人に対してそういう風に「恥ずかしいに違いない」と断定的に言うところ見ると。
余程恥ずかしいな、その思考回路が。

534 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 22:37:12.49 ID:iY7FO3NM.net]
>>533
ウダウダ言い訳してないで言われた通りコードで書けよ

535 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 22:39:47.10 ID:zY0OeQa1.net]
>>533
いやあれは流石に恥ずかしすぎ。あれを恥ずかしいと思わない思考回路がまず恥ずかしい。

勉強になったとかじゃなくて、最低限の勉強すらせずしったかしてたのがバレただけだろ美化すんな

536 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 22:40:22.21 ID:6tkowvmv.net]
なんで最適化の話になってんだか。
javaのGraal使って人間がハンドアセンブルしたマシン語をJITに使える新時代くるで。
いちいちjava bytecode生成しなくて済むよ。TruffleRubyが速い。

537 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 23:17:20.17 ID:y3g67zRP.net]
あの人にボロクソに論破されて発狂して何とか揚げ足取りたいガイジがおるようやね



538 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 23:20:27.89 ID:0Xd47I4v.net]
具体的にコード書くとやっぱりいろいろ明確になる。

539 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 23:27:50.73 ID:4ouvyY05.net]
>>533
直行する問題だと言ってるんだよ
等価なものは同じものとして扱ったほうが最適化の実装は容易になるだろ

540 名前: mailto:sage [2017/09/20(水) 07:03:02.13 ID:0AKG+c7B.net]
>>535
そーかー。
そら楽しかっただろうな、嗤うだけのお前はw

最適化の話は、話の発端>>502で、最初から言うとるぞ。

541 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 08:20:53.05 ID:32CWNlSU.net]
>>537
Haskellの件は擁護不可能だろ
こいつScalaとかOCamlとか関数型全般で知ったかしてたわけだし

542 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 08:21:44.46 ID:32CWNlSU.net]
ちな上で叩いてるやつとは別人だぞ

543 名前: mailto:sage [2017/09/20(水) 08:32:31.84 ID:0AKG+c7B.net]
最適化を知ったかしてる人にヤイヤイ言われる程度の事っしょ。
間違ってたら正せば良いし、積極的に正されてるつもりだぞ。
「間違ってるウゥ!」って指差して笑い転げるのは中学生くらいで終わらせとけよ。。

544 名前: mailto:sage [2017/09/20(水) 08:33:34.51 ID:0AKG+c7B.net]
>>530
ADDEQがどんな命令か知ってれば必要最低限のコードでは?

545 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 08:42:59.18 ID:32CWNlSU.net]
その文章のどこがコードなのか
自分が何言ってるか考えてからレスしろ

546 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 08:44:43.32 ID:32CWNlSU.net]
そして抽象度の異なる最適化という事さえ理解してない

547 名前: mailto:sage [2017/09/20(水) 08:54:13.08 ID:0AKG+c7B.net]
>>545
オペコードはコードでない、と。
面白いな。

>>546
理解してないんじゃない。
着地点が定義されてない最適化なんぞ、どのレイヤであっても無意味。
末尾再帰を解釈できるコンパイラと関数呼び出しとしてしか解釈できないコンパイラの話をしないうちに、
ループの最適化の話しても無駄でしょ。



548 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 09:02:56.02 ID:lnxmN51d.net]
誰もループの最適化の話なんかしてないでしょ
今の論点は、
・クロージャ変換によりガベージの増加を低減できる
・インライン展開により関数呼び出しのコスト低減を図ることも実行速度の向上には効果的である
・クロージャ変換を行うことによりインライン展開などのより低レベルな最適化が行えなくなることはない
・したがって、両者は直行する問題であり、それらを相反するものとするあDHDの懸念は誤りである
これでいいだろ?

549 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 09:12:41.36 ID:meNSbSun.net]
>>540
嗤うだけっていうのはただのディスやね。決めつけはニート認定みたいで、頭悪そうなのでやめといたほうがいいと思うよ

少なくとも、めっちゃ読みづらい知ったかぶり長々書かれて全然楽しくなかったぞ
あの時からずっとおまえのレスは普通に邪魔

550 名前:548 mailto:sage [2017/09/20(水) 09:14:30.17 ID:lnxmN51d.net]
いやインライン展開を先にやっちゃったらクロージャ変換はできなくなるから正確には直行する問題ではないか
何事も負荷逆な操作をできるだけ後回しにするのは基本だよね

551 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 09:24:37.99 ID:NK01lAwy.net]
>>543
最適化知ったかぶりしてる奴って誰だよ

間違い自体は全然問題にされてなくて、Haskellの実装を知ってるとまで言っておきながら、その基本文法すらわかってなかった酷い知ったかぶりを責められてるのわかってる?

552 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 09:40:23.50 ID:meNSbSun.net]
あと全く知らないものを、まるで知ってるかのように振舞ってディスってたっていうのも問題だな
あんだけ散々ディスってたくせに知らんのんか〜いって思った

あれ以来、こいつは知ったかぶりする傾向があるから動くコード書くまで信頼出来んと思ってる

553 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 09:43:04.73 ID:yYGRyM8i.net]
そいつは極度の知ったか自己弁護野郎だから、みんなよく観察するように。

554 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 09:53:58.35 ID:qH6V6v7k.net]
どっちもどっちだな

555 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 10:04:00.22 ID:OlAvSaNc.net]
Cのマクロは人でも読めるコードを生成してくれるから良かった
だがマクロよりインライン関数の方がすごいんだという謎のマウンティングが始まった
人にコードを見せる習慣がなくなったのはそういう歴史の影響があるんだろう

556 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 11:12:40.40 ID:qH6V6v7k.net]
インライン関数は展開されないときもあるからマクロの方つかっちゃうな

557 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 11:30:55.10 ID:meNSbSun.net]
展開されない時って、コンパイラ判断として展開しないほうが良い時なのでは……?
いやコンパイラに任せるより手動で最適化したほうが良いような実力者なら知らんけど



558 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 11:36:58.65 ID:qH6V6v7k.net]
コンパイラーの判断は機械的に判断するから間違ってることも多いからな。

559 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 11:47:06.69 ID:OlAvSaNc.net]
実力者になった後で手動にするか、手動にした後で実力者になるか
現金で買うのとカードで買うのはどちらが賢いかというのに似ている

560 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 11:49:12.59 ID:meNSbSun.net]
はえー。俺はコンパイラより正しい判断が出来る自信はないから全部コンパイラに任せてるわ
いやすごいな。-O0でコンパイルして-O3並みの速度出せたりすんの?

561 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 12:03:51.93 ID:qH6V6v7k.net]
コンパイラの最適化は速度を優先するかメモリを優先するかバランスとってるからね。
俺みたいな速度最優先の少数派のことなんか考えてくれてないから自分でやるだけ。

562 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 13:32:21.76 ID:CdIs01F3.net]
-Ofast は速度最優先だと思ってたけどそうでもないのか

563 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 14:02:50.79 ID:32CWNlSU.net]
>>547
詭弁もいいとこだな
どこがコードなんだよ

オペランドすら記述していない上に、
結局大部分を文章で説明している
それでも、すべて支離滅裂な文よりはいくらかマシだが

564 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 14:07:16.46 ID:32CWNlSU.net]
そしてオペコードをコードと言いながら>>528で、最適化でコードが変わる事ではないという言い草
恣意的にレスしてるのがまるわかり

565 名前:デフォルトの名無しさん [2017/09/20(水) 14:50:54.31 ID:rh0oGGav.net]
あのー結局のところHaskellが良さそうだけどモナドっていうのが分からないとつかえないの?
それともモナドとか分からなくてもそこそこ普通に使えて、しばらく使ってたらモナドとかも雰囲気でなんとなく分かってくるものなの?

YouTuberで圏論の勉強会ビデオ四回目まで見たけどなんとなく理解はできたの
結局のところ集合と関数をより抽象化して記号化していろいろやってるんだよね?

566 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 15:00:39.54 ID:f95dJFKd.net]
モナドはまあ満たすべき性質ではあるけれど、別に理解してなくても問題ない。
コンパイラもモナド則をチェックするわけでもないし。

567 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 15:30:18.35 ID:qH6V6v7k.net]
俺はネットに無料で上がってる凄いH本よんだけど圏論何て一つもでてこなかったけど
モナドはわかったぞ。



568 名前: mailto:sage [2017/09/20(水) 15:44:48.04 ID:0AKG+c7B.net]
テンションすげえな。水曜なのに。

569 名前:デフォルトの名無しさん [2017/09/20(水) 17:03:51.19 ID:66cdr9VM.net]
モナドとか分からなくてもなんとかいけるんやー
ちょっとがんばっておぼえてみよーっと
ありがとー

570 名前:デフォルトの名無しさん [2017/09/20(水) 18:09:54.14 ID:66cdr9VM.net]
Ryzenとか出てきてこれからは6コア、8コアあたりまえになったらマルチスレッドとか大切になるんだとおもうの
それでちょびっとぐぐったらどうも関数型プログラミング言語はどれもマルチスレッドが得意らしいの
だからやっぱり関数型プログラミング言語が流行よね
そんな気がするの

571 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 18:21:45.19 ID:8NhAmDw4.net]
もうみんなコテハンつけたら?
ここにいるのって、どうせいつも同じ人間じゃね?

572 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 18:29:38.52 ID:eqHukz4h.net]
Haskellの並列ってあんまりマルチスレッドって認識してなかったけど、たしかにマルチスレッドあるな

573 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 18:35:57.38 ID:OlAvSaNc.net]
関数型の入門書はパターンマッチができるデータ構造ばっかり教える
クロージャやモナドはパターンマッチができない構造なのに

574 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 19:12:54.78 ID:meNSbSun.net]
そういや、なんでこのスレOCamlいないんだっけ?

575 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 21:15:05.03 ID:+ftcwVio.net]
関数型全般はさておきHaskell自体は並列処理書きづらいイメージがあるんだけど気のせいか

576 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 21:36:57.21 ID:meNSbSun.net]
あんまり詳しくないんだけど、Haskellの並列だと、いくつかの関数をそれぞれ1スレッド(プロセスだったかも?)に割り当てて並列で計算するのが印象に残ってる。
えらい簡単に並列化出来るんだなって思った記憶ある
なんだっけなあのライブラリ

577 名前:デフォルトの名無しさん [2017/09/20(水) 21:42:45.54 ID:ej6oPx0l.net]
純粋な関数は並列化簡単だからね



578 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 21:59:48.39 ID:OlAvSaNc.net]
インターネットとマルチスレッドを区別しないと
マルチスレッド派はガベコレ廃止してborrowチェックしないと

579 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 23:27:02.45 ID:ocgI6/Nq.net]
Kotlinの気に入らないところ
anopara.net/2017/09/16/kotlin%E3%81%AE%E6%B0%97%E3%81%AB%E5%85%A5%E3%82%89%E3%81%AA%E3%81%84%E3%81%A8%E3%81%93%E3%82%8D/

580 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 23:43:37.21 ID:XmuyR82X.net]
>>576
HaskellだとControl.Parallel.Strategiesを使うと
map関数が容易に並列化できてお手軽だった
ちゃんと使おうとするとWHNF(Week Head Normal Form)だとかの理解を要求されるので
そういう敷居の高さはあるけど

581 名前:デフォルトの名無しさん mailto:sage [2017/09/21(木) 01:50:38.06 ID:QW6vwaf/.net]
>>579
この人はScala大好きのようだが
同様に誰かにのScalaここが嫌だと言われそうなレベルの話で
ふーんでおしまいだなあ。

582 名前:デフォルトの名無しさん mailto:sage [2017/09/21(木) 05:23:51.87 ID:r0JkAuLO.net]
{ "aaa" }
このラムダ式の凄さが分かって無いな。
ルビーでいうとブロックが何個でも持てるるのと同じことなのにな

583 名前:デフォルトの名無しさん mailto:sage [2017/09/21(木) 06:47:08.30 ID:aDCr5zcn.net]
>>582
どういうことだってばよ?

584 名前:デフォルトの名無しさん mailto:sage [2017/09/21(木) 07:06:13.16 ID:r0JkAuLO.net]
>>579
に言っている

585 名前:デフォルトの名無しさん mailto:sage [2017/09/21(木) 07:08:49.84 ID:r0JkAuLO.net]
わかりやすくいうと
javascriptのcallbackのfunction()という邪魔な奴が消えて見やすくなるということ

586 名前:デフォルトの名無しさん mailto:sage [2017/09/21(木) 08:36:52.83 ID:q4h3VbHC.net]
Kotlinのパターンマッチは確かにC#の最新版にすら抜かれたダメな子だが、
nullのくだりは全く同意できないな
そもそもScalaにnull safetyなんか無くね

587 名前:デフォルトの名無しさん mailto:sage [2017/09/21(木) 09:32:12.51 ID:5FG4CErg.net]
>>586
c#のパターンマッチはまだ中途半端なのに、それに抜かれたとはヤバイな



588 名前:デフォルトの名無しさん [2017/09/21(木) 12:19:06.27 ID:xGEE8GqX.net]
>>555
inlineの方がいいのは型チェックあるからだろ

589 名前:デフォルトの名無しさん mailto:sage [2017/09/21(木) 12:30:12.98 ID:r0JkAuLO.net]
俺の場合引数が殆どdoubleかintだから型チェックは意味ないんだよな。

590 名前:デフォルトの名無しさん mailto:sage [2017/09/21(木) 14:07:02.73 ID:+Jhp3IyY.net]
doubleかintしか使わないなら意味あるが、2つ使うなら意味あるだろ。
しかも、完全にじゃなくて殆どならなおさら。
型の意味わかってないだろ。

591 名前:デフォルトの名無しさん mailto:sage [2017/09/21(木) 14:11:01.15 ID:iqJkS7HX.net]
JavaScript「型なんて飾りです」

592 名前:デフォルトの名無しさん mailto:sage [2017/09/21(木) 15:01:32.35 ID:gDFFhm4z.net]
>>590
間違いやすくてかつ間違うと致命的なバグを生むからな

593 名前:デフォルトの名無しさん mailto:sage [2017/09/21(木) 15:22:16.77 ID:r0JkAuLO.net]
一番間違えるのは引数の順番と数

594 名前:デフォルトの名無しさん mailto:sage [2017/09/21(木) 15:43:39.40 ID:SPES50ix.net]
>>593
doubleとintの順番ミスったら大変だもんな

595 名前:デフォルトの名無しさん mailto:sage [2017/09/21(木) 16:29:56.24 ID:rIFSqMAF.net]
C のデバッグしてると int -> double も明示的に変換するように設計されてりゃよかったのにと思うことが多い。
python3 の int と float をごっちゃにあえてしたのなんてありゃ失敗だろ。型を弱くしてどうすんだっていう。

596 名前:デフォルトの名無しさん mailto:sage [2017/09/21(木) 18:44:57.78 ID:V4ctP0WJ.net]
次世代言語では、データとかを引数で渡すって方法に新たな工夫が欲しいね

597 名前:デフォルトの名無しさん mailto:sage [2017/09/21(木) 20:03:14.13 ID:1e+K8/4+.net]
>>596
たとえば?



598 名前:デフォルトの名無しさん mailto:sage [2017/09/21(木) 22:58:59.34 ID:2mLwGNyW.net]
doubleとintを間違える可能性は確かにあるけど
座標とかはdoubleとdoubleだったりintとintだったりするだろ
それを間違える可能性まで網羅しないと致命的じゃないか

型システムに都合の良い範囲を想定してしまったらかえって想定外の盲点が増えてしまう

599 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 01:01:11.41 ID:yLA4yX5X.net]
>>598
型システムがきちんとしてる言語であなたが考えてるような設計はしない

600 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 01:09:22.44 ID:VcH/r1aN.net]
intとdoubleを明確に区別するといえばOCamlだが、あれは流石にやりすぎと感じる。にわか感想だけど

601 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 03:19:07.10 ID:g4HdW9MF.net]
暗黙の型変換の邪悪さは経験積めばわかる
あとIntへの型変換はHaskellが一番ドイヒー

602 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 05:18:45.27 ID:A2XKXMkJ.net]
経験積めばわかる、ですむなら静的型いらねぇよ

603 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 05:39:47.03 ID:g4HdW9MF.net]
>>602
ソースの見通しが悪くなってバグの検出が難しくなる

604 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 07:53:43.74 ID:eIMWXunI.net]
IDE補完が効きまくるという点で静的型が好き。
phpStormとか使うとphpでも補完効きまくるようになるん?

605 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 08:34:49.37 ID:ig88NjIH.net]
>>601
10年以上Haskellメインで使ってますが、
あなたの言うIntへの型変換の「酷さ」が分かりません。

他言語と比べて何か問題あるのでしょうか。

606 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 09:10:52.08 ID:eIMWXunI.net]
>>605
Haskellメインの現場ってどういう環境です?研究職?

607 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 09:45:24.85 ID:eeRMTLx0.net]
Haskellみたいなのを研究に使っていたら逆にやう゛ぁいわ
メインはホビーだろ



608 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 09:49:39.95 ID:Q4+Qj6om.net]
まず初めに現場かホビーかの分岐があるのになぜ現場に限定するのか

609 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 11:00:09.62 ID:g4HdW9MF.net]
>>605
え?計算毎にいちいちNum経由にするのが酷くないって?
お前もしかしてHaskell使ったこと無いんじゃないの?

610 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 11:06:23.68 ID:g4HdW9MF.net]
Haskellメイン(仕事とは言ってない)

コンパイラとかの文字列処理や、モデルの妥当性検証とかに使うならまだしも、
数値計算でHaskellw
Repa位しか優位性ないだろ

611 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 11:40:01.90 ID:ig88NjIH.net]
>>609
Numは型ではなく型クラスです。

具体的には、どの型からInt型への変換が酷いのでしょうか。
Stream Fusion は働かないのでしょうか。

612 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 11:45:22.74 ID:ig88NjIH.net]
>>609
失礼、Stream Fusion と言うより、書き換え規則ですね。

書き換え規則が働けば、大抵の型変換は必要最小限のオーバーヘッドで行われる筈です。

613 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 11:47:26.66 ID:g4HdW9MF.net]
>>611
Numが型だとも型クラスでないとも言ってないし、
Stream Fusionだろうと変換はいるけど?
お前さっきから何知ったかぶってるの?

614 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 11:48:26.85 ID:g4HdW9MF.net]
>>612
「はずです」って、それ結局自分で書くだけだろ?

615 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 11:49:20.78 ID:g4HdW9MF.net]
こういう机上だけで語るクソ野郎がいるからHaskellは嫌い

616 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 12:01:58.15 ID:Q4+Qj6om.net]
例えばInt型の3って名前の関数をNumタイプクラスの3って名前の仮想関数に変換する関数で
変換してそれをDoubleを使う関数にいれるパターンだよな。

617 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 12:09:13.20 ID:XD+YRvZx.net]
だから具体的なコード書けって。変な勘違いしてるかもしれないんだから



618 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 12:33:30.94 ID:A2XKXMkJ.net]
仮想関数は酷いってのは常識になりつつある
オーバーロードはいいがオーバーライドは酷い
だがオーバーロードとオーバーライドを勘違いする非常識なやつもまだいっぱいいる

619 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 12:52:13.95 ID:7Suyvrun.net]
オーバーロードこそゴミだろ
型が柔軟になればなるほど邪魔になる

620 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 13:14:10.74 ID:ig88NjIH.net]
>>601
ある型の値をInt型の値へ変換する際にあなたにとって酷いことが起きる、
あるいはあなたにとって酷いプログラムコードになる、という話ですよね。

>>609
Int型への変換の話の中で「Numを経由する」という言い方を聞いて、
あなたが Num を型だと勘違いしていると思いました。
大変失礼しました。

ある型の値をInt型の値へ変換する際は一度Num型クラスのインスタンス型の値へ変換し、
それを改めてInt型の値へ変換しないといけない、
あるいはそういう型が多い。
あなたはそう思っているのでしょうか。

もしそのような場合でも、私書き換え規則があれば経由しないようにできると私は言いました。
標準ライブラリの中で定義されている型で、
頻繁にInt型への変換が必要と思われる型に対しては、
書き換え規則がライブラリ内に書かれています。
自分で書く場合も一度書けば済むだけみます。
これが酷いのでしょうか。

改めて聞きますが、具体的にはどの型の値をInt型の値へ変換する際に、
Num型クラスのどの型の値を経由しなければならないのでしょうか。

621 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 13:37:46.62 ID:g4HdW9MF.net]
>>620
>改めて聞きますが、具体的にはどの型の値をInt型の値へ変換する際に、
>Num型クラスのどの型の値を経由しなければならないのでしょうか。
だから全部自分で書いた話だろそれ
VanillaじゃIntとIntegerすら必要だろ

そんな事言ったら何らかの形で暗黙の型変換許してる言語全部そうだわ
お前マジで頭の病院行ったほうがいいんじゃねえの?

622 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 13:55:56.62 ID:Q4+Qj6om.net]
どっちもどっちだな。
両方病院言ったほうがいいかも。

623 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 14:14:32.59 ID:A2XKXMkJ.net]
言語の問題を医学部に丸投げするなよ
今ここで必要なのは法学部か文学部のような能力だという現実を受け入れろよ

624 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 14:19:32.05 ID:ig88NjIH.net]
>>621
Integer型の値をInt型へ変換する際に、
Num型クラスのどのインスタンス型にまず変換する必要があるのか、
その型を教えて頂けないでしょうか。

625 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 14:52:17.51 ID:XD+YRvZx.net]
具体的なコードを示せないのは、具体的なコードを示すとボロが出るからw

626 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 14:56:44.72 ID:g4HdW9MF.net]
>>624
はあ?Int側にするならNum Integer経由だろ?
お前さっきから関係ない話ばっかりじゃねーか

627 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 15:01:10.70 ID:g4HdW9MF.net]
>>625
書くまでもない気がするが一応な
https://ideone.com/MjF75Z
https://ideone.com/es7fao



628 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 15:10:56.24 ID:XD+YRvZx.net]
ほわ?そのコードの何が問題なんだ?
上も下も非常に妥当な挙動に見えるんだけど、いったいどうなって欲しいんだ?

629 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 15:11:44.73 ID:g4HdW9MF.net]
ああ、意図がわかった
こいつIntegralをNumって言った事とっかかりに揚げ足取りしたいんだな
IntegralはReal通してNumのサブクラスですよクソ野郎

630 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 15:14:53.86 ID:g4HdW9MF.net]
>>628
このクソ冗長なコードが妥当?w
これを解決するための機能まで作っておいて?w

631 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 15:28:32.33 ID:ig88NjIH.net]
>>627
fromIntegral 関数は、Integer型の値をInt型の値へ変換する際に、
どのような他の型へも変換しません。
経由しません。

Inreger型の値をInt型の値へ変換するのにNum Integer を経由、
という言い方がおかしいと思うのですが。

632 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 15:41:26.97 ID:g4HdW9MF.net]
>>631
言葉遊びばかりだな
fromIntegralはfromIntegerを使う時点でNum経由
あといちいち俺が言っていないことさも言ったかのように決めつけて反論するの、やめてくれないかな?

633 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 15:41:29.25 ID:Q4+Qj6om.net]
でもIntをDoubleに変換するときは2回変換するんだろ。

634 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 15:54:31.81 ID:g4HdW9MF.net]
そもそもHaskellで数値計算なんて
チューンしたところでLL並の速度なのに何を躍起になってんだか…
このクソ野郎には適材適所という言葉を送りたい

635 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 15:59:41.73 ID:ig88NjIH.net]
>>632
fromIntegral = fromInteger . toInteger

Integer型の値からInt型の値への変換はどこも経由しません。

例えばWord型の値からInt型の値への変換は、
書き換え規則を働かせないようにわざわざすれば、
Integer型の値へ変換されてからInt型の値へ変換されます。

ですが、このような変換の書き換え規則を働かせないようにするメリットがありません。
初めから標準ライブラリに書かれていて、
プログラマは意識する事無くそれを使っているのだから。

ちなみに、私は>>627のコードが冗長だとは特に思わないです。
文字fromIntegralが長いと感じるのであれば、
fiにでも変えればいい話ですし。

636 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 16:07:10.71 ID:Q4+Qj6om.net]
だから冗長な文を書くんだろうな

637 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 16:16:34.49 ID:2BEAGAP4.net]
上のが通ったらそれ暗黙の型変換じゃね?
そのほうが怖いわ



638 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 16:20:54.19 ID:XD+YRvZx.net]
>>630
え、何? まさかそこで暗黙の型変換して欲しいの?

639 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 16:25:12.12 ID:g4HdW9MF.net]
>>635
だからそれfromInteger使ってんだろ
そしてIntとWordが例外なのに、さも他に定義されてるように言いやがるし
詭弁が多すぎ

640 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 16:30:27.19 ID:g4HdW9MF.net]
>>637
あらゆる型で変換が必要だからおかしいんだよ
比較的面倒くさいOCamlでさえ1キャストで済む

641 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 16:31:40.02 ID:ig88NjIH.net]
>>639
他にも色々な型の書き換え規則が定義されています。

ここで全て挙げるのはさすがに勘弁してほしいので、
興味がおありなら標準ライブラリを調べてみてください。

642 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 16:36:07.88 ID:g4HdW9MF.net]
>>641
いやお前が言い出したんだから、お前が挙げるんだよw
よくもまあこんな適当な事をw

643 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 16:37:20.96 ID:g4HdW9MF.net]
そしてこれが現実w
hackage.haskell.org/package/base-4.10.0.0/docs/src/GHC.Real.html#line-442

644 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 16:37:24.43 ID:XD+YRvZx.net]
そもそもIntとIntegerを混ぜて演算する時なんてそうあるか?
浅学非才な俺には設計が悪いとしか思えないんだけど。どういう時に必要なんだ……

645 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 16:42:22.60 ID:g4HdW9MF.net]
>>644
逆だぞ
そんな型揃えてまで速度欲しい具体的な演算を想定したら
Haskell自体を使わない

646 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 17:05:23.17 ID:XD+YRvZx.net]
>>645
いや、速度関係なく、取り敢えず型は揃えとかない?
関数作る時にわざわざ一つの引数はIntegerで一つはIntとかせんだろ?
俺は大体全部Intで作ってるから、Integerは即Intにしてるわ。みたいな

647 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 17:09:55.82 ID:ig88NjIH.net]
>>643
そのファイルだけではなく、他にもあります。
grepかけてみてください。



648 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 17:53:28.33 ID:ZDWEQPwS.net]
>>619
おっと、型クラスへの罵倒はそこまでだ!

649 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 20:04:54.06 ID:yMB3txhD.net]
そもそも人が
型とか、型クラスとか、
パブリック/プライベートとか
ポインタだとか
そういう言語側の都合を意識しちゃ
次世代言語として
ダメだと思うんだけどどう?

650 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 20:08:01.73 ID:XD+YRvZx.net]
HaskellやらOCamlやらの型は補助ツールであって言語の都合ではなかろ?

651 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 20:24:36.31 ID:yMB3txhD.net]
え〜、でも、そういうのも
言語側が裏で判断して処理してくれればいいじゃん
A.I.でもディープラーニングでもなんでも使ってさ
ハスケルでもエリクサーでも
古いコンピュータ言語の慣習にとらわれてて
全然、次世代って感じしないじゃん

652 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 20:26:22.11 ID:eEMHecr4.net]
型がない言語にろくなものはないな…

653 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 20:33:12.38 ID:ZDWEQPwS.net]
>>652
型がない言語って具体的に何?

654 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 20:37:05.38 ID:b6yHr9//.net]
車の自動ブレーキと一緒で
危険な操作をできなくする方向で言語は進化してきているから
別に古い習慣とかじゃなく、そういう方向へ進化していくものだから

655 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 20:40:16.61 ID:b6yHr9//.net]
危険な操作を禁止するといっても
やりたいことが出来なくなっては意味が無いので
その辺の制約の付け方が次世代で評価されるポイント

656 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 21:16:44.42 ID:A2XKXMkJ.net]
変な操作を禁止する方向と
変な現象を報告するだけの方向があるぞ

そして両者の存在を認める方向と、相手の存在を禁止する方向がある

657 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 03:41:51.45 ID:qWNtk5Ea.net]
むしろ自動ブレーキじゃなくてオートマチック車が
マニュアル車より速くなったとき次世代だと思うな。



658 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 10:32:28.92 ID:j6VCxv0o.net]
具体的には?

659 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 10:47:51.80 ID:qWNtk5Ea.net]
アセンブラが人間が書くよりCの最適化のほうが速くなったときとか。

660 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 10:48:52.56 ID:2jyO0MAw.net]
ほぼもうなってんじゃん

661 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 16:51:55.93 ID:sz6/Tcc0.net]
車もDCTの登場でオートマのほうが速くなったな。

662 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 19:13:02.33 ID:nrpIGIl5.net]
禁止するだけだともっと糞な方向に行くだけだろう。
規則で禁止しまくった SIer の現状を見ろ。
そうじゃなくてより安全な方向を提示するほうが正しい。

663 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 19:54:26.15 ID:2jyO0MAw.net]
そりゃそうよ。次世代と言われてるやつは大抵方向まで提示してるっしょ

664 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 20:21:34.37 ID:3qopZopL.net]
米Appleが「Swift 4.0」を公開、以前のコードを修正無しに利用できる互換性モードを新たに導入
2017年9月22日17:10 末岡洋子
https://mag.osdn.jp/17/09/22/171000

Swift 5の目標が確定、新たな発展プロセスを定義
https://www.infoq.com/jp/news/2017/09/swift-5-development-plan

665 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 21:09:08.49 ID:3CWlI3/Q.net]
>>653
多分PHPのことを言ってるんじゃないかな。
結局動的言語ってテンプレート文字列使ってプログラミングするのと変わんないんじゃないかと思う。

666 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 23:08:02.02 ID:z4fPY7jV.net]
PHPとPerlはもはや門前払いだわ

667 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 23:30:11.90 ID:2jyO0MAw.net]
パールは多重ディスパッチ搭載されてるところが割と好き。使ったことないけど



668 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 00:17:35.00 ID:ZBUgGWmA.net]
>>647
まだ言ってるよw

669 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 00:33:10.78 ID:sQZN3/qk.net]
やけんペェ〜ルとプェチピィ使ってる公害はさっさと処分しましょうね〜

670 名前: mailto:sage [2017/09/24(日) 01:03:00.91 ID:g+SOx1mh.net]
まー、MT車でもニュートラルにしてブレーキペダル踏んでないとセルを回せない、なんて仕組みになったりしてるしな。
安全性としては進化しつつ、機能・機構としては複雑になったり踏切からの緊急脱出の手段を一つ捨てるといった退化してる。

結局、言語も何が正解かは使う人間と用途次第だろ。

「ポインタを捨てたりNullableとそうでない型すらもわけるのが正しい言語」「型なんて飾りです、キャストすりゃいいんです、電文?unionで解釈しましょう」みたいな言語が相容れうる訳がない。

671 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 09:15:54.71 ID:XPNHEl2X.net]
多重ディスパッチわりと好きなんだけど、搭載されてる言語少ないよなあ

672 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 09:18:19.02 ID:L7/sMAP/.net]
しかし時系列でみれば新しい言語ほど何かをするための専用の構文が追加される
傾向があって、その専用の構文では「それ」しか出来ない制限があることで
危険なことが出来なくなったり、読みやすくなったりしているのだから
次世代言語とはそういうものだろう

673 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 11:08:39.74 ID:fyfssP0K.net]
ちょっと議論が抽象的すぎんよぉ
具体的に行こうぜ具体的に

674 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 11:10:15.91 ID:sQZN3/qk.net]
バイナリで語れよ

675 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 15:15:34.52 ID:FsQtGtar.net]
>>672
それ自称シンプル言語()のGolangだろ
array、slice、map,chan。全てが専用構文
次世代言語は演算子もメソッド呼び出しだったりするから専用構文は少ないよ

676 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 15:20:28.63 ID:0P71vbb3.net]
関数型言語の時代が来る事なんて一生ないよ

677 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 16:49:57.99 ID:tjbSkdrA.net]
もうそこまで新しい言語上の概念もないしな。



678 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 18:21:51.74 ID:y8Y2Gp0g.net]
COBOL「私を殺すと言ってた言語は、みんな死んだよ」
www.nurs.or.jp/~ogochan/essay/archives/5033

679 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 18:23:00.77 ID:fyfssP0K.net]
LLVMって第一級関数ないんだよな……
HaskellとはバックエンドにLLVMあるんだけど、どうやって実装してるんだろ?

680 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 18:51:05.70 ID:ueXBBIg3.net]
新しい概念がなくても、古すぎて記憶にない概念を蒸し返すだけで十分たのしそうだな

681 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 18:53:11.57 ID:fU9iGs3X.net]
>>679
インタプリタで実装できるんだから、極端な話、インタプリタをそのまま埋め込んでしまえばいい。
それをいかに効率化するかは最適化次第だけど、基本的にはエミュレーションだよ。
CPU命令セットとの親和性の高い一部の低レベルな言語を除けば、
コンパイラというのは君が想像してるより非常に複雑でソースからかけ離れたコードを生成するもんなんだよ。

682 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 19:10:03.30 ID:fyfssP0K.net]
>>681
いやまあ、せやね。Haskell が吐くアセンブラ複雑すぎてビビったことあるわ
しっかしやっぱりインタプリタ埋め込みかあ。Haskellもそうしてるんだろうか?

683 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 23:54:19.09 ID:tjbSkdrA.net]
c/c++ のコンパイラしか知らんけどそんなに複雑なものが必要かね。
あんまりイメージできないな。

684 名前:デフォルトの名無しさん mailto:sage [2017/09/25(月) 00:13:26.46 ID:8jaeeQ+5.net]
C++だってラムダはそれなりに複雑と思うな〜

685 名前:デフォルトの名無しさん mailto:sage [2017/09/25(月) 00:29:03.12 ID:10sBRTwD.net]
ブラウザがDOM操作とかgetとかpostとかするのもインタプリタのように見える
JSをいくら最適化しても複雑なデータ構造はそのままだから

686 名前:デフォルトの名無しさん mailto:sage [2017/09/25(月) 00:30:46.06 ID:Kozaluvh.net]
>>664
まだ仕変とかABIとか言ってるのかよこの言語。
いい加減枯れろよ

687 名前:デフォルトの名無しさん mailto:sage [2017/09/25(月) 01:47:53.39 ID:/lG4wgeA.net]
ポストC++としてはD言語が最適だわ
やっぱnullは便利



688 名前:デフォルトの名無しさん mailto:sage [2017/09/25(月) 10:51:28.03 ID:8jaeeQ+5.net]
Dは指針に欠けていて、書けるコードの種類が多すぎる。
最近はクラスは使わないとか言われた時はビックリしたわ。割と好きだけどさ

テンプレートとオーバーロードの充実っぷりはC++の比じゃないし、プロパティあるし、UFCSある所とか好きだけど、演算子の定義を構造体中に書かないといけない所だけは解せない

689 名前:デフォルトの名無しさん mailto:sage [2017/09/25(月) 12:10:20.51 ID:Vj0qyvjj.net]
>>679
llvmのレベルでクロージャー定義されたらつぶし効かなくなるだろ
llvmにそれを期待するのが間違ってる

690 名前:デフォルトの名無しさん mailto:sage [2017/09/25(月) 12:40:19.83 ID:8jdzqYUG.net]
>>689
期待はしてないぞ。ヒープに関数を展開する機能がないのに、どうやってヒープに関数を展開してるんだろう?って疑問を覚えているだけだぞ

691 名前:デフォルトの名無しさん mailto:sage [2017/09/25(月) 12:54:44.69 ID:Vj0qyvjj.net]
>>690
llvmを持ち出す意味がわからん
cで実装されてる関数型言語はどうやってクロージャー実現してんだろ?とか
jitってどうやったら実現できんだろ?
という疑問の持ち方ならわかる

692 名前:デフォルトの名無しさん mailto:sage [2017/09/25(月) 13:05:30.42 ID:8jdzqYUG.net]
>>691
「Cで実装されてる関数型言語はどうやってクロージャを実装してるんだろう」でもほとんど同じ意味だけど、別にLLVMでもいいじゃん。俺がLLVMの方を意識してるからLLVMって書いてるだけだが

Jitの方はよくわからん。関数型言語一般でJit使ってるの?

693 名前:デフォルトの名無しさん mailto:sage [2017/09/25(月) 13:25:06.64 ID:X0v0rcqt.net]
すごい素朴には
class {
unsigned int eax;
...
void add();
...
}
みたいなアセンブラ実行クラス作ればできんじゃないの?

694 名前:デフォルトの名無しさん mailto:sage [2017/09/25(月) 15:00:43.13 ID:AJsPQEJa.net]
そもそも関数を動的に生成する必要はない
クロージャは環境を引数に取る関数として実装するのが普通だ

695 名前:デフォルトの名無しさん mailto:sage [2017/09/25(月) 15:37:00.33 ID:C5otDHV+.net]
動的に関数を作るのはコンビネーターで結合させるんだろ。

696 名前:デフォルトの名無しさん mailto:sage [2017/09/25(月) 15:40:30.80 ID:AszBb3kH.net]
その前にまず再帰関数で100の階乗を計算すればいい
関数を100個作るやり方とは違うやり方がわかる

697 名前:デフォルトの名無しさん mailto:sage [2017/09/25(月) 20:30:11.80 ID:Vj0qyvjj.net]
>>692
単なる疑問ということはわかった
物理cpuとそのabiを扱うことを前提にしてるllvmと
λ計算を理論的基礎にしてる関数型言語とでは
メモリモデルが全く違うんだからいきなりマッピングを考えるのは
無理があるとだけ



698 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 00:58:41.50 ID:PCoWV6xx.net]
ハスカルデスクトップソフト作れるようになった?

699 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 13:49:21.20 ID:3DlL6rrx.net]
だからそれは
データは制御フローに影響を与えるし
制御フローはデータに影響を与える
このように双方が影響しあってプログラムが展開していく
(まるで電磁波のようだ)
この複雑性はソフトウェアが有用であり続けるためには仕方が無い

なので
・制御フローがデータに何か書き込むタイミング
・制御フローがデータを読み取って分岐するタイミング
の二つをトラップして言語やシステムで何かサポートしてやろう
というのが基本的な考え方なんだよ

700 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 14:35:36.67 ID:dFfa0kvi.net]
制御フロー?は座標系や文字のエンコーディングに影響を与えるやつですか?
エンコーディングに依存しないデータが欲しいです

701 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 16:08:19.45 ID:hWBvxAV0.net]
つまり、いつ実行するか?今でしょ。
ということだな。

702 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 21:28:19.34 ID:ghZl2iPU.net]
マイクロソフト、量子コンピュータ向けプログラミング言語を発表 https://ndjust.in/t7GAzsXB

俺の予測したとおり次世代言語は機械学習に最適化された言語ってことだな

703 名前:デフォルトの名無しさん [2017/09/27(水) 05:16:13.47 ID:phMqkxHz.net]
どうせ博士クラスの研究者しか扱えない代物なんでしょ?

704 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 08:06:15.29 ID:RgM5LnyS.net]
この中に1人だけ、量子コンピューティングと機械学習を混同してドヤってるバカがいます。

705 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 08:58:09.74 ID:iTQClNYA.net]
>>704
相手にしてるお前なんなん?
恥ずかしいからやめて。

量子コンピュータの用途が何%機械学習を経由するであろうか、お前は全て見通しているとでもいうのか?
お前のその自己矛盾に気づかない頭の悪さよりよっぽどマシな発言だと思うが。

706 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 09:00:05.94 ID:iTQClNYA.net]
そして俺はそんなアホを相手にするアホ以上の何者でもないことは断っておこう。

707 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 09:43:14.65 ID:VJzN3SRS.net]
少なくとも今現役の量子コンピュータは機械学習専用ってくらい
それくらいしか使いみちがないと思うんだが。
他の用途で使えるの?



708 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 09:48:07.08 ID:iTQClNYA.net]
>>707
単独の最適化問題って機械学習関係あるの?

709 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 09:49:46.52 ID:S3cenggq.net]
別に今使ってるパソコンが量子コンピューターに置き代わっても
処理速度が向上してうれしいだろ。

710 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 10:00:45.88 ID:ihq9cuYE.net]
バイナリ変数の二次多項式の最小化しか解けないのだが。

711 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 10:36:08.63 ID:S3cenggq.net]
日本人は量子コンピューターのなかで機械学習をやってるように物事をみるが
西洋人は機械学習を量子コンピューターでやっているようにしか見えないらしい

712 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 13:42:52.32 ID:t1YPNFYO.net]
機械学習やりたいからやってるだけの人の気持ちがわからない
わからないなら真似しなければいいのに
量子力学上の理由で機械学習をやってるという設定で人の真似をするモンスターがいる

713 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 17:06:07.52 ID:BP44oxnY.net]
結局は大きい部屋を占領する量子コンピューター(冷却の都合で小型化困難)で
端末から2進数コンピューターのエミュレーションさせてそうw

714 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 18:07:06.65 ID:7dA/9JOQ.net]
これだけ過去の資産であふれかえってたら
そう簡単に移行できないね

715 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 21:35:28.14 ID:Z//p6YWO.net]
お前らずっと型型うるさいな。だまってSmalltalkかjsかRuby使ってろよ。
そんなんじゃrustで発狂するぞ。

>>649
>パブリック/プライベートとか
カプセル化が幻想だっていい加減気付いてほしい。
有用なのも抽象データ型だけだし。

716 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 21:39:54.28 ID:t1YPNFYO.net]
>>714
行きたいところがあれば大抵一人で行けるからみんなで移行はしないのであって
みんなで行けないから一人で行くのではない

717 名前:デフォルトの名無しさん [2017/09/27(水) 23:40:28.56 ID:ECh+B8hR.net]
>>715
> 有用なのも抽象データ型だけだし。

個人的にはデータと操作を一緒にして 型 としなくてもいいかもって思うことある。

でも複数のデータをまとめる機能とオーバーロード・ジェネリクス可能な関数、それと名前空間は欲しい。



718 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 23:54:51.33 ID:t1YPNFYO.net]
最初の引数名をthisかselfするとデータと操作が一緒
それ以外の名前にするとデータと操作が一緒じゃない
これは幻想

719 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 04:02:34.66 ID:y9L3Umrp.net]
オブジェクト指向はスケールしないパターンマッチングとしか言いようがないな。
抽象データタイプの値コンストラクタの引数は評価されなくてもサンクの為の
メモリーを消費するかな。

720 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 04:11:56.16 ID:y9L3Umrp.net]
結局、言語なんて何使っても一緒というのが結論だな。Cを除いて

721 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 06:49:19.68 ID:BQWTKxzA.net]
じゃあCOBOLで

722 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 12:13:20.80 ID:9BGh9eWC.net]
>>720
結論なんてないさ
結論がないということはどれでも一緒なんだろうという推理は微妙に間違っている

723 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 14:09:34.89 ID:Wk7uxpKF.net]
>>719
それは君の理解が浅いからだな。ばーか

724 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 15:55:46.02 ID:y9L3Umrp.net]
要するに構文が単純になるとコンテキスト依存になってパースが
線型時間スペースで不可能になりコードを生成に向かないジレンマなんだよな。

725 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 21:56:38.55 ID:QyC1nyMw.net]
理解が浅い、じゃなくて変な理解をしているか使う言葉にオレオレ文脈を入れてるかだろう
1レス内に意味の通じない言葉や理屈が複数あると突っ込むことも面倒臭いから、よっぽど親切な人に出会わないと自覚できない

726 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 00:23:21.75 ID:QjWIl+U1.net]
幽霊には主体性がない
人を怖がらせるのも自由意志ではなく信賞必罰か何かのルールに従っているだけ
逆にルールを破るのも他人が言ったことを鵜呑みにする形で破る

727 名前:デフォルトの名無しさん [2017/09/29(金) 01:30:00.14 ID:ppl3WHHK.net]
%%%3%%%
000-DOK<NAZE-0.8112162>
001-3800%\73NMB/1,81,2,NB"IKKI"%
002-91.81%ML7"8.122231746668193,43@ML.4@"%^23.1444
003-1.33321444718%"YLD""SO"%{71.%{62.1339816{331.422231765%<<<NL6
004-LOOP%Go To"000"%

VCL



728 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 01:36:36.52 ID:kiQUSPyl.net]
まあ統一言語を欲するのは銀の弾丸を信じるのと同じくらい愚かだってことだよ。

729 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 03:47:22.75 ID:UluMyDjB.net]
一言語で何でもやろうとすると
C++みたいに複雑になり過ぎる

730 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 04:58:15.94 ID:UyK8hEcX.net]
自然科学の雄たる物理学のこれまでの試みを全否定でワロた。
そういう所謂愚かな天才たちのお陰で今がある訳だが。

731 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 08:27:55.49 ID:RLeXl8wr.net]
銀の弾丸を求める方がまだマシだね

732 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 08:29:27.12 ID:SkRkhnTn.net]
物理学はバカにはできないのと同様、いい言語はバカにはできないのでこの世にはPHPが存在するのです……

733 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 09:30:18.50 ID:KptQPoVN.net]
このスレってタイトルの割には中身カスだね
巡回やめ

734 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 11:04:49.63 ID:Ge6Tlx2B.net]
>>730
ニュートン力学で十分なところを相対性理論だの量子力学だので解こうとするのは
高度なアプリケーションをマシン語で書くようなものでは
原理的には単一の言語で書けるというのと
実際にそれで書くというのは違う

735 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 12:23:50.97 ID:/3JVpH8G.net]
なるほど、言葉という点からするとそりゃそうか。分かりやすい喩えだね。

736 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 18:13:13.46 ID:Nb5uhyxU.net]
プログラミング言語を手軽にプログラミングできる言語を開発すれば
あらゆる問題に対処できる言語になるんじゃないかな

737 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 18:20:21.61 ID:LiYG09Uz.net]
プログラム言語のシンタックスはスケールしないからな。
要するに一次元のストリングスをパースする実行性の限界なんだよな。



738 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 19:22:42.97 ID:kiQUSPyl.net]
「言語」がカバーしようとする範囲はある意味では「物理学」の範囲を超えてるしな。
文学だろうと心理学だろうと社会学だろうと記述しようとしているようなもんだよ。

739 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 19:53:59.09 ID:K1n6MHEs.net]
そんなことより世の中 車輪の再発明と移植がおおすぎるから
どんな言語で書かれたライブラリもどんな言語からでも呼び出せる
ライブラリの標準フォーマットと仕組みを作ってほしい
そしたら言語のシェアなどもう気にする必要ない

740 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 20:02:43.96 ID:JlXHMRox.net]
>>739
たしかに統一ライブラリは必要だよね
Java のライブラリをC#で共用するのはうけるだろうか?

741 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 20:29:00.72 ID:Nb5uhyxU.net]
でも統一ライブラリとなるとオブジェクト指向とかが必須になるような
マクロとか許可すると意味不明なことになるから

でもそうなると言語自体の進化がしづらくなるかも?

742 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 20:44:30.11 ID:v+2E5EyQ.net]
>>737
映画メッセージの話みたいだな。
人間の認識能力を進化させて言語を+次元化するしかないな。

ところでUE4のブループリントって正直使いづらいんだけど
あれってメリットあんのかね。ビジュアルスクリプティングっていまいち
シンドいんだよなぁ。

743 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 21:04:07.14 ID:6ZguHByP.net]
.NETみたいな

744 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 21:37:17.79 ID:L7twK2Cs.net]
>>740
普通にWebAPI経由でいいやん

745 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 22:27:07.00 ID:YRRMW80I.net]
いや統一ライブラリに一番近いのはCでしょ

746 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 23:25:07.49 ID:nd/SbQEJ.net]
メジャーな言語だと大体FFIあるしな

747 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 00:51:21.85 ID:Juh3JZfh.net]
>>739
MicroServiceも知らないのかい?



748 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 01:03:28.54 ID:J50qyRrt.net]
言語は統一できない
コンパイル済みのライブラリに言語の痕跡が残っているからライブラリも統一できない

749 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 01:07:04.15 ID:lpKILp3q.net]
gRPCおすすめ
言語違っても呼び出せる

750 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 02:52:34.28 ID:Lz4Zzbqz.net]
>>748
プログラム言語の機械翻訳?

751 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 08:20:51.39 ID:iIQSfMFY.net]
>>736
アラン・ケイがそんな研究してた
助成金が尽きてやめちゃったけど
言語自体にPEGベースの解析器生成器を組み込んで
既存の言語も含め、ドメインに適した言語を適宜構築・実行できるようにして
2万行でWindowsみたいなGUI OSを書けるようにするってやつ

STEPS プロジェクトご紹介
d.hatena.ne.jp/propella/touch/20091219/p1

STEPS プロジェクトご紹介その2
d.hatena.ne.jp/propella/touch/20111022/p1

752 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 09:30:03.37 ID:Vg7VBsmM.net]
>>751
PEGいいよね。PEG.js使ってるけど簡単に言語が作れそうな予感
独自HTMLモドキパーサー書いてつかってるわ。

753 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 09:58:40.63 ID:F2cNQzRT.net]
PEGベースってメモリー酷く消費するから使いたくないな。

754 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 10:47:06.01 ID:mj2lGBa5.net]
そう言うだろうと思って、統一はしないで各自で好きなものを自由に使えるようにした
ここまで予想できてたやつは頭良いな

755 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 10:51:55.84 ID:Sn83lOLK.net]
Racket もそんな感じを目指してなかったか。

756 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 12:51:28.75 ID:Sn83lOLK.net]
>>690
clang.llvm.org/docs/BlockLanguageSpec.html
C言語にすらクロージャが導入されてるし。

757 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 22:40:20.15 ID:VjEq+HDI.net]
糞ペチプーの標準ライブラリをHaskellで呼び出すプロジェクトとかあったら発狂しそう



758 名前: mailto:sage [2017/10/01(日) 00:21:40.89 ID:14LFf82H.net]
phpを単に糞と言うにはphpを知らなすぎるんじゃないかなぁ、と思うが。
あれはただの歯ブラシだけど、最高の歯ブラシだよ。歯を磨くことに関しては。

759 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 00:40:48.00 ID:5jXWEgsq.net]
>>758
そういう比喩は結局なにに向いてるって言ってるのかわからんよね。
フレームワークを駆使するような規模のコードには合わないって言ってるのかな?

760 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 00:42:01.71 ID:BdI8d/N5.net]
しったかブーメランガイジに絡むな��

761 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 01:17:26.87 ID:unGk0Arz.net]
>>758
君はPHPのコンセプトは知ってるようだが、現実を知らんのだね
PHPは便器に突っ込まれた糞ブラシだよ
汚物まみれで害を撒き散らす

PHPのプロジェクトは例外なく糞まみれだった
糞みたいなプロジェクトに糞みたいな運用に糞みたいな技術者
今さらPHPを選ぶ奴は糞、センスないと言ってもいい

762 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 03:04:52.91 ID:0gcknzCm.net]
いまだにそんな事言ってる奴のがよっぽどセンスない
速度上がってから案件増えてるよ

763 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 03:40:25.93 ID:Zsb0mqkq.net]
PHPは案件が増えるほど、技術者の質が下がっていく、、、

764 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 05:23:27.13 ID:yhU1ELrC.net]
「PHPプロジェクトは糞ばかり」への返答が「PHPプロジェクトは増えている」ってなんだよ。大した日本語だな

765 名前:デフォルトの名無しさん [2017/10/01(日) 05:38:37.40 ID:ogXt//ms.net]
サーバーの話?
PHPってjavaやC使うほどでもなく
ライトな技術で実装できるからPHPにしてるんでしょ?

766 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 09:47:56.64 ID:unGk0Arz.net]
>>762
やっぱペチパーって能なし脳なしセンスなし技術なしのガイジですわ

まぁ俺の関係のない最底辺の土方イット産業で
せいぜい糞ブラシで糞こねくりまわしとけや

767 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 09:52:15.80 ID:0gcknzCm.net]
>>764
>>766
いかにもロクに仕事もできない奴が言いそうな事だな
道具は時と場合で選ぶもんだぞ口だけの無能共



768 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 09:52:38.54 ID:unGk0Arz.net]
>>765
ペチパーに技術選定なんてできるわけないだろ
ペチパーはPHPしか知らないからPHPを選ぶんだよ
そして単価50万レベルの障害者を寄せ集めて
ヘビーな糞の山をこさえる
開発が糞まみれなら保守も運用も糞まみれ

そして障害者ペチパーは糞みたいな経歴書を元に
糞みたいな案件に流されていくこと糞のごとし
糞の輪廻転生

769 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 09:55:13.81 ID:unGk0Arz.net]
>>767
でたよ、ペチパー最後の砦だな
「道具は時と場合で選ぶ」
これ言ってりゃPHPでも正当化できると信じてる

糞ブラシを選ぶ時も場合もねえって言ってるんだよ、ガイジw

770 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 09:59:27.21 ID:unGk0Arz.net]
道具を時と場合で選んだ結果がPHPって
どう思いますか?(微笑)

771 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 10:02:06.28 ID:0gcknzCm.net]
でそのクソサイト相手に無駄に力を注いでコスト増やしてるバカがお前だ

772 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 10:05:51.06 ID:0gcknzCm.net]
>>770
じゃお前のおすすめの構成教えてよ
もちろんPHP並の安値で利益率も高い奴で

773 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 10:07:57.31 ID:unGk0Arz.net]
>>772
PHPしか書けない人に何いってもなぁ

ねえ、前世でどんな悪いことしたんだ?
糞ブラシで便器掃除の仕事しないと生きていけないって
かわいそう

774 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 10:14:13.92 ID:0gcknzCm.net]
>>773
はい逃げた

775 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 10:21:57.72 ID:Muro9JmU.net]
スレタイ嫁
phpは確かに糞だが次世代言語に関係ねえだろ

776 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 10:24:41.77 ID:0gcknzCm.net]
こんだけボロクソ言っといて話題そらして済まそうとか草
はよ出せや

777 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 10:32:26.85 ID:Rnpa+1Du.net]
ガイジガイジ騒いでるだけのエアプ野郎いい加減うぜえ
コテハンの数十倍うぜえ



778 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 10:36:48.53 ID:IyPJ0XJg.net]
いい加減うるせーよ
PHP禁止

779 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 10:51:22.35 ID:0gcknzCm.net]
何自演で逃げようとしてんだよ
はよ出せ

780 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 10:55:33.43 ID:IyPJ0XJg.net]
すぐ自演認定とか糖質かよ
ガガイのガイw

781 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 10:57:02.64 ID:Muro9JmU.net]
スレタイ嫁

782 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 10:57:59.75 ID:0gcknzCm.net]
即レスで連投してたのに
都合悪くなったら途端にレスを止めて単発IDで斜め上の話題そらし
次は匿名を理由にレッテル貼りかな?
小学生かよ

783 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 10:59:04.91 ID:0gcknzCm.net]
>>781
俺が出してんのは次世代言語の話題だぞ?
はよ出せやクズ

784 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 10:59:58.81 ID:Muro9JmU.net]
>>783
>>775

785 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:03:11.77 ID:0gcknzCm.net]
>>784
PHPでなく代替えの話なんだけど?
まさに次世代言語に相応しい話題だろ

786 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:07:07.55 ID:IyPJ0XJg.net]
自称次世代言語議論スレ[PHP PHP PHP] [無断転載禁止]©2ch.net
mevius.2ch.net/test/read.cgi/tech/1506823587/

787 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:08:51.66 ID:0gcknzCm.net]
話題そらす事しかできない哀れなガイジ連呼君



788 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:11:18.64 ID:AELHct99.net]
>>786
糞ワロピオ

789 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:14:34.80 ID:0gcknzCm.net]
>>786
まともに日本語も読めなかったのかな?

790 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:16:28.81 ID:AELHct99.net]
>>789
スレ移動しましょうよ、スレタイ嫁

791 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:17:23.66 ID:0gcknzCm.net]
散々偉そうな事言って結局議論の放棄で終わったな

792 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:18:07.67 ID:0gcknzCm.net]
>>790
いや次世代言語の代替えだせって真面目に言ってんだけど?

793 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:18:43.22 ID:AELHct99.net]
>>792
続きはこちら

自称次世代言語議論スレ[PHP PHP PHP] [無断転載禁止]©2ch.net
mevius.2ch.net/test/read.cgi/tech/1506823587/

盛り上げていきましょう!w PHP!w

794 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:22:28.86 ID:AELHct99.net]
基地害大腸菌(糞)は無事隔離できたようやね

>>786
スレ立てGJやで

795 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:23:07.63 ID:kJ8csjIE.net]
次世代言語()で悦に入ってる奴より
ペチパーでもSlack作るような奴ののほうが
数百万倍価値がある

796 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:26:29.40 ID:AELHct99.net]
>>795
そのSlackのようなものを作った某ワークスは
PHPが糞だったからとんでもない損切りをせざるをえなかったのですがそれは

しかもSlackはPHPじゃないからね嘘までついちゃって必死だな糞ペチパーは

797 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:26:29.96 ID:0gcknzCm.net]
>>794
いやお前が逃げただけだろ?



798 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:30:08.56 ID:yhU1ELrC.net]
荒れてて草

799 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:32:03.68 ID:WA8PJzoP.net]
>>795
てきとうなものつくるだけじゃ価値はないな。
保守し続けながら、アップデートしていくのが現代のソフトウェアの課題だから。

800 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:42:13.84 ID:AELHct99.net]
自称次世代言語議論スレ[PHP PHP PHP] [無断転載禁止]©2ch.net
mevius.2ch.net/test/read.cgi/tech/1506823587/

PHPのホットな話題はこちらへ

801 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:44:34.97 ID:kJ8csjIE.net]
>>796
はは、それ某ワークスの技術力が低いからだろw
その違いもわからんとかクサっ

802 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:51:30.21 ID:AELHct99.net]
>>801
自称次世代言語議論スレ[PHP PHP PHP] [無断転載禁止]©2ch.net
mevius.2ch.net/test/read.cgi/tech/1506823587/

PHPのホットな話題はこちらへ クサっ

803 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 13:27:30.62 ID:t00k+6e7.net]
>>792
代替

804 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 15:37:04.38 ID:7ywnpNtw.net]
>>773
G unk0

805 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 16:45:23.64 ID:Kxlb0HsF.net]
次世代PHPスレは流石に笑う

806 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 17:28:58.04 ID:TUvpXpRh.net]
旧世代代表やろPHPて
頭おかしいんちゃうか

807 名前: mailto:sage [2017/10/01(日) 18:07:49.52 ID:14LFf82H.net]
>>759
フレームワークが、Railsのパクリみたいな無理矢理他の思想を持ってきたようなものなら、合わないと思う。

>>761
汚物を汚物と認識して、一定の範囲で閉じ込めて使う分には全く問題ないよ。
歯ブラシで台所を磨こうとするからおかしくなる。
便利だし形が似てるから使うもんでもない。
プロジェクトが糞まみれだったなら、そりゃプロジェクトが悪いわ。おそらく、どこもかしこもphpで書いてあるようなプロジェクトだろうけど。
DBへのバッチをphpで書いてるプロジェクトはゴミだと思うが、DB周りはそれなりの言語で、画面だけphpとjQuery、なんて諦めがあって良いと思うよ。



808 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 18:18:14.66 ID:YXjJncWi.net]
また意味不明なことを
DB周りがそれなりに強いと自分で言ってるのに何故DBバッチをPHPで書いてはいけないのか?
PHPの問題はペチパーのコーダーとしての品質の低さ。言語自体の問題ではない。
閉じ込めて使うべきというのは同意するが、それはペチパーの得意分野がフロントだから。
それ以外までペチパーに手を出させるとシステムの品質は著しく低下する。バッチをPHPで書いてはいけないのはそういうこと。

809 名前:808 mailto:sage [2017/10/01(日) 18:29:30.88 ID:YXjJncWi.net]
ああすまん、読み違えてたわ
それなりの言語→PHPではなく他の言語
と置き換えれば矛盾はないな
でも単純に言語を置き換えても決して品質が向上することはない。
全てPHPで書かれてるプロジェクトの品質が低いのはコーダーの品質が低いから。あくまで人の能力の問題。

810 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 18:42:01.00 ID:yhU1ELrC.net]
そいつの文を読もうとするから……

811 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 18:54:18.97 ID:TUvpXpRh.net]
それもう無理矢理PHP使う必要ないよね、っていう
複数言語使って学習コスト上げるだけだよね、っていう

812 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 19:45:13.63 ID:5jXWEgsq.net]
phpの問題点はどんな言語仕様も取り込んでいることだと思う。
正直ダックタイピングの動的言語にインターフェースがある理由がよくわからん。
いや。まぁいいんだけど。
なんというかできないことが明確って結構重要だよね。
なんでもできる分、人によって全然やり方が変わる。
c++みたいな嫌な感じがする。

とGoをよく触るようになって思いました。

813 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 19:59:18.22 ID:tmbSNjLz.net]
>>812
typescript「…」

814 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 20:26:31.04 ID:YXjJncWi.net]
型はむしろやり方を統一するのに役立つだろ
ソースに型書かないなら結局ドキュメントに書くんだから

815 名前: mailto:sage [2017/10/01(日) 20:27:13.36 ID:14LFf82H.net]
>>808
バッチとするには遅すぎるし、例外の扱いは適当だし、向いてない。
何より、仕様として180秒以上動いてれば殺すとかそういう設定項目がある時点で、あれはSSI用の言語。

向いてる向いてないを、コーダのせいにしてはいかん。
歯科衛生士を台所を歯ブラシで磨く名人にする必要は無い。

>>811
学習させなくてももう使える奴がいくらでも居るからな、phpは。
perl全盛の頃に、C組とperl組に別れてたようなもん。

>>812
よくわかる。

816 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 21:09:45.37 ID:Uy9r/fJ2.net]
PHPって型チェックができねえんだな
オブジェクト指向の半分くらい良さが無くなってるわ

817 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 22:28:16.16 ID:TUvpXpRh.net]
>>814
ペチパーはドキュメントも書かないがなw



818 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 23:49:31.21 ID:RKpZ0NGu.net]
言語仕様とは別に規約とかベストプラクティスがあるって何かおかしくない?

819 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 02:04:01.28 ID:sbwrnD0w.net]
それでうまくいってんならいいんじゃね?
#pragma once
みたいに実装がどうなってんのか怪しいものより
インクルードガードのが俺は好きだけどね

820 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 02:24:33.63 ID:oa9amvOn.net]
わたしもインクルガーのほうがすき

821 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 07:05:30.26 ID:1XMfMWOU.net]
Dのimportのが好きだわ

822 名前:デフォルトの名無しさん [2017/10/02(月) 15:33:54.77 ID:hE+5Iy+f.net]
(´・ω・`)あのー
いまいろいろみてたら
関数型リアクティブプログラミング言語Elm
こういうのあったの
2012年に生まれた言語みたい
これも次世代言語なの?
リアクティブプログラミングってすごいの?
Haskellの仲間なの?

823 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 17:21:07.36 ID:48oqYDIq.net]
>>822
ここは議論するスレなので、自分で調べて「自分の意見」が言えるようになってから、出直した方がいいと思います。

824 名前:デフォルトの名無しさん [2017/10/02(月) 17:58:49.31 ID:hE+5Iy+f.net]
(´・ω・`)はい

825 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 22:27:08.28 ID:s3lqZu5f.net]
なんか懐かしいな、そういやElmってあったな

826 名前:デフォルトの名無しさん mailto:sage [2017/10/03(火) 11:33:59.51 ID:1PTxbey1.net]
>【衝撃】2chの移譲先「5ch」の代理人がしばき隊であることが判明 なにが始まるんです…
https://twitter.com/htmk73/status/914989085269168128


■専ブラ(2ちゃんねるブラウザ)からお〜ぷん2ちゃんねるを見るには?
【おーぷん2ちゃんねる】は全ての2ちゃんねるブラウザに標準対応してます。 ◆お〜ぷん2ちゃんねるボード一覧URL のボードを検索してください

●お勧めの広告なし2chブラウザ ついんてーる twintail の環境設定でお〜ぷん2ちゃんねるボードを入れるだけで使えます。
www.geocities.co.jp/SiliconValley/5459/

827 名前:デフォルトの名無しさん mailto:sage [2017/10/03(火) 15:51:12.88 ID:aErAbfBu.net]
真面目な話Rust触ってると、クソのPHPですらマシに見えてくるから困る

言語を名乗ること自体が冒涜の極みの存在Rust



828 名前:デフォルトの名無しさん mailto:sage [2017/10/03(火) 18:11:45.30 ID:upqeSfz9.net]
例のコンパイルすら出来ない君か。

829 名前:デフォルトの名無しさん mailto:sage [2017/10/03(火) 18:45:21.65 ID:9EEmWhET.net]
>>822
react系というかreduxはそいつの影響
受けてるらしいよね。ということで潜在的な需要は高そう。

830 名前:デフォルトの名無しさん mailto:sage [2017/10/03(火) 18:46:54.01 ID:9EEmWhET.net]
typescriptでも十分助けになるけどね。optionalは偉大だわ。今日も潜在的なバグを知らず知らずに回避してることがわかって感動した。

831 名前:デフォルトの名無しさん mailto:sage [2017/10/03(火) 19:20:44.46 ID:JmJFDhWq.net]
Rustコンパイルできないって普段どんなコード書いてんだろ

832 名前:デフォルトの名無しさん mailto:sage [2017/10/03(火) 19:25:56.04 ID:KmXggyRJ.net]
イケてないのに人気がある golang vs イケてるのに人気がない Nim
wolfbash.hateblo.jp/entry/2017/10/02/163017

833 名前:デフォルトの名無しさん mailto:sage [2017/10/03(火) 19:31:53.29 ID:upqeSfz9.net]
Nim はまだ発展途上過ぎる。
ブロックコメントが入ったのも最近だろう。

834 名前:デフォルトの名無しさん mailto:sage [2017/10/03(火) 23:32:56.72 ID:VvnGZhVU.net]
Rustはスマポを使うべきところで参照を使うとコンパイルできないね
スマポは1種類ではなくて左辺値みたいなスマポと右辺値みたいなスマポがある

835 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 00:03:11.19 ID:5eMqfOkE.net]
スマートポン?

836 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 06:05:52.94 ID:I8P8RQcn.net]
>>832
否定はできないけどエコシステムを含めて評価して欲しいところ。
nim < Go が世間の評価なんだから自分の感覚がずれているということをわかってもらいたいな。

多分goが色々仕様が足りないようにみえるのは言語の再考だからだと思う
例えばclassって本当にいるのか?って考えてるのはすごいこと。
普通は皆つけちゃうよね。そこでclassを採用しなかった。

ジェネリクスも多分いちばんいい形で実装されると思う。

837 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 07:02:44.52 ID:VzltHPaW.net]
どう見てもガイジなんだからまともに相手する必要ねえだろ
しかも新人かと思えばいい歳したオッサンとか、もう色々と終わっとる



838 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 08:01:52.09 ID:6fGy+UI9.net]
Nim<GOが世間の評価ってことはないだろ。そもそも世間はNimなんて知らないんじゃないか?

839 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 08:09:59.02 ID:pULpEgLQ.net]
世間の評価って本当にいるのか?って考えてるのはすごいこと。
多分いちばんいい形で評価されると思う。

840 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 12:00:16.50 ID:DiJewy83.net]
Nimこれまで避けてたけど、これ結構よくね?

841 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 14:31:49.82 ID:B2XamLw4.net]
書き易く読み易い
動作もそこそこ速い
でも流行らないNim

842 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 17:38:53.01 ID:LT+9qEc0.net]
"Hello,world!"::print
とか書ける言語出ないかな

843 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 17:44:46.88 ID:eKN2AIaa.net]
>>842
C#やKotlinやRubyでStringにメソッド生やせば普通にできる

844 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 18:15:56.42 ID:l7XMNd9h.net]
Nim なら "Hello,world!".echo と書ける

845 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 19:03:11.59 ID:LT+9qEc0.net]
rubyだとprint!ならできたけどprintはダメだった
a 500 :: varset
succ(x) x+1 :: def
みたいにひたすらこの形式のみにしたらどうかな、とか思った

846 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 21:11:06.92 ID:hjCUawIk.net]
Dもいけるぞ"Hello,world!".writeln(うろ覚え)

847 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 21:22:38.73 ID:ObffTMEn.net]
ちなみに Smalltalk は最初の Smalltalk-72 から Smalltalk-78 まではずっと 'Hello,world!' print
だけど Smalltalk-80 以降は最新の Pharo、Squeak を含め Transcript show: 'Hello,world!' に

ただひとつ変わり種の GNU Smalltalk だけが今も変わらず 'Hello,world!' print
https://ideone.com/p1HVKw



848 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 21:41:15.01 ID:LT+9qEc0.net]
やはりSmalltalkですか
でも今見直したらFactorも "Hello,world!" print だった

より純粋なオブジェクト指向とかスタック指向を目指すなら後置関数にこだわるのも良い気がする

849 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 23:07:25.22 ID:rikHP6KZ.net]
Juliaなら
"Hello, world!" |> println
とか行ける |> は左の引数を右の関数に適用する演算子
多分高階関数を気軽に扱える言語なら大体似たようなことができると思う

850 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 23:34:13.26 ID:1ZpMsI7I.net]
こういうくだらないシンタックスで盛り上がれるっていいよね。

851 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 23:55:10.27 ID:VzltHPaW.net]
もっとくだらなくてゴミみたいな自称次世代言語下痢糞プェチピィについて語ろうゾ

852 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 00:04:04.93 ID:0B54PbO+.net]
Nimのシンタックスが「俺の求めていたものはこれなんだ」って感じでしっくりきている

853 名前:デフォルトの名無しさん [2017/10/05(木) 10:00:21.57 ID:6CUoA44/.net]
>>840
同意

854 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 12:08:45.40 ID:2VHNud46.net]
発見したんだけれど語だとAさんBさんの間に自分がいると、自分の前にAさんがいて後ろにBさんが
いるってかくけれど、
にほんごだとAさんの後ろに自分がいてその後ろにCさんがいるのように自分中心
に書かないだろ。
これが日本人にオブジェクト指向があわない証拠だとおもうな。

855 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 12:56:26.82 ID:U9Ub2sS/.net]
そういう話じゃないと思うけどね。
単純に実行効率とメンテナンス性のバランスとるのが下手なだけ。

856 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 13:06:01.46 ID:2VHNud46.net]
それは東洋的な発想はプログラムに向かないってことだよね。

857 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 13:52:09.38 ID:DNu4hyXr.net]
島猿は観念論的な思考が苦手だからな



858 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 17:54:15.12 ID:hq5BCXwT.net]
でも英語だと命令形は動詞が先に来るけど、日本語だと後に来るので、
その点ではオブジェクト指向的な気がする

Lispみたいに前置にこだわった感じの関数型は英語的だと思う

859 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 17:57:02.28 ID:Jc3a3LA7.net]
得意なら半年で習得できるとか自分勝手にハードル上げて勝手に挫折して苦手になるのだ
10年かかると最初から思ってたら挫折もしない

860 名前: mailto:sage [2017/10/05(木) 19:36:48.36 ID:5X6CpPIC.net]
ってか習得するもんでも無いんじゃないの?
やりたい事をやりたいように出来ればそれで良い気がする。

自動車整備の達人はレンチの達人かもしれんが、ただのレンチの達人は自動車整備出来んだろ。
新型のレンチ試して習得する前に、どう使うかを考えた方が余程良いかと思う。

861 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 22:08:07.44 ID:5FiWY82n.net]
goはjavaの境界ワイルドカード型が理解できなかった奴らに支持されてるんじゃないの?
javaのパラメトリック多相が複雑だからって後発言語ではin/outになったじゃん。

862 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 22:25:32.14 ID:DNu4hyXr.net]
最初にジェネリックの変性にin, outを使ったのってC#だっけ?
あれ思いついた奴は天才だろ
あれだけ意味不明だったJavaのワイルドカードが一瞬で誰でも一目で理解できるものになってしまった

863 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 22:27:03.03 ID:jfAiiqib.net]
null安全でない言語は、もはやレガシー言語だ
https://qiita.com/koher/items/e4835bd429b88809ab33

864 名前:デフォルトの名無しさん [2017/10/05(木) 23:53:50.11 ID:9FcQYtba.net]
in, outとかはAdaにあったけどあれとは違うの?

865 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 00:57:54.53 ID:AmbKZ1TQ.net]
ええだ、ええだ

866 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 01:50:35.56 ID:mbAUXPYs.net]
gcのときといっしょの浅はかな議論
nullがなくなろうと意味的なnullは必要なんだよ
だから絶対にそこにバグは入り込む
バグり方が変わるだけ
下手に動き続けるよりヌルポの瞬間に潔くクラッシュしてくれた方が
調査しやすいという考え方もある

867 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 07:22:04.51 ID:Pjx+vQ2Q.net]
>>866
意味的なnullを想定しない箇所については型でnull を弾くよう静的検査するべきということなんだが?



868 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 08:25:43.72 ID:mbAUXPYs.net]
意味がないとは言わない
おれもあれば使う
が思うほど効果ない

869 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 12:24:07.66 ID:28ESsb6Q.net]
null安全言語使うとホント幸せだよな。

結果的にここにnullの可能性がある変数が到達しないってことを言語として保証してくれるってすごすぎる。

書いてみると分かるけど返り値がnullの可能性があるかどうかは
内部で使うapiに依存してたりして、外側から見ると予測できない。
だから人間がやろうとしたら、結局使う側で全ての引数にnullチェック入れるしか無い。
まぁ面倒だからnullPointerExceptionを出しちゃうわけですけど。

コンパイラが把握してくれれは必要最低限のチェックで済むから精神衛生上も大変よろしい。
こういう進化はどんどんしていって欲しい。

870 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 12:36:51.70 ID:nzqIzLrY.net]
>>868
必要性を感じるようなコードに出会ったことがないんだね、幸せなやつ

871 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 12:52:52.70 ID:sp3JMBsg.net]
機能としては悪くないと思うけどnull安全とかいう頭悪いワードでバカを勘違いさせるのやめろ
nullで落ちるならnullチェックすればいいというわけじゃない

872 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 13:13:58.43 ID:W7gYVrEG.net]
まあないよりはマシだろうけどくらいの意味合いだな。
レイヤーを下りれば結局人間が判断することになることが多い。

873 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 15:41:59.82 ID:HTxWyqCb.net]
null safety理解してないやつ結構いるのね

874 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 17:29:24.43 ID:28ESsb6Q.net]
>>862
これ詳しく。typeScriptでジェネリクス使うようになった新参だからなんのことかわからん。

875 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 19:11:52.24 ID:avQrunR/.net]
NullPointerExceptionがことさら悪いことのように言われるが
俺にはどーも単に他のバグ(?)と違いが分からない
意図通り書かれてないからバグ(?)るんであって
いつだって、書かれたとおりに動いてるだけのことであって

876 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 20:00:20.02 ID:VLsCvj8e.net]
>>875
ググれ

877 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 20:21:56.80 ID:Rv6hBe2m.net]
nullで初期化して後で代入しようしたら急に例外が来て脱出することがある
その例外を処理する途中でバグるから他のバグよりも深刻

例外を投げない言語なら問題ない



878 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 20:59:37.31 ID:7QyvSB4A.net]
>>874
interface Hoge<TIn, TOut> { convert(val: TIn): TOut; }
class B extends A { ... }
このとき、Hoge<A, B> のオブジェクトを Hoge<B, A> として扱っても理屈上問題ないはずだろ?
それを可能にするのがジェネリックの変性という概念。
ちょっと考えたら分かるはずだが、変性が適用できるのは型パラメータが入力または出力のどちらか一方にしか使われていない場合だけ。
さらに、型引数が入力と出力どちらであるかによって、変化の許される継承の方向が逆になることも分かるだろう。
C#では、interface Hoge<in A, out B> のように型パラメータの方向を限定してやることで変性を与えることができる。
これ Java だとHogeを使う側で Hoge<? extends A, ? super B> と書くんだけど、意味不明だろ?

879 名前:878 mailto:sage [2017/10/06(金) 21:07:24.53 ID:7QyvSB4A.net]
すまんちょっと訂正
C#では、interface Hoge<in TIn, out TOut>のように

880 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 00:18:08.77 ID:ay0KJt9o.net]
>>862
ガビン・キングか誰かが同時期に+-考えて後にceylonに導入されてる。

>>864
あれは入力変数と出力変数と入出力変数

>>878
ムダに長いな。
いちばん重要なのはどの型変数が入力/出力用か定義した側は分かってるから
宣言部だけに書けばいいのにjavaの仕様だと利用する側も利用する型を
書かなきゃいけない無駄が無くなること。

javaも型推論の範囲広げてくれればダイヤモンド演算子で済むんだけど。

話は変わるけど「意味的なnull」の場合はnullable typeとoptionalどっちがいんだろうな。
optionalがモナドかどうかは抜きにして。

881 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 01:10:07.86 ID:ZhYAfijB.net]
>>878
すまんいまいちわからん。

in outの指定がなくても推論できそうな気がするんだけど。
それがどう便利になるのか、、、、
推論のための情報を増せるってことかね。

882 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 01:14:59.49 ID:ZhYAfijB.net]
>>875
コンパイラ側で実行時エラーが減らせるならそれに越したことはないと思うんだが。
特にコード書いてる最中に指摘してくれるから頭がいい人が隣に座ってくれてる感ある

883 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 01:45:27.02 ID:oYr2GY5l.net]
> 頭がいい人が隣に座ってくれてる感ある

この例え、ちょっとワロタ

884 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 08:15:36.29 ID:Wf+VpSRV.net]
>>881
全く違う。推論じゃなくて、Hoge<A, B>をHoge<B, A>にアップキャストできるってこと。

885 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 08:31:36.09 ID:Wf+VpSRV.net]
具体的な例を上げると、
例えば型パラメータに応じたオブジェクトを作成して返すFactory<T>インターフェースがあったとして
Factory<DBConnection>型をパラメータとして要求するメソッドに対して
Factory<OracleDBConnection>オブジェクトを直接渡せるってことだ
型推論じゃなくて型パラメータの互換性までを考慮したアップキャスト

886 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 09:04:26.26 ID:U1Wl1fD6.net]
アップキャストって文字列みてレス内容スキップした

887 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 09:25:02.60 ID:FzxjfsDf.net]
List<object>にList<string>を代入できるってことだろ。



888 名前:デフォルトの名無しさん [2017/10/07(土) 09:58:03.30 ID:h9TjUWM8.net]
>>885,887
抽象度さがってるんだから、アップキャストじゃなくてダウンキャストじゃねーの?

889 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 10:27:19.45 ID:fUAr46yo.net]
コンパイラやランタイムがキャストする方向

890 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 11:54:57.90 ID:ODmPff4g.net]
>>888
よく考えろ
広げる方向へのキャストだよ

891 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 14:40:09.93 ID:U1Wl1fD6.net]
俺はもう
(単なるType **を)ダブルポインタ
(単なるポインタ型の値渡しを)ポインタ渡し
(謎の用語)アップキャスト
(謎の用語)ダウンキャストの飛び出して来ない世界に旅立ちたい

892 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 16:36:46.84 ID:7mvjIKWG.net]
ポインタ(型の値)渡し
いかんのか?

893 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 17:33:27.49 ID:ZhYAfijB.net]
>>885

やっぱ具体的なコードがないとよくわからんな

<T extends Hoge>XXX のHogeの部分を自由に指定できるようになるってこと?

894 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 18:36:11.03 ID:3J6O2fHU.net]
class ExtendsX a where { toX :: a -> X }
class SuperY a where { fromY :: Y -> a }

Haskellなら単なる関数にするだろ
キャストという謎の用語を使う必要がない

895 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 18:37:08.45 ID:U1Wl1fD6.net]
>>892
い(ちごや、み)かんでしょ

あとJavaしか知らない人が背伸びしようとして?
(参照型変数の値渡しのことを)参照渡し
これもいつまでたっても無くならない

896 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 19:08:57.97 ID:ODmPff4g.net]
>>893
var f1: Factory<OracleDBConnection> = getOracleDBConnectionFactory();
var f2: Factory<DBConnection> = f1;
var conn: DBConnection = f1.create();
こういうこと
いちいち無駄な型パラメータを使う必要がない

897 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 19:09:53.49 ID:ODmPff4g.net]
>>896
訂正
3行目はf2



898 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 19:45:02.40 ID:3J6O2fHU.net]
fmap :: (a -> b) -> Factory a -> Factory b

899 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 00:02:28.18 ID:CO5NODlU.net]
>>885,887
できねーよ。

>Factory<DBConnection>型をパラメータとして要求するメソッドに対して
>Factory<OracleDBConnection>オブジェクトを直接渡せるってことだ
>List<object>にList<string>を代入できる
これが出来るのはFactory<T>/Factory<U>やList<T>/List<U>が共変のときのみ。
それを緩めるのがjavaの上限境界ワイルドカード型。

>>898
それじゃモナドだろ。変性の話な。
変換の話ししてんのはID:Wf+VpSRVだけだから型変換は忘れろ。

おまえらPECS理解してなさすぎ。ポケモンで説明してやるよ。

List<? extends ゼニガメ>があった時このリストに入るのはゼニガメ、カメール、カメックス。これが上限境界ワイルドカード型。

set<T super ピクシー>(T value)というメソッドのときピクシー、ピッピ、ピィが入力できるんだよ。これが下限境界ワイルドカード型。

ValueT<?> value = foo.get<ポッポ>()とあった場合は?はポッポに変身したメタモン。これが非境界ワイルドカード型。

ただし、非境界ワイルドカード型はjavaの場合は型消去されてすべての型のsuper typeを表すObject型になる。つまりに何にも変身してないメタモンのまま。
これはjavaがnone-reifiableだからでreifiableな言語ならポッポに変身したメタモンならポッポのまま。

900 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 00:06:17.55 ID:CO5NODlU.net]
X none-
O non-

901 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 00:20:35.53 ID:z2et5JhT.net]
C++から離れて以来、<>括弧に拒否反応出る

902 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 01:23:41.59 ID:RGO+IW57.net]
ダブルポインタとか言うバカに構文木を教えるために括弧を強制してやったのに

903 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 06:33:17.35 ID:gfyVN7gN.net]
>>899
それをC#だとキャストできるという話なんだが、頭おかしいのか?

904 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 07:01:36.88 ID:gfyVN7gN.net]
このように、>>899のように俺は分かってる感を出してる奴にとってすらジェネリックの変性は理解が難しいんだよな
ちなみにKotlinだと型定義時の指定と型使用時の指定の両方をサポートしてたりする
TypeScriptの場合はキャストが完全なstructual-subtypingベースで、型名やジェネリックは型定義のエイリアスに過ぎない
だから特に変成を明示的に指定する必要はない

905 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 09:49:48.11 ID:83iEE1/H.net]
C++「仮想関数とtemplateは直交する」
Go「templateやめた」
Haskell「仮想関数やめた」
Java「直交やめた」

906 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 10:08:21.08 ID:Eg4i3QFB.net]
>TypeScriptの場合はキャストが完全なstructual-subtypingベースで、型名やジェネリックは型定義のエイリアスに過ぎない
>だから特に変成を明示的に指定する必要はない

TypeScriptの場合は必要ないと言うより、個々に指定できないから固定ルールでごまかしてるってのが近いと思うが。

907 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 11:22:02.79 ID:83iEE1/H.net]
ごまかしてるというのは擬人化しすぎというか
擬人化だけならいいが擬人化してから罪悪感を植えつけるのは科学ではない
政治に近い



908 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 13:03:47.11 ID:2gMmrTuo.net]
>>899
この文脈で脈絡のないモナドとか出してる時点で
いつもの知ったかぶり野郎ってわかんだね

909 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 13:11:52.16 ID:2gMmrTuo.net]
>>906
structural subtypingあるのにできないって、随分中途半端な言語なんだな

910 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 13:58:01.39 ID:N1KoImhE.net]
ジェネリクス一つとっても言語によって結構変わるんだなってことしかわからん。

911 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 15:08:02.99 ID:83iEE1/H.net]
言語を決めようとするなよ
言語は決めたがコードは書けない無駄な状態ができるだけだから
決められない状態の次の瞬間に書き終えるのが正しい

912 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 15:20:15.14 ID:93IJP3PA.net]
>>911
ポエムかよw

913 名前: mailto:sage [2017/10/08(日) 19:27:00.87 ID:j8mHa+JP.net]
ラダーでも描くか

914 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 00:29:11.40 ID:nhSeKmwJ.net]
>>881
T extends Foo
U super Bar
だと人間がその型変数が入力用か出力用かわかりづらいからin/outの方がわかりやすいって言ってるだけ。

>>903
キャストじゃないって言ってるだろ。

915 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 02:22:58.57 ID:sTZmKFl8.net]
PHP出身のオッサンマジでつっかえなくてワロタ
mapとlistの区別もできないガイジ
年上に敬語使いたくなくなったの初めてだわ

916 名前:デフォルトの名無しさん [2017/10/10(火) 03:11:06.93 ID:5pISAq8F.net]
PHPはちょっと前までリストは無かったかならぁ。
あったのは数値インデックスをキーとするマップだった。
でもPHP7からまともになったと噂で聞いたがどうなんだい?

917 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 03:24:21.13 ID:IR1b7wv8.net]
動的言語ってだけでクソ



918 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 03:36:14.32 ID:sTZmKFl8.net]
>>916
ウンコにカレーかけたらカレーになるか?
そういうことだ

919 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 07:24:37.15 ID:6OEY56cJ.net]
概念なんて知らなきゃ知らない
知ってりゃ知ってる程度の話で
ただやった事あるかないかの差だろう
やればすぐに覚える
その程度で上になった気になってマウント取れる頭が羨ましいわ

920 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 08:19:53.37 ID:rShZoZ8i.net]
>>914
だからC#ではキャストなんだよ
知らないなら黙ってろよ

921 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 10:39:53.93 ID:/pjPidVz.net]
道徳がないのに用語の定義だけ守るなんて滑稽だわ

922 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 13:11:11.72 ID:CR13gByh.net]
>>919
まぁ、逆にそういう基礎的なことを知らない時点で他も推して知るべしってなってイライラする気持ちもわかる。
多分、色々あったんだよ

923 名前:デフォルトの名無しさん [2017/10/10(火) 13:30:28.05 ID:lvgfa+uM.net]
自己学習をしない老人ほど役に立たないものはない
若者にバカにされたくなかったら勉強を怠るなということさ

924 名前: mailto:sage [2017/10/10(火) 18:49:40.52 ID:DF0+rUls.net]
まあ、敬語を使う基準や使ってはいけない基準が「年上」ってのも相当だけどな。
他人であれば敬語以外の選択肢が出てくる時点で異常。
上司であれ部下であれ、客であれ飼い主であれ、友達じゃねえんだから。

ほんとにドヤ顔したいなら、理解させたら良いのに。
理解させる事が出来ないなら、そいつ以下な気がするわ。
少なくともそいつより賢くないとできない事が、そいつに教えるって事なんだし。

925 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 19:22:18.97 ID:/pjPidVz.net]
無料で教えるのは難しくないね
ブラックジャックのように報酬はいくらでも出すと言わせるのが難しい

926 名前: mailto:sage [2017/10/10(火) 22:24:43.37 ID:iLP+BZ6B.net]
別に手弁当で教えなくても、理解させりゃ良いと思うが。
教えるって直接何かを伝える以外にも色々あるじゃん。覚えなきゃ切るって言ったり何でも。
それなら賢くなくても出来るか。

927 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 23:06:31.17 ID:fjptMfzZ.net]
>>920
C#でも同じだバカ。
パラメタ型がキャストできたら型引数が部分多相になるだろうが。
おまえが代入互換性とキャストの区別もついてないだけなんだよ。



928 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 23:08:02.34 ID:ximXNc4+.net]
まあ若い人が今新しいと思ってるものが将来のレガシーコードを生んでることが多いんだけどね。
今巷にあるテストのないコード見てるとそれが良くわかる。

929 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 23:27:37.58 ID:Hng7vpUg.net]
そりゃ今あるものはいずれレガシーになるでしょ

930 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 23:43:31.35 ID:8cUJeS6O.net]
実績おじさんのドレガシーはマジ勘弁

931 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 23:46:43.26 ID:ximXNc4+.net]
>>929
メンテしやすいかどうかは言語機能とは無関係なことが多い。

932 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 00:02:13.85 ID:wRfMxQMF.net]
話の脈絡の無さが怖いわ。

933 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 00:07:23.11 ID:5ft9QxZH.net]
>>927
いいから具体的なC#コードで説明してくれ

934 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 01:38:41.04 ID:YaLB6Rv/.net]
未だにMVCとか言ってそう

んで、全部Cにロジック書いてそう

935 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 09:28:50.53 ID:viUxhdEA.net]
MVCって古いの?
やっぱMVVMが主流?

936 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 09:32:41.32 ID:KC3ar1qW.net]
>>935
適用対象が違う

937 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 09:35:16.45 ID:viUxhdEA.net]
MVCって古いの?



938 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 09:59:29.85 ID:zxckWzxc.net]
とりあえず有名な物批判すれば通ぶれるってメンタルだろ
構ってちゃんにまともに取り合おうとするな

939 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 11:18:23.60 ID:FXPTh88o.net]
悪いものは更新する
正義なら古くてもそのまま
これだけの話なのに
おそらく正義か悪かを判断したくないから、新しいか古いかだけで決めようとするんだろ

940 名前: mailto:sage [2017/10/11(水) 18:05:13.39 ID:Q0CgrKbU.net]
わからんのだろう、それが一体どういう場合にどういう悪になるか、とか、
悪は悪だが必要悪だとか、悪は悪だがそれを避けるコストが、我慢して使うコストを圧倒的に上回ってるとか。

ちょっと前の話なら、ClassicASPを嗤ってた割に、SSRとか言ってはしゃいでた奴とかいたが、心底アホなんだなぁって思ったよ。

941 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 20:11:14.56 ID:g/AsaciR.net]
避けるコストが我慢して使うコスト上回るってelectronとかか?

942 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 22:21:07.88 ID:YaLB6Rv/.net]
スカラー型程度で嬉ション漏らしてPHPにも型を!
とか言ってる連中ってマジで頭おかしいんちゃうか
あまりのレベルの低さに草も生えない

943 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 22:23:00.80 ID:zxckWzxc.net]
案の定MVCバカにしてるのも例の奴だったか

944 名前: mailto:sage [2017/10/11(水) 22:23:46.07 ID:76AReSDy.net]
>>941
割と色んなものに当てはまると思うよ。
できればもう書きたくないけどプロジェクトは大規模だし、改修範囲は把握してるし、
動作環境も固定されてるとある機械の制御端末なので、VB6のプログラム改修してパッチ出します、とか真顔でやってるプロジェクトある。
よーやるわ、と思うが。

>>942
建設的にやれば?

945 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 22:32:54.93 ID:wTw7h0wv.net]
なぜペチパーは頑なにPHPに拘るのか不思議には思う
JavaScriptはしょうがないにしても、今どきPHPを積極的に採用する理由が見当たらない

946 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 22:37:50.49 ID:zxckWzxc.net]
>>945
WordpressつこてるならPHP以外ないだろ
というかむしろWordpressとECぐらいしか新規案件見ない

947 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 22:41:53.70 ID:LTsyra25.net]
>>944
そういうことか。
古いjavaならoracleがAPIを削除し始めたから、
そのうち強制移行だろうけどイントラネットみたいなところで生き続けて、
言語仕様の進化から取り残されるんだろうな。
VMレベルで互換性失うのはまだ先だろうけど。



948 名前: mailto:sage [2017/10/11(水) 22:48:53.10 ID:76AReSDy.net]
>>945
javascriptはしょうがないで書くような言語でも無いかと。
よくできてると思うよ。
上からまっすぐ降りてくる言語しかできん奴はjs嫌いだろうけど。
型が柔軟なのも良いけどな。なんでも突っ込むのは頭おかしいが、代数的データ型として使う分には良い具合の無茶が出来る。awaitが使えるようになって、ますます良い具合。

phpは置けば動くあの簡単さが良いんだろ、多分。

949 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 22:53:12.14 ID:mJo8X84s.net]
次スレにNim入れるか?いらんか?

950 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 22:53:28.87 ID:/Z9HBCDN.net]
某Drupal案件は最悪だったな
よくわからんモノシリックFWに、低単価で寄せ集められたクズどもがどうしようもないゴミ山こさえて
どうにかこうにかまともな風に仕立て上げた頃に、新任のCTO就任
早々に言い出したのが「こんなレガシーではいけない!次は・・・Symfonyだ!」
あっという間にみんな撤退したよ

一応未だに企業は残ってるから、あれを保守して何とかやってるんだろうな
Symfonyエンジニアも絶賛募集してるから、レガシーからレガシーへの移行も諦めてないんだろう

あんなゴミでも営業や企画次第で優秀な金儲けの道具になるんだから
エンジニアリングって何だろう、って切なくなる思うことがあるよ

951 名前: mailto:sage [2017/10/11(水) 22:55:49.93 ID:76AReSDy.net]
>>947
ASP生きてる会社もあるよ、聞いた所だと。
純然たるソフト屋なら対策するだろうけど、製造業やら医療のシステムってたとえイントラでもすぐにスクラッチで作れるもんじゃないしね。台帳保存の法規制とか諸々含め。
windows7のVDI環境もあるし、IEのエンタープライズモードもあるし、多分使わなくなっても5年は動態保存してる。

952 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 09:19:49.86 ID:psiPw/kX.net]
大抵の言語でもフレームワークでも向き不向きがあって
よほどのレガシー以外で普通に生き残ってるのは
それなりに理由がある。
すぐ優劣みたく言う人はスキル低そうとしか思わんな

953 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 09:23:32.76 ID:psiPw/kX.net]
あ、別の上のレスについて言ってるわけじゃないよ

954 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 09:59:53.96 ID:6P6d2PA3.net]
F77は余程のレガシーに入りますか〜?

955 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 11:04:53.10 ID:NcrW6M9b.net]
「代わりはいくらでもいる」とかなんとか脅して丸投げするのが不可能になるだけだから
自力で読み書きするなら何の問題もない

956 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 21:49:54.65 ID:BJ7mXHtm.net]
問題は流行り廃りが激しいことじゃない?

>>954
未だにCOBOLの求人あるぐらいだから"余程"じゃないなw






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<243KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef