次世代言語議論スレ[Rust Kotlin Haskell]第6世代at TECH
次世代言語議論スレ[Rust Kotlin Haskell]第6世代 - 暇つぶし2ch509:デフォルトの名無しさん
17/09/18 14:46:46.94 /x8A7ZAN.net
>>507
名前解決を評価時に行う言語と考えてくれ

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

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

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

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

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

515:デフォルトの名無しさん
17/09/18 19:57:06.67 7osjOZ8K.net
なんならdoubleで整数の計算してもいいですよ

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

517:デフォルトの名無しさん
17/09/18 21:37:53.46 Rs/BRyvp.net
突っかかり始めた

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

519:デフォルトの名無しさん
17/09/18 23:48:00.28 Wz+o0dZv.net
>>513
jsもそうだな。関数型じゃないけど。
大雑把に書くと
所謂var bindingされる宣言を評価->所謂let bindingされる宣言を評価->実行
だからvar bindingされた名前は一番最初に見えてる。
やろうと思えばIRの変換で出来ることは実行前に(JIT使わずに)できる。
型情報がないから役に立つのか分からんが。

520:デフォルトの名無しさん
17/09/19 02:02:55.32 jzE0vKua.net
わけのわからん理屈話されるよりこういう内容のほうがまだましだろ

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

522:あ
17/09/19 06:53:09.32 GMytP/5k.net
なんで疑問に思えないんだろう。

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

524:デフォルトの名無しさん
17/09/19 07:53:57.35 Rp+gHpgj.net
動的言語ってなんだよ
コンパイルしない言語のこと?

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

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

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

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

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

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

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

532:デフォルトの名無しさん
17/09/19 21:20:11.16 OwH7JHtJ.net
>>531
誤爆シマスタw

533:あ
17/09/19 22:09:51.81 ORpK0dfd.net
>>529
それは独立した関数が最適ではない、と言う話ではないか。
何が最適化なんだよ。
>>530
別に恥とは思っとらんよ。勉強にはなった。
しかし余程、自分は恥だと思うんだろうなぁ、他人に対してそういう風に「恥ずかしいに違いない」と断定的に言うところ見ると。
余程恥ずかしいな、その思考回路が。

534:デフォルトの名無しさん
17/09/19 22:37:12.49 iY7FO3NM.net
>>533
ウダウダ言い訳してないで言われた通りコードで書けよ

535:デフォルトの名無しさん
17/09/19 22:39:47.10 zY0OeQa1.net
>>533
いやあれは流石に恥ずかしすぎ。あれを恥ずかしいと思わない思考回路がまず恥ずかしい。
勉強になったとかじゃなくて、最低限の勉強すらせずしったかしてたのがバレただけだろ美化すんな

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

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

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

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

540:あ
17/09/20 07:03:02.13 0AKG+c7B.net
>>535
そーかー。
そら楽しかっただろうな、嗤うだけのお前はw
最適化の話は、話の発端>>502で、最初から言うとるぞ。

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

542:デフォルトの名無しさん
17/09/20 08:21:44.46 32CWNlSU.net
ちな上で叩いてるやつとは別人だぞ

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

544:あ
17/09/20 08:33:34.51 0AKG+c7B.net
>>530
ADDEQがどんな命令か知ってれば必要最低限のコードでは?

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

546:デフォルトの名無しさん
17/09/20 08:44:43.32 32CWNlSU.net
そして抽象度の異なる最適化という事さえ理解してない

547:あ
17/09/20 08:54:13.08 0AKG+c7B.net
>>545
オペコードはコードでない、と。
面白いな。
>>546
理解してないんじゃない。
着地点が定義されてない最適化なんぞ、どのレイヤであっても無意味。
末尾再帰を解釈できるコンパイラと関数呼び出しとしてしか解釈できないコンパイラの話をしないうちに、
ループの最適化の話しても無駄でしょ。

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

549:デフォルトの名無しさん
17/09/20 09:12:41.36 meNSbSun.net
>>540
嗤うだけっていうのはただのディスやね。決めつけはニート認定みたいで、頭悪そうなのでやめといたほうがいいと思うよ
少なくとも、めっちゃ読みづらい知ったかぶり長々書かれて全然楽しくなかったぞ
あの時からずっとおまえのレスは普通に邪魔

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

551:デフォルトの名無しさん
17/09/20 09:24:37.99 NK01lAwy.net
>>543
最適化知ったかぶりしてる奴って誰だよ
間違い自体は全然問題にされてなくて、Haskellの実装を知ってるとまで言っておきながら、その基本文法すらわかってなかった酷い知ったかぶりを責められてるのわかってる?

552:デフォルトの名無しさん
17/09/20 09:40:23.50 meNSbSun.net
あと全く知らないものを、まるで知ってるかのように振舞ってディスってたっていうのも問題だな
あんだけ散々ディスってたくせに知らんのんか~いって思った
あれ以来、こいつは知ったかぶりする傾向があるから動くコード書くまで信頼出来んと思ってる

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

554:デフォルトの名無しさん
17/09/20 09:53:58.35 qH6V6v7k.net
どっちもどっちだな

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

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

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

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

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

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

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

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

563:デフォルトの名無しさん
17/09/20 14:02:50.79 32CWNlSU.net
>>547
詭弁もいいとこだな
どこがコードなんだよ
オペランドすら記述していない上に、
結局大部分を文章で説明している
それでも、すべて支離滅裂な文よりはいくらかマシだが

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

565:デフォルトの名無しさん
17/09/20 14:50:54.31 rh0oGGav.net
あのー結局のところHaskellが良さそうだけどモナドっていうのが分からないとつかえないの?
それともモナドとか分からなくてもそこそこ普通に使えて、しばらく使ってたらモナドとかも雰囲気でなんとなく分かってくるものなの?
YouTuberで圏論の勉強会ビデオ四回目まで見たけどなんとなく理解はできたの
結局のところ集合と関数をより抽象化して記号化していろいろやってるんだよね?

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

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

