次世代言語18 Go Rust Elixir Kotlin TypeScript

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2019/10/01(火) 02:58:03.93ID:aEwUIB6s
スレタイ以外の言語もok

前スレ
次世代言語17 Go Rust Kotlin TypeScript Julia
https://mevius.5ch.net/test/read.cgi/tech/1567602619/
2020/03/25(水) 16:26:23.15ID:eUPBV1Bq
PythonのライブラリはCで書く
言語を2つ使うのをやめて1つにするのを狙ってるのがC++やRust

PythonはRubyと競争して勝ってしまった
競争も勝敗もないのがC#やJavaやGo
2020/03/25(水) 16:51:30.87ID:COJzGufp
>>712
Rustは、例え一部であっても、参照カウンタも GarbageCollection もなしで、メモリ管理を目指そうとしていた。
束縛や借用を使えばStack変数に関してはそれはある程度成功する。
Heapオブジェクトの自動解放に関しては、Uniqueポインタ的な単一参照や参照カウンタ方式を使っている。
がしかし、循環参照してしまうと誰も使ってないHeapメモリーが自動解放されない現象が起きるので、循環参照を避けることはプログラマの責任で行う設計。
2020/03/25(水) 16:56:54.91ID:COJzGufp
>>718
C/C++では、スタック変数を、関数の呼び出し元へ returnしたり、
引数に返したりすることが出来てしまうが、危険なので絶対やってはならないが、
Rustではそれに関してはコンパイル時にエラーが出るので防げる。
同様に関数の途中のブロックの中だけで有効なブロック変数も、ブロックの
外側にポインタ値を渡してはいけないが、これもRustでは防げる。
2020/03/25(水) 16:59:17.07ID:COJzGufp
>>716
プログラムのし易さの目的には、Rustは向いていない。
例外を try, catch で囲む以上の面倒くささがあらゆる場面で伴う。
2020/03/25(水) 17:01:41.23ID:COJzGufp
>>714
Pythonは、RAD系。C#も、RAD系的。
Rustは、RAD系とは正反対で、深く使いこなそうとするとCよりもC++よりもずっと難しい。
2020/03/25(水) 17:39:26.59ID:COJzGufp
海外のサイトでRustを褒めている人は実際には表面的にしか理解してない。
多くの人の投稿を見ているとC++14などの新しいC++が難しいから嫌になって
その代替としてRustを使いたいと思っている。
また、うたい文句である所の「安全、ガベージコレクターなし、簡単なC統合」
などをそのまま真に受けている。
ところが現実は違う。
C++ですら複雑に感じる人は、Rustで独自のリンクリストを設計することは決して出来ないと予言しておく。
そして、それが出来ない状態でシステム作りするのは、とても危険である。
(C++が難しく感じるプログラマの99.9%は、Rustで、標準のリンクリストを僅かでも作り直すことは出来ないだろう。)
2020/03/25(水) 17:40:30.68ID:2CCp9AcV
>>720
あーそうなんか残念やな

C#は登場から20年経ってようやくパフォーマンスに舵を切り始めて俺が使うことはないやろけどSystem.Runtime.Intrinsicsなんかもリリースされたから下々にもパフォーマンスを享受できるようにしてほしいわ
個人的にp/invokeをpythonのようにctypes/cdllでみたいに使いやすくしてくれへんもんかなC++/CLIでラッパー書くのしんどすぎる
2020/03/25(水) 17:57:58.76ID:Y3hcHT+A
C#はMS製というのが唯一の欠点
食わず嫌いも多いであろう
2020/03/25(水) 17:58:43.28ID:cjzqzk4A
>>716
全処理を囲む?それ設計の問題やろ
2020/03/25(水) 18:00:18.34ID:giqHqMXk
>>722
なかなか支離滅裂な文章だな
2020/03/25(水) 18:05:41.08ID:fCjn9EhQ
>>716
>そもそも例外が起きないようにプログラミング書くのに全処理をtry-catchで囲む慣習が個人的にずっと不服やったんよ

