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

■ このスレッドは過去ログ倉庫に格納されています
2023/10/28(土) 13:45:00.38ID:fh9BWjjr
「C++の色々配慮してめんどくさい感じは好きだけど、実務になったらメモリ安全性とか考えて今後Rustに変わっていくんかな」
「うだうだ言ってないで仕事で必要なのをやればいいんだよ、趣味なら好きなのやればいい」

っていう雑談スレ。

・C/C++ <=> Rust いまさら聞けない移行質問なども適当にどぞ
・レスバはじめんのは勝手だけど、面白いこと・へぇなこと書いたヤツが優勝
・マな話は、マのスレもご活用ください↓

前スレ: 結局C++とRustってどっちが良いの? 7traits
http://mevius.5ch.net/test/read.cgi/tech/1693451813/

関連スレ(マ板): Google&Microsoft「セキュリティバグの70%はC/C++のメモリ管理ミス。Rustにする」
https://medaka.5ch.net/test/read.cgi/prog/1619943288/
2023/11/04(土) 09:32:49.65ID:6irn+b/+
やっぱりコミットするならシープラだなとおもいました
2023/11/04(土) 09:56:14.27ID:/2/myesZ
その論法に乗っかってやると過去の
言語のパラダイム変化はどうやって起きたのか
謎になるな
2023/11/04(土) 09:59:34.34ID:eaDg3ztu
>>93
>GUIはクラス継承要らないだろ
要るか要らないかという話はしてないよ

1) Elixir、Go、Julia、Nim、Rust、Zig
2) Kotlin、Swift

1)の言語でGUI作れなくはないけど実際に作る開発者がかなり少ない
逆に2)の言語は大半の開発者がGUIを作ってる
それには理由があるということ
もっと言えばクラス継承的な機能の有無はトレードオフだからそれを理解しましょうねという話
2023/11/04(土) 10:34:34.64ID:2TRtrAOp
多くの高機能webサイトはGUIアプリと言って良いと思うが
ts jsのクラス機能はあるけど使わないな
2023/11/04(土) 10:49:05.41ID:XpaBBm0T
やっぱりRustが最強だなっておもいました
2023/11/04(土) 11:16:32.88ID:qG8ydW8y
最強はRust世代

俺のおかんはC++
109デフォルトの名無しさん
垢版 |
2023/11/04(土) 12:01:10.23ID:vTgEadDD
>>89
思惑の違いが見事に結果に表れている分類だね
興味深い
2023/11/04(土) 12:09:00.72ID:vTgEadDD
>>104
その「言語のパラダイム変化」って具体的にはどれを指している?
Rustがユーザを獲得する際の参考になるかもしれんね
111デフォルトの名無しさん
垢版 |
2023/11/04(土) 12:27:39.60ID:KPpuxUox
オブジェクト(classじゃなくてstructで良い)があって
正しい型指定で正しく関数が呼ばれてれば
クラス継承なんて要らないんだよな
別に禁止というほど厳しくやらなくても自然とそうなる
112デフォルトの名無しさん
垢版 |
2023/11/04(土) 12:29:16.51ID:KPpuxUox
C++ の template なんてあれオブジェクト指向じゃねーし
2023/11/04(土) 12:35:18.44ID:eFHrirh7
>>105
KotlinとSwiftは最初からGUIアプリをターゲットにしてるしそれ以外の分野では全然使われてないような
2023/11/04(土) 16:44:29.40ID:qG8ydW8y
いまさら人に聞けない
悪い継承ってのがわからなくなった