568:あ
17/09/20 15:44:48.04 0AKG+c7B.net
テンションすげえな。水曜なのに。

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

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

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

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

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

574:デフォルトの名無しさん
17/09/20 19:12:54.78 meNSbSun.net
そういや、なんでこのスレOCamlいないんだっけ?

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

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

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

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

579:デフォルトの名無しさん
17/09/20 23:27:02.45 ocgI6/Nq.net
Kotlinの気に入らないところ
URLリンク(anopara.net)

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

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

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

583:デフォルトの名無しさん
17/09/21 06:47:08.30 aDCr5zcn.net
>>582
どういうことだってばよ?

584:デフォルトの名無しさん
17/09/21 07:06:13.16 r0JkAuLO.net
>>579
に言っている

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

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

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

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

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

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

591:デフォルトの名無しさん
17/09/21 14:11:01.15 iqJkS7HX.net
JavaScript「型なんて飾りです」

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

593:デフォルトの名無しさん
17/09/21 15:22:16.77 r0JkAuLO.net
一番間違えるのは引数の順番と数

594:デフォルトの名無しさん
17/09/21 15:43:39.40 SPES50ix.net
>>593
doubleとintの順番ミスったら大変だもんな

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

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

597:デフォルトの名無しさん
17/09/21 20:03:14.13 1e+K8/4+.net
>>596
たとえば?

598:デフォルトの名無しさん
17/09/21 22:58:59.34 2mLwGNyW.net
doubleとintを間違える可能性は確かにあるけど
座標とかはdoubleとdoubleだったりintとintだったりするだろ
それを間違える可能性まで網羅しないと致命的じゃないか
型システムに都合の良い範囲を想定してしまったらかえって想定外の盲点が増えてしまう

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

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

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

602:デフォルトの名無しさん
17/09/22 05:18:45.27 A2XKXMkJ.net
経験積めばわかる、ですむなら静的型いらねぇよ

603:デフォルトの名無しさん
17/09/22 05:39:47.03 g4HdW9MF.net
>>602
ソースの見通しが悪くなってバグの検出が難しくなる

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

605:デフォルトの名無しさん
17/09/22 08:34:49.37 ig88NjIH.net
>>601
10年以上Haskellメインで使ってますが、
あなたの言うIntへの型変換の「酷さ」が分かりません。
他言語と比べて何か問題あるのでしょうか。

606:デフォルトの名無しさん
17/09/22 09:10:52.08 eIMWXunI.net
>>605
Haskellメインの現場ってどういう環境です?研究職?

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

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

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

610:デフォルトの名無しさん
17/09/22 11:06:23.68 g4HdW9MF.net
Haskellメイン(仕事とは言ってない)
コンパイラとかの文字列処理や、モデルの妥当性検証とかに使うならまだしも、
数値計算でHaskellw
Repa位しか優位性ないだろ

611:デフォルトの名無しさん
17/09/22 11:40:01.90 ig88NjIH.net
>>609
Numは型ではなく型クラスです。
具体的には、どの型からInt型への変換が酷いのでしょうか。
Stream Fusion は働かないのでしょうか。

612:デフォルトの名無しさん
17/09/22 11:45:22.74 ig88NjIH.net
>>609
失礼、Stream Fusion と言うより、書き換え規則ですね。
書き換え規則が働けば、大抵の型変換は必要最小限のオーバーヘッドで行われる筈です。

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

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

615:デフォルトの名無しさん
17/09/22 11:49:20.78 g4HdW9MF.net
こういう机上だけで語るクソ野郎がいるからHaskellは嫌い

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

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

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

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

620:デフォルトの名無しさん
17/09/22 13:14:10.74 ig88NjIH.net
>>601
ある型の値をInt型の値へ変換する際にあなたにとって酷いことが起きる、
あるいはあなたにとって酷いプログラムコードになる、という話ですよね。
>>609
Int型への変換の話の中で「Numを経由する」という言い方を聞いて、
あなたが Num を型だと勘違いしていると思いました。
大変失礼しました。
ある型の値をInt型の値へ変換する際は一度Num型クラスのインスタンス型の値へ変換し、
それを改めてInt型の値へ変換しないといけない、
あるいはそういう型が多い。
あなたはそう思っているのでしょうか。
もしそのような場合でも、私書き換え規則があれば経由しないようにできると私は言いました。
標準ライブラリの中で定義されている型で、
頻繁にInt型への変換が必要と思われる型に対しては、
書き換え規則がライブラリ内に書かれています。
自分で書く場合も一度書けば済むだけみます。
これが酷いのでしょうか。
改めて聞きますが、具体的にはどの型の値をInt型の値へ変換する際に、
Num型クラスのどの型の値を経由しなければならないのでしょうか。

621:デフォルトの名無しさん
17/09/22 13:37:46.62 g4HdW9MF.net
>>620
>改めて聞きますが、具体的にはどの型の値をInt型の値へ変換する際に、
>Num型クラスのどの型の値を経由しなければならないのでしょうか。
だから全部自分で書いた話だろそれ
VanillaじゃIntとIntegerすら必要だろ
そんな事言ったら何らかの形で暗黙の型変換許してる言語全部そうだわ
お前マジで頭の病院行ったほうがいいんじゃねえの?

622:デフォルトの名無しさん
17/09/22 13:55:56.62 Q4+Qj6om.net
どっちもどっちだな。
両方病院言ったほうがいいかも。

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

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

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

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

627:デフォルトの名無しさん
17/09/22 15:01:10.70 g4HdW9MF.net
>>625
書くまでもない気がするが一応な
URLリンク(ideone.com)
URLリンク(ideone.com)

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

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

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

