「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/
結局C++とRustってどっちが良いの? 8traits
■ このスレッドは過去ログ倉庫に格納されています
2023/10/28(土) 13:45:00.38ID:fh9BWjjr
404デフォルトの名無しさん
2023/11/16(木) 13:04:58.32ID:1vSd70Wx たとえ後発のより良い新言語(ex. Rust)であっても
システムそのままで新言語への置き換えはコスト的に意味がなく
新たなシステムへ置き換える時に新言語の採用は大いに意味があるという実例だろう
システムそのままで新言語への置き換えはコスト的に意味がなく
新たなシステムへ置き換える時に新言語の採用は大いに意味があるという実例だろう
405デフォルトの名無しさん
2023/11/16(木) 13:27:53.62ID:6XhGio1W 403 は言葉使いからして感情でしか物事をみれない
406デフォルトの名無しさん
2023/11/16(木) 13:37:39.61ID:GrubNHks >>383
一応メールの中でコードを書いてるって言ってたけどね
一応メールの中でコードを書いてるって言ってたけどね
407デフォルトの名無しさん
2023/11/16(木) 13:40:47.78ID:GrubNHks408デフォルトの名無しさん
2023/11/16(木) 14:28:52.70ID:U5aa+aRa >>394
置き換えがしたいという意志があるとは誰も言ってない
そもそも修正と新規作成をどうしても区別したいという意志がない
ただ、ミクロな意志と無関係なマクロな現象として
置き換えが自然発生するかも知れないという謎の空気はある
置き換えがしたいという意志があるとは誰も言ってない
そもそも修正と新規作成をどうしても区別したいという意志がない
ただ、ミクロな意志と無関係なマクロな現象として
置き換えが自然発生するかも知れないという謎の空気はある
409デフォルトの名無しさん
2023/11/16(木) 15:09:24.13ID:IFD1cI+g early adoptersやearly majorityになるのは
Linuxのperipheralとしてビジネスをしている企業ではなく
Linuxをperipheralとしたビジネスをしている企業
前者の大半はゲームのルールを他者に支配されている立場であり裁量の余地が小さいためマインドセットが保守的
純粋なコストベネフィット以外に低いリスク選好度からくる心理的抵抗が強いためearly adoptersやearly majorityにはなりにくい
複オジがいつも事例であげてるAndroid、Cloudflare、AWSなどが全て後者なのは偶然ではなく構造上の特性から生じる必然
新しい技術というのはゲームのルールを自らコントロールできるこちら側の企業によって牽引される
Linuxのperipheralとしてビジネスをしている企業ではなく
Linuxをperipheralとしたビジネスをしている企業
前者の大半はゲームのルールを他者に支配されている立場であり裁量の余地が小さいためマインドセットが保守的
純粋なコストベネフィット以外に低いリスク選好度からくる心理的抵抗が強いためearly adoptersやearly majorityにはなりにくい
複オジがいつも事例であげてるAndroid、Cloudflare、AWSなどが全て後者なのは偶然ではなく構造上の特性から生じる必然
新しい技術というのはゲームのルールを自らコントロールできるこちら側の企業によって牽引される
410デフォルトの名無しさん
2023/11/16(木) 15:14:00.47ID:IFD1cI+g つまり何が言いたかったかというと
Linux KernelにおけるRustの採用率というのは
技術採用ライフサイクルの観点で見た場合
late majorityやluggardsのRust採用率の目安だということ
Linux KernelにおけるRustの採用率というのは
技術採用ライフサイクルの観点で見た場合
late majorityやluggardsのRust採用率の目安だということ
411デフォルトの名無しさん
2023/11/16(木) 15:14:30.69ID:QXdh7keC adaptor だと思ってたけど adopter なんか
412デフォルトの名無しさん
2023/11/16(木) 15:24:27.23ID:JRjQuxlT413デフォルトの名無しさん
2023/11/16(木) 15:29:19.80ID:FRf+5dUd early adopter とは
https://dictionary.goo.ne.jp/word/en/early+adopter/
アーリーアダプター,(新製品の)初期受容者
adopter とは
https://dictionary.goo.ne.jp/word/en/adopter/
1 採用[採択]者
2 養い親,里親
https://dictionary.goo.ne.jp/word/en/early+adopter/
アーリーアダプター,(新製品の)初期受容者
adopter とは
https://dictionary.goo.ne.jp/word/en/adopter/
1 採用[採択]者
2 養い親,里親
414デフォルトの名無しさん
2023/11/16(木) 16:41:51.84ID:cWrKpE+4415デフォルトの名無しさん
2023/11/16(木) 17:06:23.69ID:DQsCMcKm それぞれのケースで大きく異なるから区別が必要
(1) 新規に作るもの
CloudflareやAWSの例やゲームの新フレームワークやLinuxの新たなデバドラ等すべてこれ
これらは100% Rustが有利
(2) 既存のソフトの言語のみの置き換え
(2)-a. スクリプト言語などからの言語の置き換え
CPUやメモリの使用リソース削減が目的ならばRust化は有利
(2)-b. C/C++からの言語の置き換え
セキュリティやメモリ管理の不安定で困ってる時にRust化が有利
一般的に可能なら(2)の単なる言語間の移植よりも
設計を見直して(1)の新規作成とした方が好ましい
>>399でCloudflareがCPUメモリリソース消費1/3にできた例も
単なるC→Rustへの(2)移植ではなく
新たな設計での(1)新規作成だからであろう
(1) 新規に作るもの
CloudflareやAWSの例やゲームの新フレームワークやLinuxの新たなデバドラ等すべてこれ
これらは100% Rustが有利
(2) 既存のソフトの言語のみの置き換え
(2)-a. スクリプト言語などからの言語の置き換え
CPUやメモリの使用リソース削減が目的ならばRust化は有利
(2)-b. C/C++からの言語の置き換え
セキュリティやメモリ管理の不安定で困ってる時にRust化が有利
一般的に可能なら(2)の単なる言語間の移植よりも
設計を見直して(1)の新規作成とした方が好ましい
>>399でCloudflareがCPUメモリリソース消費1/3にできた例も
単なるC→Rustへの(2)移植ではなく
新たな設計での(1)新規作成だからであろう
416デフォルトの名無しさん
2023/11/16(木) 17:13:48.99ID:GrubNHks C/C++から書き直すにしても設計をそのまま使えないことが多いから
かなり大変なんだよな
とくに参照やポインタだらけで全部ヒープアロケーションしまくってる場合とか
C++でもその辺りポインタを多用せずスマポやスタック割り当てをうまく使って書いてあるソフトは移植しやすい
かなり大変なんだよな
とくに参照やポインタだらけで全部ヒープアロケーションしまくってる場合とか
C++でもその辺りポインタを多用せずスマポやスタック割り当てをうまく使って書いてあるソフトは移植しやすい
417デフォルトの名無しさん
2023/11/16(木) 17:41:46.11ID:cVeFFprT どの言語からでもいいけどRustに移行するのにプログラム設計もそのまま引き継いだ自動コンバージョン的な移行を想定するほうがおかしいやろ
そんなんありえんよ
そんなんありえんよ
418デフォルトの名無しさん
2023/11/16(木) 17:41:52.36ID:nV/QBQ73 C/C++にRust世代の知見が流入してくることに賭けて、待ってる勢はあるはず 自分はそう
それもあるけど、いまあるRustから前線で知見を得ようという勢もあるはず
それもあるけど、いまあるRustから前線で知見を得ようという勢もあるはず
419デフォルトの名無しさん
2023/11/16(木) 17:47:05.98ID:nV/QBQ73 >>417
C/C++もclangがいったん咀嚼してLLVMにしてる
Rustにトランスパイルするのは非現実的とまではいえないはず
うまくいけば、Linuxは一夜にしてpure Rustになる
Rust派の誰かがやるんじゃないかと思ってる
C/C++もclangがいったん咀嚼してLLVMにしてる
Rustにトランスパイルするのは非現実的とまではいえないはず
うまくいけば、Linuxは一夜にしてpure Rustになる
Rust派の誰かがやるんじゃないかと思ってる
420デフォルトの名無しさん
2023/11/16(木) 17:51:33.13ID:xS+g93Tz421デフォルトの名無しさん
2023/11/16(木) 17:55:14.82ID:GrubNHks 全てスタック変数で割り当てる
コピー時に適切なムーブをする
ヒープが必要なところはスマポを使う
これをちゃんとやればC++をrustに置き換えることは可能
しかしこれをやってるC++プロジェクトはない
コピー時に適切なムーブをする
ヒープが必要なところはスマポを使う
これをちゃんとやればC++をrustに置き換えることは可能
しかしこれをやってるC++プロジェクトはない
422デフォルトの名無しさん
2023/11/16(木) 17:56:48.64ID:GrubNHks >>420
そいつの意見を真面目に考えてて草
そいつの意見を真面目に考えてて草
423デフォルトの名無しさん
2023/11/16(木) 18:05:24.97ID:nV/QBQ73 ま、雑談だから
ストローマンは愚痴
一頃のC++はなんでもかんでもヒープに置きすぎだったよね
まあ、お膝元のスタックがそんなでかくない石・スレッドも少なくないけど
ストローマンは愚痴
一頃のC++はなんでもかんでもヒープに置きすぎだったよね
まあ、お膝元のスタックがそんなでかくない石・スレッドも少なくないけど
424デフォルトの名無しさん
2023/11/16(木) 18:12:37.43ID:C/58Cd2m425デフォルトの名無しさん
2023/11/16(木) 18:27:30.00ID:nV/QBQ73 c2rustの出力をあんまり手直しばっかりしなくていいように、
入力のCにアノテーションを加えていこう、みたいな動きは必ず出ると思うんだよね
良くも悪くもCはマクロ世界だから、当面関わってない人には影響ゼロなようにも書けるはず
そのアノテーションが、そのまま、safe C の礎になればいいんだよ
入力のCにアノテーションを加えていこう、みたいな動きは必ず出ると思うんだよね
良くも悪くもCはマクロ世界だから、当面関わってない人には影響ゼロなようにも書けるはず
そのアノテーションが、そのまま、safe C の礎になればいいんだよ
426デフォルトの名無しさん
2023/11/16(木) 18:28:02.28ID:jjq/yUIi ああ、ストローマンは自動コンバージョンに反応したのか
“的な”の意味が通じなかったんだな
“的な”の意味が通じなかったんだな
427デフォルトの名無しさん
2023/11/16(木) 18:39:53.99ID:RH2XyDS1 >>397
記事を読めてないバカを晒すスレはここですか?
記事を読めてないバカを晒すスレはここですか?
428デフォルトの名無しさん
2023/11/16(木) 18:40:10.28ID:U5aa+aRa LinuxはスクリプトとCの二刀流だ
PythonとCの関係はRustとCの関係にも使える
その知見が流入してこない原因はスクリプト不要論だろう
PythonとCの関係はRustとCの関係にも使える
その知見が流入してこない原因はスクリプト不要論だろう
429デフォルトの名無しさん
2023/11/16(木) 20:51:00.53ID:AwpJQf7l >>423
だがスマートポインタはスタックに置いて参照渡ししたい。
だがスマートポインタはスタックに置いて参照渡ししたい。
430デフォルトの名無しさん
2023/11/16(木) 23:13:12.09ID:BwM227bO >>425
Cの安全性を高める目的ならトランスパイラではなく静的コード解析ツール用にアノテーションするほうが遥かに簡単
C++と同じようにCにもそういう動きが出てくる可能性はあると思う
ただ安全性を高めようとすればするほど既存のコードとはかけ離れていくからMISRAのように標準化され半強制的なものにならない限り広く受け入れられる気がしない
イメージ的には↓こういうやつ
浸透するとしても10年以上先だろうね
https://www.youtube.com/watch?v=Pk2RAl8kG1o
Cの安全性を高める目的ならトランスパイラではなく静的コード解析ツール用にアノテーションするほうが遥かに簡単
C++と同じようにCにもそういう動きが出てくる可能性はあると思う
ただ安全性を高めようとすればするほど既存のコードとはかけ離れていくからMISRAのように標準化され半強制的なものにならない限り広く受け入れられる気がしない
イメージ的には↓こういうやつ
浸透するとしても10年以上先だろうね
https://www.youtube.com/watch?v=Pk2RAl8kG1o
431デフォルトの名無しさん
2023/11/16(木) 23:35:15.35ID:nxuWB9A/ そこで奥さんChat-GPTですよ!
432デフォルトの名無しさん
2023/11/16(木) 23:43:26.30ID:4If2hIRf433デフォルトの名無しさん
2023/11/17(金) 00:28:52.66ID:XzLpc9VL Cは他のお笑い言語とは違って俺が最初に手に取ったK&R第二版から変える必要無かったからな
434デフォルトの名無しさん
2023/11/17(金) 00:34:46.03ID:UIKq6eA7435デフォルトの名無しさん
2023/11/17(金) 00:41:31.13ID:ofj+MCpV C++もlifetime annotationどうするか決まってないんだな
一番めんどくさくてコードも汚くなる部分だからannotation周りの評価はlifetime+borrow checkerの出来次第だと思ってる
https://discourse.llvm.org/t/rfc-lifetime-annotations-for-c/61377
一番めんどくさくてコードも汚くなる部分だからannotation周りの評価はlifetime+borrow checkerの出来次第だと思ってる
https://discourse.llvm.org/t/rfc-lifetime-annotations-for-c/61377
436デフォルトの名無しさん
2023/11/17(金) 01:27:31.74ID:lIdOKj8F やる気が暴走したPerlとかC++とかを過大評価するのは暑苦しい
やる気以外のルールはないのか
やる気以外のルールはないのか
437デフォルトの名無しさん
2023/11/17(金) 05:30:59.53ID:30xMjeDv あー、Perlも好きだわーw
ドザなので、シェルスクリプト代わりに、中途半端な処理は全部お願いしてる
ドザなので、シェルスクリプト代わりに、中途半端な処理は全部お願いしてる
438デフォルトの名無しさん
2023/11/17(金) 10:14:27.25ID:vs9w0Abf >>436
無能な働き者がやる気を出すとね……
無能な働き者がやる気を出すとね……
439デフォルトの名無しさん
2023/11/17(金) 21:12:15.87ID:+5SAg77h NGINXモジュールがRustで書けるようになった
https://www.infoq.com/jp/news/2023/11/nginx-modules-rust/
https://www.infoq.com/jp/news/2023/11/nginx-modules-rust/
440デフォルトの名無しさん
2023/11/17(金) 22:09:06.15ID:HoPy7y+y441デフォルトの名無しさん
2023/11/17(金) 23:36:50.31ID:FMmcnveO >>436
その2言語は増築工事でダメになった
その2言語は増築工事でダメになった
442デフォルトの名無しさん
2023/11/17(金) 23:58:55.97ID:8WHR7HZ4 継承でダメになった、と言った?
ほぼそれに近い?
ほぼそれに近い?
443デフォルトの名無しさん
2023/11/18(土) 11:21:22.60ID:ZyDTP43o 立場によってはそう
継承に親でも殺されたんかって人なら、そう言うだろう
でもそれ、自分の推しの言語に継承かなにかが後出し採用されたら、ブーメランだぞw
継承に親でも殺されたんかって人なら、そう言うだろう
でもそれ、自分の推しの言語に継承かなにかが後出し採用されたら、ブーメランだぞw
444デフォルトの名無しさん
2023/11/18(土) 11:36:22.09ID:XY0Izw3X クラス継承(実装継承)は悪でプログラミング言語界が一致してるから後から継承の採用はないだろうな
過去のしがらみで継承を採用したSwiftやKotlinですら継承を使わずに済む機構などを採り入れている
過去のしがらみで継承を採用したSwiftやKotlinですら継承を使わずに済む機構などを採り入れている
445デフォルトの名無しさん
2023/11/18(土) 11:44:56.68ID:GRi2RJZB446デフォルトの名無しさん
2023/11/18(土) 11:52:32.21ID:GRi2RJZB 言語のユーザ数の増加要因として最大なのはユーザー数だよ
447デフォルトの名無しさん
2023/11/18(土) 11:58:51.53ID:63IqxYSZ >>446
頭沸いてんのかおまえ、進次郎かよw
頭沸いてんのかおまえ、進次郎かよw
448デフォルトの名無しさん
2023/11/18(土) 12:08:09.00ID:Q9aHTM00 それがわからんようでは、いっしょに旨い酒は呑めんなあw
わかれよーわかりきってんだろ再帰だろ
わかれよーわかりきってんだろ再帰だろ
449デフォルトの名無しさん
2023/11/18(土) 12:11:13.74ID:GRi2RJZB >>447
微分積分はまだなのかな?
微分積分はまだなのかな?
450デフォルトの名無しさん
2023/11/18(土) 12:11:30.53ID:63IqxYSZ ユーザー数の多いアプリやOSの開発言語が言語利用者数に影響してるんだろうがいw
451デフォルトの名無しさん
2023/11/18(土) 12:22:30.52ID:moXb3tPD 方法が違うだけでRustやGoにも実装継承が採用されてる
SwiftやKotlinは過去のしがらみで実装継承を採用してるわけではない
目的に対して有益だから採用してるだけ
実装継承の乱用するやつも悪だと決めつけるやつも中身を理解してないという意味では同類だから
どの言語を使っていようがどちらも採用してはいけない
SwiftやKotlinは過去のしがらみで実装継承を採用してるわけではない
目的に対して有益だから採用してるだけ
実装継承の乱用するやつも悪だと決めつけるやつも中身を理解してないという意味では同類だから
どの言語を使っていようがどちらも採用してはいけない
452デフォルトの名無しさん
2023/11/18(土) 12:22:47.39ID:GRi2RJZB453デフォルトの名無しさん
2023/11/18(土) 12:27:30.14ID:63IqxYSZ454デフォルトの名無しさん
2023/11/18(土) 12:29:23.25ID:63IqxYSZ しかし、パラメータの意味も説明も無くいきなり数式出す奴ってなんなの?
455デフォルトの名無しさん
2023/11/18(土) 12:31:03.67ID:jiGs7deg456デフォルトの名無しさん
2023/11/18(土) 12:35:26.40ID:Q9aHTM00 継承はダメおじさん「継承はダメ」
IUnk教徒俺「うんこ->Release();」
IUnk教徒俺「うんこ->Release();」
457デフォルトの名無しさん
2023/11/18(土) 12:38:02.55ID:GRi2RJZB458デフォルトの名無しさん
2023/11/18(土) 12:38:26.91ID:63IqxYSZ 多段継承は何だかなぁだけど
単純な基礎クラスに応用クラス乗せるくらいは許して欲しいなぁ
単純な基礎クラスに応用クラス乗せるくらいは許して欲しいなぁ
459デフォルトの名無しさん
2023/11/18(土) 12:39:14.68ID:GRi2RJZB460デフォルトの名無しさん
2023/11/18(土) 12:40:04.55ID:63IqxYSZ461デフォルトの名無しさん
2023/11/18(土) 12:41:04.57ID:63IqxYSZ >>459
dは何よ?
dは何よ?
462デフォルトの名無しさん
2023/11/18(土) 12:42:08.12ID:Q9aHTM00 ダァン! ってやつだ
俺が考えた
俺が考えた
464デフォルトの名無しさん
2023/11/18(土) 12:49:36.30ID:zRkY2vB2465デフォルトの名無しさん
2023/11/18(土) 12:49:49.32ID:63IqxYSZ >>463
ならば進次郎にも分かる説明でないとダメだろ
ならば進次郎にも分かる説明でないとダメだろ
467デフォルトの名無しさん
2023/11/18(土) 12:55:17.22ID:63IqxYSZ >>466
だからそれは否定されたろ
だからそれは否定されたろ
468デフォルトの名無しさん
2023/11/18(土) 12:56:30.92ID:GRi2RJZB >>467
誰に?
誰に?
469デフォルトの名無しさん
2023/11/18(土) 12:56:35.04ID:zRkY2vB2 仕事で使う技術選定の最大要因ってなんだかんだで利用者数の多さ(≒資料の多さ)になりがち
470デフォルトの名無しさん
2023/11/18(土) 12:57:39.99ID:63IqxYSZ >>468
俺にw
俺にw
471デフォルトの名無しさん
2023/11/18(土) 12:59:42.63ID:GRi2RJZB472デフォルトの名無しさん
2023/11/18(土) 13:00:29.94ID:9pS/cQYo >>461
ワロタ
ワロタ
473デフォルトの名無しさん
2023/11/18(土) 13:03:35.26ID:63IqxYSZ C++の資料なんか腐るほどあるが
今やC#かCしか生き残って無いだろw
今やC#かCしか生き残って無いだろw
474デフォルトの名無しさん
2023/11/18(土) 13:05:11.55ID:63IqxYSZ Rustなんて使わなきや開発出来ないアプリなんか無いし
使う事は未来永劫無いだろうね
使う事は未来永劫無いだろうね
475デフォルトの名無しさん
2023/11/18(土) 13:06:24.64ID:9pS/cQYo 書けない人がいくら叫んでも無駄
476デフォルトの名無しさん
2023/11/18(土) 13:09:08.70ID:9pS/cQYo Rust書けないからって嫉妬してるのはわかるけどそこまで逆恨みすることはないじゃん?
477デフォルトの名無しさん
2023/11/18(土) 13:09:45.32ID:9pS/cQYo それともここで煽られたから「Rustを書いてる人」が嫌いなのかな?
478デフォルトの名無しさん
2023/11/18(土) 13:42:18.00ID:GRi2RJZB >>473
Debian bookwormのfirefox-esrのソースのうちcとc++を比較すると
ヘッダは区別がつかないので除外して
$ apt source firefox-esr
$ find firefox-esr-115.4.0esr -name *.cpp -o -name *.cxx | xargs cat | wc -l
4766467
$ find firefox-esr-115.4.0esr -name *.c | xargs cat | wc -l
3598263
4766467 / 3598263 = 1.3... C++がCの1.3倍程度
C++はヘッダのみで実装してしまうことも多々あるから1.3倍では済まないだろう
C++の方が多いのだよ
Rustは>>366に書いた通り全体の15%程度(総本山なのに)
Debian bookwormのfirefox-esrのソースのうちcとc++を比較すると
ヘッダは区別がつかないので除外して
$ apt source firefox-esr
$ find firefox-esr-115.4.0esr -name *.cpp -o -name *.cxx | xargs cat | wc -l
4766467
$ find firefox-esr-115.4.0esr -name *.c | xargs cat | wc -l
3598263
4766467 / 3598263 = 1.3... C++がCの1.3倍程度
C++はヘッダのみで実装してしまうことも多々あるから1.3倍では済まないだろう
C++の方が多いのだよ
Rustは>>366に書いた通り全体の15%程度(総本山なのに)
479デフォルトの名無しさん
2023/11/18(土) 14:46:30.05ID:BPYzRrhj それ過去に開発された言語が混ざってるよね?
480デフォルトの名無しさん
2023/11/18(土) 15:41:41.81ID:aHGnQ9F/ もうすでに15%もあるといった考え方は?現状の%を並べても5年どうなるかわからないんだし。
その調べかたからわかるのことは限定的だな。
その割合が年々減っていってるのならRustはだめだろうし。
その調べかたからわかるのことは限定的だな。
その割合が年々減っていってるのならRustはだめだろうし。
481デフォルトの名無しさん
2023/11/18(土) 16:00:47.99ID:Q+v8Z7oO 言語の変更は多くの場合システム改新などコードを書き換えるタイミングで行なわれる
また言語の変更をするか否かに関係なくモノリシックなシステムはシステム改新に不利でその点ではマイクロサービスなど多数で構成されるシステムが有利
OSカーネルやWebブラウザも同様でモノリシックに作られている場合は言語の変更に最も適していない
そのような最も適していない極端な特殊例を持ち出して数え上げることは無意味で無駄な行為
また言語の変更をするか否かに関係なくモノリシックなシステムはシステム改新に不利でその点ではマイクロサービスなど多数で構成されるシステムが有利
OSカーネルやWebブラウザも同様でモノリシックに作られている場合は言語の変更に最も適していない
そのような最も適していない極端な特殊例を持ち出して数え上げることは無意味で無駄な行為
482デフォルトの名無しさん
2023/11/18(土) 17:15:55.14ID:rXJKESWN 一眼観て微分方程式だと判らないレベルの人は黙っていて欲しい
483デフォルトの名無しさん
2023/11/18(土) 19:58:38.30ID:HxfHsjDi それはわかったけど、英語そんな読めない俺、なんも言えず
教えてもらったRustの再評価? 論文、積ん読になってるんだよねえ
面白そうだったから忘れたことはないけど
教えてもらったRustの再評価? 論文、積ん読になってるんだよねえ
面白そうだったから忘れたことはないけど
484デフォルトの名無しさん
2023/11/18(土) 21:45:39.76ID:0cWoHYmK485デフォルトの名無しさん
2023/11/18(土) 22:49:22.88ID:zlAHanIg モダンなプログラミング言語のうち、
過去のしがらみのある2つの言語を除いて、
すべての言語が継承をクラスごと排除して採用していないもんな
過去のしがらみのある2つの言語を除いて、
すべての言語が継承をクラスごと排除して採用していないもんな
486デフォルトの名無しさん
2023/11/18(土) 22:53:24.96ID:GRi2RJZB >>485
おかげで全てマイナー言語のままじゃん?
おかげで全てマイナー言語のままじゃん?
487デフォルトの名無しさん
2023/11/18(土) 23:39:14.05ID:Wj/Y5gpw 切捨ては極端すぎる。まるで都合の悪いことは無かったことにする左翼の思想
継承はあった方が便利なんだよ
元々オブシコは継承機能が売りだったのに手のひら返してやっぱ合成でいいって、それC言語でもできることだし…
先祖返り…デグレード…設計ミスってことぉ?
継承はあった方が便利なんだよ
元々オブシコは継承機能が売りだったのに手のひら返してやっぱ合成でいいって、それC言語でもできることだし…
先祖返り…デグレード…設計ミスってことぉ?
488デフォルトの名無しさん
2023/11/18(土) 23:51:56.62ID:WzRKAbU/ 2010年以降にできた言語で広く使われてるのは
Kotlin, Swift, Dart, TypeScriptらのクラス継承のある言語
Kotlin, Swift, Dart, TypeScriptらのクラス継承のある言語
489デフォルトの名無しさん
2023/11/19(日) 00:04:07.84ID:QnG3yXze 型のgeneralization/specializationはどの言語でも必須と言っていい機能でspecializeされた型でgeneralな型の実装を再利用できるというのは物凄く直感的でわかりやすく便利な機能だから完全に無くせば利便性を損なうだけ
Rustでも形を変えて実装継承が存在するのはそのため
Rustでも形を変えて実装継承が存在するのはそのため
490デフォルトの名無しさん
2023/11/19(日) 04:16:47.88ID:RVJYDbf6 >>489
実装継承は問題点が多すぎるからRustでは採用されていない
実装継承とはある型で定義されたメソッド実装がその型を継承する別の型にそのまま継承されること
Rustは実装継承をちゃんと排除している
実装継承は問題点が多すぎるからRustでは採用されていない
実装継承とはある型で定義されたメソッド実装がその型を継承する別の型にそのまま継承されること
Rustは実装継承をちゃんと排除している
491デフォルトの名無しさん
2023/11/19(日) 10:00:16.37ID:tWthAkiw492デフォルトの名無しさん
2023/11/19(日) 10:14:54.62ID:xroD2KWj 継承が必須という人は>191 >195 >204に反論してくれんかね?
shared_ptr<function<T>>で、Tをコンセプトに拡張したものがイメージかね。コンセプトに合致する「インスタンス」なら何でも変数に代入できるようにできれば、わざわざ継承で「インスタンス」の代入可能性を確保する必要は無い。
shared_ptr<function<T>>で、Tをコンセプトに拡張したものがイメージかね。コンセプトに合致する「インスタンス」なら何でも変数に代入できるようにできれば、わざわざ継承で「インスタンス」の代入可能性を確保する必要は無い。
493デフォルトの名無しさん
2023/11/19(日) 10:29:52.82ID:nljhlBVQ494デフォルトの名無しさん
2023/11/19(日) 11:09:12.91ID:xroD2KWj >>493
ずいぶん貧弱な論破だなぁ。
>継承で定義のコードを書く手間が減る
そのために「事前にクラス継承関係をクラスに追加する」という余計な重たい依存関係を埋め込む必要があり、後々のインターフェイス設計に多大なコストが発生する。
依存関係低減のためにAdaptorを使うことになるなら、最初からインターフェイスにAdaptorみたいな機能があった方が良い。
>デメリットうんぬんは使い方知らないだけ使う場所間違えてる
あなたの感想ですか?
ずいぶん貧弱な論破だなぁ。
>継承で定義のコードを書く手間が減る
そのために「事前にクラス継承関係をクラスに追加する」という余計な重たい依存関係を埋め込む必要があり、後々のインターフェイス設計に多大なコストが発生する。
依存関係低減のためにAdaptorを使うことになるなら、最初からインターフェイスにAdaptorみたいな機能があった方が良い。
>デメリットうんぬんは使い方知らないだけ使う場所間違えてる
あなたの感想ですか?
495デフォルトの名無しさん
2023/11/19(日) 11:18:00.14ID:a8wUH91D >>492
複オジはデメリットを真に理解してないから
どれレスでも的外れな内容になっている
>shared_ptr<function<T>>で、Tをコンセプトに拡張したものがイメージかね。コンセプトに合致する「インスタンス」なら何でも変数に代入できるようにできれば、わざわざ継承で「インスタンス」の代入可能性を確保する必要は無い。
継承の前にポリモーフィズムから勉強した方がよさそうだね
メリットとデメリットを理解してないというのは同じようだけど
複オジはデメリットを真に理解してないから
どれレスでも的外れな内容になっている
>shared_ptr<function<T>>で、Tをコンセプトに拡張したものがイメージかね。コンセプトに合致する「インスタンス」なら何でも変数に代入できるようにできれば、わざわざ継承で「インスタンス」の代入可能性を確保する必要は無い。
継承の前にポリモーフィズムから勉強した方がよさそうだね
メリットとデメリットを理解してないというのは同じようだけど
496デフォルトの名無しさん
2023/11/19(日) 11:25:06.19ID:xroD2KWj >>495
おいおい、まともな反論できなくなったらレッテル張りかよ。
>ポリモーフィズム
だからポリモーフィズムにサブタイピングは依存関係重すぎると言っているんだよ。
std::funcionを理解できていますか?
おいおい、まともな反論できなくなったらレッテル張りかよ。
>ポリモーフィズム
だからポリモーフィズムにサブタイピングは依存関係重すぎると言っているんだよ。
std::funcionを理解できていますか?
497デフォルトの名無しさん
2023/11/19(日) 11:34:23.07ID:h6lf9AUt 記述量が多くなる=悪は誰にでも判るだろう
RADが流行ったのも理解できるだろう
プログラマはいつも何を重視しているのか、それは時間だ
Rustでコンパイル通す時間よりC++でやった方が早かろう
C++でGUIアプリ作るよりC#でやった方が早かろう
さてRustでGUIアプリ作るには、一体どれだけ時間が掛かるのか
話は終わりだ
RADが流行ったのも理解できるだろう
プログラマはいつも何を重視しているのか、それは時間だ
Rustでコンパイル通す時間よりC++でやった方が早かろう
C++でGUIアプリ作るよりC#でやった方が早かろう
さてRustでGUIアプリ作るには、一体どれだけ時間が掛かるのか
話は終わりだ
498デフォルトの名無しさん
2023/11/19(日) 11:39:08.94ID:JXkS/kRe >>492
必須とは考えてないから反論はしない
ユーザが選択できれば良いんだよ
言語としては装備していて
害悪があると考えるならそう考えるユーザが使わなければ良い
他言語のライブラリを移植する際に
使った方が再設計の手間が掛からないというなら使えば良い
マイナー言語のまま終わるぞ
必須とは考えてないから反論はしない
ユーザが選択できれば良いんだよ
言語としては装備していて
害悪があると考えるならそう考えるユーザが使わなければ良い
他言語のライブラリを移植する際に
使った方が再設計の手間が掛からないというなら使えば良い
マイナー言語のまま終わるぞ
499デフォルトの名無しさん
2023/11/19(日) 11:58:31.45ID:o0KxE9xi 数年でRustみたいな思想はAIが肩代わりしてくれると思うよ
今からRustで数年苦労するよりは
他の事しつつ待ってた方がもしかして有意義なんじゃないかな笑
今からRustで数年苦労するよりは
他の事しつつ待ってた方がもしかして有意義なんじゃないかな笑
500デフォルトの名無しさん
2023/11/19(日) 12:13:25.84ID:nljhlBVQ >>494
その指摘のような状況で使わなければいいだけ
全てのケースでその指摘が当てはまるわけではない
不適切な使用をしてる例を自分自身で示しているが、それに気づいていない
言うに事欠いて私の感想?
何回論破されるのあなた?
その指摘のような状況で使わなければいいだけ
全てのケースでその指摘が当てはまるわけではない
不適切な使用をしてる例を自分自身で示しているが、それに気づいていない
言うに事欠いて私の感想?
何回論破されるのあなた?
501デフォルトの名無しさん
2023/11/19(日) 12:32:27.75ID:/G2k3fWt502デフォルトの名無しさん
2023/11/19(日) 12:35:10.88ID:Tj6ZCNuo pythonのpysimpleguiでサクッと作って時間の掛かる処理だけpyo3でコールするか
503デフォルトの名無しさん
2023/11/19(日) 13:27:48.93ID:h6lf9AUt■ このスレッドは過去ログ倉庫に格納されています
ニュース
- NY円、一時1ユーロ=180円台まで下落…1999年のユーロ導入以来初 [蚤の市★]
- 【外交】日中関係悪化、長期化の様相 2012年には自動車輸出80%減も ロイター★3 [1ゲットロボ★]
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★3 [蚤の市★]
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」★2 [冬月記者★]
- 「どうしようもない」 ため息つくアジアの玄関口 中国の訪日自粛で−福岡市 [蚤の市★]
- 「稼ぐのよ!」高市総理が電話ガチャ切りで伝えたこと 鈴木憲和農林水産大臣が国政報告会に出席 自身が目指す農政の方針語る [煮卵★]
- 『しんちゃんと岸田さん』 [175344491]
- 日本株、大暴落!!! [252835186]
- 識者「『フリーパレスチナ』とかイキってる連中が台湾の話になると『中国を怒らせるな!』ってなる。ほんと左翼の正義って薄っぺらい」 [279254606]
- 【超悲報】中国への武力行使、世論調査で「賛成」「どちらかといえば賛成」48.8% 「反対」「どちらかといえば反対」の44.2%を上回る [314039747]
- んなっても良いお🏡
- ( ・᷄ὢ・᷅ )お尻出して