継承おぼえたてて(一人プロジェクトが)めちゃくちゃになった経験ならあるけど、そうじゃなくてこう
115デフォルトの名無しさん
垢版 |
2023/11/04(土) 17:10:03.05ID:S8hti0fw
クラス継承は必要
オブジェクト指向を理解できないのはただのザコ
2023/11/04(土) 18:03:19.84ID:rn/KP434
>>115
最近のプログラミング言語たちが揃いも揃ってクラス継承を不要と判断しちゃいましたぁ
【クラス継承がない言語】Elixir、Go、Julia、Nim、Rust、Zig
2023/11/04(土) 18:26:15.51ID:EmvA1J0P
言語開発者が設計した基底クラス以外の継承はいらないんじゃないかなぁ
2023/11/04(土) 18:26:28.96ID:p6vbmy4R
rust以外上がり目なさそうな言語たちで草
119デフォルトの名無しさん
垢版 |
2023/11/04(土) 18:42:09.44ID:vTgEadDD
Rustも同じく普及戦略を誤った言語だよ
2023/11/04(土) 19:41:01.77ID:hPdVOFaj
Pythonスーパーセットのmojoにこのまま成長してほしいけどシープラRustの競合にはならないか
2023/11/04(土) 19:51:27.75ID:Is+FXxYG
mojoはAI関連の高速化を狙ったものだろうから限定的な利用になりそう
122デフォルトの名無しさん
垢版 |
2023/11/04(土) 21:29:47.46ID:9ClykILV
結局ユーザーが欲しかったのは「ポインタのないC++」であって所有権やtraitみたいな使いづらい独自機能じゃなかったんだよなあ
2023/11/04(土) 22:19:37.19ID:+CP/CRpL
>>122
所有権はC++にもある
traitはC++の抽象クラスからデータ(メンバー)を分離独立させてより良い設計ができるようになっている
使いづらくなっていない
2023/11/05(日) 10:25:09.84ID:ol9bMVcc
>>117
doubleがfloatを継承していないのはなぜ?
f64がf32を継承していないのはなぜ?
2023/11/05(日) 11:09:33.12ID:JT3Ktc4T
それって継承するようなもんかね
126デフォルトの名無しさん
垢版 |
2023/11/05(日) 11:48:56.89ID:8w5QKIdz
精度の違いであって継承関係無いな。
むしろ継承したらダメなやつ。
共通のインターフェースを用意するのが普通。
2023/11/05(日) 12:19:51.94ID:pw4Q0c9f
パフォーマンスを度外視するなら
浮動小数点数型をfloatとdoubleの両方とも継承するのが自然かなぁ
128デフォルトの名無しさん
垢版 |
2023/11/05(日) 17:32:34.60ID:vp0BWznn
>>127
その浮動小数点型ってどんなもの?
インターフェースじゃないんだよね?
129デフォルトの名無しさん
垢版 |
2023/11/05(日) 19:27:50.24ID:aeGT2yJ/
>>116
自分に都合の良い言語のみ列挙する
まさにザコ
自分の考えが無い
2023/11/05(日) 19:50:12.60ID:o9vKIGF+
>>129
同じくらいたくさん反例を挙げようよ
2023/11/06(月) 04:14:47.70ID:m6bVjB7O
>>130
そんなことよりこのクソスレ立てたのもお前?
https://mevius.5ch.net/test/read.cgi/tech/1693054853/
2023/11/06(月) 08:09:26.10ID:Cot/SbpY
募集してんのか、大胆だな!
133デフォルトの名無しさん
垢版 |
2023/11/06(月) 10:12:15.79ID:48qtdwXc
Rustとの相性で言えば
Rust+Pythonはかなり良い
Rust+Cが最強
Rust+C++は最悪

Nimとの相性で言えば
Nim+Pythonはとても良い
Nim+Cが最強
Nim+C++も最強