631:デフォルトの名無しさん
17/09/22 15:28:32.33 ig88NjIH.net
>>627
fromIntegral 関数は、Integer型の値をInt型の値へ変換する際に、
どのような他の型へも変換しません。
経由しません。
Inreger型の値をInt型の値へ変換するのにNum Integer を経由、
という言い方がおかしいと思うのですが。

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

633:デフォルトの名無しさん
17/09/22 15:41:29.25 Q4+Qj6om.net
でもIntをDoubleに変換するときは2回変換するんだろ。

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

635:デフォルトの名無しさん
17/09/22 15:59:41.73 ig88NjIH.net
>>632
fromIntegral = fromInteger . toInteger
Integer型の値からInt型の値への変換はどこも経由しません。
例えばWord型の値からInt型の値への変換は、
書き換え規則を働かせないようにわざわざすれば、
Integer型の値へ変換されてからInt型の値へ変換されます。
ですが、このような変換の書き換え規則を働かせないようにするメリットがありません。
初めから標準ライブラリに書かれていて、
プログラマは意識する事無くそれを使っているのだから。
ちなみに、私は>>627のコードが冗長だとは特に思わないです。
文字fromIntegralが長いと感じるのであれば、
fiにでも変えればいい話ですし。

636:デフォルトの名無しさん
17/09/22 16:07:10.71 Q4+Qj6om.net
だから冗長な文を書くんだろうな

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

638:デフォルトの名無しさん
17/09/22 16:20:54.19 XD+YRvZx.net
>>630
え、何? まさかそこで暗黙の型変換して欲しいの?

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

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

641:デフォルトの名無しさん
17/09/22 16:31:40.02 ig88NjIH.net
>>639
他にも色々な型の書き換え規則が定義されています。
ここで全て挙げるのはさすがに勘弁してほしいので、
興味がおありなら標準ライブラリを調べてみてください。

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

643:デフォルトの名無しさん
17/09/22 16:37:20.96 g4HdW9MF.net
そしてこれが現実w
URLリンク(hackage.haskell.org)

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

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

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

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

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

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

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

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

652:デフォルトの名無しさん
17/09/22 20:26:22.11 eEMHecr4.net
型がない言語にろくなものはないな…

653:デフォルトの名無しさん
17/09/22 20:33:12.38 ZDWEQPwS.net
>>652
型がない言語って具体的に何?

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

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

656:デフォルトの名無しさん
17/09/22 21:16:44.42 A2XKXMkJ.net
変な操作を禁止する方向と
変な現象を報告するだけの方向があるぞ
そして両者の存在を認める方向と、相手の存在を禁止する方向がある

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

658:デフォルトの名無しさん
17/09/23 10:32:28.92 j6VCxv0o.net
具体的には?

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

660:デフォルトの名無しさん
17/09/23 10:48:52.56 2jyO0MAw.net
ほぼもうなってんじゃん

661:デフォルトの名無しさん
17/09/23 16:51:55.93 sz6/Tcc0.net
車もDCTの登場でオートマのほうが速くなったな。

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

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

664:デフォルトの名無しさん
17/09/23 20:21:34.37 3qopZopL.net
米Appleが「Swift 4.0」を公開、以前のコードを修正無しに利用できる互換性モードを新たに導入
2017年9月22日17:10 末岡洋子
URLリンク(mag.osdn.jp)
Swift 5の目標が確定、新たな発展プロセスを定義
URLリンク(www.infoq.com)

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

666:デフォルトの名無しさん
17/09/23 23:08:02.02 z4fPY7jV.net
PHPとPerlはもはや門前払いだわ

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

668:デフォルトの名無しさん
17/09/24 00:17:35.00 ZBUgGWmA.net
>>647
まだ言ってるよw

669:デフォルトの名無しさん
17/09/24 00:33:10.78 sQZN3/qk.net
やけんペェ~ルとプェチピィ使ってる公害はさっさと処分しましょうね~

670:あ
17/09/24 01:03:00.91 g+SOx1mh.net
まー、MT車でもニュートラルにしてブレーキペダル踏んでないとセルを回せない、なんて仕組みになったりしてるしな。
安全性としては進化しつつ、機能・機構としては複雑になったり踏切からの緊急脱出の手段を一つ捨てるといった退化してる。
結局、言語も何が正解かは使う人間と用途次第だろ。
「ポインタを捨てたりNullableとそうでない型すらもわけるのが正しい言語」「型なんて飾りです、キャストすりゃいいんです、電文?unionで解釈しましょう」みたいな言語が相容れうる訳がない。

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

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

673:デフォルトの名無しさん
17/09/24 11:08:39.74 fyfssP0K.net
ちょっと議論が抽象的すぎんよぉ
具体的に行こうぜ具体的に

674:デフォルトの名無しさん
17/09/24 11:10:15.91 sQZN3/qk.net
バイナリで語れよ

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

676:デフォルトの名無しさん
17/09/24 15:20:28.63 0P71vbb3.net
関数型言語の時代が来る事なんて一生ないよ

677:デフォルトの名無しさん
17/09/24 16:49:57.99 tjbSkdrA.net
もうそこまで新しい言語上の概念もないしな。

678:デフォルトの名無しさん
17/09/24 18:21:51.74 y8Y2Gp0g.net
COBOL「私を殺すと言ってた言語は、みんな死んだよ」
URLリンク(www.nurs.or.jp)

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

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

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

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

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

684:デフォルトの名無しさん
17/09/25 00:13:26.46 8jaeeQ+5.net
C++だってラムダはそれなりに複雑と思うな~

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

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

687:デフォルトの名無しさん
17/09/25 01:47:53.39 /lG4wgeA.net
ポストC++としてはD言語が最適だわ
やっぱnullは便利

