結局C++とRustってどっちが良いの? 5traits

レス数が1000を超えています。これ以上書き込みはできません。
2023/06/30(金) 21:56:35.52ID:PDIJ4aZy
「C++の色々配慮してめんどくさい感じは好きだけど、実務になったらメモリ安全性とか考えて今後Rustに変わっていくんかな」
「うだうだ言ってないで仕事で必要なのをやればいいんだよ、趣味なら好きなのやればいい」

っていう雑談スレ。

結局C++とRustってどっちが良いの? 4traits
https://mevius.5ch.net/test/read.cgi/tech/1686046386/

関連スレ(マ板): Google&MS「バグの70%はC/C++。Rustにする」
https://medaka.5ch.net/test/read.cgi/prog/1619943288/
2023/07/28(金) 17:13:12.78ID:CGNQVLgE
>>958
コンパイルエラーになるよ
まずは基本的なドキュメント読んで出直してよ
今の段階ではここでやり取りしてもお互いに時間の無駄
964デフォルトの名無しさん
垢版 |
2023/07/28(金) 17:40:24.39ID:sn3bIpOK
>>962
>C++20もconceptとかrequireとか言い出してるから心配しなくていいよ
最近のC++に問題が多数混入したことは知られているが、
人気が絶頂だったころのC++はシンプルで分かり易かったぞ。
2023/07/28(金) 17:59:52.30ID:gdkptAW0
>>964
今はそれより高機能なのにシンプルなRustがベターだね
traitと(代数的データ型である)enumの二つだけ追加で覚えれば済むから
2023/07/28(金) 18:02:55.59ID:GMHqUp+Z
人気が絶頂だったころのC++っていつのC++だ
C++17あたりかな

まさかC++98とは言わんよな…(当時は言語の選択肢が少なかったと思うけど)
2023/07/28(金) 18:26:18.74ID:sn3bIpOK
C++98位が絶頂。
968デフォルトの名無しさん
垢版 |
2023/07/28(金) 19:04:47.55ID:Ih8SBU9O
>>956
流石にそれはRustへの知識が足らんだろ。impl, trait, whereは全てRustでは必要不可欠な概念だぞ。ここら辺がわかってないとなると構造体に関する理解も怪しいだろ。
2023/07/28(金) 19:33:09.89ID:sn3bIpOK
>>968
でも覚えたくないから。
2023/07/28(金) 20:29:08.19ID:rzH+uNMJ
>>956
traitの概念と用法だけ覚えればよくてimplとwhererは一般的な言葉と同じ

implは単なる「実装」
「impl Trait」が型指定の位置に来れば「Traitを実装」している型の意味
「impl Trait for 型」は「その型にTraitを実装」宣言
「impl 型」は「その型を実装」宣言

whereは説明を後置する関係副詞と同じ
型に対してtraitによる境界(制約)などを指定
2023/07/28(金) 20:33:57.60ID:rDj5FSnq
>>967
そっからは…JavaScriptなんかが本気で伸びていった時期か。
2023/07/28(金) 23:59:27.11ID:GMHqUp+Z
C++アンチの大半はC++98を嫌々使ってた世代だろ
C++0xが16進数のBになるとは思わなかった
2023/07/29(土) 02:08:00.81ID:MBm8IaU2
ポコチンファイト
2023/07/29(土) 03:40:53.45ID:yFHJJQio
C++は、98年頃、非常に人気であった。
それが、どんどん人気を失い、現状に至っている。
2023/07/29(土) 05:56:52.93ID:oT83Ayc0
人気があったのはあくまでc とかの古い言語に対してだろ。

当時もperl5とかのスクリプト言語の方が人気だったし。
2023/07/29(土) 10:55:11.31ID:m3e/8XSV
>>965
its true👍
2023/07/29(土) 12:15:13.32ID:mCbo+dID
>>975
C++は、C++11以後、改悪された。
2023/07/29(土) 12:34:34.52ID:XwXxiU6u
>>974
最近また順位を上げてきてるって記事見るよ