エラーハンドリングの基礎を学んだほうが良さそう
それにRustとGoではエラーハンドリングの機能や考え方は全く違うぞ
2020/03/25(水) 18:34:22.72ID:2CCp9AcV
元請けが決めるんやからしゃーないやろw
そやから慣習って書いてるやんけ
2020/03/25(水) 19:35:02.48ID:3tnofAZc
元請けのトンチキさに縛られる環境なら
RustやPythonの特徴がどうのとか考えるだけ
無駄では
2020/03/25(水) 19:38:00.42ID:KwM83K9a
Rustをどうしても認めたくない人多いイメージ
海外大手を筆頭に導入が広がりだしてるのは確かなんだが
2020/03/25(水) 19:54:40.38ID:eUPBV1Bq
海外の競争原理、和を乱す
2020/03/25(水) 21:17:55.06ID:eNR5PFXP
海外の事例(○○をrustで書き直しました!)はかなりタメになる
rustはいいぞ!なんで使わないの、やくめでしょっていう話は楽しくない

最近だったらDiscordをrustで書き直したって記事が面白かった
https://blog.discordapp.com/why-discord-is-switching-from-go-to-rust-a190bbca2b1f

ただ、こういうリライト記事って基本的に「既にある≒要件がとても固まってるシステム」が対象なので、
試行錯誤しながら正解を探すっていう普通のプログラミングに合うのかは分からないよね
2020/03/25(水) 22:20:32.82ID:hLf3cIQd
GCに困ってないならRust使う理由無いと思うが
2020/03/25(水) 23:01:17.38ID:eUPBV1Bq
GCのアルゴリズムはいっぱいある
最も単純な方法では何か困ったからいっぱい作った
735デフォルトの名無しさん
垢版 |
2020/03/25(水) 23:26:28.94ID:6cLcCOlB
ふつう何かを開発するのにGCとか型付けとか
関数型プログラミングとかそんなくだらない事はどーでもいいわけ。

numpyやpandas、数学ライブラが充実してるから
pyを使う
組み込みで機械動かせるからC系を使う
ブラウザはJavaScriptで動作するからJavaScriptを使う
モバイル開発専用の言語だからkotlinやswiftを使う
みんな使ってるからJavaを使う

GoやRustにそれらの専売性がありますか?
ないよね?それを使わざるを得ない状況がないよね?
じゃあ要らないよね。
2020/03/25(水) 23:29:23.97ID:ukHBAVn8
いやそれGC使ってるからね。。
2020/03/25(水) 23:43:09.74ID:JWe47CB2
Goは文法がガチでウンコ
あれ作った低学歴に説教してやりてえわ
2020/03/26(木) 00:00:42.85ID:ldfbk/zu
GAEに最適だから俺はこのGoの言語を選ぶぜ
2020/03/26(木) 00:11:18.82ID:Dsy66Brp
このGoに及んでくだらんことを言うな
2020/03/26(木) 00:36:21.74ID:Gvi6EW7Y
>>735
サーバー書くのなら割とGoが最適解の時あるのでは
2020/03/26(木) 00:42:11.16ID:Dsy66Brp
サーバーって、ショッピングの Web API サーバーとか?
あの記述力の低さで複雑なドメイン扱える気がしないな
2020/03/26(木) 00:58:37.13ID:Gvi6EW7Y
>>741
そんなん言われても実際に使ってるところあるし
2020/03/26(木) 01:50:56.47ID:Dsy66Brp
>>742
そんなこと言ったら、PHP 4 だって使ってるところありますよ(笑)
2020/03/26(木) 01:58:57.97ID:Gvi6EW7Y
>>743
まあ確かにGoは技術力いるかもな
俺は技術力高い所がよく使ってるのは重要な指針になると思ってるんだけど、君はそう思わないタイプ?
2020/03/26(木) 02:21:23.83ID:Dsy66Brp
記述力の低さを指摘したら
いっぱい使ってるし!とマジギレされたでござる

Go信者こわ
2020/03/26(木) 02:24:54.88ID:mwwmClxG
そりゃphpだってfacebookは使ってるし、javaだってgoogleが使ってるわけで
そんなことで判断するのは流石にどうかと思うわ。
2020/03/26(木) 02:34:21.84ID:SQR24f3M
バックエンドは長いスパンで運用しながら継続的に開発していくわけだが、
そういった状況において言語の一定以上の機能性は開発生産性にほとんど寄与しないんだよね
Googleはプログラマの感情を無視して露骨にそれを主張してるから反感を買いがちだけど、
MSなんかも統計的にはその事実はよく理解してるはず
2020/03/26(木) 06:12:20.75ID:2gvNqqTc
頑固な善人より柔軟な悪人の方が機能性があると思うやんか
でも一定以下に抑えることができなくなって悪は滅ぶ
この主張が感情ではなく統計的事実だとすると滅ぶのは誰なのか
2020/03/26(木) 07:13:45.73ID:xf2sP63i
MicrosoftがProject Veronaという主要言語の研究でRustを高く評価してるな
Windowsの低水準コンポーネントをRustで書いて試用中らしい