688:デフォルトの名無しさん
17/09/25 10:51:28.03 8jaeeQ+5.net
Dは指針に欠けていて、書けるコードの種類が多すぎる。
最近はクラスは使わないとか言われた時はビックリしたわ。割と好きだけどさ
テンプレートとオーバーロードの充実っぷりはC++の比じゃないし、プロパティあるし、UFCSある所とか好きだけど、演算子の定義を構造体中に書かないといけない所だけは解せない

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

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

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

692:デフォルトの名無しさん
17/09/25 13:05:30.42 8jdzqYUG.net
>>691
「Cで実装されてる関数型言語はどうやってクロージャを実装してるんだろう」でもほとんど同じ意味だけど、別にLLVMでもいいじゃん。俺がLLVMの方を意識してるからLLVMって書いてるだけだが
Jitの方はよくわからん。関数型言語一般でJit使ってるの?

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

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

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

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

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

698:デフォルトの名無しさん
17/09/26 00:58:41.50 PCoWV6xx.net
ハスカルデスクトップソフト作れるようになった?

699:デフォルトの名無しさん
17/09/26 13:49:21.20 3DlL6rrx.net
だからそれは
データは制御フローに影響を与えるし
制御フローはデータに影響を与える
このように双方が影響しあってプログラムが展開していく
(まるで電磁波のようだ)
この複雑性はソフトウェアが有用であり続けるためには仕方が無い
なので
・制御フローがデータに何か書き込むタイミング
・制御フローがデータを読み取って分岐するタイミング
の二つをトラップして言語やシステムで何かサポートしてやろう
というのが基本的な考え方なんだよ

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

701:デフォルトの名無しさん
17/09/26 16:08:19.45 hWBvxAV0.net
つまり、いつ実行するか?今でしょ。
ということだな。

702:デフォルトの名無しさん
17/09/26 21:28:19.34 ghZl2iPU.net
マイクロソフト、量子コンピュータ向けプログラミング言語を発表 URLリンク(ndjust.in)
俺の予測したとおり次世代言語は機械学習に最適化された言語ってことだな

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

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

705:デフォルトの名無しさん
17/09/27 08:58:09.74 iTQClNYA.net
>>704
相手にしてるお前なんなん?
恥ずかしいからやめて。
量子コンピュータの用途が何%機械学習を経由するであろうか、お前は全て見通しているとでもいうのか?
お前のその自己矛盾に気づかない頭の悪さよりよっぽどマシな発言だと思うが。

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

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

708:デフォルトの名無しさん
17/09/27 09:48:07.08 iTQClNYA.net
>>707
単独の最適化問題って機械学習関係あるの?

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

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

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

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

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

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

715:デフォルトの名無しさん
17/09/27 21:35:28.14 Z//p6YWO.net
お前らずっと型型うるさいな。だまってSmalltalkかjsかRuby使ってろよ。
そんなんじゃrustで発狂するぞ。
>>649
>パブリック/プライベートとか
カプセル化が幻想だっていい加減気付いてほしい。
有用なのも抽象データ型だけだし。

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

717:デフォルトの名無しさん
17/09/27 23:40:28.56 ECh+B8hR.net
>>715
> 有用なのも抽象データ型だけだし。
個人的にはデータと操作を一緒にして 型 としなくてもいいかもって思うことある。
でも複数のデータをまとめる機能とオーバーロード・ジェネリクス可能な関数、それと名前空間は欲しい。

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

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

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

721:デフォルトの名無しさん
17/09/28 06:49:19.68 BQWTKxzA.net
じゃあCOBOLで

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

723:デフォルトの名無しさん
17/09/28 14:09:34.89 Wk7uxpKF.net
>>719
それは君の理解が浅いからだな。ばーか

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

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

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

727:デフォルトの名無しさん
17/09/29 01:30:00.14 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:デフォルトの名無しさん
17/09/29 01:36:36.52 kiQUSPyl.net
まあ統一言語を欲するのは銀の弾丸を信じるのと同じくらい愚かだってことだよ。

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

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

731:デフォルトの名無しさん
17/09/29 08:27:55.49 RLeXl8wr.net
銀の弾丸を求める方がまだマシだね

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

733:デフォルトの名無しさん
17/09/29 09:30:18.50 KptQPoVN.net
このスレってタイトルの割には中身カスだね
巡回やめ

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

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

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

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

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

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

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

741:デフォルトの名無しさん
17/09/29 20:29:00.72 Nb5uhyxU.net
でも統一ライブラリとなるとオブジェクト指向とかが必須になるような
マクロとか許可すると意味不明なことになるから
でもそうなると言語自体の進化がしづらくなるかも?

742:デフォルトの名無しさん
17/09/29 20:44:30.11 v+2E5EyQ.net
>>737
映画メッセージの話みたいだな。
人間の認識能力を進化させて言語を+次元化するしかないな。
ところでUE4のブループリントって正直使いづらいんだけど
あれってメリットあんのかね。ビジュアルスクリプティングっていまいち
シンドいんだよなぁ。

743:デフォルトの名無しさん
17/09/29 21:04:07.14 6ZguHByP.net
.NETみたいな

744:デフォルトの名無しさん
17/09/29 21:37:17.79 L7twK2Cs.net
>>740
普通にWebAPI経由でいいやん

745:デフォルトの名無しさん
17/09/29 22:27:07.00 YRRMW80I.net
いや統一ライブラリに一番近いのはCでしょ

746:デフォルトの名無しさん
17/09/29 23:25:07.49 nd/SbQEJ.net
メジャーな言語だと大体FFIあるしな

747:デフォルトの名無しさん
17/09/30 00:51:21.85 Juh3JZfh.net
>>739
MicroServiceも知らないのかい?

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

749:デフォルトの名無しさん
17/09/30 01:07:04.15 lpKILp3q.net
gRPCおすすめ
言語違っても呼び出せる

750:デフォルトの名無しさん
17/09/30 02:52:34.28 Lz4Zzbqz.net
>>748
プログラム言語の機械翻訳?

