1 名前:デフォルトの名無しさん [2018/06/03(日) 23:53:27.92 ID:vrBh4O6u.net] スレタイ以外の言語もok 前スレ 次世代言語10[Rust Swift TypeScript Dart] https://mevius.5ch.net/test/read.cgi/tech/1524607347/
577 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 10:03:33.26 ID:1wi3jEJk.net] 「新しいものをバカみたいに導入しようとする奴は危険」ってのはまあその通りなんだが 上の「5年後にJava8を導入おじさん」も同じくらい危険人物な訳で 結局突き詰めてメリデメリをジャッジできる思考力ないだけのバカは開発を地獄にするってのは変わらんよね
578 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 11:21:38.28 ID:cgeQ1bE7.net] プロコンという語を覚えると便利だよ>メリデメリ 英語のプレゼンでprosとかconsとか見たことあるでしょ?まあ英語というかラテン語なんだけど。
579 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 11:40:21.90 ID:OPxRI0Cf.net] デメリット、コスト、人月の見積もり 見積もりを妄信するのも危険と言われる
580 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 13:11:53.12 ID:byOf5Soa.net] >>449 >>>448 >なんと! >日本語審査会で審議しないといけないな。 言い忘れたがこの混同は英語でもある というか放射能漏れは leakage of radioactivity の直訳
581 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 14:05:58.53 ID:7nYEmGe5.net] そもそも次世代言語が次世代なうちは個人の趣味プロぐらいにしか使わんだろ
582 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 14:33:09.83 ID:sQTrKk9Y.net] HaskellやElixirを実業務で使ってるところも 実在するわけだよな恐ろしい
583 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 14:45:17.24 ID:UoKY4/G0.net] そのへんはむしろ枯れてるし実際ある
584 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 14:48:34.03 ID:soq2obRK.net] まあHakellに関してはもう次世代というよりLispと似たようなポジションだということで
585 名前:デフォルトの名無しさん [2018/06/18(月) 15:30:15.87 ID:soq2obRK.net] ところで、またATS2に話を戻すんだけど、 日本語訳もあったしチュートリアルやってみてるんだけど ↓の再帰関数の停止性検査とやらで躓いている ttp://jats-ug.metasepi.org/doc/ATS2/INT2PROGINATS/x2485.html 特に fun isevn{n: nat} .<2*n>. (n: int n): bool = if n = 0 then true else isodd (n-1) and isodd{n: nat} .<2*n+1>. (n: int n): bool = not(isevn(n)) が何故.<2 * n>.と.<2 * n + 1>になるか理解できん… .<n>.と.<n + 1>.で大丈夫だと思ったんだが… たぶんまだ、停止性メトリクスとやらが正しく理解できていないんだろうな… 誰か詳しく解説してくれないか?
586 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 15:31:22.53 ID:/sFO+jYl.net] >>575 ドワンゴ(失笑)とかか?wwww
587 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 15:37:03.09 ID:/sFO+jYl.net] ドワンゴが使ってると公言した言語を使ってる会社はドワンゴレベル 気を付けろwwwww
588 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 16:10:43.68 ID:soq2obRK.net] ドワンゴってScala以外にもSwift, Kotlin(スマホアプリ)やReact(Typescript)やRustとかも使ってるからな… 開発事例は聞いたことないけどGoの勉強会とかもやってるし… その基準だと、このスレでよく話題に挙がる言語はほとんど全てドワンゴレベルだな ドワンゴレベルじゃない次世代言語はDartくらいか?www
589 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 16:24:24.97 ID:NEyGx0zg.net] ドワンゴには、C++ の標準化委員の江添亮もいるし、Rust, Elixir, HDL もやってる。 クックパッドには、RubyVM を作った、笹田耕一もいる 基本は、Ruby。 Gradle で使うGroovy も、Ruby そっくり。 Elixir もそう。 jQuery のメソッドチェーンも、Ruby っぽい 無料のRails チュートリアルをやれば、すべてのフレームワークがわかる
590 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 16:24:43.92 ID:yVgz9/Zm.net] 言語と品質には何の関係もないのを 日々実証し続けているドワンゴさん
591 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 16:29:30.09 ID:pZ1JIWjn.net] まだRubyのチュートリアルの話してんの? Rubyっぽい、って、第一言語がRubyだからそう見えるだけだろ。
592 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 16:40:07.48 ID:OPxRI0Cf.net] フリーソフトがあるから品質と価格が無関係
593 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 17:22:50.97 ID:qMNnTEHn.net] ドワンゴってエンジニアだけ見ると技術力高そうなのに なんで成果が全部ゴミなんだろうな
594 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 17:37:58.73 ID:NEyGx0zg.net] YouTube, AbemaTV は、広告 ニコ生は、有料 Showroom は、寄付 ビジネスモデルが異なるから、 1つのチャネルの視聴者数が1万を超えると、追い出す 乃木坂みたいに、数万人も見ると、追い出す。 広告が無いから、1万人以上が無料で見ると、電気代が払えず、赤字になる
595 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 18:02:04.30 ID:EvkbZGBx.net] >>578 isevn.<n>.とisodd.<n+1>.だと isevn 3 のメトリックは.<n>. = .<3>. そこから呼ばれるisodd 2 のメトリックも.<n + 1> = .<3>. 減ってねえ!エラー!ってことじゃね 想像だけで試してないので違ってたらすまん
596 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 18:04:53.53 ID:xdRdwSco.net] >>578 とある関数呼び出しの定義内に表れる再帰的呼び出しの 停止性マトリクスが、大元の関数呼び出しの停止性マトリクスから辞書順で下降していくことから停止性を担保しようというのが停止性マトリクスの意味。 そして停止性マトリクスの記述に表れる n は issven や isodd の引数そのものだということに注意 iseven、isodd の停止性マトリクスがそれぞれ n、n+1 だと、 iseven n の停止性マトリクス→n iseven n の定義に出てくる isodd (n-1) の停止性マトリクス→n-1+1=n 減っていないから停止性が担保されない(NG)。 説明にあるように <n, 0> と <n,1> ならば、 iseven n の停止性マトリクス→<n,0> iseven n の定義に出てくる isodd (n-1) の停止性マトリクス→<n-1,1> (下降している!OK) isodd も同様に isodd n の停止性マトリクス→<n,1> isodd n の定義に出てくる iseven (n) の停止性マトリクス→<n,1> (下降している!OK) そして<n,0>, <n,1> の代わりに n*2, n*2+1 を使っている(この代用が可能なことはわかるよね)。
597 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 18:08:28.85 ID:xdRdwSco.net] >>589 >停止性マトリクスが、大元の関数呼び出しの停止性マトリクスから辞書順で下降していくことから停止性を担保しようというのが停止性マトリクスの意味。 この説明「下降していく」だと本当に再起をどんどん 実行していくみたいで間違ってるか。 とある関数呼び出しの停止性マトリクスよりも、 その関数の定義に表れる全ての再帰的呼び出しの停止性マトリクスのほうが辞書順で小さい、 というべきか。
598 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 18:09:50.53 ID:xdRdwSco.net] >>589 >isodd も同様に >isodd n の停止性マトリクス→<n,1> >isodd n の定義に出てくる iseven (n) の停止性マトリクス→<n,1> (下降している!OK) 最後の行は isodd n の定義に出てくる iseven (n) の停止性マトリクス→<n,0> (下降している!OK) の間違いでした
599 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 18:32:21.74 ID:NEyGx0zg.net] 偶数は、2*n 奇数は、2*n+1
600 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 18:34:45.57 ID:EvkbZGBx.net] >>592 理解してないだろw
601 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 18:51:32.37 ID:OPxRI0Cf.net] 安全装置のたぐいは損失を防ぐばかりで利益は全然ない 利益がないから理解できない人が続出
602 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 18:58:41.11 ID:soq2obRK.net] >>589 ありがとう 冷静に計算していったら、確かにnとn+1じゃ減ってないからダメで 2*nと2*n+1だときちんと減ってるからOKってところまでは理解できた でも、一体何を考えて<n,0>と<n,1>のタプル?のメトリクスが出てきたか全然分からない… > そして<n,0>, <n,1> の代わりに n*2, n*2+1 を使っている(この代用が可能なことはわかるよね)。 すまない。俺はバカなんだ。分からないんで教えて下さい。 自分でも自分がどこまで分かっているのかさえよく分かっていないんだが、 たぶん、停止性メトリクスがきちんと減っているかどうかを計算する方法までは理解できたが、 きちんと減っている停止性メトリクスを導き出す方法が分かってないんだと思う
603 名前:フ名無しさん mailto:sage [2018/06/18(月) 19:23:14.64 ID:xdRdwSco.net] >>595 >すまない。俺はバカなんだ。分からないんで教えて下さい。 辞書順を保ったまま <n, 0>, <n,1> をそれぞれ 2*n, 2*n+1 で置き換えられる 3*nとか4nでもいいけど2つしかないから2nで十分 例 fun f {n:nat} .<3*n>. (n: int n) : bool = if n = 0 then true else g (n-1) and g {n:nat} .<3*n+2>. (n: int n) : bool = not (h (n)) and h {n:nat} .<3*n+1>. (n: int n) : bool = not (f (n))
604 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 19:24:20.04 ID:EvkbZGBx.net] >>595 引数のnと、isoddとisevnの2つの関数の区別(+0, +1)を位取り(*2)して足してるだけじゃないかな……
605 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 19:33:04.83 ID:vrc1WpPf.net] >>581 全部そうだよ やっぱりJavaやC、Pythonが最終的に一番良いってことだな 新しいものに飛び付いてるとドワンゴになるぞ
606 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 19:52:57.33 ID:wJzzPYpc.net] ドワンゴはc++みたいなもんだな。 とりあえず新言語(新機能)の実験台になってもらえるっていう。
607 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 20:40:04.20 ID:bcKP+A2z.net] >>599 つまりドワンゴがスレタイ言語は ほぼ使えないと証明してくれてるってことだな
608 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 20:46:12.17 ID:7nYEmGe5.net] ドワンゴは本当のC++プログラマーも募集してるしな
609 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 21:40:32.50 ID:poCVJCAd.net] やきそば焼かせてるようなクズ会社にいくのか?
610 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 21:49:26.33 ID:c5Ieze8t.net] bio100%の戀塚もいるんだよな いかんせん上がアホだから
611 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 21:55:35.52 ID:soq2obRK.net] >>596 辞書順を保ったまま置き換えられるってのが何をしてるのかイマイチよく分からんが とりあえず、2つの関数で相互再帰なら2n、3つなら3nといった感じ……なのか? うーん…まだ勉強し始めたばかりだし、やってればそのうち分かるようになるかぁ… あざっす。
612 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 22:18:33.96 ID:ejyTxCd5.net] >>604 いやここで堪えて理解しておくべき。 引数から算出できて、再帰で減るものを何か考えてそれを停止性マトリクスとする。 値そのものじゃなく大小関係だけが大事だから、 m が 0 と 1 のどちらかしかなければ <n, m> の代わりに n*2+m で ok ってこと 例 <5,0> は <4,1> より大 ⇔ 5*2+0 は 4*2+1 より大
613 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 22:30:23.80 ID:ejyTxCd5.net] ちなみに辞書順というのは停止性メトリクスのタプルについて、 先頭の要素同士を比較、等しければ次の要素同士を比較、また等しければそのまた次の以下略… という風に比較したときの順序関係
614 名前:デフォルトの名無しさん mailto:sage [2018/06/18(月) 22:47:52.93 ID:ejyTxCd5.net] 上で散々マトリクスと誤記しているメトリクスはこの場合「(停まるまでの)距離」という意味
615 名前:デフォルトの名無しさん [2018/06/18(月) 23:09:05.63 ID:soq2obRK.net] >>605 なるほど。(n, 0)と
616 名前:(n, 1)が2nと2n+1に変換できることまでは分かった。ありがたい。 でも、そもそもの話として(n, 0)と(n, 1)っていうのが 一体何を考えて導き出されたのかが分からないんだよ… チュートリアルに「isevn と isodd に (n, 0) と (n, 1) のメトリクスを与えれば、 これら2つの関数の停止性もまた検査できることは明白です。」って 書いてあるんだけど、俺にとっては全然明白じゃない… 何をどう考えたら(n, 0)と(n, 1)のメトリクスを与えようと思うんだ…? 現状、分かっているのは2nと2n+1ならメトリクスが減っているからOKってところと (n, 0)と(n, 1)のメトリクスが2nと2n+1に変換できるってところまで… 一番肝心な部分が理解できていない気がする… [] [ここ壊れてます]
617 名前:デフォルトの名無しさん [2018/06/18(月) 23:17:38.17 ID:Tp0/3gfg.net] なんの話か分からないけどこういう奴らが使ってる技術は使いたくない
618 名前:デフォルトの名無しさん mailto:sage [2018/06/19(火) 00:28:07.36 ID:2myyjakz.net] ATSは依存型言語の中でも奇抜な方だと思うよ Coqとソフトウェアの基礎の方が易しいと思う
619 名前:デフォルトの名無しさん mailto:sage [2018/06/19(火) 01:44:59.48 ID:menX4d1R.net] CoqとAgdaは敬遠してるんだよね… あの二つはプログラミング言語じゃなくて証明支援器だって聞いてるから… オレは別にPCに証明問題を解くのを手伝ってもらいたいんじゃなくて、 従来の型システムを発展させた依存型とかを使ったより安全な プログラミングを行うの方法が知りたいんだよって思って… けど、学ぶ順番としてはCoqが先のほうが良かったのかな? でも、Coqだとどうにもモチベーションが… あと、ついでに線形型も学びたかった…… Rustの所有権・借用・ライフタイムはほぼ理解できてるんでそれほど難しくはないだろうと… まず、依存型で躓いてるんで線形型までたどり着いていない… んー……一度に色々やろうとし過ぎか…(´・ω・`)
620 名前:デフォルトの名無しさん mailto:sage [2018/06/19(火) 02:53:39.62 ID:8GZLihdn.net] Idris とかはどうなのよ
621 名前:デフォルトの名無しさん mailto:sage [2018/06/19(火) 04:24:16.98 ID:thfWBPV2.net] >>608 この場合呼び出しのたびに変化するものが、引数のnと「どちらの関数を呼ぶか」という 2つしかないんだから、呼び出しのたびに減る式を作ろうとしたらこれを組み合わせるしかない 後はパズルだろ
622 名前:デフォルトの名無しさん [2018/06/19(火) 07:30:15.96 ID:3/FXNCrL.net] 全てのnについて(n, 1)>(n, 0)と2n+1>2nは同値だから当たり前だろ。
623 名前:デフォルトの名無しさん mailto:sage [2018/06/19(火) 08:33:24.05 ID:vJmt1KGh.net] わかりにくい記法は自分で自由にわかりやすい記法に変換すればわかる Cのポインタの記法と同じ 自由に考える方が早い 偉い人にいちいち許可を求めたり質問したりすると時間がかかる
624 名前:デフォルトの名無しさん mailto:sage [2018/06/19(火) 08:33:59.97 ID:menX4d1R.net] >>613 んー…1日置いたらやっと分かったような気がする… 気がしてるだけかもだけどあとは自力でどうにか理解できそう… まあ、新しい概念を覚えるときはどうしても時間が掛かるものだし、 あとは腑に落ちるまでサンプルコードひたすら写経したりするか… 皆ありがとう >>610 ATSの依存型は奇抜なの? 他の依存型がある言語も似たようなことやるんじゃないの?
625 名前:デフォルトの名無しさん mailto:sage [2018/06/19(火) 08:51:24.21 ID:vJmt1KGh.net] コンパイル時のメタプログラミングはみんな奇抜
626 名前:デフォルトの名無しさん mailto:sage [2018/06/19(火) 19:52:01.92 ID:R39QGoSG.net] 型を静的に解析しつつマクロみたいに評価順序を入れ替えようってのが そもそも無理があるんだよ。
627 名前:デフォルトの名無しさん mailto:sage [2018/06/19(火) 20:25:55.46 ID:b5m1uThb.net] そもそも型に期待しすぎるのがキモい 型の役目なんてOCamlくらいでちょうどいいのに
628 名前:デフォルトの名無しさん mailto:sage [2018/06/19(火) 21:54:08.10 ID:vbOWauRQ.net] 型安全のためにDRY原則すら無視してるのあるからな
629 名前:デフォルトの名無しさん mailto:sage [2018/06/20(水) 01:28:01
] [ここ壊れてます]
630 名前:.72 ID:QSlqi/vd.net mailto: 型安全を崩す水準のDRYはかなり悪い印象があるな 共通化すべきでないものまで共通化してるのではと [] [ここ壊れてます]
631 名前:デフォルトの名無しさん mailto:sage [2018/06/20(水) 11:07:04.58 ID:YLzmhKZ9.net] 一生型書いてろ 俺はプロダクト書くからよ
632 名前:デフォルトの名無しさん mailto:sage [2018/06/20(水) 11:47:35.83 ID:CARL/ed1.net] 人は型かプロダクトかどっちかしか書けないからなw
633 名前:デフォルトの名無しさん mailto:sage [2018/06/20(水) 13:04:18.23 ID:pTH4tzak.net] >>620 ジェネリクスやインターフェース正しく使ってれば DRY原則無視しなきゃ型安全守れないこととかほぼ無いだろ どんなコード書いてるんだよ?
634 名前:デフォルトの名無しさん mailto:sage [2018/06/20(水) 21:17:56.02 ID:vXpw0FFs.net] 型って建物に例えると水準器だろ 柱がまっすぐ立ってるか見るための補助具 補助具ばっか作って家が建つのか?
635 名前:デフォルトの名無しさん mailto:sage [2018/06/20(水) 21:34:34.91 ID:kjCaqS0j.net] 一生水準器使ってろ 俺は家建てるからよ
636 名前:デフォルトの名無しさん mailto:sage [2018/06/20(水) 21:39:33.95 ID:pTH4tzak.net] そうか、じゃあ動的言語で作ったプログラムって例えるなら水準器なしで建てられた家なのか… それは欠陥住宅というもので工期が遅れてる建物よりもっと害悪だと思うんだがそれは…
637 名前:デフォルトの名無しさん mailto:sage [2018/06/20(水) 21:55:16.85 ID:nu99cs2X.net] いや単なる犬小屋欲しいだけなのに設計書に一年くらい時間かけるようなもんだ。
638 名前:デフォルトの名無しさん mailto:sage [2018/06/20(水) 22:31:25.72 ID:R/RR2gVc.net] >>628 犬小屋ってどれくらいの規模のものを指してるの? リソース3つくらいのweb apiサーバとか?
639 名前:デフォルトの名無しさん mailto:sage [2018/06/20(水) 22:35:54.20 ID:R/RR2gVc.net] >>625 それだけじゃないよ。メンテナンスという観点でも必要。 いわば動的言語なら釘で家を建てるけど、 型付きなら、簡単に取り替えられるようにボルトで止まってる。 ちゃんとネジに印がついていて交換ミスも起こりにくい
640 名前:デフォルトの名無しさん [2018/06/20(水) 22:37:33.02 ID:6Ldi6ZQ0.net] 例え話をするエンジニアは無能の法則
641 名前:デフォルトの名無しさん mailto:sage [2018/06/20(水) 22:45:13.44 ID:pTH4tzak.net] >>629 犬小屋なんだから日曜大工、つまり個人の趣味レベルのものでしょ
642 名前:デフォルトの名無しさん mailto:sage [2018/06/20(水) 23:03:24.49 ID:kjCaqS0j.net] 型は水準器というより物差しに近い
643 名前:デフォルトの名無しさん mailto:sage [2018/06/21(木) 00:46:09.92 ID:j3Jry11G.net] オプションでも型制約無い言語なんてもうJSとRubyくらいじやね?
644 名前:デフォルトの名無しさん mailto:sage [2018/06/21(木) 01:00:00.42 ID:9yZQgWTf.net] Lua忘れるとか
645 名前:デフォルトの名無しさん mailto:sage [2018/06/21(木) 01:15:00.23 ID:Xm+RspnJ.net] c++のstd::chornoみたいな設計は行き過ぎた型安全だと思う
646 名前:デフォルトの名無しさん mailto:sage [2018/06/21(木) 01:16:19.88 ID:tnwaIVRK.net] C++は存在そのものが行き過ぎている
647 名前:デフォルトの名無しさん mailto:sage [2018/06/21(木) 02:30:14.21 ID:lOkS/ogb.net] 永遠の次世代言語
648 名前:デフォルトの名無しさん mailto:sage [2018/06/21(木) 03:28:39.67 ID:CmPcltgN.net] C++はやべーよ でも誰も逃げ出せない
649 名前:デフォルトの名無しさん mailto:sage [2018/06/21(木) 07:30:10.88 ID:6ripmtAT.net] まさに魔王
650 名前:デフォルトの名無しさん mailto:sage [2018/06/21(木) 12:02:43.31 ID:NVNRBOaD.net] 逃げ出したいけど環境がっつりだから無理だわ
651 名前:デフォルトの名無しさん mailto:sage [2018/06/21(木) 12:22:25.31 ID:f5p4gdbf.net] rubyは絶対に型を書きたくないから コメントか外部ファイルに型を書くようにするらしいぞ
652 名前:デフォルトの名無しさん mailto:sage [2018/06/21(木) 12:26:56.39 ID:Ny0HAIKC.net] 0から何か作ろうって時にC++だけは選びたくない
653 名前:デフォルトの名無しさん mailto:sage [2018/06/21(木) 13:31:50.47 ID:AvdUCmrX.net] 俺はアプリ屋だからコアの部分は Windows、 Android、iOS、MacOS のどれでも使える c++ UI 側を書く各言語から呼び出して使う
654 名前:デフォルトの名無しさん mailto:sage [2018/06/21(木) 13:35:39.24 ID:uYxelfTA.net] あいかわらずRubyの人たちは何がしたいのかよくわからんな
655 名前:デフォルトの名無しさん mailto:sage [2018/06/21(木) 13:52:08.71 ID:/kaFS0dg.net] C/C++の型はアドレスやサイズの計算に使う 低級言語だから型が役に立つ 高級言語がC++の真似をする必要はないんだよ 型を書かない高級言語はたくさんある
656 名前:デフォルトの名無しさん mailto:sage [2018/06/21(木) 13:55:42.09 ID:Ij19PzUL.net] コードに型を書かないと後で分からなくなるから結局コメントで型を書くことになるゴミ
657 名前:デフォルトの名無しさん mailto:sage [2018/06/21(木) 13:58:07.14 ID:D8gwnbh9.net] メソッド名とか使われ方とかコメントとかプログラマのクセとかからAIが型推論してくれるんだろう
658 名前:デフォルトの名無しさん mailto:sage [2018/06/21(木) 14:00:01.02 ID:gnPepsUQ.net] AIは確率過程だからコードみたいな根幹部分には使いたくないな
659 名前:デフォルトの名無しさん mailto:sage [2018/06/21(木) 14:11:21.05 ID:0x6Lg0t3.net] AIを使ったエラー検出は今後のトレンドになるだろうね 技術進歩に伴って緩やかに型は不要になっていくだろう IntelliCodeの発展形としてMSがやりそう
660 名前:デフォルトの名無しさん mailto:sage [2018/06/21(木) 14:33:42.30 ID:copqf+uW.net] そのAIをC++で作らされたりしてな
661 名前:デフォルトの名無しさん mailto:sage [2018/06/21(木) 14:34:54.31 ID:/kaFS0dg.net] AIの得意分野はどっちかが必ず勝つ対戦ゲームというブルーオーシャン レッドオーシャンに飛び込んでも勝てると思うのは確率的に間違ってる
662 名前:デフォルトの名無しさん mailto:sage [2018/06/21(木) 14:46:28.87 ID:S4IxNo+1.net] >>646 とあるオブジェクトを扱うアルゴリズムが要求するのは型じゃなく 整数っぽいものを返すsize() メソッドは実装していること、 とかそういう制約だよな
663 名前:デフォルトの名無しさん mailto:sage [2018/06/21(木) 20:54:11.38 ID:bp0U88xF.net] >>642 python2の型ヒントみたいなやり方するってことかな。まあ実行時には必要ない情報だから それもリーズナブルな解だと思うけどね。使えるものを早く出してくれさえすれば。
664 名前:デフォルトの名無しさん mailto:sage [2018/06/21(木) 21:51:19.80 ID:6ripmtAT.net] 型推論とかAIで検出とかバカほど無駄なことに計算資源使おうとするのな。 そんなカスみたいな機能に資源使うくらいならコンパイル速度上げた方がよっぽどマシ。
665 名前:デフォルトの名無しさん mailto:sage [2018/06/21(木) 23:52:49.86 ID:c3YkgC6b.net] >>655 えぇ… AIは知らんが型推論のほうはコンパイル速度重視のGoでさえ使ってる技術だぞ
666 名前:デフォルトの名無しさん mailto:sage [2018/06/22(金) 00:03:19.61 ID:7bl9EfTW.net] 単純な右から左の型推論は余計な型名解決が減る分むしろコンパイル速くなるだろ
667 名前:デフォルトの名無しさん mailto:sage [2018/06/22(金) 00:15:01.47 ID:ecfXobDJ.net] おじいちゃんは自分がよく知らないものは全部無駄に見える生き物だから…
668 名前:デフォルトの名無しさん mailto:sage [2018/06/22(金) 00:18:04.51 ID:mjvSylV1.net] >>657 単純な場合はむしろ速くなるの?それは知らんかった ただ、どっちにしろ型推論ってそんなに計算リソースを消費するイメージないんだけど…
669 名前:デフォルトの名無しさん mailto:sage [2018/06/22(金) 00:42:37.48 ID:fxQEanUA.net] 速くなる訳ねーだろ。。 https://cocopon.me/blog/2015/03/swift-compilation-time/ なんでこいつらこんな簡単に騙されるの?
670 名前:デフォルトの名無しさん mailto:sage [2018/06/22(金) 00:43:40.93 ID:H0orbnfz.net] 型推論の計算コストは有効範囲と言語の持ってる型システムの表現力でけっこう変わるよ 関数内でのみ有効なのと関数宣言でも使えるのだと随分違う 既存の、コーディング中に型を書くのが苦にならないような言語だと後から型推論追加しても旨味が少ないと思う Rustはコンパイル速度を気にしてかライフタイム関係の推論が面倒だったのか知らんけど、関数内でしか型推論有効にしなかったの
671 名前:は個人的にマイナス [] [ここ壊れてます]
672 名前:デフォルトの名無しさん mailto:sage [2018/06/22(金) 00:58:36.71 ID:ZcpNHe71.net] >>660 せめてgoでの比較持ってこいよ
673 名前:デフォルトの名無しさん mailto:sage [2018/06/22(金) 01:02:01.33 ID:mjvSylV1.net] >>660 結局コンパイラがどうやって推論してるかはソース見てみない限り分からないからな 遅くなる場合もあれば、ほとんど変わらない場合もあるだろうし、何とも言えないな… >>661 俺は逆に関数宣言の型の情報まで推論されるのは好きじゃないな 推論するのはローカル変数だけにしてほしい まぁ、そこら辺は好みの問題だな
674 名前:デフォルトの名無しさん mailto:sage [2018/06/22(金) 01:56:16.57 ID:fZhhlNhQ.net] >>663 関数宣言の型の情報って何よ?
675 名前:デフォルトの名無しさん [2018/06/22(金) 08:06:59.36 ID:UUvhOuOE.net] constは推論されないとかのことかな
676 名前:デフォルトの名無しさん mailto:sage [2018/06/22(金) 10:04:29.72 ID:HgCip2r2.net] Nim IN ACTIONの1章と8章が無料公開されてるから1章読んでみてるけどなかなかセンスいい言語だな
677 名前:デフォルトの名無しさん mailto:sage [2018/06/22(金) 11:15:38.68 ID:HgCip2r2.net] しかしスネークケースキャメルケース同一視すんのどうなんだ 識別子に暗黙で余計な解釈しないでほしい railsの自動変換思い出して嫌な感じ