Nimの勝ち
2023/11/06(月) 10:16:59.00ID:UjpY0LiG
>>129
自分はなにも例を挙げられないの?
それでよく人を批判する気になれたね
135デフォルトの名無しさん
垢版 |
2023/11/06(月) 14:46:38.23ID:DT4BUOTR
テンプレートパターンやるにしても今は継承よりもクロージャで渡す方がわかりやすいって話やね。
まあどっちにしろ低レイヤー言語だとオブジェクトの解放タイミングとか気にしてめんどくさくはなるが。
2023/11/06(月) 14:50:37.11ID:mJLQiI1M
Nimちゃんに行くわ
RUSTとかクソゲーみたい
2023/11/06(月) 15:23:25.15ID:X0T3Y72w
C++/Rustと比べて何もかも劣るNimは選択肢に上がることがない
138デフォルトの名無しさん
垢版 |
2023/11/06(月) 18:05:43.27ID:BlmWAswu
>>134
そもそも流行りの話自体何の根拠にもなってないんでこの話自体無意味
無意味な話は時間の無駄
2023/11/06(月) 18:18:33.08ID:mZ9CqDyY
C++は仕様などがugly
Rustはbeauty
2023/11/06(月) 18:45:27.89ID:Yw0Fs1sT
>>138
お前もかなりのザコだぞ
2023/11/06(月) 19:58:38.94ID:2NClhQZD
>>137
文法はNimの圧勝。
2023/11/06(月) 21:52:22.89ID:xwaCKIbt
Nimの唯一のメリットがPythonに似た文法と言われているが
このスレの住人はそれをメリットと感じない
143デフォルトの名無しさん
垢版 |
2023/11/06(月) 22:00:03.84ID:juqSJt+O
何でお前が住人を代表してるの?w
2023/11/06(月) 22:14:50.32ID:BFZIHaDs
複オジ代表チーっすw
2023/11/06(月) 23:09:22.63ID:m6bVjB7O
まあ複おじ隔離スレなんだから代表は複おじでいいんじゃない?
2023/11/06(月) 23:55:02.14ID:X0T3Y72w
>>141
インデントではなく波括弧でブロックを表すのが好まれている多数派
2023/11/07(火) 07:52:40.08ID:Z7KocuHY
>>146
c世代はそうだけど、pythonユーザーの方が多い現在はインデントブロックの方が主流。じゃなきゃYAMLとか流行らん。
LISPも丸括弧使ってるけどインデントブロック風の整形しているし、波括弧ブロックが多数派とは思えん。
2023/11/07(火) 09:16:54.55ID:YntbMeAj
詭弁 - Wikipedia
https://ja.wikipedia.org/wiki/%E8%A9%AD%E5%BC%81
2023/11/07(火) 09:19:09.61ID:YNljO5VY
>>147
どさくさに紛れてYAMLを流行り扱いすんなやww
150デフォルトの名無しさん
垢版 |
2023/11/07(火) 09:23:10.10ID:pJrSerDn
Pythonみたいなインデントずれたら明後日の動きする様な言語は欠損言語だろ
2023/11/07(火) 09:32:16.68ID:IkuZHVo7
「Linux」メンテナーの燃え尽き症候群問題--業務内容の変化と支援の必要性
https://japan.zdnet.com/article/35210969/

Corbet氏は「Rust」言語がLinux開発で採用されたことについて歓迎しているものの、これによってメンテナーにさらなる負担がかかるようにもなるとした。同氏は、「カーネルメンテナーを務める以上、Rust言語で記述されたコードのマージ依頼も受け取ることになるため、同言語に対する極めて深い知識が必要となる(中略)既に多忙を極め、自らの仕事量に圧倒されているメンテナーに対して、この新言語の学習を求めるのは酷というものだ。このため、この点は今後、問題となりそうだ」と述べた。
2023/11/07(火) 09:58:24.32ID:KQXk8Lyc
>>147
インデントに整形以上の意味を持たせた言語の方が好まれてるかどうかの話をしてるのに
他の言語でもインデントで整形してることを根拠にしても意味ないだろ
2023/11/07(火) 10:27:17.78ID:sAtxR3nB
インデントより会話の論点を揃えないとな
2023/11/07(火) 10:45:48.18ID:S2z7fl4T
whitespace significantな言語はプログラミングの素人にとっては多少読みやすいというメリットはある
しかしそれ以外はデメリットだらけなので素人を釣りたい場合を除いて採用するメリットがない
155デフォルトの名無しさん
垢版 |
2023/11/07(火) 10:53:19.67ID:sYaGJjSb
リモートワーク制度が削減・廃止されたら「転職や別案件を探す」が4割--
「Offers」登録者調査