751:デフォルトの名無しさん
17/09/30 08:20:51.39 iIQSfMFY.net
>>736
アラン・ケイがそんな研究してた
助成金が尽きてやめちゃったけど
言語自体にPEGベースの解析器生成器を組み込んで
既存の言語も含め、ドメインに適した言語を適宜構築・実行できるようにして
2万行でWindowsみたいなGUI OSを書けるようにするってやつ
STEPS プロジェクトご紹介
URLリンク(d.hatena.ne.jp)
STEPS プロジェクトご紹介その2
URLリンク(d.hatena.ne.jp)

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

753:デフォルトの名無しさん
17/09/30 09:58:40.63 F2cNQzRT.net
PEGベースってメモリー酷く消費するから使いたくないな。

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

755:デフォルトの名無しさん
17/09/30 10:51:55.84 Sn83lOLK.net
Racket もそんな感じを目指してなかったか。

756:デフォルトの名無しさん
17/09/30 12:51:28.75 Sn83lOLK.net
>>690
URLリンク(clang.llvm.org)
C言語にすらクロージャが導入されてるし。

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

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

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

760:デフォルトの名無しさん
17/10/01 00:42:01.71 BdI8d/N5.net
しったかブーメランガイジに絡むな��

761:デフォルトの名無しさん
17/10/01 01:17:26.87 unGk0Arz.net
>>758
君はPHPのコンセプトは知ってるようだが、現実を知らんのだね
PHPは便器に突っ込まれた糞ブラシだよ
汚物まみれで害を撒き散らす
PHPのプロジェクトは例外なく糞まみれだった
糞みたいなプロジェクトに糞みたいな運用に糞みたいな技術者
今さらPHPを選ぶ奴は糞、センスないと言ってもいい

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

763:デフォルトの名無しさん
17/10/01 03:40:25.93 Zsb0mqkq.net
PHPは案件が増えるほど、技術者の質が下がっていく、、、

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

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

766:デフォルトの名無しさん
17/10/01 09:47:56.64 unGk0Arz.net
>>762
やっぱペチパーって能なし脳なしセンスなし技術なしのガイジですわ
まぁ俺の関係のない最底辺の土方イット産業で
せいぜい糞ブラシで糞こねくりまわしとけや

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

768:デフォルトの名無しさん
17/10/01 09:52:38.54 unGk0Arz.net
>>765
ペチパーに技術選定なんてできるわけないだろ
ペチパーはPHPしか知らないからPHPを選ぶんだよ
そして単価50万レベルの障害者を寄せ集めて
ヘビーな糞の山をこさえる
開発が糞まみれなら保守も運用も糞まみれ
そして障害者ペチパーは糞みたいな経歴書を元に
糞みたいな案件に流されていくこと糞のごとし
糞の輪廻転生

769:デフォルトの名無しさん
17/10/01 09:55:13.81 unGk0Arz.net
>>767
でたよ、ペチパー最後の砦だな
「道具は時と場合で選ぶ」
これ言ってりゃPHPでも正当化できると信じてる
糞ブラシを選ぶ時も場合もねえって言ってるんだよ、ガイジw

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

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

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

773:デフォルトの名無しさん
17/10/01 10:07:57.31 unGk0Arz.net
>>772
PHPしか書けない人に何いってもなぁ
ねえ、前世でどんな悪いことしたんだ?
糞ブラシで便器掃除の仕事しないと生きていけないって
かわいそう

774:デフォルトの名無しさん
17/10/01 10:14:13.92 0gcknzCm.net
>>773
はい逃げた

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

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

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

778:デフォルトの名無しさん
17/10/01 10:36:48.53 IyPJ0XJg.net
いい加減うるせーよ
PHP禁止

779:デフォルトの名無しさん
17/10/01 10:51:22.35 0gcknzCm.net
何自演で逃げようとしてんだよ
はよ出せ

780:デフォルトの名無しさん
17/10/01 10:55:33.43 IyPJ0XJg.net
すぐ自演認定とか糖質かよ
ガガイのガイw

781:デフォルトの名無しさん
17/10/01 10:57:02.64 Muro9JmU.net
スレタイ嫁

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

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

784:デフォルトの名無しさん
17/10/01 10:59:58.81 Muro9JmU.net
>>783
>>775

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

786:デフォルトの名無しさん
17/10/01 11:07:07.55 IyPJ0XJg.net
自称次世代言語議論スレ[PHP PHP PHP] [無断転載禁止]©2ch.net
スレリンク(tech板)

787:デフォルトの名無しさん
17/10/01 11:08:51.66 0gcknzCm.net
話題そらす事しかできない哀れなガイジ連呼君

788:デフォルトの名無しさん
17/10/01 11:11:18.64 AELHct99.net
>>786
糞ワロピオ

789:デフォルトの名無しさん
17/10/01 11:14:34.80 0gcknzCm.net
>>786
まともに日本語も読めなかったのかな?

790:デフォルトの名無しさん
17/10/01 11:16:28.81 AELHct99.net
>>789
スレ移動しましょうよ、スレタイ嫁

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

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

793:デフォルトの名無しさん
17/10/01 11:18:43.22 AELHct99.net
>>792
続きはこちら
自称次世代言語議論スレ[PHP PHP PHP] [無断転載禁止]©2ch.net
スレリンク(tech板)
盛り上げていきましょう!w PHP!w

794:デフォルトの名無しさん
17/10/01 11:22:28.86 AELHct99.net
基地害大腸菌(糞)は無事隔離できたようやね
>>786
スレ立てGJやで

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

796:デフォルトの名無しさん
17/10/01 11:26:29.40 AELHct99.net
>>795
そのSlackのようなものを作った某ワークスは
PHPが糞だったからとんでもない損切りをせざるをえなかったのですがそれは
しかもSlackはPHPじゃないからね嘘までついちゃって必死だな糞ペチパーは