>>977
廃止された機能はほとんどないので
C++11が好きならC++11の範囲で使えば良い
その意味では改悪ってことはない
2023/07/29(土) 12:37:22.94ID:mCbo+dID
C++以後とはC++11自体も含む。
C++11が改悪の最初。
2023/07/29(土) 12:42:47.89ID:mCbo+dID
C++11が最良と思っている人はC++が最悪の言語に
見えることだろう。そしてそういう人がRustを礼賛
しているように見える。
ちなみに、Stackoverflow の Most Loved Language
は、実際に使用した上で好き嫌いを表明した人を分母
とした上での好きな人の比率に過ぎないので、
たとえば、
C++ : 好き=50:嫌い=50, 愛され率 50%
Rust : 好き=7:嫌い=3, 愛され率 70%
のようになっているに過ぎない。
この場合、C++好きはRust好きの7倍以上居るが、
比率的には愛され率が50%になってしまって、
Rustより愛されて無い、という結果になってしまうが
それは統計上の一応の数値に過ぎない。
981デフォルトの名無しさん
垢版 |
2023/07/29(土) 12:56:18.62ID:XwXxiU6u
>>979
じゃC++-98使ったら?
moveなしなんて俺は考えられん
2023/07/29(土) 12:56:58.78ID:mCbo+dID
新しいものが良いものだという固定観念は間違い。
C++は、C++98が最良で、C++11で改悪されごちゃごちゃに
なった。
C++を愛する人はC++98を愛した人。
C++11以後を見ると改悪された後なのでごちゃごちゃになった
醜態を見る事になり、C++が大嫌いになる。
そして、そういう人がC++を完全に避けるようになり、行き場所を
失い、Rustを礼賛している。
983デフォルトの名無しさん
垢版 |
2023/07/29(土) 12:58:15.78ID:XwXxiU6u
>>982
相変わらず不勉強な人だな
適応できないとうよりおまいさんは単なる怠惰なんだよ
2023/07/29(土) 12:58:56.51ID:mCbo+dID
>>981
moveは、std::vectorをメインコンテナに位置づけたから
必要となった概念に過ぎない。LinkedListをメインコンテナ
にすれば、不要となる。そして、ここでいうLinkedListとは
本来のLinkedListの事であり、std::listのことでない。
C++委員会は馬鹿ばっかっりなので、本来のLinkedList
を全く理解できて無い。
985デフォルトの名無しさん
垢版 |
2023/07/29(土) 12:59:13.66ID:XwXxiU6u
>>982
moveなしのC++なんよく使う気になるね
986デフォルトの名無しさん
垢版 |
2023/07/29(土) 12:59:23.06ID:mCbo+dID
>>983
違う。
常識が間違っている。
2023/07/29(土) 13:01:23.60ID:mCbo+dID
>>985
数学や右脳的IQが低い人にはLinkedListは理解が難しい
概念とされているため、LinkedListを使わない人に
とって、moveは必須となってしまうが、バグの温床と
なっている。
そのために出てきたのがRust。
何もかもが間違っている。
988デフォルトの名無しさん
垢版 |
2023/07/29(土) 13:02:06.55ID:XwXxiU6u
>>984
>moveは、std::vectorをメインコンテナに位置づけたから
>必要となった概念に過ぎない。
違うだろwww
std::vectorの高速化にも役立つが
vectorのために作られた概念では断じてない
989デフォルトの名無しさん
垢版 |
2023/07/29(土) 13:03:53.63ID:XwXxiU6u
>>987
moveの導入はstd::vectorとは関係ありません
std::vectorでも役に立つってだけ
990デフォルトの名無しさん
垢版 |
2023/07/29(土) 13:06:10.18ID:XwXxiU6u
>>986
いや怠惰だよ
オープンソースを嫌う理由も書いているのを読んだ
適応障害かな?と思っていたが単なる怠惰だよ
991デフォルトの名無しさん
垢版 |
2023/07/29(土) 13:09:29.91ID:XwXxiU6u
この人の行動パターンは新しいことを学習することを極度に嫌うんだな
それ自体は当人の自由だが
「俺が覚えたくない新しいことは間違ってるのでおまいらも覚えるな
おまいらは馬鹿だ」って考え方はどうなのよ?
2023/07/29(土) 13:10:49.76ID:mCbo+dID
はっきりいって、std::vectorとそれに類するデータ構造
以外では、moveはほとんど役立ってない。
2023/07/29(土) 13:11:57.95ID:mCbo+dID
もちろん、意味が有るケースもあるが、コンピュータでは、
「率」が重要となる。
重箱の隅をつつくような事を重視して、優先順位の高い
ことを疎かにすれば、良い結果にはならない。
2023/07/29(土) 13:15:00.69ID:mCbo+dID
コンピュータの世界では何かの概念を導入すると、
必ずと言っていいほど、別の何かとはトレードオフに
なってしまう。
だから、優先順位や使用率、遭遇率、出現確率などを
常に考慮し続けなければならない。
その配慮に欠けているのが(C++11も含む)C++11以後。
そして、Rustは優先順位が間違ったC++11の悪いものを改良して
しまったから、汚い最悪の言語となってしまっている。
センスの悪い言語と言える。
995デフォルトの名無しさん
垢版 |
2023/07/29(土) 13:39:52.19ID:XwXxiU6u
>>992
>はっきりいって、std::vectorとそれに類するデータ構造
>以外では、moveはほとんど役立ってない。
お前のくそコードがそうなのは否定しないよw
996デフォルトの名無しさん
垢版 |
2023/07/29(土) 13:41:30.10ID:XwXxiU6u
>>994
>コンピュータの世界では何かの概念を導入すると、
>必ずと言っていいほど、別の何かとはトレードオフに
>なってしまう。
トレードオフの結果moveによって失われたものを述べよ
2023/07/29(土) 13:44:38.55ID:XwXxiU6u
>>984
>本来のLinkedListの事であり、std::listのことでない。
何が違うの?
2023/07/29(土) 13:51:09.21ID:5uFTVg8T
その人small oの意味間違ってた人?
あの数学力見るととても言ってるほど賢いと思えない
2023/07/29(土) 14:01:34.25ID:mCbo+dID
>>998
俺はそんな間違いはしない。別人だろう。
1000デフォルトの名無しさん
垢版 |
2023/07/29(土) 14:04:41.52ID:mCbo+dID
>>997
手短に言えば、本来の使い方をするためのインターフェースだな。
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 28日 16時間 8分 6秒
レス数が1000を超えています。これ以上書き込みはできません。