ITエンジニア/デザイナーの副業・転職サービス「Offers」を提供するoverflowは、
同社が運営する「Offersデジタル人材総研」にて「リモートワーク実態調査2023」
を公表した。
これによると、リモートワークになり、5人に1人が引っ越したと回答した。そのうち、
現職でリモートワーク制度が削減・廃止された場合、「転職や別案件を探す」という
回答が44.0%にものぼった。一方「会社と交渉する」という回答は40.0%、
「引っ越さず受け入れる」が12.0%となった。
さらにリモートワークを希望している理由として「通勤時間が無駄だと感じている」が
87.7%でトップとなった。このほか「個人の時間ができる」(62.3%)、「副業を続け
やすいから」(39.6%)、「子育てができる」(35.8%)と続いた。
2023/11/07(火) 16:44:22.56ID:K3Q4DPSx
> Pythonみたいなインデントずれたら明後日の動きする様な言語は欠損言語だろ
ほんとこれ
> インデントより会話の論点を揃えないとな
ほんとこれ
157デフォルトの名無しさん
垢版 |
2023/11/07(火) 16:48:16.87ID:r4VgdGvO
>>150
ずれたら思ってない動作になる場合があるのは確かだが
ずれることがめったに起こらない
2023/11/07(火) 17:52:17.78ID:yNm6SVJF
正直食わず嫌いなんだが、あのインデント式、慣れない悪寒しかしない
yaml書かされるけど、おっかなびっくりだわ
2023/11/07(火) 18:32:13.35ID:WwhMyV/o
ifとかforがネストしてるときに論理構成変えたときに
ぐちゃぐちゃになったりしないの?
2023/11/07(火) 19:03:13.54ID:nOWHHYht
コピペした時困るのはあるけど
そんなネスト深いところにコピペする時点でコードが終わってるのだろう
161デフォルトの名無しさん
垢版 |
2023/11/07(火) 19:24:21.76ID:RqjiUzBc
あっちのファイルはスペースで、こっちのファイルはタブでそれぞれインデントしてるとかw
更に同じファイル内でスペースとタブが混在したインデントしてるとかw
2023/11/07(火) 21:26:08.28ID:cNgR9CBR
シープラの文法が醜いってとこまで合意できてるってことでいいかな
2023/11/07(火) 22:35:55.75ID:irgQLNGX
>>162
ダメなのはNim
2023/11/07(火) 23:28:55.99ID:hgNhDI9g
長いだけあって、いくらでも悪く書ける
2023/11/07(火) 23:29:26.17ID:zgo9bT4J
>>151
>メンテナーに報酬を支払おうというところはほとんど「ない」のだ
メンテナーほぼ金貰ってないのかw
壮絶な時間の無駄だな
linuxなんて潰れちまえ
2023/11/07(火) 23:40:27.67ID:laLhHNQt
>>162
インデント構文はその醜さを完全に理解した親切な人が書くとわりとマシに読めるって話なら同意できる
2023/11/08(水) 07:17:12.54ID:W3To02R9
>>163
Nimの文法が駄目ならRustは産業廃棄物だな。
2023/11/08(水) 09:28:37.50ID:G1poaB6X
>>167
最初からそう言ってますよね
2023/11/08(水) 10:02:49.03ID:RamzJ36x
>>165
Linuxなんて無料だから普及したってだけだし
無名の大学生が作った有料カーネルなんか誰が使うかよ
2023/11/08(水) 10:07:20.75ID:QixgdFmt
Rustが最も美しいけどC++に比べたらPythonの方がまし
2023/11/08(水) 10:21:07.20ID:rqy+WU7a
cppは汚らしい
2023/11/08(水) 10:34:17.23ID:K2ksJD7C
あれがいいんだぞ