797:デフォルトの名無しさん
17/10/01 11:26:29.96 0gcknzCm.net
>>794
いやお前が逃げただけだろ?

798:デフォルトの名無しさん
17/10/01 11:30:08.56 yhU1ELrC.net
荒れてて草

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

800:デフォルトの名無しさん
17/10/01 11:42:13.84 AELHct99.net
自称次世代言語議論スレ[PHP PHP PHP] [無断転載禁止]©2ch.net
スレリンク(tech板)
PHPのホットな話題はこちらへ

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

802:デフォルトの名無しさん
17/10/01 11:51:30.21 AELHct99.net
>>801
自称次世代言語議論スレ[PHP PHP PHP] [無断転載禁止]©2ch.net
スレリンク(tech板)
PHPのホットな話題はこちらへ クサっ

803:デフォルトの名無しさん
17/10/01 13:27:30.62 t00k+6e7.net
>>792
代替

804:デフォルトの名無しさん
17/10/01 15:37:04.38 7ywnpNtw.net
>>773
G unk0

805:デフォルトの名無しさん
17/10/01 16:45:23.64 Kxlb0HsF.net
次世代PHPスレは流石に笑う

806:デフォルトの名無しさん
17/10/01 17:28:58.04 TUvpXpRh.net
旧世代代表やろPHPて
頭おかしいんちゃうか

807:あ
17/10/01 18:07:49.52 14LFf82H.net
>>759
フレームワークが、Railsのパクリみたいな無理矢理他の思想を持ってきたようなものなら、合わないと思う。
>>761
汚物を汚物と認識して、一定の範囲で閉じ込めて使う分には全く問題ないよ。
歯ブラシで台所を磨こうとするからおかしくなる。
便利だし形が似てるから使うもんでもない。
プロジェクトが糞まみれだったなら、そりゃプロジェクトが悪いわ。おそらく、どこもかしこもphpで書いてあるようなプロジェクトだろうけど。
DBへのバッチをphpで書いてるプロジェクトはゴミだと思うが、DB周りはそれなりの言語で、画面だけphpとjQuery、なんて諦めがあって良いと思うよ。

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

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

810:デフォルトの名無しさん
17/10/01 18:42:01.00 yhU1ELrC.net
そいつの文を読もうとするから……

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

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

813:デフォルトの名無しさん
17/10/01 19:59:18.22 tmbSNjLz.net
>>812
typescript「…」

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

815:あ
17/10/01 20:27:13.36 14LFf82H.net
>>808
バッチとするには遅すぎるし、例外の扱いは適当だし、向いてない。
何より、仕様として180秒以上動いてれば殺すとかそういう設定項目がある時点で、あれはSSI用の言語。
向いてる向いてないを、コーダのせいにしてはいかん。
歯科衛生士を台所を歯ブラシで磨く名人にする必要は無い。
>>811
学習させなくてももう使える奴がいくらでも居るからな、phpは。
perl全盛の頃に、C組とperl組に別れてたようなもん。
>>812
よくわかる。

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

817:デフォルトの名無しさん
17/10/01 22:28:16.16 TUvpXpRh.net
>>814
ペチパーはドキュメントも書かないがなw

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

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

820:デフォルトの名無しさん
17/10/02 02:24:33.63 oa9amvOn.net
わたしもインクルガーのほうがすき

821:デフォルトの名無しさん
17/10/02 07:05:30.26 1XMfMWOU.net
Dのimportのが好きだわ

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

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

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

825:デフォルトの名無しさん
17/10/02 22:27:08.28 s3lqZu5f.net
なんか懐かしいな、そういやElmってあったな

826:デフォルトの名無しさん
17/10/03 11:33:59.51 1PTxbey1.net
>【衝撃】2chの移譲先「5ch」の代理人がしばき隊であることが判明 なにが始まるんです…
URLリンク(twitter.com)

■専ブラ(2ちゃんねるブラウザ)からお~ぷん2ちゃんねるを見るには?
【おーぷん2ちゃんねる】は全ての2ちゃんねるブラウザに標準対応してます。 ◆お~ぷん2ちゃんねるボード一覧URL のボードを検索してください
●お勧めの広告なし2chブラウザ ついんてーる twintail の環境設定でお~ぷん2ちゃんねるボードを入れるだけで使えます。
URLリンク(www.geocities.co.jp)

827:デフォルトの名無しさん
17/10/03 15:51:12.88 aErAbfBu.net
真面目な話Rust触ってると、クソのPHPですらマシに見えてくるから困る
言語を名乗ること自体が冒涜の極みの存在Rust

828:デフォルトの名無しさん
17/10/03 18:11:45.30 upqeSfz9.net
例のコンパイルすら出来ない君か。

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

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

831:デフォルトの名無しさん
17/10/03 19:20:44.46 JmJFDhWq.net
Rustコンパイルできないって普段どんなコード書いてんだろ

832:デフォルトの名無しさん
17/10/03 19:25:56.04 KmXggyRJ.net
イケてないのに人気がある golang vs イケてるのに人気がない Nim
URLリンク(wolfbash.hateblo.jp)

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

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

835:デフォルトの名無しさん
17/10/04 00:03:11.19 5eMqfOkE.net
スマートポン?

836:デフォルトの名無しさん
17/10/04 06:05:52.94 I8P8RQcn.net
>>832
否定はできないけどエコシステムを含めて評価して欲しいところ。
nim < Go が世間の評価なんだから自分の感覚がずれているということをわかってもらいたいな。
多分goが色々仕様が足りないようにみえるのは言語の再考だからだと思う
例えばclassって本当にいるのか?って考えてるのはすごいこと。
普通は皆つけちゃうよね。そこでclassを採用しなかった。
ジェネリクスも多分いちばんいい形で実装されると思う。

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

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

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

840:デフォルトの名無しさん
17/10/04 12:00:16.50 DiJewy83.net
Nimこれまで避けてたけど、これ結構よくね?