>>732
同意、ぶっちゃけ実際の開発って仕様決まってようがRADでコアを作って形になったらそのままスケールしていくって感じが個人的にほとんどなんだよな
とにかく効率的なメタで開発したプログラムをパフォーマンスやメンテがボトルネックだから性能を追求と保守性で最適なメタでリライトしようぜって感じでRust採用って流れじゃなかろうか
750デフォルトの名無しさん
垢版 |
2020/03/26(木) 07:54:21.26ID:Sq/f/q6k
Rustだから効率悪いとは思わんが
2020/03/26(木) 08:37:28.63ID:mwwmClxG
>>747
それはそう。
結局組織の問題だったりするわけだがプログラマとしては面白くない結論なんだろうっていうのはよくわかる。
2020/03/26(木) 10:50:56.35ID:2gvNqqTc
人類は感情を煽る技術ばっかり進歩させて
逆に感情を抑えるノウハウをほとんど持ってない
2020/03/26(木) 11:13:24.16ID:Nv8FEfE5
記述力なんて言葉を使うやつが
複雑なドメインを扱える気がしない
2020/03/26(木) 11:46:49.87ID:OqYbDrlw
>>752
スレ違いな内容を書きたいという感情を抑えることができないのか
2020/03/26(木) 19:59:58.20ID:1Pvv4AyX
>>749
後半の文節に関して、Webサービスの世界における究極のRADである Ruby on Rails の
誕生から現在に至るストーリー展開とのデジャブーを感じる
たとえば Twitter は、Rails でスタートアップして「コアをスケールアップ」していくことで
ビジネス的な成功を収め、同時に「パフォーマンスやメンテがボトルネック」だから
内部のコンポーネントを Scala/Java へ移行している

Rust に関して言えば、必須の低水準言語は C であることは変えようが無いという前提のもとで、
それよりやや高水準をターゲットとしている C++ のシェア侵食が起こり得ると考える

それはWebサービスの世界で Rails が PHP の牙城に食い込んでいった歴史の再現だ
もちろん昔も今も PHP の絶対的王者たる地位に揺るぎがあろうはずもなく、
一部の熱狂者たちが Rails のシェアを支えているに過ぎないという事実と重なる

同様に、Rust が一定の認知を得て普及する可能性は高いと同時に、
すべての C++/Java/C# プロジェクトが Rust に置き換わるバラ色の未来もまた存在しないだろう
2020/03/26(木) 20:18:11.18ID:BFnt5xGK
誰も言ってないことを長文で批判するのが
あちこちのスレで見るよね
757デフォルトの名無しさん
垢版 |
2020/03/26(木) 21:18:48.36ID:5AygTm0o
>>755
まず「文節」を辞書で引こう。
小学校の国語の授業寝てたの?www
2020/03/26(木) 21:59:58.46ID:3AJePqna
PHPが絶対的王者ってマジ?
俺の世界ではRubyが王者でそのあとをGoが追ってて、PHPはゴリ押ししてようやく採用されるかどうかなんだが
2020/03/26(木) 22:19:20.61ID:5np4UAxw
春になるとポエッティーノ男爵ふえるよね
2020/03/26(木) 22:26:38.95ID:Dsy66Brp
PHPなんてもう名前すら聞かなくなった
あんなガイジ言語ありがたがってる程度の底辺とは付き合いがないからかもしれんが
2020/03/26(木) 22:30:12.07ID:z8spWkog
いまどきRubyを好んで使うのは底辺うんこベンチャーくらいだろ
2020/03/26(木) 22:30:42.51ID:MxLRauFN
駄目なのはポエムじゃなくて登場人物を出すやつだ
プログラムは無人で動くべきなんだよ
2020/03/26(木) 23:20:27.36ID:n14BBjo0
>>759
ポエムじゃなくて、「転生したらPHPが絶対王者だった件」というラノベかもよ
2020/03/26(木) 23:26:23.33ID:Dsy66Brp
>>763
転職して型無しゲェジのウンポコペチプー糞まみれになって気が狂って
最後はコロナに罹って電車に飛び込む話か
2020/03/26(木) 23:37:49.18ID:8/yZHzko
>>758
wikipedia も PHP だし…
766デフォルトの名無しさん
垢版 |
2020/03/27(金) 00:20:14.31ID:GUIIkCWN
PHPは言語設計力0のガイジが作って、さらに機能を付け足していって更にガイジ言語になり、IT界でSIerが一番権力を持つガイジ国家日本で文系ガイジが動的なHTMLを書けるというだけで採用し、変えられずに今に至る
証拠にメルカリや最近のWeb系企業はPHPではモダンな言語でWebを作っている