でも、template<>のごちゃっとしてるのは苦手
2023/11/08(水) 10:49:02.95ID:MFNjLgBF
NimはPython由来の文法が多い中でprocヘッダーの区切りをわざわざ=記号にしたのは何でなの?
2023/11/08(水) 11:13:52.74ID:U7ghqgyy
痘痕もエクボっていうしずっと使ってると美しく見えるのかもしれん
始祖のハゲ散らかしもイケオジに見えるのかもしれん
175デフォルトの名無しさん
垢版 |
2023/11/08(水) 11:26:24.47ID:088wzVve
>>173
macro
2023/11/08(水) 12:07:42.23ID:fBbSHd4U
>>175
関係ないやろ
2023/11/08(水) 13:10:09.47ID:l0v/WxBk
>>169
BSD
2023/11/08(水) 14:09:53.13ID:qh/Yreq5
Nimは継承あるじゃん
だれか突っ込めよ
複オジ嘘つき放題じゃねーか
2023/11/08(水) 14:45:54.44ID:7EPaeHp0
Nim使ってる時点でセンスがないからな
2023/11/08(水) 15:29:55.01ID:9/Sq9IWJ
Nimはクラスがないため当然クラス継承もない
2023/11/08(水) 15:41:40.86ID:hsKTrqcL
このスレの半分は複オジのウソで出来ています。
用法・用量を守って正しくご使用下さい。
2023/11/08(水) 15:50:23.42ID:J3/ZiO6G
複おじってニートでしょ?
なんか我々と対等に喋れること自体がとんでもない体験なんだし
もっと感謝して欲しいね
183デフォルトの名無しさん
垢版 |
2023/11/08(水) 17:01:15.09ID:wMkAKLer
C++er的にC23ってどうなの?
2023/11/08(水) 17:32:19.27ID:K2ksJD7C
#embed はあると安心 ないとやっぱり一手間かかる
clangではできてたっぽいけど(VC派
2023/11/08(水) 17:35:31.79ID:orrrVPZ2
>>180
www
2023/11/08(水) 18:12:04.23ID:J3/ZiO6G
>>180
クラス継承だけが継承ではないのだけどね
2023/11/08(水) 19:11:51.53ID:BxyJgb4P
有害とされているのはクラスの継承
それ以外の継承はあってもいい
188デフォルトの名無しさん
垢版 |
2023/11/08(水) 19:13:26.39ID:mR96+8QE
>>182
とニートが申しております
2023/11/08(水) 20:13:44.98ID:ow8V8oTj
有害なのは多重継承では?
単一継承はいいでしょ
2023/11/08(水) 20:15:54.45ID:dNhK+uJb
綺麗に書けるならという条件がつく
本来、綺麗に階層化するのが目的だったのが、どうしてもごちゃついてしまう
基本にして難 それが継承

って感じでいい?
2023/11/08(水) 20:28:47.14ID:dEbgw7JQ
>>189
大抵は駄目。
継承は「インターフェイスの共有」という外部との契約と、「実装の共有」という内部との契約をごっちゃにしているから、すぐに設計がごちゃごちゃになる。

内部と外部は明確に分離したほうが手間がかかるが問題になりにくい。
2023/11/08(水) 20:35:51.69ID:57OVemIO
クラス継承では複数の機能を継承したくなった時に多重継承が起きてしまう
多重継承を避けるには使うすべての機能を巨大なツリー関係に押し込める本末転倒な事態になる
2023/11/08(水) 20:37:37.21ID:5gc/7Ny5
>継承は「インターフェイスの共有」という外部との契約と、「実装の共有」という内部との契約をごっちゃにしている
Nimの継承にも同じことが当てはまるけど
Nimにはクラスはないから有害じゃないという主張でいいのかな?
2023/11/08(水) 20:53:57.66ID:7EPaeHp0
>>189
そのレベル浅い知識ならおそらく「SOLID原則」を知らないでしょ
勉強しな?
メンテや機能追加を繰り返してるとどうしても内部構造が腐敗していくものよ
2023/11/08(水) 21:01:44.80ID:dEbgw7JQ
>>193
理想は継承なしの共通インターフェイス。継承自体いらん。

原理的には同じメソッドを持つのならどんなインスタンスでも同じインターフェイスで扱えるから、継承を使って扱えるインターフェイスを制限するのは「早すぎる最適化」としかいえん。
196デフォルトの名無しさん
垢版 |
2023/11/08(水) 21:07:15.90ID:5ONqWRVX
多重継承って本当に悪か?
多重継承を使う前に周りに悪って教え込まれたので
これまで本格的に使ったことはないのだが
みんなは酷い目にあったことあるかい?
敢えて「多重継承=悪」思考停止論を提起したい
2023/11/08(水) 21:20:08.15ID:orrrVPZ2
有用なものを何も生み出せない
目的と手段を履き違えた無能たちの知識バトルロワイヤル
198デフォルトの名無しさん
垢版 |
2023/11/08(水) 21:23:09.85ID:wwLvTPFi
現在動作してる過去のシステムを捨てるわけにいかない状況で、新しい共通システムを書くには継承がいいと思うけど
どうなんでしょう?素人考えなんですけど。
2023/11/08(水) 21:23:13.22ID:WEquhdeD
オブジェクト指向のメリットってホントにメリットなんだろうか?
200デフォルトの名無しさん
垢版 |
2023/11/08(水) 21:35:45.96ID:JLAEJM24
>>199
モジュール分割の方法を広げるっていうメリットはある。
カーネルドライバー部分はオブジェクト指向した方がいいって、否定派のlinusも認めてる。
2023/11/08(水) 21:56:55.44ID:cf3mLuef
オブジェクト指向 ⊃ クラスの使用 ⊃ クラス継承の使用

オブジェクト指向自体は問題ない
クラスの使用も継承を用いなければ問題ないが
クラスと他との違いはクラス継承にあるように本質がその継承機能にあるため
クラス自体を無くしたプログラミング言語が最近は多数派となった
202デフォルトの名無しさん
垢版 |
2023/11/08(水) 22:24:24.52ID:5ONqWRVX
>>201
全部マイナー言語じゃん
支持されてないんだよ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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