841:デフォルトの名無しさん
17/10/04 14:31:49.82 B2XamLw4.net
書き易く読み易い
動作もそこそこ速い
でも流行らないNim

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

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

844:デフォルトの名無しさん
17/10/04 18:15:56.42 l7XMNd9h.net
Nim なら "Hello,world!".echo と書ける

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

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

847:デフォルトの名無しさん
17/10/04 21:22:38.73 ObffTMEn.net
ちなみに Smalltalk は最初の Smalltalk-72 から Smalltalk-78 まではずっと 'Hello,world!' print
だけど Smalltalk-80 以降は最新の Pharo、Squeak を含め Transcript show: 'Hello,world!' に
ただひとつ変わり種の GNU Smalltalk だけが今も変わらず 'Hello,world!' print
URLリンク(ideone.com)

848:デフォルトの名無しさん
17/10/04 21:41:15.01 LT+9qEc0.net
やはりSmalltalkですか
でも今見直したらFactorも "Hello,world!" print だった
より純粋なオブジェクト指向とかスタック指向を目指すなら後置関数にこだわるのも良い気がする

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

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

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

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

853:デフォルトの名無しさん
17/10/05 10:00:21.57 6CUoA44/.net
>>840
同意

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

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

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

857:デフォルトの名無しさん
17/10/05 13:52:09.38 DNu4hyXr.net
島猿は観念論的な思考が苦手だからな

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

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

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

860:あ
17/10/05 19:36:48.36 5X6CpPIC.net
ってか習得するもんでも無いんじゃないの?
やりたい事をやりたいように出来ればそれで良い気がする。
自動車整備の達人はレンチの達人かもしれんが、ただのレンチの達人は自動車整備出来んだろ。
新型のレンチ試して習得する前に、どう使うかを考えた方が余程良いかと思う。

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

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

863:デフォルトの名無しさん
17/10/05 22:27:03.03 jfAiiqib.net
null安全でない言語は、もはやレガシー言語だ
URLリンク(qiita.com)

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

865:デフォルトの名無しさん
17/10/06 00:57:54.53 AmbKZ1TQ.net
ええだ、ええだ

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

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

868:デフォルトの名無しさん
17/10/06 08:25:43.72 mbAUXPYs.net
意味がないとは言わない
おれもあれば使う
が思うほど効果ない

869:デフォルトの名無しさん
17/10/06 12:24:07.66 28ESsb6Q.net
null安全言語使うとホント幸せだよな。
結果的にここにnullの可能性がある変数が到達しないってことを言語として保証してくれるってすごすぎる。
書いてみると分かるけど返り値がnullの可能性があるかどうかは
内部で使うapiに依存してたりして、外側から見ると予測できない。
だから人間がやろうとしたら、結局使う側で全ての引数にnullチェック入れるしか無い。
まぁ面倒だからnullPointerExceptionを出しちゃうわけですけど。
コンパイラが把握してくれれは必要最低限のチェックで済むから精神衛生上も大変よろしい。
こういう進化はどんどんしていって欲しい。

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

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

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

873:デフォルトの名無しさん
17/10/06 15:41:59.82 HTxWyqCb.net
null safety理解してないやつ結構いるのね

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

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

876:デフォルトの名無しさん
17/10/06 20:00:20.02 VLsCvj8e.net
>>875
ググれ

877:デフォルトの名無しさん
17/10/06 20:21:56.80 Rv6hBe2m.net
nullで初期化して後で代入しようしたら急に例外が来て脱出することがある
その例外を処理する途中でバグるから他のバグよりも深刻
例外を投げない言語なら問題ない

878:デフォルトの名無しさん
17/10/06 20:59:37.31 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
17/10/06 21:07:24.53 7QyvSB4A.net
すまんちょっと訂正
C#では、interface Hoge<in TIn, out TOut>のように

880:デフォルトの名無しさん
17/10/07 00:18:08.77 ay0KJt9o.net
>>862
ガビン・キングか誰かが同時期に+-考えて後にceylonに導入されてる。
>>864
あれは入力変数と出力変数と入出力変数
>>878
ムダに長いな。
いちばん重要なのはどの型変数が入力/出力用か定義した側は分かってるから
宣言部だけに書けばいいのにjavaの仕様だと利用する側も利用する型を
書かなきゃいけない無駄が無くなること。
javaも型推論の範囲広げてくれればダイヤモンド演算子で済むんだけど。
話は変わるけど「意味的なnull」の場合はnullable typeとoptionalどっちがいんだろうな。
optionalがモナドかどうかは抜きにして。

881:デフォルトの名無しさん
17/10/07 01:10:07.86 ZhYAfijB.net
>>878
すまんいまいちわからん。
in outの指定がなくても推論できそうな気がするんだけど。
それがどう便利になるのか、、、、
推論のための情報を増せるってことかね。

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

883:デフォルトの名無しさん
17/10/07 01:45:27.02 oYr2GY5l.net
> 頭がいい人が隣に座ってくれてる感ある
この例え、ちょっとワロタ

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

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

886:デフォルトの名無しさん
17/10/07 09:04:26.26 U1Wl1fD6.net
アップキャストって文字列みてレス内容スキップした

887:デフォルトの名無しさん
17/10/07 09:25:02.60 FzxjfsDf.net
List<object>にList<string>を代入できるってことだろ。

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

889:デフォルトの名無しさん
17/10/07 10:27:19.45 fUAr46yo.net
コンパイラやランタイムがキャストする方向

890:デフォルトの名無しさん
17/10/07 11:54:57.90 ODmPff4g.net
>>888
よく考えろ
広げる方向へのキャストだよ

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

892:デフォルトの名無しさん
17/10/07 16:36:46.84 7mvjIKWG.net
ポインタ(型の値)渡し
いかんのか?