でも俺はGoは好きじゃないけど
767デフォルトの名無しさん
垢版 |
2020/03/27(金) 00:20:58.83ID:GUIIkCWN
タイポ
PHPではなくモダンな言語でWebを作っている
2020/03/27(金) 00:35:13.11ID:HpnI1SG8
>>766
>PHPではモダンな言語でWebを作っている
言ってることが矛盾していませんか?
2020/03/27(金) 00:35:34.84ID:HpnI1SG8
>>767
了解しました
2020/03/27(金) 00:43:11.04ID:AdoNhS+g
>>769
承知しましただろうが
日本語もまともに使えないガイジ
情けない
世も末だな
2020/03/27(金) 00:44:19.56ID:Oj6vZ37J
しかしPHPで金儲けできてるなら文句は言いづらい
金儲けして何が悪いの?っていう魔法の言葉があるから
2020/03/27(金) 00:53:25.52ID:AdoNhS+g
PHPに負けてるゴミどもが喚くな
773デフォルトの名無しさん
垢版 |
2020/03/27(金) 02:22:06.66ID:GUIIkCWN
PHPに縛られてるガイジどもが喚くな
2020/03/27(金) 02:25:32.34ID:hLiiQ+aA
とりあえずPHPで作ってスタートアップしてからGoに置き換えていくのが流行ってるよな
2020/03/27(金) 03:09:18.60ID:u+JL0HJF
うちは権力の強いペチパーがいるから変えたくても変えれん
2020/03/27(金) 03:15:26.78ID:hLiiQ+aA
転職するべきでは
2020/03/27(金) 03:48:37.25ID:E0iV7Jya
>>707
Rustなんだから合ってるだろ;
2020/03/27(金) 03:49:27.86ID:E0iV7Jya
まつがえた
>>706
Rustなんだから合ってるだろ;;
2020/03/27(金) 05:12:38.14ID:cwhPeqJj
雑食系エンジニアサロン勝又健太氏を思いっきり論破してみた
https://www.youtube.com/watch?v=td6cX0en4oI

初心者に、Rails を推奨する、雑食系エンジニア・KENTA を批判して、
Java, PHP を勧める、モローに対して、批判殺到w

PHP は、プログラマー向けの本がほとんどない。
WordPress の説明本ばかりだから、上達しない

Java は、数倍の勉強時間が掛かる。
人間の成長率を、同じ勉強時間で比べていないだろ

それと雇用形態が異なる。
Java は5大ITer を頂点とする、使い捨て奴隷・土方系。
建設業と同じで、1社経由するごとに、3割抜かれる

時給5千円 * 180時間 = 1人月90万円でも、
元請けが30万円、1元請けが20万円、2元請けが10万円と抜いていく

COBOL, Java, VB というのが3大土方言語。
でも銀行の更新時期が過ぎたから、仕事が無くなった

業界調査すると、ブラック過ぎて、他人に勧められない。
一方、5大ITerは、社員の給料を高くしたいから、都合のよい使い捨ての奴隷が欲しい
2020/03/27(金) 07:15:34.06ID:7fKLUCpq
rustな。。本当にバリバリc++書いてきて、
しかも慎重にコーディングする優秀な奴らばっかのチームなら機能するんじゃないかという気はしてきた。
まあそんなチームは日本にはないだろうなという気もする。
てか世界でもほとんどないんじゃないかな。
GAFAでも優秀なごく限られた一部だけだろう。
んでもってそういうところならc++でも十分な品質のものが書けるっていうね。。
2020/03/27(金) 09:06:14.35ID:KIy2b3FX
優秀な人材集められそうなところが
Rustに書き換えやってるわけですが
2020/03/27(金) 09:15:18.27ID:7fKLUCpq
https://github.com/fnwiya/japanese-rust-companies
この辺とかのこと言ってるなら、俺は勧めないよ。
糞製品作らされるだけなのが目に見えてる。
まあ個人の自由だからやりたいならやればいいと思うが。
2020/03/27(金) 09:23:14.00ID:Oj6vZ37J
優秀な上司を探そうという気がそもそもないよね
2020/03/27(金) 11:42:41.50ID:cYTeLRjQ
>>780
むしろ逆だわ
Rustが書けない(メモリの所有権、借用、ライフタイムの概念が理解できない)プログラマが
まともなC++のコードを書けるとは思えない
Rustはプログラマが間違えたらコンパイラが誤りを指摘してくれるが
C++はプログラマが間違えても何もしてくれないからほっとくと脆弱性まみれのプログラムになる
2020/03/27(金) 11:46:55.08ID:AdoNhS+g
でも動かないじゃん
動くPHPと
動かないRust