893:デフォルトの名無しさん
17/10/07 17:33:27.49 ZhYAfijB.net
>>885
やっぱ具体的なコードがないとよくわからんな
<T extends Hoge>XXX のHogeの部分を自由に指定できるようになるってこと?

894:デフォルトの名無しさん
17/10/07 18:36:11.03 3J6O2fHU.net
class ExtendsX a where { toX :: a -> X }
class SuperY a where { fromY :: Y -> a }
Haskellなら単なる関数にするだろ
キャストという謎の用語を使う必要がない

895:デフォルトの名無しさん
17/10/07 18:37:08.45 U1Wl1fD6.net
>>892
い(ちごや、み)かんでしょ
あとJavaしか知らない人が背伸びしようとして?
(参照型変数の値渡しのことを)参照渡し
これもいつまでたっても無くならない

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

897:デフォルトの名無しさん
17/10/07 19:09:53.49 ODmPff4g.net
>>896
訂正
3行目はf2

898:デフォルトの名無しさん
17/10/07 19:45:02.40 3J6O2fHU.net
fmap :: (a -> b) -> Factory a -> Factory b

899:デフォルトの名無しさん
17/10/08 00:02:28.18 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:デフォルトの名無しさん
17/10/08 00:06:17.55 CO5NODlU.net
X none-
O non-

901:デフォルトの名無しさん
17/10/08 00:20:35.53 z2et5JhT.net
C++から離れて以来、<>括弧に拒否反応出る

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

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

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

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

906:デフォルトの名無しさん
17/10/08 10:08:21.08 Eg4i3QFB.net
>TypeScriptの場合はキャストが完全なstructual-subtypingベースで、型名やジェネリックは型定義のエイリアスに過ぎない
>だから特に変成を明示的に指定する必要はない
TypeScriptの場合は必要ないと言うより、個々に指定できないから固定ルールでごまかしてるってのが近いと思うが。

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

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

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

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

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

912:デフォルトの名無しさん
17/10/08 15:20:15.14 93IJP3PA.net
>>911
ポエムかよw

913:あ
17/10/08 19:27:00.87 j8mHa+JP.net
ラダーでも描くか

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

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

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

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

917:デフォルトの名無しさん
17/10/10 03:24:21.13 IR1b7wv8.net
動的言語ってだけでクソ

918:デフォルトの名無しさん
17/10/10 03:36:14.32 sTZmKFl8.net
>>916
ウンコにカレーかけたらカレーになるか?
そういうことだ

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

920:デフォルトの名無しさん
17/10/10 08:19:53.37 rShZoZ8i.net
>>914
だからC#ではキャストなんだよ
知らないなら黙ってろよ

921:デフォルトの名無しさん
17/10/10 10:39:53.93 /pjPidVz.net
道徳がないのに用語の定義だけ守るなんて滑稽だわ

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

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

924:あ
17/10/10 18:49:40.52 DF0+rUls.net
まあ、敬語を使う基準や使ってはいけない基準が「年上」ってのも相当だけどな。
他人であれば敬語以外の選択肢が出てくる時点で異常。
上司であれ部下であれ、客であれ飼い主であれ、友達じゃねえんだから。
ほんとにドヤ顔したいなら、理解させたら良いのに。
理解させる事が出来ないなら、そいつ以下な気がするわ。
少なくともそいつより賢くないとできない事が、そいつに教えるって事なんだし。

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

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

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

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

929:デフォルトの名無しさん
17/10/10 23:27:37.58 Hng7vpUg.net
そりゃ今あるものはいずれレガシーになるでしょ

930:デフォルトの名無しさん
17/10/10 23:43:31.35 8cUJeS6O.net
実績おじさんのドレガシーはマジ勘弁

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

932:デフォルトの名無しさん
17/10/11 00:02:13.85 wRfMxQMF.net
話の脈絡の無さが怖いわ。

933:デフォルトの名無しさん
17/10/11 00:07:23.11 5ft9QxZH.net
>>927
いいから具体的なC#コードで説明してくれ

934:デフォルトの名無しさん
17/10/11 01:38:41.04 YaLB6Rv/.net
未だにMVCとか言ってそう
んで、全部Cにロジック書いてそう

935:デフォルトの名無しさん
17/10/11 09:28:50.53 viUxhdEA.net
MVCって古いの?
やっぱMVVMが主流?

936:デフォルトの名無しさん
17/10/11 09:32:41.32 KC3ar1qW.net
>>935
適用対象が違う

937:デフォルトの名無しさん
17/10/11 09:35:16.45 viUxhdEA.net
MVCって古いの?

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

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

940:あ
17/10/11 18:05:13.39 Q0CgrKbU.net
わからんのだろう、それが一体どういう場合にどういう悪になるか、とか、
悪は悪だが必要悪だとか、悪は悪だがそれを避けるコストが、我慢して使うコストを圧倒的に上回ってるとか。
ちょっと前の話なら、ClassicASPを嗤ってた割に、SSRとか言ってはしゃいでた奴とかいたが、心底アホなんだなぁって思ったよ。

941:デフォルトの名無しさん
17/10/11 20:11:14.56 g/AsaciR.net
避けるコストが我慢して使うコスト上回るってelectronとかか?

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

943:デフォルトの名無しさん
17/10/11 22:23:00.80 zxckWzxc.net
案の定MVCバカにしてるのも例の奴だったか

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

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

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

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

948:あ
17/10/11 22:48:53.10 76AReSDy.net
>>945
javascriptはしょうがないで書くような言語でも無いかと。
よくできてると思うよ。
上からまっすぐ降りてくる言語しかできん奴はjs嫌いだろうけど。
型が柔軟なのも良いけどな。なんでも突っ込むのは頭おかしいが、代数的データ型として使う分には良い具合の無茶が出来る。awaitが使えるようになって、ますます良い具合。
phpは置けば動くあの簡単さが良いんだろ、多分。


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