ビジネスチャンスを鷲掴むのはどっちだと思う?w
2020/03/27(金) 11:51:36.63ID:7fKLUCpq
>Rustが書けない(メモリの所有権、借用、ライフタイムの概念が理解できない)プログラマが
>まともなC++のコードを書けるとは思えない
これは正しいと思うけど、そもそもc++をまともに書ける奴は少ないし、
c++をまともに書けるやつがrustのコンパイルチェックで
得られる恩恵ってやつは君が思うほどおおきくないってのが俺個人の意見だわ。
それでもってランタイムの品質、ハードウェアに対する対応なんかを考えた場合、
c++のが上になるっていうことが考慮から外れているように見受けられる。
2020/03/27(金) 12:09:22.76ID:KIy2b3FX
>>782
こういう奴は良い会社や良いプロダクトの
例は出せやしない
2020/03/27(金) 12:10:19.43ID:VaiYZBCN
>>784
本来、変数とは読んで字のごとく「変化する数」なわけだから
本質的に mutable(変更可能な)なもの。
にも関わらずRustでは、変更可能な変数には mut を指定しなければならないので
確率論的にはソースコードの量が増えてしまうことになる。
2020/03/27(金) 12:14:59.14ID:VaiYZBCN
>>788
さらにいえば、Rustでは、型を明示する場合は、
let a:TYPE = xxx; // (1), TYPE は xxx の型
と書くが、:TYPE を省略して、
let a = xxx; // (2)
のようにもaの型を書くと自動推論する機能を持っている。
C++にもあるバージョンから auto などでこれと同様の機能が入って、
一見便利だが、型がわかりにくくて問題にある可能性がある。
逆に、C++ だと型を明示する場合には、
TYPE a = xxx; // (3)
と(1)に比べて短く書けることも重要。
Rustだと:TYPEを書くのが面倒なために、(2)ように省略してしまう
人が続出する可能性がある。
これは問題だ。
2020/03/27(金) 12:15:48.45ID:VaiYZBCN
>>789
誤:のようにもaの型を書くと自動推論する機能を持っている。
正:のように型を自動推論する機能を持っている。
2020/03/27(金) 12:21:05.07ID:aLfv28Wa
>>788
今どきimmutableな変数も受け入れられないとかどんだけ化石なんだよ
2020/03/27(金) 12:21:34.20ID:aLfv28Wa
あ、確率論的にヤバイやつに触ってしまった
スマヌ
2020/03/27(金) 12:23:58.46ID:hY05skqC
Rustだと所有権とかでエラーになる部分も警告で留めてくれる+警告潰せばだいたい安全、みたいなのがほすぃ(´・ω・`)
2020/03/27(金) 12:27:10.00ID:VaiYZBCN
大手が採用したとかで一見目立っているが、Google Trends で見る限り
極度の低空飛行で、人気は横ばいよりも下がり気味だ。
2020/03/27(金) 12:33:25.16ID:VaiYZBCN
Rustは、去年の7月辺りをピークとして人気が下がってきている。
2020/03/27(金) 12:36:17.11ID:VaiYZBCN
>>791
非難する人を「古い人」扱いすれば切り抜けられると思ったら大間違いだ。
2020/03/27(金) 12:39:35.97ID:VaiYZBCN
>>784
しかし、C++ の場合、new の働きは明確なのに対し、
Rustは、Box::new のコードを見ても、「box」という組み込みキーワードを
使ってしまっているのでそれ以上追う事は出来ず、曖昧さが残る。
C++の場合は、少なくともC++98までだとかなり原始的なレベルまで
やっていることが明確だった。C++11あたりから異常になったが。
2020/03/27(金) 12:51:59.02ID:AdoNhS+g
で、Rust使ったらPHPより売れるプログラム書けるの?w
2020/03/27(金) 13:02:00.57ID:3tCJhGUU
>>788,789
俺もRustは指示するわけではないが、問題点として挙げるのがほんのわずかなタイプ数だなんて、根拠としては弱いというかどうでも良い話だろ
2020/03/27(金) 13:07:03.48ID:VaiYZBCN
>>799
C++が使いこなせる程度の適正があるプログラマにとっては、タイプ量の増加
は苦痛以外の何者でもない。
彼らは特にC++でバグに悩まされたりしてるわけじゃないのだから。
2020/03/27(金) 13:44:45.27ID:ShoDX97I
タイプ量なんかより大事なことがあるって分かる奴が
Rustをつくりだして、または使ってるんだろうなw
2020/03/27(金) 13:52:21.68ID:KIy2b3FX
連日あちこちのスレで荒らしてる奴なので
相手するだけ無駄
2020/03/27(金) 14:09:16.05ID:VaiYZBCN
タイプ量はとても大事だ。
頭が賢ければ、タイプする体力と時間が不要なのだよ。
頭が悪い人は、体力と時間で勝負するしかないからタイプ量が多い言語を使うしかない。
2020/03/27(金) 14:40:34.92ID:gM1jKcLP
タイプ量はどうでもいい
読みやすいかどうか
805デフォルトの名無しさん
垢版 |
2020/03/27(金) 14:42:32.41ID:VaiYZBCN
let a:i32 = x;

int a = x;
なら、後者は短いのに分かり易い。コンパイラに伝達される情報は同じだし。
2020/03/27(金) 14:54:06.18ID:VaiYZBCN
Rustで、
let a = x; //(1)

let a:i32 = x; //(2)
なら、そもそもコンパイラに伝わる情報が違い、後者は記述量が多くてもバグの少ないプログラミングに役立つ。
後から読み直しても a を i32 型にしたいプログラマの意図が分かって分かり易い。
だから、記述量が増えても後者は良い面を持つ。
ところが、Cで
int a = x; //(3)
と書けば、Rustの(2)と全く同じ情報がコンパイラに伝わり、エラーチェックのレベルも同程度だから、
Cは、少ない記述量で同じ事ができると言える。

(1)と(2)の違いと、(2)と(3)の違いを混同してはならない。
前者は記述量が多くなっても安全性向上という意味で意味が有るのに対し、後者は、書くのが長くなるだけで全く意味が無いのだから。
2020/03/27(金) 15:00:14.28ID:ShoDX97I
ガイジかこいつ
2020/03/27(金) 15:01:10.96ID:I9gCjo9A
型推論て今時どの言語にもあるんじゃね
GoやJavaにさえある
つまり問題視する方がお菓子い
2020/03/27(金) 15:11:19.11ID:VaiYZBCN
型推論することで安全性が駄目になるから、Cでは型を明示して宣言するようになったんだ。
その哲学を壊す言語が増えてきているだけ。
2020/03/27(金) 15:13:12.70ID:u+JL0HJF
タイプ量タイプ量ってさぁ
型無し言語かhaskellでもやってろ
2020/03/27(金) 15:17:28.55ID:E0iV7Jya
型の選択みたいな重要なことをコンピューター任せにしてしまって良いのでしょうか?!
2020/03/27(金) 15:17:37.12ID:M0gPeD08
null安全を考慮した言語よりnullの方が良いと
主張していたアホだから
2020/03/27(金) 15:19:37.09ID:E0iV7Jya
Cも暗黙の型変換があるからイクナイ
高度な型推論はいずれチューリング完全性を有して機械的手続きでは御しきれなくなる
そして人類が機械でないという証拠は今のところ無い
2020/03/27(金) 15:42:26.54ID:VaiYZBCN
>>808
型推論は、C++は template が深くて複雑すぎて、templateを使っているときに、
人間側が結果や変数の本当の型が分からなくなってきたので、しょうがなく
最近になって導入された。
もしこれをちゃんと手で書くと複雑で長い型になり過ぎる。
templateはソースがあるが読んでも複雑すぎて多くのC++プログラマには型が分からない。
また、templateはRADのような簡単に機能を使いたいときに使えるように設計された
ものなのに、型が難しすぎてわからないということは本末転倒であった。
そのためにしょうがなく型推論できる機能がC++に導入された。
2020/03/27(金) 15:44:18.61ID:VaiYZBCN
>>810
型を打つこと自体は良いんだ。
>>806 を読むべし。
2020/03/27(金) 15:46:21.71ID:VaiYZBCN
>>812
そうじゃない。
nullable指定を明示的に行うことは良いと思うが、
nullを絶対悪として、NullObjectとPolymorphismで対応することで
nullを完全排除しようとしている一部の人に対して反論していただけだ。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況