「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
レス数が1000を超えています。これ以上書き込みはできません。
2023/10/28(土) 13:45:00.38ID:fh9BWjjr
2023/10/28(土) 13:45:36.64ID:fh9BWjjr
あるあるトピックス
・後発のRustは優れている(この点で特に争いはない
・といっても、C/C++から「推し変」するほどじゃない(使わないとは言ってない
・ていうか、Cとの比較と、C++との比較は違うくね?
・いくら安全っつっても、ヘタクソがunsafeだらけに書いちゃったらおんなし
・てかC++にも unsafe{ } はよ
・web方面、特に基盤部分での人気すごいね
・ChatGPTとかが賢くなる(のに賭けてる)からどうでもいい
・後発のRustは優れている(この点で特に争いはない
・といっても、C/C++から「推し変」するほどじゃない(使わないとは言ってない
・ていうか、Cとの比較と、C++との比較は違うくね?
・いくら安全っつっても、ヘタクソがunsafeだらけに書いちゃったらおんなし
・てかC++にも unsafe{ } はよ
・web方面、特に基盤部分での人気すごいね
・ChatGPTとかが賢くなる(のに賭けてる)からどうでもいい
3デフォルトの名無しさん
2023/10/28(土) 13:50:00.20ID:1iiYkiVL スレ立て乙
unsafe {
unsafe {
2023/10/28(土) 14:37:18.81ID:o0Izqpe5
次スレいらんわボケ
2023/10/28(土) 16:34:04.19ID:enMMtIYH
ネットインフラが次々とRust製になっていってる
>【CDN世界トップシェアCloudflare】
>https://www.publickey1.jp/blog/22/cloudflarenginxrusthttppingoracdncpu31.html
>CDNプロバイダのCloudflareは、同社のグローバルなCDNの基盤として長らく利用してきたNGINXに代えて、
>同社自身がRust製のHTTPプロキシである「Pingora」を開発し利 用していることを明らかにしました。
>【クラウド世界トップシェアAWS】
>https://japan.zdnet.com/article/35183866/
>Rustで構築されたAWSサービスの例としては、
>コンテナーアプリ用のサーバーレスプラットフォーム「Lamba」を支える「Firecracker」、
>「Amazon Simple Storage Service(S3)」、
>「Amazon Elastic Compute Cloud(EC2)」、
>コンテンツ配信ネットワーク「Amazon CloudFront」、
>LinuxベースのコンテナーOS「Bottlerocket」などがある。
>【CDN世界トップシェアCloudflare】
>https://www.publickey1.jp/blog/22/cloudflarenginxrusthttppingoracdncpu31.html
>CDNプロバイダのCloudflareは、同社のグローバルなCDNの基盤として長らく利用してきたNGINXに代えて、
>同社自身がRust製のHTTPプロキシである「Pingora」を開発し利 用していることを明らかにしました。
>【クラウド世界トップシェアAWS】
>https://japan.zdnet.com/article/35183866/
>Rustで構築されたAWSサービスの例としては、
>コンテナーアプリ用のサーバーレスプラットフォーム「Lamba」を支える「Firecracker」、
>「Amazon Simple Storage Service(S3)」、
>「Amazon Elastic Compute Cloud(EC2)」、
>コンテンツ配信ネットワーク「Amazon CloudFront」、
>LinuxベースのコンテナーOS「Bottlerocket」などがある。
2023/10/29(日) 07:04:58.86ID:/j90tPs+
プログラミング言語「Rust」は世界のセキュリティレベルを底上げする
https://wired.jp/article/rust-secure-programming-language-memory-safe/
Androidでは今、暗号鍵を管理する機能の多くがRustで書かれているとGoogleのクライダーマーカーは話す。
たとえば、暗号化したインターネット通信の機能である「DNS over HTTPS」、新バージョンの超広帯域無線(UWB)チップスタック、
そしてグーグルの独自のチップである「Tensor G2」で使用される新しい「Android 仮想化フレームワーク(AVF)」 などだ。
また、BluetoothやWi-Fiなどの通信接続に使われるスタックも、Androidの開発チームによってRustへの変換が積極的に進められている。
理由は、これらが業界の複雑な標準規格に基づいており、脆弱性を多く含む傾向にあるからだとGoogleのクライダーマーカーは付け加える。
つまり最も狙われやすい、あるいは最も重要なソフトウェアの部分からRustに書き換えて、
そこから徐々に広げることで段階的にセキュリティ上の恩恵を受けようという戦略なのだ。
https://wired.jp/article/rust-secure-programming-language-memory-safe/
Androidでは今、暗号鍵を管理する機能の多くがRustで書かれているとGoogleのクライダーマーカーは話す。
たとえば、暗号化したインターネット通信の機能である「DNS over HTTPS」、新バージョンの超広帯域無線(UWB)チップスタック、
そしてグーグルの独自のチップである「Tensor G2」で使用される新しい「Android 仮想化フレームワーク(AVF)」 などだ。
また、BluetoothやWi-Fiなどの通信接続に使われるスタックも、Androidの開発チームによってRustへの変換が積極的に進められている。
理由は、これらが業界の複雑な標準規格に基づいており、脆弱性を多く含む傾向にあるからだとGoogleのクライダーマーカーは付け加える。
つまり最も狙われやすい、あるいは最も重要なソフトウェアの部分からRustに書き換えて、
そこから徐々に広げることで段階的にセキュリティ上の恩恵を受けようという戦略なのだ。
2023/10/29(日) 09:34:40.05ID:7Lr6oJeR
>>1
・・・で、結局どっちが良いの?
・・・で、結局どっちが良いの?
8デフォルトの名無しさん
2023/10/29(日) 11:34:03.80ID:GrwAVmld >>2
C++はデフォルトがunsafeだから、入れるならsafe{}じゃないのけ?
C++はデフォルトがunsafeだから、入れるならsafe{}じゃないのけ?
2023/10/29(日) 11:55:56.89ID:jrKbdvhX
デフォルトをsafeにするって話やろw
そうすると現行のライブラリはビルドできないので取り敢えず全部unsafeで囲う
バージョンを重ねてunsafeの部分を減らすって戦略でしょ?
そうすると現行のライブラリはビルドできないので取り敢えず全部unsafeで囲う
バージョンを重ねてunsafeの部分を減らすって戦略でしょ?
2023/10/29(日) 12:10:31.41ID:rFgSsne0
>>8
それ意味ないのわかんない?
それ意味ないのわかんない?
2023/10/29(日) 12:58:33.36ID:gLyKM6Q0
null safetyですら無理なんだからunsafeなんて夢のまた夢
12デフォルトの名無しさん
2023/10/29(日) 13:01:53.93ID:IsQ6p7Vf positive list と nagative list の違いやろ
どっちも一長一短があるってだけで
どっちが一方的に優れているということではない
どっちも一長一短があるってだけで
どっちが一方的に優れているということではない
2023/10/29(日) 13:06:42.15ID:x+5RB5aB
前者が明らかに劣ってるのは自衛隊見れば明らかじゃん
2023/10/29(日) 14:22:40.43ID:IsQ6p7Vf
青山繁晴ファンですね判ります
15デフォルトの名無しさん
2023/10/29(日) 14:24:26.17ID:IsQ6p7Vf ちなみに Rust の unsafe {} は positive list に相当すると思う
2023/10/29(日) 16:22:18.96ID:UpWU1GX+
時代は静的検出なので、冒頭に
#pragma safe
とかでも書くとかになるんじゃないかな
そのうしろに、縛りの識別子が入るのでもいい
#pragma safe
とかでも書くとかになるんじゃないかな
そのうしろに、縛りの識別子が入るのでもいい
2023/10/29(日) 16:22:22.63ID:B2pW3CpU
unsafe {}ってなに?
ポインタ扱えなくするやつ?
ポインタ扱えなくするやつ?
2023/10/29(日) 18:07:40.10ID:UpWU1GX+
} // あとでみなおす
とりあえず生ポはなしかな
ポインタはきちんと定義される
とりあえず生ポはなしかな
ポインタはきちんと定義される
19デフォルトの名無しさん
2023/10/30(月) 01:11:12.37ID:SHIqNVOV >>9
あー、そういうことね。
あー、そういうことね。
2023/10/30(月) 14:08:13.49ID:yf48i6Jz
前スレ
>>997
HashMapはとVecは異なる型なので直接代入できない
一般的に入力イテレータinput_iterからHashMapを作るには
HashMap::from_iter(input_iter)とすればよい
これは代入先の型がHashMapの時のinput_iter.collect()と同じ
collect()の正体はfrom_iter()を呼ぶだけ
ちなみにfrom_iter()はFromIteratorトレイトのメソッド
引数としてIteratorだけでなくIntoIteratorも取れるため
今回の入力ベクタinput_vecに対してinto_iter()せずとも
そのままHashMap::from_iter(input_vec)と書ける
一方でcollect()を使う場合これはIteratorのメソッドなので
明示的に変換してinput_vec.into_iter().collect()となる
>>997
HashMapはとVecは異なる型なので直接代入できない
一般的に入力イテレータinput_iterからHashMapを作るには
HashMap::from_iter(input_iter)とすればよい
これは代入先の型がHashMapの時のinput_iter.collect()と同じ
collect()の正体はfrom_iter()を呼ぶだけ
ちなみにfrom_iter()はFromIteratorトレイトのメソッド
引数としてIteratorだけでなくIntoIteratorも取れるため
今回の入力ベクタinput_vecに対してinto_iter()せずとも
そのままHashMap::from_iter(input_vec)と書ける
一方でcollect()を使う場合これはIteratorのメソッドなので
明示的に変換してinput_vec.into_iter().collect()となる
21デフォルトの名無しさん
2023/10/31(火) 05:55:29.82ID:DJT4usEp ゲーム業界はC++かC#
Rustが入る余地なし
Rustが入る余地なし
22デフォルトの名無しさん
2023/10/31(火) 08:54:10.63ID:5Lja4y81 Rust がリファクタリングと相性が悪いんじゃないか
と思うことが時々というより割と頻繁にある
と思うことが時々というより割と頻繁にある
2023/10/31(火) 10:17:54.25ID:Fz0aDVxr
設計が悪いおじさん「設計が悪い」
…とはいうものの、書き味ってもんがあるよね言語って
…とはいうものの、書き味ってもんがあるよね言語って
2023/10/31(火) 20:53:25.14ID:1IgY5W3A
難しそうという直感でリファクタリングを中止できるのは損なのか得なのか
2023/10/31(火) 22:01:39.08ID:PwivvYFW
Rustはリファクタリングや更新メンテとの相性いいと思う
C/C++で他人もしくは過去の自分が書いたコードの肝の部分をうっかり踏み抜いてメモリデバッグコースとなるところを
Rustは未然に防いでくれてる
C/C++で他人もしくは過去の自分が書いたコードの肝の部分をうっかり踏み抜いてメモリデバッグコースとなるところを
Rustは未然に防いでくれてる
2023/10/31(火) 22:13:21.13ID:3AsVVcfX
リファクタリングでエンバグしにくいけど、そもそもリファクタリング自体しにくいよね
2023/10/31(火) 22:25:05.59ID:NeIS8/9C
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2687r0.pdf
C++はfeature gate方式でアノテーションした箇所のみ
static analyzerでチェックする方針で一応進み始めてるのね
なんというか過去の資産を生かすというのは大変なんだな
Rustと同レベルのsafetyが提供できるようになるかどうかまだわからないけどまあ頑張ってという感想
C++はfeature gate方式でアノテーションした箇所のみ
static analyzerでチェックする方針で一応進み始めてるのね
なんというか過去の資産を生かすというのは大変なんだな
Rustと同レベルのsafetyが提供できるようになるかどうかまだわからないけどまあ頑張ってという感想
2023/11/01(水) 03:51:28.75ID:5z6NYMjm
悪い(かも知れない)設計を
良い(かも知れない)設計に
するのがリファクタリングのモチベだと思うので
元の設計が悪い(かも知れない)のは仕方ないが
良い(かも知れない)設計に変更するのを阻む力をRustはもってる
もちろんリファクタリングでエンバグしない利点は認めている
良い(かも知れない)設計に
するのがリファクタリングのモチベだと思うので
元の設計が悪い(かも知れない)のは仕方ないが
良い(かも知れない)設計に変更するのを阻む力をRustはもってる
もちろんリファクタリングでエンバグしない利点は認めている
2023/11/01(水) 03:53:16.74ID:5z6NYMjm
更新メンテでエンバグしないと言っても
汚いコードが汚いまま増設されていく不安しかない
汚いコードが汚いまま増設されていく不安しかない
2023/11/01(水) 05:10:40.48ID:fNUPqUoJ
リファクタリングなんてもんは無能な働き者がすることよ
2023/11/01(水) 08:38:55.26ID:TrWFH7YA
以上、無能な働き者の感想でした
2023/11/01(水) 08:49:48.50ID:VeDR0B8A
耳が痛いわ〜w (横から
>>27
走り読み…と思ったら、かっちりしたまとめだった
型に含めることばっかり(自分なりに)考えてたが、属性かー。
ああそういや、VCの属性プロバイダ、API公開まだだったよな
>>27
走り読み…と思ったら、かっちりしたまとめだった
型に含めることばっかり(自分なりに)考えてたが、属性かー。
ああそういや、VCの属性プロバイダ、API公開まだだったよな
33デフォルトの名無しさん
2023/11/01(水) 09:15:51.82ID:QJoNTbA8 borrow! またお前かっ!!
ですね
判ります
あとは C# みたいな PartialTrait があれば良いのに
ですね
判ります
あとは C# みたいな PartialTrait があれば良いのに
2023/11/01(水) 09:29:13.02ID:g0uNXVFl
2023/11/01(水) 11:28:14.65ID:r0MV67Oa
>ゼークトの組織論において、もっとも害のある存在とされるのが、無能な働き者(愚鈍:勤勉)タイプの人材です。正しい判断力や行動力が備わっていないにもかかわらず、自身の判断で行動してしまう特徴を持っています。いわゆる「余計なことをしてくれる」タイプの人材です。 無能な働き者が動くことで間違った判断により損害が出たり、周囲が後始末に追われたりといった混乱を招きます。しかも、本人は「よかれと思って動いている」点が、大きな問題となるのです。
2023/11/01(水) 11:36:32.25ID:r0MV67Oa
無能な働き者は放置しておくことで、組織にとって大きな損害をもたらすリスクとなります。
努力や判断のベクトルが間違っているだけで、意欲的な人材であるかもしれません。適切に関わり軌道修正を図れば、組織に貢献してくれる人材になってくれるかもしれません。この困ったちゃんを相手にする余力が会社や関係者にあればよいのですが、そうでない場合は自己都合退職へ誘導し、早めに組織から追い出しましょう。
努力や判断のベクトルが間違っているだけで、意欲的な人材であるかもしれません。適切に関わり軌道修正を図れば、組織に貢献してくれる人材になってくれるかもしれません。この困ったちゃんを相手にする余力が会社や関係者にあればよいのですが、そうでない場合は自己都合退職へ誘導し、早めに組織から追い出しましょう。
2023/11/01(水) 12:40:12.80ID:8C4ZzEMt
軍人を4つのタイプに分類する「ゼークトの組織論」と呼ばれる軍事ジョークがあり[注釈 2]、ゼークトが以下のように語ったとされる。
---------8<----------8=------
これは実際には同時期のドイツ軍人であったクルト・フォン・ハンマーシュタイン=エクヴォルトが副官に述べたとされるもの[31]が元になっている。
---------8<----------8=------
これは実際には同時期のドイツ軍人であったクルト・フォン・ハンマーシュタイン=エクヴォルトが副官に述べたとされるもの[31]が元になっている。
2023/11/01(水) 19:08:00.09ID:gqkX1mpA
いつの間に、こんなに積極的に、異物は排除しましょうなんて世の中に深化したのかねえ
世知辛い
世知辛い
2023/11/01(水) 19:59:16.09ID:r0MV67Oa
>>38
>いつの間に
いつと問われれば人が集落として生活するようになるぐらい古代から…なんじゃね
村八分とか神隠しとかぐらいは聞いたことあると思うけど
司法がない時代は私刑が日常的に行われていたんだよ
今は法律もあるしネットで大騒ぎすれば助けてくれる奴も出てくるだろうけど
属していた会社なり組織からは切り離される形に落ち着くだろうね
>いつの間に
いつと問われれば人が集落として生活するようになるぐらい古代から…なんじゃね
村八分とか神隠しとかぐらいは聞いたことあると思うけど
司法がない時代は私刑が日常的に行われていたんだよ
今は法律もあるしネットで大騒ぎすれば助けてくれる奴も出てくるだろうけど
属していた会社なり組織からは切り離される形に落ち着くだろうね
2023/11/01(水) 20:11:22.67ID:mATsi7Ug
Rustはリファクタリングでのエンバグ防止も強力で開発効率良いな
2023/11/01(水) 22:31:20.11ID:H181/maX
2023/11/01(水) 23:11:21.03ID:FbXsZBSZ
競技プログラミングでは何でみんなc++なのですか
43デフォルトの名無しさん
2023/11/02(木) 02:07:29.05ID:uLntp6kp >>42
Rust使ったことないだろ
Rust使ったことないだろ
44デフォルトの名無しさん
2023/11/02(木) 09:27:36.71ID:kxWwWLf8 >>36
東近江市市長ですね判ります
東近江市市長ですね判ります
45デフォルトの名無しさん
2023/11/02(木) 09:30:06.68ID:kxWwWLf8 >>39
私刑の大半は「自分が気に入らない相手を消す」だろ
私刑の大半は「自分が気に入らない相手を消す」だろ
2023/11/02(木) 10:28:31.37ID:e3rN7I7Z
ゼロサムゲームなんだよねえ あいつがいると、こっちの幸せの取り分が減る
47デフォルトの名無しさん
2023/11/02(木) 11:00:23.03ID:NLwKfBpd C++のchrono
Sun=0, Mon=1, ..., Sat=6
Rustのchrono
Mon=0, Tue=1, ..., Sun=0
なんかの嫌がらせか?これ
Sun=0, Mon=1, ..., Sat=6
Rustのchrono
Mon=0, Tue=1, ..., Sun=0
なんかの嫌がらせか?これ
48デフォルトの名無しさん
2023/11/02(木) 11:01:31.85ID:NLwKfBpd 訂正
C++のchrono
Sun=0, Mon=1, ..., Sat=6
Rustのchrono
Mon=0, Tue=1, ..., Sun=6
なんかの嫌がらせか?これ
C++のchrono
Sun=0, Mon=1, ..., Sat=6
Rustのchrono
Mon=0, Tue=1, ..., Sun=6
なんかの嫌がらせか?これ
2023/11/02(木) 11:38:23.20ID:SgY2tw2G
>>48
enumで処理するもんじゃないの?
enumで処理するもんじゃないの?
2023/11/02(木) 12:27:57.80ID:e3rN7I7Z
いっしょは嫌だったんじゃない? (はなほじ
2023/11/02(木) 13:14:01.78ID:sR7LRQS1
2023/11/02(木) 14:01:21.75ID:26D/b4Fo
おまえら全員エアプログラマーだな
Rustのchronoは両対応で困ることはない
num_days_from_sunday()だと日曜日から0発進
num_days_from_monday()だと月曜日から0発進
Rustのchronoは両対応で困ることはない
num_days_from_sunday()だと日曜日から0発進
num_days_from_monday()だと月曜日から0発進
53デフォルトの名無しさん
2023/11/02(木) 14:21:03.74ID:R1/lC5p9 ISO8601では月曜は1で日曜は7なんだよな。
2023/11/02(木) 14:43:04.82ID:26D/b4Fo
2023/11/02(木) 15:51:19.67ID:C/SY5g2v
たぶん何も考えてない+誰も使わないから放置されているだけだね
Mon=0固定の前提でTryFrom<u8>なんか実装してるし
Mon=0固定の前提でTryFrom<u8>なんか実装してるし
2023/11/02(木) 16:27:45.50ID:26D/b4Fo
そこは言語によって異なるんだよ
Pythonは月曜スタート
weekday() 月曜日=0 ~ 日曜日=6
isoweekday() 月曜日=1 ~ 日曜日=7
Javaも月曜スタート
DayOfWeek 月曜日=1 ~ 日曜日=7
だから両対応しているRustが最も良い状況
Pythonは月曜スタート
weekday() 月曜日=0 ~ 日曜日=6
isoweekday() 月曜日=1 ~ 日曜日=7
Javaも月曜スタート
DayOfWeek 月曜日=1 ~ 日曜日=7
だから両対応しているRustが最も良い状況
2023/11/02(木) 20:37:31.47ID:YFXMye4z
曜日の内部表現とかどうでもいいだろ…
2023/11/02(木) 21:59:20.29ID:SgY2tw2G
HTTPでJSONやりとりしてるとき思い込みで
バグになるというのはあるかも
バグになるというのはあるかも
2023/11/02(木) 23:52:30.67ID:M3hXBmrb
今回のchronoでイチャモン始めたやつも
日曜日開始のC++しか知らなくてそれが正しいと思い込みをしてたからな
月曜日開始のISO8601とそれに従うプログラミング言語を一つでも知っていればそんな勘違いは起きなかった
日曜日開始のC++しか知らなくてそれが正しいと思い込みをしてたからな
月曜日開始のISO8601とそれに従うプログラミング言語を一つでも知っていればそんな勘違いは起きなかった
2023/11/03(金) 00:21:59.00ID:g+drsbNI
と、C言語のtm構造体から続くC/C++/UNIX系全般の伝統を知らなかった人が申しております
61デフォルトの名無しさん
2023/11/03(金) 00:34:37.66ID:OMWtAqQI 恥ずかしいのぉ
ああ恥ずかしい
ああ恥ずかしい
2023/11/03(金) 00:58:32.47ID:/+LsOzGq
63デフォルトの名無しさん
2023/11/03(金) 03:57:01.11ID:QmAmywB52023/11/03(金) 06:56:19.57ID:N2L5n51t
伝統的には日曜始まり、商用的には月曜始まり、ということだろ。
そもそも現代主流のグレゴリオ暦自体が欠陥だらけ (素数の7を週単位にしている、月の日数がバラバラ) だから、効率を気にしてもしょうがない。
完全数の6と3素数積の30を基準にすれば全然違ったのにな。
そもそも現代主流のグレゴリオ暦自体が欠陥だらけ (素数の7を週単位にしている、月の日数がバラバラ) だから、効率を気にしてもしょうがない。
完全数の6と3素数積の30を基準にすれば全然違ったのにな。
2023/11/03(金) 08:41:35.38ID:znXtgxSS
>>59
おまい望月衣望子そっくりな人間だな
おまい望月衣望子そっくりな人間だな
2023/11/03(金) 08:41:37.96ID:hQugpIJj
>>64
だからその日曜始まり日曜終わり両方に対応できる日曜0,7が有能だった話よ
だからその日曜始まり日曜終わり両方に対応できる日曜0,7が有能だった話よ
2023/11/03(金) 10:30:38.41ID:FAT4ZC6j
C++もc_encodingとiso_encodingで両方対応はしてる
簡単に変換できるから正直どうでもいいけど
https://en.cppreference.com/w/cpp/chrono/weekday/encoding
このドキュメントはReturn valueの2) の内容が間違ってる
レビュープロセスが心配になるな
簡単に変換できるから正直どうでもいいけど
https://en.cppreference.com/w/cpp/chrono/weekday/encoding
このドキュメントはReturn valueの2) の内容が間違ってる
レビュープロセスが心配になるな
2023/11/03(金) 11:42:31.25ID:7w5cnhLp
2023/11/03(金) 12:30:23.11ID:xNBDqk0z
>>56
JavaはWeekFields経由で日曜始まりにもできる
Pythonは日曜始まりのインデックスを直接取得することはできないがcalenderモジュールで日曜始まりのカレンダーを扱える
どちらもRustほど低レイヤーやC++を意識する必要がないからRust比べて少し高いレイヤーで日曜始まりにも対応している
Rustの開発者にとって最もいい状況が他の言語の開発者にとっても最もいい状況とは限らない
JavaはWeekFields経由で日曜始まりにもできる
Pythonは日曜始まりのインデックスを直接取得することはできないがcalenderモジュールで日曜始まりのカレンダーを扱える
どちらもRustほど低レイヤーやC++を意識する必要がないからRust比べて少し高いレイヤーで日曜始まりにも対応している
Rustの開発者にとって最もいい状況が他の言語の開発者にとっても最もいい状況とは限らない
2023/11/03(金) 13:42:53.76ID:IVkiUA9g
=== 複製おじさん(通称複おじ)について ===
Rustスレを中心に活動し、2023年4月現在で1年以上ム板に住み着くRustacean。無自覚な荒らし。
Rustスレでは、基本的に他住民の意見を聞いて糧とすることなく、自らのコードが最善であると、ID変更自演を交えいつまでも主張し続ける。
同スレで「所有権が複製される」という違和感のある表現を、「違和感がある」とする他住民の意見をすべて否定してしつこく擁護し続けたことから、「複製おじさん」というあだ名が付けられた。
それ以外のム板スレでは、基本的に他住民の意見を聞いて糧とすることなく、Rustこそが最善であると、ID変更自演を交えいつまでも主張し続ける。
その基本戦術は、「GC言語は遅い」の一声でC/C++/Rust以外の言語を否定し、残ったC/C++は安全ではないので、Rustが最善であるとするもの。
しかしながら、Rust以外の言語に関しては、正当な批判を展開するのに十分な知識を持っているとは言いがたい。
本スレPart1では、C++の問題点を指摘しようとして多数の誤り・知識不足を露呈することとなった。特にしつこく食い下がったのが「動的ディスパッチ」に関する誤解である。
https://mevius.5ch.net/test/read.cgi/tech/1677286186/786-799(ID:Evbafc70とID:RiLc+pIfが複製おじさんであると考えられている)
要約すると、通常「条件分岐」と呼ばれるものを「動的ディスパッチ」と呼ぶのが正しいと主張し続けたのである。
常識的にはあり得ない誤解だが、提示されたC++のコードが自らの主張(C++にはパターンマッチが無い)に不都合であると感じたためか、C++のコードを正しく読み解くことができないにもかかわらず脊髄反射的に否定してしまい、その根拠として誤った論理をこじつけてしまったものと思われる。
ちなみにこの後、同種の誤解を持って書き込むID:wHEiYRW7(これはID使用歴的に複製おじさんとは考えにくい)に対して、正しい理解に基づく指摘を行う単発IDが複数出現するが、この中にも複製おじさんが多数含まれていると考えられている。
このように自分の誤りを認識した場合、それを認める書き込みは決して行わず、別人の振りをして最初から正しく理解していた体を装うのも複製おじさんの特徴である。
Rustスレを中心に活動し、2023年4月現在で1年以上ム板に住み着くRustacean。無自覚な荒らし。
Rustスレでは、基本的に他住民の意見を聞いて糧とすることなく、自らのコードが最善であると、ID変更自演を交えいつまでも主張し続ける。
同スレで「所有権が複製される」という違和感のある表現を、「違和感がある」とする他住民の意見をすべて否定してしつこく擁護し続けたことから、「複製おじさん」というあだ名が付けられた。
それ以外のム板スレでは、基本的に他住民の意見を聞いて糧とすることなく、Rustこそが最善であると、ID変更自演を交えいつまでも主張し続ける。
その基本戦術は、「GC言語は遅い」の一声でC/C++/Rust以外の言語を否定し、残ったC/C++は安全ではないので、Rustが最善であるとするもの。
しかしながら、Rust以外の言語に関しては、正当な批判を展開するのに十分な知識を持っているとは言いがたい。
本スレPart1では、C++の問題点を指摘しようとして多数の誤り・知識不足を露呈することとなった。特にしつこく食い下がったのが「動的ディスパッチ」に関する誤解である。
https://mevius.5ch.net/test/read.cgi/tech/1677286186/786-799(ID:Evbafc70とID:RiLc+pIfが複製おじさんであると考えられている)
要約すると、通常「条件分岐」と呼ばれるものを「動的ディスパッチ」と呼ぶのが正しいと主張し続けたのである。
常識的にはあり得ない誤解だが、提示されたC++のコードが自らの主張(C++にはパターンマッチが無い)に不都合であると感じたためか、C++のコードを正しく読み解くことができないにもかかわらず脊髄反射的に否定してしまい、その根拠として誤った論理をこじつけてしまったものと思われる。
ちなみにこの後、同種の誤解を持って書き込むID:wHEiYRW7(これはID使用歴的に複製おじさんとは考えにくい)に対して、正しい理解に基づく指摘を行う単発IDが複数出現するが、この中にも複製おじさんが多数含まれていると考えられている。
このように自分の誤りを認識した場合、それを認める書き込みは決して行わず、別人の振りをして最初から正しく理解していた体を装うのも複製おじさんの特徴である。
2023/11/03(金) 13:43:15.14ID:IVkiUA9g
テンプレ忘れてるぞ
2023/11/03(金) 15:43:05.53ID:+wuvOqHg
ゲームプログラミングに向かない時点でRustに勝ち目は無い
2023/11/03(金) 16:17:15.97ID:TISIAi2y
ゲームとかどうでもいい
2023/11/03(金) 16:35:04.29ID:hQugpIJj
プログラミング言語は とにかくユーザ数が増えて裾野が広がらないとだめよ
とはいっても、Rustはその性格上 エンジン系にはとても強いと思う
とはいっても、Rustはその性格上 エンジン系にはとても強いと思う
75デフォルトの名無しさん
2023/11/03(金) 20:01:25.17ID:oS0jLPzO なんでゲームに向いてないの?
2023/11/03(金) 20:18:57.74ID:L6NiYGzz
ビルド時間が長いとか主要なゲームエンジンが対応してないとかかな?
2023/11/03(金) 20:23:49.80ID:m1BMAQzf
2023/11/03(金) 20:27:09.44ID:DDLGlAPd
>>75
オブジェクト指向じゃないから大規模開発に向いてない
オブジェクト指向じゃないから大規模開発に向いてない
2023/11/03(金) 20:27:51.26ID:DDLGlAPd
ゲームはプログラムの積み上げ方式
Rustなんか使い物にならん
Rustなんか使い物にならん
2023/11/03(金) 20:48:01.15ID:L6NiYGzz
え?rustってオブジェクト指向じゃないの?
2023/11/03(金) 20:54:38.72ID:hQugpIJj
>>77
エンジンを作る側の話やで
エンジンを作る側の話やで
2023/11/03(金) 21:23:41.57ID:YDoJin8V
83デフォルトの名無しさん
2023/11/03(金) 22:56:37.98ID:oS0jLPzO2023/11/03(金) 23:50:14.81ID:DpBIrO9u
オブジェクト指向を理解してない無能が多すぎる
2023/11/03(金) 23:54:28.74ID:caMFRrqc
オブジェクト指向なんてもはや有害じゃねという
話も出てるようだけど
話も出てるようだけど
87デフォルトの名無しさん
2023/11/04(土) 00:10:04.03ID:vTgEadDD 既存のオブジェクト指向言語の置き換えを狙ってるなら
既存のオブジェクト指向言語の機能は備えんとなぁ
設計からやり直す必要が生じてまんどくさってなる
スクラッチから新たに書くのなら支障ないだろうけども
それではいつまで経ってもマイナー言語だよ
この先生きのこれん
既存のオブジェクト指向言語の機能は備えんとなぁ
設計からやり直す必要が生じてまんどくさってなる
スクラッチから新たに書くのなら支障ないだろうけども
それではいつまで経ってもマイナー言語だよ
この先生きのこれん
2023/11/04(土) 00:22:53.36ID:p6vbmy4R
みんな反発しても結局オブジェクト指向に帰ってくる
みんなC++に帰ってくる
みんなC++に帰ってくる
2023/11/04(土) 00:23:19.27ID:EeyeeoXm
最近のプログラミング言語は基本的にオブジェクト指向だがクラス継承だけは亡くなったらしい
最近のプログラミング言語
【クラス継承がない】Elixir、Go、Julia、Nim、Rust、Zig
【クラス継承がある】Kotlin(=Javaの後継)、Swift(=Objective-Cの後継)
つまり過去のしがらみでクラス継承を含めざるを得なかったKotlinとSwiftを除いて
全ての言語でクラス継承は亡くなった
最近のプログラミング言語
【クラス継承がない】Elixir、Go、Julia、Nim、Rust、Zig
【クラス継承がある】Kotlin(=Javaの後継)、Swift(=Objective-Cの後継)
つまり過去のしがらみでクラス継承を含めざるを得なかったKotlinとSwiftを除いて
全ての言語でクラス継承は亡くなった
90デフォルトの名無しさん
2023/11/04(土) 00:27:29.67ID:vTgEadDD おかげでみんなマイナー言語のままじゃんw
91デフォルトの名無しさん
2023/11/04(土) 00:28:23.25ID:vTgEadDD 人間は保守的なんだから
互換性を軽視したらユーザは絶対にぶんどれん
互換性を軽視したらユーザは絶対にぶんどれん
2023/11/04(土) 02:16:54.87ID:eaDg3ztu
>>89
GUI開発用言語とそうでない言語にきれいに分かれてんね
GUI開発用言語とそうでない言語にきれいに分かれてんね
2023/11/04(土) 03:14:34.51ID:6Rm06W4Y
GUIはクラス継承要らないだろ
有害なクラス継承しかないとクラス継承を使って巨大なピラミッドを作ってしまい
その反省も各新言語が揃って意図的にクラス継承を廃止した要因
有害なクラス継承しかないとクラス継承を使って巨大なピラミッドを作ってしまい
その反省も各新言語が揃って意図的にクラス継承を廃止した要因
2023/11/04(土) 03:24:41.20ID:W1fOq5zR
継承無くした結果、馬鹿なことをやらされる
https://qiita.com/muumu/items/a0d111d129d20240d182
https://qiita.com/muumu/items/a0d111d129d20240d182
2023/11/04(土) 05:01:54.27ID:qNKpZaTJ
それはクラスの継承というよくない古い考え方しかできない人向けの方法だな
様々に方向性も異なる方針の新プログラミング諸言語がクラスの継承だけは導入しない同じ結論に至った重みは大きい
様々に方向性も異なる方針の新プログラミング諸言語がクラスの継承だけは導入しない同じ結論に至った重みは大きい
2023/11/04(土) 05:58:52.07ID:QaQpRr0T
IUnk教わい、なくなるといわれるとちょっとさみしい (なくなるとは言われてない
97デフォルトの名無しさん
2023/11/04(土) 06:13:35.65ID:9ClykILV 継承がない言語には大抵はmix-inという優れた代替が用意されてる
継承もmix-inもないRustは無能
継承もmix-inもないRustは無能
2023/11/04(土) 07:37:08.58ID:tOjhAD6C
そうゆうのがない、切り捨ててるから、Linuxカーネルに来てよろしいって言われたのかもね しらんけど
やっぱり必要となりゃ、そのうち解禁(追加)になるでしょ
やっぱり必要となりゃ、そのうち解禁(追加)になるでしょ
2023/11/04(土) 07:50:02.45ID:W1fOq5zR
>>95
極端だな
そんな考えじゃC++から移行なんて益々困難だし
こんなスレ立てて対立煽りするレベルにも達してないじゃないか
>この記事ではC++やJavaで継承を使っていた人がRustで同様の実装をしたいときにどうすればよいのかを説明します。
この課題については君はどうしたらいいと思ってる?
極端だな
そんな考えじゃC++から移行なんて益々困難だし
こんなスレ立てて対立煽りするレベルにも達してないじゃないか
>この記事ではC++やJavaで継承を使っていた人がRustで同様の実装をしたいときにどうすればよいのかを説明します。
この課題については君はどうしたらいいと思ってる?
100デフォルトの名無しさん
2023/11/04(土) 08:26:29.68ID:tOjhAD6C 第1スレはわからんけど、このスレの>>1は俺
101デフォルトの名無しさん
2023/11/04(土) 09:10:11.30ID:LI9X3aVk >>89
Javaの開発者も継承だけは間違いだったと言ってるみたいだね
Javaの開発者も継承だけは間違いだったと言ってるみたいだね
102デフォルトの名無しさん
2023/11/04(土) 09:32:38.86ID:0JVEbPjc 64 デフォルトの名無しさん 2023/09/26(火) 09:36
以前Javaのユーザグループミーティングに出席した際、James Gosling(Javaの生みの親)がメインの講演者として招かれていました。
すばらしいQ&Aセッションの途中に、こんな質問が出ました。
「もう一度最初からJavaを作り直すとしたら、どこを変更したいですか?」
答えは「クラスを除外するでしょうね」というものでした。
笑いが静まった後、彼が説明したのは、本当の問題はクラス自体ではなく実装継承(extendsの関係)なのだということでした。
インターフェースによる継承(implementsの関係)のほうが望ましいのです。できる限り実装継承は避けたほうがよいでしょう。
以前Javaのユーザグループミーティングに出席した際、James Gosling(Javaの生みの親)がメインの講演者として招かれていました。
すばらしいQ&Aセッションの途中に、こんな質問が出ました。
「もう一度最初からJavaを作り直すとしたら、どこを変更したいですか?」
答えは「クラスを除外するでしょうね」というものでした。
笑いが静まった後、彼が説明したのは、本当の問題はクラス自体ではなく実装継承(extendsの関係)なのだということでした。
インターフェースによる継承(implementsの関係)のほうが望ましいのです。できる限り実装継承は避けたほうがよいでしょう。
103デフォルトの名無しさん
2023/11/04(土) 09:32:49.65ID:6irn+b/+ やっぱりコミットするならシープラだなとおもいました
104デフォルトの名無しさん
2023/11/04(土) 09:56:14.27ID:/2/myesZ その論法に乗っかってやると過去の
言語のパラダイム変化はどうやって起きたのか
謎になるな
言語のパラダイム変化はどうやって起きたのか
謎になるな
105デフォルトの名無しさん
2023/11/04(土) 09:59:34.34ID:eaDg3ztu >>93
>GUIはクラス継承要らないだろ
要るか要らないかという話はしてないよ
1) Elixir、Go、Julia、Nim、Rust、Zig
2) Kotlin、Swift
1)の言語でGUI作れなくはないけど実際に作る開発者がかなり少ない
逆に2)の言語は大半の開発者がGUIを作ってる
それには理由があるということ
もっと言えばクラス継承的な機能の有無はトレードオフだからそれを理解しましょうねという話
>GUIはクラス継承要らないだろ
要るか要らないかという話はしてないよ
1) Elixir、Go、Julia、Nim、Rust、Zig
2) Kotlin、Swift
1)の言語でGUI作れなくはないけど実際に作る開発者がかなり少ない
逆に2)の言語は大半の開発者がGUIを作ってる
それには理由があるということ
もっと言えばクラス継承的な機能の有無はトレードオフだからそれを理解しましょうねという話
106デフォルトの名無しさん
2023/11/04(土) 10:34:34.64ID:2TRtrAOp 多くの高機能webサイトはGUIアプリと言って良いと思うが
ts jsのクラス機能はあるけど使わないな
ts jsのクラス機能はあるけど使わないな
107デフォルトの名無しさん
2023/11/04(土) 10:49:05.41ID:XpaBBm0T やっぱりRustが最強だなっておもいました
108デフォルトの名無しさん
2023/11/04(土) 11:16:32.88ID:qG8ydW8y 最強はRust世代
俺のおかんはC++
俺のおかんはC++
109デフォルトの名無しさん
2023/11/04(土) 12:01:10.23ID:vTgEadDD110デフォルトの名無しさん
2023/11/04(土) 12:09:00.72ID:vTgEadDD111デフォルトの名無しさん
2023/11/04(土) 12:27:39.60ID:KPpuxUox オブジェクト(classじゃなくてstructで良い)があって
正しい型指定で正しく関数が呼ばれてれば
クラス継承なんて要らないんだよな
別に禁止というほど厳しくやらなくても自然とそうなる
正しい型指定で正しく関数が呼ばれてれば
クラス継承なんて要らないんだよな
別に禁止というほど厳しくやらなくても自然とそうなる
112デフォルトの名無しさん
2023/11/04(土) 12:29:16.51ID:KPpuxUox C++ の template なんてあれオブジェクト指向じゃねーし
113デフォルトの名無しさん
2023/11/04(土) 12:35:18.44ID:eFHrirh7 >>105
KotlinとSwiftは最初からGUIアプリをターゲットにしてるしそれ以外の分野では全然使われてないような
KotlinとSwiftは最初からGUIアプリをターゲットにしてるしそれ以外の分野では全然使われてないような
114デフォルトの名無しさん
2023/11/04(土) 16:44:29.40ID:qG8ydW8y いまさら人に聞けない
悪い継承ってのがわからなくなった
継承おぼえたてて(一人プロジェクトが)めちゃくちゃになった経験ならあるけど、そうじゃなくてこう
悪い継承ってのがわからなくなった
継承おぼえたてて(一人プロジェクトが)めちゃくちゃになった経験ならあるけど、そうじゃなくてこう
115デフォルトの名無しさん
2023/11/04(土) 17:10:03.05ID:S8hti0fw クラス継承は必要
オブジェクト指向を理解できないのはただのザコ
オブジェクト指向を理解できないのはただのザコ
116デフォルトの名無しさん
2023/11/04(土) 18:03:19.84ID:rn/KP434117デフォルトの名無しさん
2023/11/04(土) 18:26:15.51ID:EmvA1J0P 言語開発者が設計した基底クラス以外の継承はいらないんじゃないかなぁ
118デフォルトの名無しさん
2023/11/04(土) 18:26:28.96ID:p6vbmy4R rust以外上がり目なさそうな言語たちで草
119デフォルトの名無しさん
2023/11/04(土) 18:42:09.44ID:vTgEadDD Rustも同じく普及戦略を誤った言語だよ
120デフォルトの名無しさん
2023/11/04(土) 19:41:01.77ID:hPdVOFaj Pythonスーパーセットのmojoにこのまま成長してほしいけどシープラRustの競合にはならないか
121デフォルトの名無しさん
2023/11/04(土) 19:51:27.75ID:Is+FXxYG mojoはAI関連の高速化を狙ったものだろうから限定的な利用になりそう
122デフォルトの名無しさん
2023/11/04(土) 21:29:47.46ID:9ClykILV 結局ユーザーが欲しかったのは「ポインタのないC++」であって所有権やtraitみたいな使いづらい独自機能じゃなかったんだよなあ
123デフォルトの名無しさん
2023/11/04(土) 22:19:37.19ID:+CP/CRpL124デフォルトの名無しさん
2023/11/05(日) 10:25:09.84ID:ol9bMVcc125デフォルトの名無しさん
2023/11/05(日) 11:09:33.12ID:JT3Ktc4T それって継承するようなもんかね
126デフォルトの名無しさん
2023/11/05(日) 11:48:56.89ID:8w5QKIdz 精度の違いであって継承関係無いな。
むしろ継承したらダメなやつ。
共通のインターフェースを用意するのが普通。
むしろ継承したらダメなやつ。
共通のインターフェースを用意するのが普通。
127デフォルトの名無しさん
2023/11/05(日) 12:19:51.94ID:pw4Q0c9f パフォーマンスを度外視するなら
浮動小数点数型をfloatとdoubleの両方とも継承するのが自然かなぁ
浮動小数点数型をfloatとdoubleの両方とも継承するのが自然かなぁ
128デフォルトの名無しさん
2023/11/05(日) 17:32:34.60ID:vp0BWznn129デフォルトの名無しさん
2023/11/05(日) 19:27:50.24ID:aeGT2yJ/130デフォルトの名無しさん
2023/11/05(日) 19:50:12.60ID:o9vKIGF+ >>129
同じくらいたくさん反例を挙げようよ
同じくらいたくさん反例を挙げようよ
131デフォルトの名無しさん
2023/11/06(月) 04:14:47.70ID:m6bVjB7O132デフォルトの名無しさん
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の勝ち
Rust+Pythonはかなり良い
Rust+Cが最強
Rust+C++は最悪
Nimとの相性で言えば
Nim+Pythonはとても良い
Nim+Cが最強
Nim+C++も最強
Nimの勝ち
134デフォルトの名無しさん
2023/11/06(月) 10:16:59.00ID:UjpY0LiG135デフォルトの名無しさん
2023/11/06(月) 14:46:38.23ID:DT4BUOTR テンプレートパターンやるにしても今は継承よりもクロージャで渡す方がわかりやすいって話やね。
まあどっちにしろ低レイヤー言語だとオブジェクトの解放タイミングとか気にしてめんどくさくはなるが。
まあどっちにしろ低レイヤー言語だとオブジェクトの解放タイミングとか気にしてめんどくさくはなるが。
136デフォルトの名無しさん
2023/11/06(月) 14:50:37.11ID:mJLQiI1M Nimちゃんに行くわ
RUSTとかクソゲーみたい
RUSTとかクソゲーみたい
137デフォルトの名無しさん
2023/11/06(月) 15:23:25.15ID:X0T3Y72w C++/Rustと比べて何もかも劣るNimは選択肢に上がることがない
138デフォルトの名無しさん
2023/11/06(月) 18:05:43.27ID:BlmWAswu139デフォルトの名無しさん
2023/11/06(月) 18:18:33.08ID:mZ9CqDyY C++は仕様などがugly
Rustはbeauty
Rustはbeauty
140デフォルトの名無しさん
2023/11/06(月) 18:45:27.89ID:Yw0Fs1sT >>138
お前もかなりのザコだぞ
お前もかなりのザコだぞ
141デフォルトの名無しさん
2023/11/06(月) 19:58:38.94ID:2NClhQZD >>137
文法はNimの圧勝。
文法はNimの圧勝。
142デフォルトの名無しさん
2023/11/06(月) 21:52:22.89ID:xwaCKIbt Nimの唯一のメリットがPythonに似た文法と言われているが
このスレの住人はそれをメリットと感じない
このスレの住人はそれをメリットと感じない
143デフォルトの名無しさん
2023/11/06(月) 22:00:03.84ID:juqSJt+O 何でお前が住人を代表してるの?w
144デフォルトの名無しさん
2023/11/06(月) 22:14:50.32ID:BFZIHaDs 複オジ代表チーっすw
145デフォルトの名無しさん
2023/11/06(月) 23:09:22.63ID:m6bVjB7O まあ複おじ隔離スレなんだから代表は複おじでいいんじゃない?
146デフォルトの名無しさん
2023/11/06(月) 23:55:02.14ID:X0T3Y72w >>141
インデントではなく波括弧でブロックを表すのが好まれている多数派
インデントではなく波括弧でブロックを表すのが好まれている多数派
147デフォルトの名無しさん
2023/11/07(火) 07:52:40.08ID:Z7KocuHY >>146
c世代はそうだけど、pythonユーザーの方が多い現在はインデントブロックの方が主流。じゃなきゃYAMLとか流行らん。
LISPも丸括弧使ってるけどインデントブロック風の整形しているし、波括弧ブロックが多数派とは思えん。
c世代はそうだけど、pythonユーザーの方が多い現在はインデントブロックの方が主流。じゃなきゃYAMLとか流行らん。
LISPも丸括弧使ってるけどインデントブロック風の整形しているし、波括弧ブロックが多数派とは思えん。
148デフォルトの名無しさん
2023/11/07(火) 09:16:54.55ID:YntbMeAj 詭弁 - Wikipedia
https://ja.wikipedia.org/wiki/%E8%A9%AD%E5%BC%81
https://ja.wikipedia.org/wiki/%E8%A9%AD%E5%BC%81
149デフォルトの名無しさん
2023/11/07(火) 09:19:09.61ID:YNljO5VY >>147
どさくさに紛れてYAMLを流行り扱いすんなやww
どさくさに紛れてYAMLを流行り扱いすんなやww
150デフォルトの名無しさん
2023/11/07(火) 09:23:10.10ID:pJrSerDn Pythonみたいなインデントずれたら明後日の動きする様な言語は欠損言語だろ
151デフォルトの名無しさん
2023/11/07(火) 09:32:16.68ID:IkuZHVo7 「Linux」メンテナーの燃え尽き症候群問題--業務内容の変化と支援の必要性
https://japan.zdnet.com/article/35210969/
Corbet氏は「Rust」言語がLinux開発で採用されたことについて歓迎しているものの、これによってメンテナーにさらなる負担がかかるようにもなるとした。同氏は、「カーネルメンテナーを務める以上、Rust言語で記述されたコードのマージ依頼も受け取ることになるため、同言語に対する極めて深い知識が必要となる(中略)既に多忙を極め、自らの仕事量に圧倒されているメンテナーに対して、この新言語の学習を求めるのは酷というものだ。このため、この点は今後、問題となりそうだ」と述べた。
https://japan.zdnet.com/article/35210969/
Corbet氏は「Rust」言語がLinux開発で採用されたことについて歓迎しているものの、これによってメンテナーにさらなる負担がかかるようにもなるとした。同氏は、「カーネルメンテナーを務める以上、Rust言語で記述されたコードのマージ依頼も受け取ることになるため、同言語に対する極めて深い知識が必要となる(中略)既に多忙を極め、自らの仕事量に圧倒されているメンテナーに対して、この新言語の学習を求めるのは酷というものだ。このため、この点は今後、問題となりそうだ」と述べた。
152デフォルトの名無しさん
2023/11/07(火) 09:58:24.32ID:KQXk8Lyc153デフォルトの名無しさん
2023/11/07(火) 10:27:17.78ID:sAtxR3nB インデントより会話の論点を揃えないとな
154デフォルトの名無しさん
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%)と続いた。
「Offers」登録者調査
ITエンジニア/デザイナーの副業・転職サービス「Offers」を提供するoverflowは、
同社が運営する「Offersデジタル人材総研」にて「リモートワーク実態調査2023」
を公表した。
これによると、リモートワークになり、5人に1人が引っ越したと回答した。そのうち、
現職でリモートワーク制度が削減・廃止された場合、「転職や別案件を探す」という
回答が44.0%にものぼった。一方「会社と交渉する」という回答は40.0%、
「引っ越さず受け入れる」が12.0%となった。
さらにリモートワークを希望している理由として「通勤時間が無駄だと感じている」が
87.7%でトップとなった。このほか「個人の時間ができる」(62.3%)、「副業を続け
やすいから」(39.6%)、「子育てができる」(35.8%)と続いた。
156デフォルトの名無しさん
2023/11/07(火) 16:44:22.56ID:K3Q4DPSx > Pythonみたいなインデントずれたら明後日の動きする様な言語は欠損言語だろ
ほんとこれ
> インデントより会話の論点を揃えないとな
ほんとこれ
ほんとこれ
> インデントより会話の論点を揃えないとな
ほんとこれ
157デフォルトの名無しさん
2023/11/07(火) 16:48:16.87ID:r4VgdGvO158デフォルトの名無しさん
2023/11/07(火) 17:52:17.78ID:yNm6SVJF 正直食わず嫌いなんだが、あのインデント式、慣れない悪寒しかしない
yaml書かされるけど、おっかなびっくりだわ
yaml書かされるけど、おっかなびっくりだわ
159デフォルトの名無しさん
2023/11/07(火) 18:32:13.35ID:WwhMyV/o ifとかforがネストしてるときに論理構成変えたときに
ぐちゃぐちゃになったりしないの?
ぐちゃぐちゃになったりしないの?
160デフォルトの名無しさん
2023/11/07(火) 19:03:13.54ID:nOWHHYht コピペした時困るのはあるけど
そんなネスト深いところにコピペする時点でコードが終わってるのだろう
そんなネスト深いところにコピペする時点でコードが終わってるのだろう
161デフォルトの名無しさん
2023/11/07(火) 19:24:21.76ID:RqjiUzBc あっちのファイルはスペースで、こっちのファイルはタブでそれぞれインデントしてるとかw
更に同じファイル内でスペースとタブが混在したインデントしてるとかw
更に同じファイル内でスペースとタブが混在したインデントしてるとかw
162デフォルトの名無しさん
2023/11/07(火) 21:26:08.28ID:cNgR9CBR シープラの文法が醜いってとこまで合意できてるってことでいいかな
163デフォルトの名無しさん
2023/11/07(火) 22:35:55.75ID:irgQLNGX >>162
ダメなのはNim
ダメなのはNim
164デフォルトの名無しさん
2023/11/07(火) 23:28:55.99ID:hgNhDI9g 長いだけあって、いくらでも悪く書ける
165デフォルトの名無しさん
2023/11/07(火) 23:29:26.17ID:zgo9bT4J166デフォルトの名無しさん
2023/11/07(火) 23:40:27.67ID:laLhHNQt >>162
インデント構文はその醜さを完全に理解した親切な人が書くとわりとマシに読めるって話なら同意できる
インデント構文はその醜さを完全に理解した親切な人が書くとわりとマシに読めるって話なら同意できる
167デフォルトの名無しさん
2023/11/08(水) 07:17:12.54ID:W3To02R9 >>163
Nimの文法が駄目ならRustは産業廃棄物だな。
Nimの文法が駄目ならRustは産業廃棄物だな。
168デフォルトの名無しさん
2023/11/08(水) 09:28:37.50ID:G1poaB6X >>167
最初からそう言ってますよね
最初からそう言ってますよね
169デフォルトの名無しさん
2023/11/08(水) 10:02:49.03ID:RamzJ36x170デフォルトの名無しさん
2023/11/08(水) 10:07:20.75ID:QixgdFmt Rustが最も美しいけどC++に比べたらPythonの方がまし
171デフォルトの名無しさん
2023/11/08(水) 10:21:07.20ID:rqy+WU7a cppは汚らしい
172デフォルトの名無しさん
2023/11/08(水) 10:34:17.23ID:K2ksJD7C あれがいいんだぞ
でも、template<>のごちゃっとしてるのは苦手
でも、template<>のごちゃっとしてるのは苦手
173デフォルトの名無しさん
2023/11/08(水) 10:49:02.95ID:MFNjLgBF NimはPython由来の文法が多い中でprocヘッダーの区切りをわざわざ=記号にしたのは何でなの?
174デフォルトの名無しさん
2023/11/08(水) 11:13:52.74ID:U7ghqgyy 痘痕もエクボっていうしずっと使ってると美しく見えるのかもしれん
始祖のハゲ散らかしもイケオジに見えるのかもしれん
始祖のハゲ散らかしもイケオジに見えるのかもしれん
175デフォルトの名無しさん
2023/11/08(水) 11:26:24.47ID:088wzVve >>173
macro
macro
176デフォルトの名無しさん
2023/11/08(水) 12:07:42.23ID:fBbSHd4U >>175
関係ないやろ
関係ないやろ
177デフォルトの名無しさん
2023/11/08(水) 13:10:09.47ID:l0v/WxBk >>169
BSD
BSD
178デフォルトの名無しさん
2023/11/08(水) 14:09:53.13ID:qh/Yreq5 Nimは継承あるじゃん
だれか突っ込めよ
複オジ嘘つき放題じゃねーか
だれか突っ込めよ
複オジ嘘つき放題じゃねーか
179デフォルトの名無しさん
2023/11/08(水) 14:45:54.44ID:7EPaeHp0 Nim使ってる時点でセンスがないからな
180デフォルトの名無しさん
2023/11/08(水) 15:29:55.01ID:9/Sq9IWJ Nimはクラスがないため当然クラス継承もない
181デフォルトの名無しさん
2023/11/08(水) 15:41:40.86ID:hsKTrqcL このスレの半分は複オジのウソで出来ています。
用法・用量を守って正しくご使用下さい。
用法・用量を守って正しくご使用下さい。
182デフォルトの名無しさん
2023/11/08(水) 15:50:23.42ID:J3/ZiO6G 複おじってニートでしょ?
なんか我々と対等に喋れること自体がとんでもない体験なんだし
もっと感謝して欲しいね
なんか我々と対等に喋れること自体がとんでもない体験なんだし
もっと感謝して欲しいね
183デフォルトの名無しさん
2023/11/08(水) 17:01:15.09ID:wMkAKLer C++er的にC23ってどうなの?
184デフォルトの名無しさん
2023/11/08(水) 17:32:19.27ID:K2ksJD7C #embed はあると安心 ないとやっぱり一手間かかる
clangではできてたっぽいけど(VC派
clangではできてたっぽいけど(VC派
185デフォルトの名無しさん
2023/11/08(水) 17:35:31.79ID:orrrVPZ2 >>180
www
www
186デフォルトの名無しさん
2023/11/08(水) 18:12:04.23ID:J3/ZiO6G >>180
クラス継承だけが継承ではないのだけどね
クラス継承だけが継承ではないのだけどね
187デフォルトの名無しさん
2023/11/08(水) 19:11:51.53ID:BxyJgb4P 有害とされているのはクラスの継承
それ以外の継承はあってもいい
それ以外の継承はあってもいい
188デフォルトの名無しさん
2023/11/08(水) 19:13:26.39ID:mR96+8QE >>182
とニートが申しております
とニートが申しております
189デフォルトの名無しさん
2023/11/08(水) 20:13:44.98ID:ow8V8oTj 有害なのは多重継承では?
単一継承はいいでしょ
単一継承はいいでしょ
190デフォルトの名無しさん
2023/11/08(水) 20:15:54.45ID:dNhK+uJb 綺麗に書けるならという条件がつく
本来、綺麗に階層化するのが目的だったのが、どうしてもごちゃついてしまう
基本にして難 それが継承
って感じでいい?
本来、綺麗に階層化するのが目的だったのが、どうしてもごちゃついてしまう
基本にして難 それが継承
って感じでいい?
191デフォルトの名無しさん
2023/11/08(水) 20:28:47.14ID:dEbgw7JQ >>189
大抵は駄目。
継承は「インターフェイスの共有」という外部との契約と、「実装の共有」という内部との契約をごっちゃにしているから、すぐに設計がごちゃごちゃになる。
内部と外部は明確に分離したほうが手間がかかるが問題になりにくい。
大抵は駄目。
継承は「インターフェイスの共有」という外部との契約と、「実装の共有」という内部との契約をごっちゃにしているから、すぐに設計がごちゃごちゃになる。
内部と外部は明確に分離したほうが手間がかかるが問題になりにくい。
192デフォルトの名無しさん
2023/11/08(水) 20:35:51.69ID:57OVemIO クラス継承では複数の機能を継承したくなった時に多重継承が起きてしまう
多重継承を避けるには使うすべての機能を巨大なツリー関係に押し込める本末転倒な事態になる
多重継承を避けるには使うすべての機能を巨大なツリー関係に押し込める本末転倒な事態になる
193デフォルトの名無しさん
2023/11/08(水) 20:37:37.21ID:5gc/7Ny5 >継承は「インターフェイスの共有」という外部との契約と、「実装の共有」という内部との契約をごっちゃにしている
Nimの継承にも同じことが当てはまるけど
Nimにはクラスはないから有害じゃないという主張でいいのかな?
Nimの継承にも同じことが当てはまるけど
Nimにはクラスはないから有害じゃないという主張でいいのかな?
194デフォルトの名無しさん
2023/11/08(水) 20:53:57.66ID:7EPaeHp0195デフォルトの名無しさん
2023/11/08(水) 21:01:44.80ID:dEbgw7JQ >>193
理想は継承なしの共通インターフェイス。継承自体いらん。
原理的には同じメソッドを持つのならどんなインスタンスでも同じインターフェイスで扱えるから、継承を使って扱えるインターフェイスを制限するのは「早すぎる最適化」としかいえん。
理想は継承なしの共通インターフェイス。継承自体いらん。
原理的には同じメソッドを持つのならどんなインスタンスでも同じインターフェイスで扱えるから、継承を使って扱えるインターフェイスを制限するのは「早すぎる最適化」としかいえん。
196デフォルトの名無しさん
2023/11/08(水) 21:07:15.90ID:5ONqWRVX 多重継承って本当に悪か?
多重継承を使う前に周りに悪って教え込まれたので
これまで本格的に使ったことはないのだが
みんなは酷い目にあったことあるかい?
敢えて「多重継承=悪」思考停止論を提起したい
多重継承を使う前に周りに悪って教え込まれたので
これまで本格的に使ったことはないのだが
みんなは酷い目にあったことあるかい?
敢えて「多重継承=悪」思考停止論を提起したい
197デフォルトの名無しさん
2023/11/08(水) 21:20:08.15ID:orrrVPZ2 有用なものを何も生み出せない
目的と手段を履き違えた無能たちの知識バトルロワイヤル
目的と手段を履き違えた無能たちの知識バトルロワイヤル
198デフォルトの名無しさん
2023/11/08(水) 21:23:09.85ID:wwLvTPFi 現在動作してる過去のシステムを捨てるわけにいかない状況で、新しい共通システムを書くには継承がいいと思うけど
どうなんでしょう?素人考えなんですけど。
どうなんでしょう?素人考えなんですけど。
199デフォルトの名無しさん
2023/11/08(水) 21:23:13.22ID:WEquhdeD オブジェクト指向のメリットってホントにメリットなんだろうか?
200デフォルトの名無しさん
2023/11/08(水) 21:35:45.96ID:JLAEJM24201デフォルトの名無しさん
2023/11/08(水) 21:56:55.44ID:cf3mLuef オブジェクト指向 ⊃ クラスの使用 ⊃ クラス継承の使用
オブジェクト指向自体は問題ない
クラスの使用も継承を用いなければ問題ないが
クラスと他との違いはクラス継承にあるように本質がその継承機能にあるため
クラス自体を無くしたプログラミング言語が最近は多数派となった
オブジェクト指向自体は問題ない
クラスの使用も継承を用いなければ問題ないが
クラスと他との違いはクラス継承にあるように本質がその継承機能にあるため
クラス自体を無くしたプログラミング言語が最近は多数派となった
202デフォルトの名無しさん
2023/11/08(水) 22:24:24.52ID:5ONqWRVX203デフォルトの名無しさん
2023/11/08(水) 22:32:30.66ID:5gc/7Ny5204デフォルトの名無しさん
2023/11/08(水) 22:52:12.05ID:W3To02R9205デフォルトの名無しさん
2023/11/08(水) 23:04:09.93ID:08jT+y3p >継承は「インターフェイスの共有」という外部との契約と、「実装の共有」という内部との契約をごっちゃにしている
もう一つ付け加えると↑これはデフォルト実装のあるTraitやインターフェースにも同じことが当てはまる
でもインターフェースのデフォルト実装を有害と言う人は少ない
なぜだろうね?
もう一つ付け加えると↑これはデフォルト実装のあるTraitやインターフェースにも同じことが当てはまる
でもインターフェースのデフォルト実装を有害と言う人は少ない
なぜだろうね?
206デフォルトの名無しさん
2023/11/08(水) 23:45:38.02ID:wMkAKLer 特殊事情持ち出して一般論を語るな。
例外的なのが無いとでも思ってるのか
例外的なのが無いとでも思ってるのか
207デフォルトの名無しさん
2023/11/08(水) 23:46:51.04ID:dNhK+uJb 最初はきれいなんだよ、最初は
208デフォルトの名無しさん
2023/11/08(水) 23:59:18.59ID:57OVemIO209デフォルトの名無しさん
2023/11/09(木) 11:54:56.82ID:Fo7n9qIp >>196
iostream観たら判るし
iostream観たら判るし
210デフォルトの名無しさん
2023/11/09(木) 12:57:22.06ID:vs5NVBb2 >>194
SOLIDは名前しか知らないがライブラリのクラスを拡張するときは継承あると便利だけどな
コンポジションだとゲッターかプロパティでライブラリクラスのオブジェクト取得しないといけないし面倒じゃない?
SOLIDは名前しか知らないがライブラリのクラスを拡張するときは継承あると便利だけどな
コンポジションだとゲッターかプロパティでライブラリクラスのオブジェクト取得しないといけないし面倒じゃない?
211デフォルトの名無しさん
2023/11/09(木) 15:49:49.48ID:Nh0igmG8212デフォルトの名無しさん
2023/11/09(木) 16:57:59.50ID:vs5NVBb2 >>211
ゴミコードは沢山書いてきたが継承使う時はほどほどにしてるからな
あまりゴミ化はしたことないな
SOLIDは概念が難しかったがこれって継承の複雑さが出ちゃってるね
継承はもっとシンプルに使わないと
ゴミコードは沢山書いてきたが継承使う時はほどほどにしてるからな
あまりゴミ化はしたことないな
SOLIDは概念が難しかったがこれって継承の複雑さが出ちゃってるね
継承はもっとシンプルに使わないと
213デフォルトの名無しさん
2023/11/09(木) 17:02:28.18ID:Nh0igmG8 >>212
継承がなければSOLIDなんてほぼ考えなくて良いからね
「インターフェース分離の原則」あたりさえ気にしていれば問題ないし
モダンな言語ならインターフェースは言語のコアとして搭載されてる
継承を無くすることでSOLID原則みたいな面倒なことを考えなくても良いし
コードもシンプルになるしメリットしかない
だから最近の言語では継承がない
これがモダンな言語では継承が存在しない理由
継承がなければSOLIDなんてほぼ考えなくて良いからね
「インターフェース分離の原則」あたりさえ気にしていれば問題ないし
モダンな言語ならインターフェースは言語のコアとして搭載されてる
継承を無くすることでSOLID原則みたいな面倒なことを考えなくても良いし
コードもシンプルになるしメリットしかない
だから最近の言語では継承がない
これがモダンな言語では継承が存在しない理由
214デフォルトの名無しさん
2023/11/09(木) 17:17:08.18ID:wF5VsxRz >継承がなければSOLIDなんてほぼ考えなくて良いからね
おいおいw
揃いも揃って何なんだここは
おいおいw
揃いも揃って何なんだここは
215デフォルトの名無しさん
2023/11/09(木) 17:41:32.22ID:Nh0igmG8216デフォルトの名無しさん
2023/11/09(木) 17:53:14.45ID:apZquDee Lだけだろ
217デフォルトの名無しさん
2023/11/09(木) 18:02:47.11ID:Nh0igmG8 S 継承がなければ単一にしかなりようがない
O 継承がなければ勝手に追加も削除も容易
L 継承がなければ置換もクソもない
I 継承がなければインターフェースなんていくらでも分離できる
D 言わずもがな
継承があるからこの原則は生きる
つまり継承の悪い部分を避けるための
オブジェクト指向の原則
その知識は何のためにあるのか?
きちんと自分の頭で考えよう
それが知恵というものだ
O 継承がなければ勝手に追加も削除も容易
L 継承がなければ置換もクソもない
I 継承がなければインターフェースなんていくらでも分離できる
D 言わずもがな
継承があるからこの原則は生きる
つまり継承の悪い部分を避けるための
オブジェクト指向の原則
その知識は何のためにあるのか?
きちんと自分の頭で考えよう
それが知恵というものだ
218デフォルトの名無しさん
2023/11/09(木) 18:06:49.12ID:Nh0igmG8 オブジェクト指向の全ての悪は継承にあり
DIなんかもこの悪を退治するための刃だ
継承こそがソフトウェアをゴミ化し
変更をしにくくする悪魔👿なのだ
この事実を誰も指摘してないことは驚愕に値する
オブジェクト指向はオワコンとかいう人に限って何が悪なのか明示的に指摘できていない
DIなんかもこの悪を退治するための刃だ
継承こそがソフトウェアをゴミ化し
変更をしにくくする悪魔👿なのだ
この事実を誰も指摘してないことは驚愕に値する
オブジェクト指向はオワコンとかいう人に限って何が悪なのか明示的に指摘できていない
219デフォルトの名無しさん
2023/11/09(木) 18:07:38.95ID:Nh0igmG8 俺ははっきりと言う
継承こそが全ての間違いの始まりだと
継承こそが全ての間違いの始まりだと
220デフォルトの名無しさん
2023/11/09(木) 18:09:54.14ID:Nh0igmG8 はるか昔「オブ脳」という概念があった
全てをオブジェクト指向で考えようというものだ
まずベースクラスを考えて〜
いやちょい待ち
その発想がまず間違っている
なんでベースクラスを最初から考えられると思った?
そんなことは神でもできない
そのようなオブ脳🧠こそゴミエンジニアへの入り口
幸いモダンな言語は継承を排除した
英断だと思う
全てをオブジェクト指向で考えようというものだ
まずベースクラスを考えて〜
いやちょい待ち
その発想がまず間違っている
なんでベースクラスを最初から考えられると思った?
そんなことは神でもできない
そのようなオブ脳🧠こそゴミエンジニアへの入り口
幸いモダンな言語は継承を排除した
英断だと思う
221デフォルトの名無しさん
2023/11/09(木) 18:13:43.54ID:Nh0igmG8 モダンな言語に置いては
インターフェース(トレイトとか制約とかプロトコルとか言語によって名前は違うが本質は同じ)
ありきで考える
言語のコアもインターフェース前提で設計されている
誰もベースクラスガーとか考えない
まずインターフェース考えよ、となる
そしてそのインターフェースを満たすための構造を考える
こうすることでデータがシンプルになり
頭を悩ますことが減る
これは業務ロジックでも同じ
インターフェースから考えよ
インターフェース(トレイトとか制約とかプロトコルとか言語によって名前は違うが本質は同じ)
ありきで考える
言語のコアもインターフェース前提で設計されている
誰もベースクラスガーとか考えない
まずインターフェース考えよ、となる
そしてそのインターフェースを満たすための構造を考える
こうすることでデータがシンプルになり
頭を悩ますことが減る
これは業務ロジックでも同じ
インターフェースから考えよ
222デフォルトの名無しさん
2023/11/09(木) 18:24:54.65ID:46vHv3J3 solidが面倒ってのもよくわからんな
223デフォルトの名無しさん
2023/11/09(木) 18:28:01.90ID:GxZAPNre このスレの半分は複オジのウソで出来ています。
用法・用量を守って正しくご使用下さい。
用法・用量を守って正しくご使用下さい。
224デフォルトの名無しさん
2023/11/09(木) 18:41:12.35ID:hICX9By2 「それは、継承から始まった。」っていう世代の資産がまだまだあるからね
自分用には、継承を、きれいに書けるようになりたい
C++から逃げるな
自分用には、継承を、きれいに書けるようになりたい
C++から逃げるな
225デフォルトの名無しさん
2023/11/09(木) 19:19:30.86ID:Jqv+rt1P 継承を綺麗に書けないバカの断末魔ww
226デフォルトの名無しさん
2023/11/09(木) 19:22:43.00ID:Nh0igmG8 断末魔で結構
継承カッケーと思ってるエンジニアにどどいてくれ
継承カッケーと思ってるエンジニアにどどいてくれ
227デフォルトの名無しさん
2023/11/09(木) 19:23:51.89ID:Nh0igmG8 ソフトウェア業界における設計失敗2選
1.ヌルポ
2.継承
1.ヌルポ
2.継承
228デフォルトの名無しさん
2023/11/09(木) 19:28:25.39ID:hICX9By2 ぬるぽは原始より居ただろ
飼い慣らせない人間が悪い(俺を含む
飼い慣らせない人間が悪い(俺を含む
229デフォルトの名無しさん
2023/11/09(木) 19:45:53.51ID:Nh0igmG8 ヌルポをなくしてOption型をデフォルトにすべきだった
コンパイラによるチェックを必須にすべきだったのよ
本当にこれだけのことで全てが変わった
コンパイラによるチェックを必須にすべきだったのよ
本当にこれだけのことで全てが変わった
230デフォルトの名無しさん
2023/11/09(木) 20:06:24.95ID:T10okj+l >>229
10年後に今の言語がどうけなされてるか言ってみ?
10年後に今の言語がどうけなされてるか言ってみ?
231デフォルトの名無しさん
2023/11/09(木) 20:26:38.28ID:GhU74Yg7 result型とoption型
rustだけがこの2つをデフォルトに採用した
生き残るのはrustだけ
rustだけがこの2つをデフォルトに採用した
生き残るのはrustだけ
232デフォルトの名無しさん
2023/11/09(木) 20:29:05.07ID:8vjWDFJE >>229
Object型じゃ型情報少なすぎるだろ。
全てのクラスにNullObjectを付けてnullptrを禁止すればマシになる。
あとインターフェイスはもっと制約を減らすべき。
c++テンプレートだと、テンプレート引数に指定するクラスはテンプレートについて何も知らなくていいけど、インターフェイスもそのレベルでクラス・インスタンスから切り離されているべきだ。
Object型じゃ型情報少なすぎるだろ。
全てのクラスにNullObjectを付けてnullptrを禁止すればマシになる。
あとインターフェイスはもっと制約を減らすべき。
c++テンプレートだと、テンプレート引数に指定するクラスはテンプレートについて何も知らなくていいけど、インターフェイスもそのレベルでクラス・インスタンスから切り離されているべきだ。
233デフォルトの名無しさん
2023/11/09(木) 20:57:20.45ID:PEX7rJUj > Object型じゃ型情報少なすぎるだろ。
> 全てのクラスにNullObjectを付けてnullptrを禁止すればマシになる
Object型ではなくOption型
全ての各型にNullObjectを付ける必要はなく
任意のT型に対してOption<T>型を用いればよい
Option<T>型の値はSome(Tの値)のNone二択
T型自体は決してNull値やNone値をとなってはいけなくここが肝要
> 全てのクラスにNullObjectを付けてnullptrを禁止すればマシになる
Object型ではなくOption型
全ての各型にNullObjectを付ける必要はなく
任意のT型に対してOption<T>型を用いればよい
Option<T>型の値はSome(Tの値)のNone二択
T型自体は決してNull値やNone値をとなってはいけなくここが肝要
234デフォルトの名無しさん
2023/11/09(木) 21:05:40.49ID:GhU74Yg7 ただジェネリクスやテンプレートがないCに追加するのは容易ではない
それほど罪深い仕様
それほど罪深い仕様
235デフォルトの名無しさん
2023/11/09(木) 22:19:33.09ID:/jR/7UWQ C++はまだ改良頑張ってるよ。
Cなんて、C11ぶり10年以上も改良してないとか酷すぎる。
Cなんて、C11ぶり10年以上も改良してないとか酷すぎる。
236デフォルトの名無しさん
2023/11/09(木) 22:33:55.61ID:U2tOOexp C23ってどうなったんだっけか
もう少し先?
もう少し先?
237デフォルトの名無しさん
2023/11/09(木) 23:32:03.13ID:alU/Ei+B SOLIDすら理解してないやつがRust推してるのか
呆れを通り越して悲しみを感じる
呆れを通り越して悲しみを感じる
238デフォルトの名無しさん
2023/11/09(木) 23:45:28.17ID:FlvKmVTx SOLID理解してない人はクラス継承派だからアンチRust側
239デフォルトの名無しさん
2023/11/09(木) 23:51:27.12ID:/jR/7UWQ >>236
新機能は決まって来年ISOから発行
新機能は決まって来年ISOから発行
240デフォルトの名無しさん
2023/11/10(金) 00:37:21.40ID:YpxZ8uto SOLIDもだが30年前から言われてるfavor composition over inheritanceの理由を理解してないのも呆れる
Rustの推し活する前にまずは基礎を学ぼうぜ
じゃないとどの言語使おうがゴミ量産するだけだぞ
Rustの推し活する前にまずは基礎を学ぼうぜ
じゃないとどの言語使おうがゴミ量産するだけだぞ
241デフォルトの名無しさん
2023/11/10(金) 02:22:01.34ID:bGIK0BM5 継承より合成とそうすべき理由を理解していないのはRustを叩いてる側だな
理解できないがためにいつまでもクラス継承に固執している
理解できないがためにいつまでもクラス継承に固執している
242デフォルトの名無しさん
2023/11/10(金) 05:15:36.99ID:bzX4P4Us 俺はRustも継承も嫌いじゃないんだが
SOLIDは難しいから苦手だけど
SOLIDは難しいから苦手だけど
243デフォルトの名無しさん
2023/11/10(金) 09:27:08.62ID:YqCm/hRG >>235
だからゴチャゴチャしてるんだ
だからゴチャゴチャしてるんだ
244デフォルトの名無しさん
2023/11/10(金) 09:40:56.20ID:aa+qv15K ついつい、機能を全部くらい使って書こうとしちゃうんだよね
複数世代のパラダイムが入ってるから、まぜるな危険
複数世代のパラダイムが入ってるから、まぜるな危険
245デフォルトの名無しさん
2023/11/10(金) 10:45:22.93ID:TCW8Ak5o C++はスマホやPCと同じだよ
昭和ジジイはすぐ「これが持つすべての機能をマスターしてすべて使いこなそう!」とか無意味な事を考え
そして挫折して「パソコンなんて憶えても意味はないっ!人間の尊厳はもっとシンプルなものにあるのだ!
パソコンをつかわずに人間らしい美しい生き方をしよう!」とかいいだす
スマホもPCも自分に必要な機能だけ憶えて使えばいいだけ
昭和ジジイはすぐ「これが持つすべての機能をマスターしてすべて使いこなそう!」とか無意味な事を考え
そして挫折して「パソコンなんて憶えても意味はないっ!人間の尊厳はもっとシンプルなものにあるのだ!
パソコンをつかわずに人間らしい美しい生き方をしよう!」とかいいだす
スマホもPCも自分に必要な機能だけ憶えて使えばいいだけ
246デフォルトの名無しさん
2023/11/10(金) 12:12:06.75ID:aa+qv15K s/パソコン/スマホ/g
247デフォルトの名無しさん
2023/11/10(金) 13:40:46.42ID:E5/tDr6w s/ジジイ/池沼/g
248デフォルトの名無しさん
2023/11/10(金) 15:25:54.34ID:nVu+/fuO かわいそうだな
継承が上手く書けないくらい頭おかしいと
継承が上手く書けないくらい頭おかしいと
249デフォルトの名無しさん
2023/11/10(金) 16:20:15.04ID:FL9N1XVu c++はどっちかというとフロントボンネット開けっ放しでエンジン丸出しにしたテスラって感じだけどな
250デフォルトの名無しさん
2023/11/10(金) 16:50:58.76ID:3Hc35zyY 【基礎解説】 メモリ利用を効率化! Modern C++のキモ「ムーブセマンティクス」
https://codezine.jp/article/detail/18574
https://codezine.jp/article/detail/18574
251デフォルトの名無しさん
2023/11/10(金) 16:51:19.99ID:tLf5vZ8S >>249
うまい例えのつもりなのか?
うまい例えのつもりなのか?
252デフォルトの名無しさん
2023/11/10(金) 16:55:26.35ID:SY+Dup8/ テスラ車にエンジンは付いてないけどな
253デフォルトの名無しさん
2023/11/10(金) 20:11:27.55ID:NL+wF9v3 エンジン無しでどうやって走るのかと
254デフォルトの名無しさん
2023/11/10(金) 20:21:08.16ID:VDRR6isO モーター
255デフォルトの名無しさん
2023/11/10(金) 20:21:28.96ID:eRO+Ebqf ガソリンエンジンか、エレクトリックエンジンかの違いだね
256デフォルトの名無しさん
2023/11/10(金) 20:33:46.45ID:POaaExM9 NTにもJetエンジン付いてるね 2色ある
257デフォルトの名無しさん
2023/11/10(金) 23:56:02.81ID:XAiSTtL/258デフォルトの名無しさん
2023/11/11(土) 00:01:12.93ID:woXaVSWq 発言のコンテキストを理解しようとしないからアホな結論に達するんだよなあ
259デフォルトの名無しさん
2023/11/11(土) 00:03:12.63ID:uDCEJA+a どうでもいいくだらない話題で延びるのは
上の方に消したいレスがあるとき
上の方に消したいレスがあるとき
260デフォルトの名無しさん
2023/11/11(土) 00:09:22.37ID:DbOeM/y4 消したいのはNimとSOLIDだろうな
261デフォルトの名無しさん
2023/11/11(土) 00:53:13.03ID:Qqt+MGf6 >>258
伝言ゲームで多くの人を介した後の情報にしか接しようとしない人はコンテキストとかわかんないんだよ
伝言ゲームで多くの人を介した後の情報にしか接しようとしない人はコンテキストとかわかんないんだよ
262デフォルトの名無しさん
2023/11/11(土) 00:54:21.99ID:CRU56Rbd アスペルガーはそういうのわからないよ
263デフォルトの名無しさん
2023/11/11(土) 01:19:19.80ID:PsmtBz7W Go/Rust/Elixir の3大言語は継承ない。
でも継承のある、Ruby の米国年収は、3大言語を超えた!
Ruby, Elixir : 9.3 万ドル
Go : 8.9
Rust : 8.7
多くの言語 : 6.5〜7
PHP : 5
Dart : 4.4
Ruby on Rails, AWS Solution Architect は13万ドルとか!
YouTube で有名な雑食系エンジニア・KENTA は、
初心者のキャリアパスは、Rails → Go だけと言ってる
文系のアホには全職種の中で唯一、Railsがチート職業!
でも継承のある、Ruby の米国年収は、3大言語を超えた!
Ruby, Elixir : 9.3 万ドル
Go : 8.9
Rust : 8.7
多くの言語 : 6.5〜7
PHP : 5
Dart : 4.4
Ruby on Rails, AWS Solution Architect は13万ドルとか!
YouTube で有名な雑食系エンジニア・KENTA は、
初心者のキャリアパスは、Rails → Go だけと言ってる
文系のアホには全職種の中で唯一、Railsがチート職業!
264デフォルトの名無しさん
2023/11/11(土) 07:03:04.53ID:6YPjiDGp265デフォルトの名無しさん
2023/11/11(土) 09:24:43.23ID:sUAuCE0K266デフォルトの名無しさん
2023/11/11(土) 09:40:11.96ID:fuGMacjx Rubyはないわ
ΚΕИТΑもないわ
ΚΕИТΑもないわ
267デフォルトの名無しさん
2023/11/11(土) 09:53:08.61ID:qMAq6GeL 継承を問題だと考えるならそう考える人が使わなきゃ良いだけで
言語仕様からなくす必要はなかったんだよ
他の機能との間に衝突が生じるというのなら無いのも分かるけど
ユーザの選択肢として継承はあるべきだった(発想が原理主義的なんだよね)
間口を狭めた結果ユーザー数は一向に増えない
ユーザー数が少なければユーザー数を増えないという負のスパイラルを抜け出せない
継承はあるものの手本を示すために標準ライブラリ(ってあるのかな?w)で
継承を使わないという方針を取るべきだったと思う
言語仕様からなくす必要はなかったんだよ
他の機能との間に衝突が生じるというのなら無いのも分かるけど
ユーザの選択肢として継承はあるべきだった(発想が原理主義的なんだよね)
間口を狭めた結果ユーザー数は一向に増えない
ユーザー数が少なければユーザー数を増えないという負のスパイラルを抜け出せない
継承はあるものの手本を示すために標準ライブラリ(ってあるのかな?w)で
継承を使わないという方針を取るべきだったと思う
268デフォルトの名無しさん
2023/11/11(土) 09:59:27.11ID:hCMtMwE+ >>263
Ruby使ってるサイトってまだあるの?
Ruby使ってるサイトってまだあるの?
269あぼーん
NGNGあぼーん
270デフォルトの名無しさん
2023/11/11(土) 12:33:28.67ID:8FSI241M >>269
サンキュー試してみる
サンキュー試してみる
271デフォルトの名無しさん
2023/11/11(土) 17:06:47.94ID:rVvrsmp3272デフォルトの名無しさん
2023/11/11(土) 17:17:53.08ID:rVvrsmp3 というか、型ごとにクラスであるか否かが決まるのか?
C++のclass C: public D {};はクラスだが、class C {};はクラスではないということになるのか?
動的型付け言語なら「値がクラスであるための条件」を定義することで何がクラスであるか定義する言語もあるが
(にしたって継承に依存しないだろうが)
静的型付け言語も含めた一般的な定義としては使えなさそうだ
C++のclass C: public D {};はクラスだが、class C {};はクラスではないということになるのか?
動的型付け言語なら「値がクラスであるための条件」を定義することで何がクラスであるか定義する言語もあるが
(にしたって継承に依存しないだろうが)
静的型付け言語も含めた一般的な定義としては使えなさそうだ
273デフォルトの名無しさん
2023/11/11(土) 17:56:27.75ID:8uzQmIun カプセル化などはクラス以外にも存在しクラスの固有機能ではない
クラスをクラスたらしめている要素は継承
Javaの生みの親が>>102で「Javaを作り直すとしたらクラスを除外したい」と発言した意図も、
その後に付加説明しているように「クラスを除外」とは「継承を除外」の意味としている
継承を使わないならクラスである必要はない
それがクラスごと除外した各モダン言語の意図だろう
クラスをクラスたらしめている要素は継承
Javaの生みの親が>>102で「Javaを作り直すとしたらクラスを除外したい」と発言した意図も、
その後に付加説明しているように「クラスを除外」とは「継承を除外」の意味としている
継承を使わないならクラスである必要はない
それがクラスごと除外した各モダン言語の意図だろう
274デフォルトの名無しさん
2023/11/11(土) 18:18:11.36ID:rtkZqGR9 >>269
友達にも教えてあげる
友達にも教えてあげる
275デフォルトの名無しさん
2023/11/11(土) 18:19:47.08ID:Mzt4UIrv 実装継承は菱形継承の問題もある
276デフォルトの名無しさん
2023/11/11(土) 18:28:45.74ID:mn5CSVOj 菱形は無理になくてもいい
…といいつつ、あとになって菱形になっちゃいましたもありうるんだろうしな
まあ積極的には使わん 人智を超えるw
…といいつつ、あとになって菱形になっちゃいましたもありうるんだろうしな
まあ積極的には使わん 人智を超えるw
277デフォルトの名無しさん
2023/11/11(土) 19:45:32.60ID:2HJkyP1v >>272
javascriptのprototypeに近いものをclassと思ってるんじゃないかな
javascriptのprototypeに近いものをclassと思ってるんじゃないかな
278デフォルトの名無しさん
2023/11/11(土) 20:07:27.33ID:Ig0qHM6i JavaScriptもC++と同じく実装継承だからアウトだろ
279デフォルトの名無しさん
2023/11/12(日) 00:15:34.52ID:EWqnRvOH >>268
Githubとかはまだ使ってるみたいだけど明らかに減ってきてる感あるね
Githubとかはまだ使ってるみたいだけど明らかに減ってきてる感あるね
280デフォルトの名無しさん
2023/11/12(日) 00:36:55.65ID:E93HrjVI >>267
ユーザー数と継承機能の有無は関係無いぞ
ユーザー数と継承機能の有無は関係無いぞ
281デフォルトの名無しさん
2023/11/12(日) 01:09:33.43ID:l8rhUXJt282デフォルトの名無しさん
2023/11/12(日) 01:59:57.74ID:daW7Mc+n エンジニアなら作ったもので勝負しろ
283デフォルトの名無しさん
2023/11/12(日) 02:41:28.74ID:E93HrjVI >>281
元になった言語があるかどうかじゃん。継承関係ねーじゃん。
元になった言語があるかどうかじゃん。継承関係ねーじゃん。
284デフォルトの名無しさん
2023/11/12(日) 04:42:06.75ID:yMP0yjCE >>281
全部ドマイナー
全部ドマイナー
285デフォルトの名無しさん
2023/11/12(日) 08:54:04.31ID:TrDrLjQN モダン言語=関数型ベースにボクの考えた似非オブジェクト指向追加するのが流行ってるだけって感じで終わってる
286デフォルトの名無しさん
2023/11/12(日) 09:00:27.54ID:EWqnRvOH とは言っても俺らより遥かに頭いい人が考えた結果だからな
287デフォルトの名無しさん
2023/11/12(日) 09:53:11.34ID:l8rhUXJt288デフォルトの名無しさん
2023/11/12(日) 09:57:24.71ID:l8rhUXJt289デフォルトの名無しさん
2023/11/12(日) 10:10:01.41ID:nDYms+cf ロゴがVAIOっぽくて草ァ
290デフォルトの名無しさん
2023/11/12(日) 10:24:30.80ID:l8rhUXJt 本家は英語のページがない
https://blueos.vivo.com/
https://blueos.vivo.com/
291デフォルトの名無しさん
2023/11/12(日) 11:24:34.62ID:yMP0yjCE292デフォルトの名無しさん
2023/11/12(日) 11:25:51.39ID:yMP0yjCE どうでもいいけど
ドマイナーってCmのことだね
ドマイナーってCmのことだね
293デフォルトの名無しさん
2023/11/12(日) 11:31:15.41ID:yMP0yjCE294デフォルトの名無しさん
2023/11/12(日) 11:32:56.85ID:CMeM7fMz 情熱的な曲ってCmベース多いよ
ドマイナーはドマイナーじゃない(豆
# そのギャグどっかで使おうっと
ドマイナーはドマイナーじゃない(豆
# そのギャグどっかで使おうっと
295デフォルトの名無しさん
2023/11/12(日) 11:34:44.94ID:CMeM7fMz 母数でかいし、まだまだ金回りいいしね cnをなめちゃだめだw
296デフォルトの名無しさん
2023/11/12(日) 11:39:24.18ID:l8rhUXJt297デフォルトの名無しさん
2023/11/12(日) 11:56:22.44ID:TjUPxwN+298デフォルトの名無しさん
2023/11/12(日) 12:50:23.87ID:gR0aPFqO Rustが浸透する可能性としてAIライブラリの充実がカギのような気がする。
ライブラリが充実すればマイコンへのAI実装が加速するかもしれないんじゃないかな?
ライブラリが充実すればマイコンへのAI実装が加速するかもしれないんじゃないかな?
299デフォルトの名無しさん
2023/11/12(日) 13:00:10.14ID:E93HrjVI300デフォルトの名無しさん
2023/11/12(日) 13:24:47.44ID:yMP0yjCE どうみても結果論で
Java に class も継承も無くて interface だけだったら
普及も糞も無かったはず
今の Rust より地位低かっただろう
Java に class も継承も無くて interface だけだったら
普及も糞も無かったはず
今の Rust より地位低かっただろう
301デフォルトの名無しさん
2023/11/12(日) 13:42:28.02ID:l8rhUXJt JavaはC++と文法を似せたことが初期でのユーザ獲得に効いたんだよ
ある程度ユーザ数を獲得したら
ユーザ数の多さがユーザ数の増加につながる
正のスパイラルが始まった
Rustはこの先生きのこれるかな?
ある程度ユーザ数を獲得したら
ユーザ数の多さがユーザ数の増加につながる
正のスパイラルが始まった
Rustはこの先生きのこれるかな?
302デフォルトの名無しさん
2023/11/12(日) 15:04:17.66ID:2kP6dQwH GoogleのC++スタイルガイドでも継承より合成が適切とあり
特に実装の多重継承は強く非推奨とある
C++には継承があるから積極的に使おうなんて話はない
特に実装の多重継承は強く非推奨とある
C++には継承があるから積極的に使おうなんて話はない
303デフォルトの名無しさん
2023/11/12(日) 15:10:39.48ID:BtB8NmKb インターフェースの多重実装は?
俺的にはアリだが
俺的にはアリだが
304デフォルトの名無しさん
2023/11/12(日) 15:12:06.22ID:FXO/G2ox アリというかそれは普通だろ
305デフォルトの名無しさん
2023/11/12(日) 17:22:10.37ID:fcqBe9ye たとえアンチでも、それは過去資産という位置づけでは
306デフォルトの名無しさん
2023/11/12(日) 19:58:58.70ID:UMFi1GHl307デフォルトの名無しさん
2023/11/12(日) 20:22:32.82ID:EWqnRvOH 合成とか言うのか昔(2000年代前半頃)C++勉強してた頃には合成とかいう言葉なかった気がする
308デフォルトの名無しさん
2023/11/12(日) 20:32:20.30ID:EyVQy8uj compositionでしょ?
309デフォルトの名無しさん
2023/11/12(日) 20:54:38.02ID:oa0+ZaPS composition over inheritanceの文脈で
compositionを合成と訳すのば明らかに誤訳
compositionを合成と訳すのば明らかに誤訳
310デフォルトの名無しさん
2023/11/12(日) 21:10:07.68ID:uw3vvLb2 チンポジション推奨はわかるがひたすらデリゲード書く羽目になるのはだるい
文法的にサポートすべき
文法的にサポートすべき
311デフォルトの名無しさん
2023/11/12(日) 22:58:36.87ID:OO+koJ2d >>307
継承が濫用されまくった反省から…っていう認識でいいのかな
継承とくらべてコンポジはフットプリントのコストがかかるけど(個人の感想です)、
そのくらいいいから、もっとわかりやすく書かないとって気運は確かに感じた
継承が濫用されまくった反省から…っていう認識でいいのかな
継承とくらべてコンポジはフットプリントのコストがかかるけど(個人の感想です)、
そのくらいいいから、もっとわかりやすく書かないとって気運は確かに感じた
312デフォルトの名無しさん
2023/11/12(日) 23:24:53.52ID:R2fa8NnH James Goslingがクラスを無くすという話で警鐘を鳴らしたかったのはimplementation inheritanceのマイナス面
クラスがなくてもGoやRustにもimplementation inheritanceは存在していてそのマイナス面も全部ではないが継承してる
大事なのはプラス面とマイナス面の両面を把握した上で適宜使い分けるということ
クラスがなくてもGoやRustにもimplementation inheritanceは存在していてそのマイナス面も全部ではないが継承してる
大事なのはプラス面とマイナス面の両面を把握した上で適宜使い分けるということ
313デフォルトの名無しさん
2023/11/12(日) 23:29:45.60ID:p1tJuVOt ちなみにRustは単純なクラス継承相当はないからコードの再利用がやりにくいという弱みがある
言語開発者もそれはかなり昔から認識してて機能追加をあれこれ検討してるが実現には至ってないためマクロを使ってコードを複製することが多い
言語開発者もそれはかなり昔から認識してて機能追加をあれこれ検討してるが実現には至ってないためマクロを使ってコードを複製することが多い
314デフォルトの名無しさん
2023/11/12(日) 23:33:34.84ID:kGZwhVgb そのためのクレートでは(エアプ
315デフォルトの名無しさん
2023/11/13(月) 00:43:02.47ID:AJp6/mRY オブシコの綻び
継承無くしてオブシコ厨の大好きだった動物犬猫ニンゲンはどう表現するんですか
継承無くしてオブシコ厨の大好きだった動物犬猫ニンゲンはどう表現するんですか
316デフォルトの名無しさん
2023/11/13(月) 01:10:29.96ID:uWfytJAu みんな違ってみんないい
ってか、おまえらが自分らと同じクラスなど、不遜にもほどがあるニャ
ってか、おまえらが自分らと同じクラスなど、不遜にもほどがあるニャ
317デフォルトの名無しさん
2023/11/13(月) 02:50:04.87ID:SmGbt3Rc トレイトって仕組みわりと便利だけどな
PHPでもこの仕組み取り入れられててわりと重宝する
PHPでもこの仕組み取り入れられててわりと重宝する
318デフォルトの名無しさん
2023/11/13(月) 07:32:53.84ID:tgErF0Wq 基本はアダプタパターンで、本来はインターフェイスに代入するときに自動で適合してくれるのがいいのよ。
継承はクラスの親子関係でやらなきゃいけないから依存が強すぎるし、合成も実装とインターフェイスが切り離せないから密結合しすぎる。
継承はクラスの親子関係でやらなきゃいけないから依存が強すぎるし、合成も実装とインターフェイスが切り離せないから密結合しすぎる。
319デフォルトの名無しさん
2023/11/13(月) 08:45:58.99ID:nbPiM1Pw リファクタリングするときに
Rustの「親切設計」が思考の邪魔をしてくる
どうにかならんか?
Rustの「親切設計」が思考の邪魔をしてくる
どうにかならんか?
320デフォルトの名無しさん
2023/11/13(月) 08:47:34.93ID:nbPiM1Pw >>298
小池AIなら要らないぞ
小池AIなら要らないぞ
321デフォルトの名無しさん
2023/11/13(月) 08:49:35.17ID:nbPiM1Pw322デフォルトの名無しさん
2023/11/13(月) 09:10:04.39ID:y0V48+mZ >>318
それがcomだな
それがcomだな
323デフォルトの名無しさん
2023/11/13(月) 11:10:08.61ID:mdWiRvuj >>319
どんなコード?
どんなコード?
324デフォルトの名無しさん
2023/11/13(月) 11:24:38.37ID:Ex26ICxs >>322
継承無しのcomで、インターフェイスはコンパイル時に検証する感じがいい。
継承無しのcomで、インターフェイスはコンパイル時に検証する感じがいい。
325デフォルトの名無しさん
2023/11/13(月) 18:01:25.01ID:QMjdC+SV 新たなゲームエンジン「Arete Engine」発表
https://automaton-media.com/articles/newsjp/20231113-271841/
Rustベースとのこと
対応言語として、C++, C#ほか
https://automaton-media.com/articles/newsjp/20231113-271841/
Rustベースとのこと
対応言語として、C++, C#ほか
326デフォルトの名無しさん
2023/11/13(月) 19:27:32.88ID:eizg6Llc なんか良さげじゃないか
これブレークしたらRust大発展場、ワンチャンありそう
これブレークしたらRust大発展場、ワンチャンありそう
327デフォルトの名無しさん
2023/11/13(月) 22:14:58.07ID:vy9Jjh7g 6.x以降サポートされてLinuxカーネルコンパイルできるんだね。知らんかった。
Cから置き換わるか?
まだ、メジャーバージョンアップはありそうな気がするが
Cから置き換わるか?
まだ、メジャーバージョンアップはありそうな気がするが
328デフォルトの名無しさん
2023/11/13(月) 22:30:02.31ID:VKpgHGcI329デフォルトの名無しさん
2023/11/14(火) 00:08:42.55ID:elb2YwUG330デフォルトの名無しさん
2023/11/14(火) 07:56:37.32ID:NHwXNMzQ >>327
ドライバだけに使われることあっても置き換わることはありえない
ドライバだけに使われることあっても置き換わることはありえない
331デフォルトの名無しさん
2023/11/14(火) 08:35:51.95ID:DoXgoJ+r 置き換えになる前に、Cが強化される方に期待
やっぱり、クリティカル用のCってあったほうがいい
やっぱり、クリティカル用のCってあったほうがいい
332デフォルトの名無しさん
2023/11/14(火) 10:15:35.52ID:XadOWBX2 Cは進化を前提としたABIではないから
シンタックスシュガー的な強化しかできない
モダンな機能を求めるならCにトランスパイルする言語を使うことになる
シンタックスシュガー的な強化しかできない
モダンな機能を求めるならCにトランスパイルする言語を使うことになる
333デフォルトの名無しさん
2023/11/14(火) 12:09:27.81ID:SRCspH78 fn main(){
println!("{}", 111111111*111111111);
println!("{}", 111111111u64*111111111u64);
}
1653732529
12345678987654321
警告もコンパイルエラーも出ないんだが
Rustってあほなんか?
println!("{}", 111111111*111111111);
println!("{}", 111111111u64*111111111u64);
}
1653732529
12345678987654321
警告もコンパイルエラーも出ないんだが
Rustってあほなんか?
334デフォルトの名無しさん
2023/11/14(火) 13:48:38.27ID:CBni7tLT C++の唯一の得意分野だったゲームまでRustに置き換わりそう
335デフォルトの名無しさん
2023/11/14(火) 15:16:56.57ID:XhCdgplR >>333
書いてるやつがアホなだけだろw
書いてるやつがアホなだけだろw
336デフォルトの名無しさん
2023/11/14(火) 16:14:21.75ID:SRCspH78 あほが間違ったのを指摘できるのがRustのメリットじゃなかったんか
337デフォルトの名無しさん
2023/11/14(火) 16:25:51.54ID:B1tltd4R 程度による
338デフォルトの名無しさん
2023/11/14(火) 16:28:06.37ID:Z/oEWqNB >>333
そのままやってみたらエラー出た
error: this arithmetic operation will overflow
--> src/main.rs:2:18
|
2 | println!("{}", 111111111*111111111);
| ^^^^^^^^^^^^^^^^^^^ attempt to compute `111111111_i32 * 111111111_i32`, which would overflow
|
= note: `#[deny(arithmetic_overflow)]` on by default
型を全く指定しないとi32型とみなされるようだ
エラーも丁寧に出るから初心者にもやさしいな
そのままやってみたらエラー出た
error: this arithmetic operation will overflow
--> src/main.rs:2:18
|
2 | println!("{}", 111111111*111111111);
| ^^^^^^^^^^^^^^^^^^^ attempt to compute `111111111_i32 * 111111111_i32`, which would overflow
|
= note: `#[deny(arithmetic_overflow)]` on by default
型を全く指定しないとi32型とみなされるようだ
エラーも丁寧に出るから初心者にもやさしいな
339デフォルトの名無しさん
2023/11/14(火) 18:34:48.03ID:hryaTN3D >>330
言い切るのはいいが、その根拠を示さないとな。
言い切るのはいいが、その根拠を示さないとな。
340デフォルトの名無しさん
2023/11/14(火) 18:48:47.69ID:do91JJab ドライバ開発用の環境しかないから
知らんのか
知らんのか
341デフォルトの名無しさん
2023/11/14(火) 19:23:59.78ID:hryaTN3D 現状はそうだけど
それでは、未来永劫置き換わらないと言えないのでは?
sudoとか置き換わってるよ
それでは、未来永劫置き換わらないと言えないのでは?
sudoとか置き換わってるよ
342デフォルトの名無しさん
2023/11/14(火) 20:26:23.93ID:QUrDO32K343デフォルトの名無しさん
2023/11/14(火) 21:16:27.35ID:K+bD5cJ/ オーバーフローチェックがどういう時に働くか把握してないならThe Bookからやり直しましょう
344デフォルトの名無しさん
2023/11/14(火) 21:54:16.75ID:sG8x0H9f >>341
置き換わってねーよw
置き換わってねーよw
345デフォルトの名無しさん
2023/11/14(火) 22:10:44.82ID:elb2YwUG346デフォルトの名無しさん
2023/11/14(火) 22:30:39.73ID:e1z7sXs7 >>341
未来永劫とか言い出すのはガキ
今から置き換えるメリットがない
せいぜいcの黒魔術マクロを排除できるぐらいだろ
カーネルサイズ大きくなりました
ちょっと遅くなりました
気持ちメモリ安全になった気がします
どうせこういう結果になる
未来永劫とか言い出すのはガキ
今から置き換えるメリットがない
せいぜいcの黒魔術マクロを排除できるぐらいだろ
カーネルサイズ大きくなりました
ちょっと遅くなりました
気持ちメモリ安全になった気がします
どうせこういう結果になる
347デフォルトの名無しさん
2023/11/14(火) 23:19:38.77ID:hryaTN3D もちついて。
きき方が悪かったんだけどさ、LinuxカーネルをRust置き換えがありえないってのはなぜ?
これが聞きたかっただけですよ。
現状からの置き換えコストがかかるからという理由は置いといて、すでになにかあるの?
ケンカしたいんじゃないぞ
>>344 sudoは置き換わってないね
きき方が悪かったんだけどさ、LinuxカーネルをRust置き換えがありえないってのはなぜ?
これが聞きたかっただけですよ。
現状からの置き換えコストがかかるからという理由は置いといて、すでになにかあるの?
ケンカしたいんじゃないぞ
>>344 sudoは置き換わってないね
348デフォルトの名無しさん
2023/11/14(火) 23:52:26.09ID:5RSSAN+/ LinuxのカーネルのソースコードをすべてRustに置き換えたときそれはLinuxと呼べるのだろうか
(テセウスのパラドックス)
(テセウスのパラドックス)
349デフォルトの名無しさん
2023/11/15(水) 00:44:03.25ID:aoVQj80M Rustの道具立てが揃ってきたら
スケジューラとかネットワークスタックなど
コアな部分をRustで書き直そうぜとか
言い出す人は確実にでると思うけど
POSIX互換(Linux互換)カーネルを
Rustでゼロから書いた方が早いとかなるのかどうか
スケジューラとかネットワークスタックなど
コアな部分をRustで書き直そうぜとか
言い出す人は確実にでると思うけど
POSIX互換(Linux互換)カーネルを
Rustでゼロから書いた方が早いとかなるのかどうか
350デフォルトの名無しさん
2023/11/15(水) 00:55:26.57ID:ywV5GNL0 残念ながらレビューできる人がいない
351デフォルトの名無しさん
2023/11/15(水) 01:32:50.34ID:ywV5GNL0352デフォルトの名無しさん
2023/11/15(水) 02:15:41.37ID:1U/J6vOE 口から出任せばっかりのRust宣教師
それに付き合う暇人
それに付き合う暇人
353デフォルトの名無しさん
2023/11/15(水) 05:50:02.33ID:y8SxX7I2 カーネルをコンパイルできるか、ってのは、ひとつのベンチマークになるらしい(どっかで見た
C2Rustみたいな翻案ツールができたら、Linuxで試されるようには思う
C2Rustみたいな翻案ツールができたら、Linuxで試されるようには思う
354デフォルトの名無しさん
2023/11/15(水) 08:24:44.15ID:yd8/VhXj Linusの気持ちは?
355デフォルトの名無しさん
2023/11/15(水) 08:28:35.87ID:L9zXFwKt 「その頃」のLinusはカス嫌いだったんだろうから、アウトプットがよければどうでもいい、だろ
C++は百花繚乱感があって、後から考えたらあれは嫌われるわけだ
C++は百花繚乱感があって、後から考えたらあれは嫌われるわけだ
356デフォルトの名無しさん
2023/11/15(水) 09:41:39.61ID:pZco8j8P Linuxはもう枯れたと言える技術分野であって
エッジな人々が集まるところではないからな
エンタープライズ分野でたとえれば汎用機システムのメンテナンスしてるようなもの
エッジな人々が集まるところではないからな
エンタープライズ分野でたとえれば汎用機システムのメンテナンスしてるようなもの
357デフォルトの名無しさん
2023/11/15(水) 10:46:32.75ID:PvDO1mrU >>351
wiki見るとAndroidは置き換わってるように書いてあるね。
アマゾンのAWSのLinux?とか
カーネルは6.6.1でfind -name '*.rs' で引っかけるとmallocとかCのライブラリ関係かな?ほかいろいろ
LLTM=1スイッチで置き換わるようだが。
すぐに全体が置き換わるわけではないだろうけど、コアで脆弱性なところから始まってる感じに思えるね。
wiki見るとAndroidは置き換わってるように書いてあるね。
アマゾンのAWSのLinux?とか
カーネルは6.6.1でfind -name '*.rs' で引っかけるとmallocとかCのライブラリ関係かな?ほかいろいろ
LLTM=1スイッチで置き換わるようだが。
すぐに全体が置き換わるわけではないだろうけど、コアで脆弱性なところから始まってる感じに思えるね。
358デフォルトの名無しさん
2023/11/15(水) 11:16:22.78ID:ywV5GNL0 最新の安定版カーネルは11月8日にリリースされたV. 6.6.1
$ curl 'https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.6.1.tar.xz' -o - | tar xJf -
$ find linux-6.6.1 -name *.rs | xargs cat | wc -l
19033
$ find linux-6.6.1 -name *.c -o -name *.h | xargs cat | wc -l
32601643
19033 / (19033 + 32601643) = 0.05834643034374886
Rustのソースは僅か0.058%
$ curl 'https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.6.1.tar.xz' -o - | tar xJf -
$ find linux-6.6.1 -name *.rs | xargs cat | wc -l
19033
$ find linux-6.6.1 -name *.c -o -name *.h | xargs cat | wc -l
32601643
19033 / (19033 + 32601643) = 0.05834643034374886
Rustのソースは僅か0.058%
359デフォルトの名無しさん
2023/11/15(水) 11:18:06.72ID:ywV5GNL0 Rustがlinuxに取り込まれたのが昨年12月でV. 6.1
$ curl 'https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.1.tar.xz' -o - | tar xJf -
$ find linux-6.1 -name *.rs | xargs cat | wc -l
10359
$ find linux-6.1 -name *.c -o -name *.h | xargs cat | wc -l
31476383
この11ヶ月にCで書かれたのは32601643 - 31476383 = 1125260ステップ
その間にRustで書かれたソースは19033 - 10359 = 8674ステップ
増分を比較すると
8674 / 1125260 = 0.007708440715923431
Rustで書こうって人はCの0.8%未満ってことだ
C開発者が100人いたらRust開発者は1人もいないくらい
Linuxカーネルのプロジェクトで
Rustに存在感は全くない
少なくとも最初の11ヶ月間の事実
$ curl 'https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.1.tar.xz' -o - | tar xJf -
$ find linux-6.1 -name *.rs | xargs cat | wc -l
10359
$ find linux-6.1 -name *.c -o -name *.h | xargs cat | wc -l
31476383
この11ヶ月にCで書かれたのは32601643 - 31476383 = 1125260ステップ
その間にRustで書かれたソースは19033 - 10359 = 8674ステップ
増分を比較すると
8674 / 1125260 = 0.007708440715923431
Rustで書こうって人はCの0.8%未満ってことだ
C開発者が100人いたらRust開発者は1人もいないくらい
Linuxカーネルのプロジェクトで
Rustに存在感は全くない
少なくとも最初の11ヶ月間の事実
360デフォルトの名無しさん
2023/11/15(水) 11:20:10.48ID:ywV5GNL0361デフォルトの名無しさん
2023/11/15(水) 11:25:52.06ID:7t1hSBTd このスレの半分は複オジのウソで出来ています。
用法・用量を守って正しくご使用下さい。
用法・用量を守って正しくご使用下さい。
362デフォルトの名無しさん
2023/11/15(水) 11:35:20.23ID:PvDO1mrU363デフォルトの名無しさん
2023/11/15(水) 12:21:37.48ID:no7PoE7H364デフォルトの名無しさん
2023/11/15(水) 12:27:36.50ID:teqcURmf >>347
「コスト」が最大の理由だろ。
コードをRustに置き換えるだけでも膨大な手間と時間がかかる。
そもそもLinusとかのメンテナがRustを使いこなすのに何年費やすかね。そんな時間があったら現環境で機能強化するわな。
「コスト」が最大の理由だろ。
コードをRustに置き換えるだけでも膨大な手間と時間がかかる。
そもそもLinusとかのメンテナがRustを使いこなすのに何年費やすかね。そんな時間があったら現環境で機能強化するわな。
365デフォルトの名無しさん
2023/11/15(水) 13:00:57.66ID:no7PoE7H clangでのビルドにも慎重なのにrustで置き換えなんか進むわけない
そもそも書き換える行為に生産性がないのだから
せいぜい新しく書くところで部分的に使っていきましょうとなる
だからドライバでとなる
そもそも書き換える行為に生産性がないのだから
せいぜい新しく書くところで部分的に使っていきましょうとなる
だからドライバでとなる
366デフォルトの名無しさん
2023/11/15(水) 13:19:00.88ID:ywV5GNL0 Rustの本家本元のfirefoxのソースコードでも
Debianの115.4.0esr-1~deb12u1を調べると以下の通りだよ
Rust(*.rs) 15%
JS(*.js) 35%
C++/C(*.cpp *.cxx *.c *.h) 50%
LinuxでRustがCを置き換えるなんてことは
>>341の言葉を借りて「未来永劫」ないとないと言い切ってやろう
Debianの115.4.0esr-1~deb12u1を調べると以下の通りだよ
Rust(*.rs) 15%
JS(*.js) 35%
C++/C(*.cpp *.cxx *.c *.h) 50%
LinuxでRustがCを置き換えるなんてことは
>>341の言葉を借りて「未来永劫」ないとないと言い切ってやろう
367デフォルトの名無しさん
2023/11/15(水) 14:07:32.56ID:g71OGRWz368デフォルトの名無しさん
2023/11/15(水) 14:11:39.36ID:ywV5GNL0 >>367
ざっと2千500万行だね
ざっと2千500万行だね
369デフォルトの名無しさん
2023/11/15(水) 14:24:01.47ID:kSRDfKJq 30年の積み重ねを置き換えるのに30年…
とまでは行かなくても5年で大部分書き換え
とかはならんだろう
とまでは行かなくても5年で大部分書き換え
とかはならんだろう
370デフォルトの名無しさん
2023/11/15(水) 14:51:21.03ID:6FugGo49 元々Cで造られたプロジェクトを一部だけRustに置き換えなんて面倒なだけでメリット無い
どうせRustでやるんだったら全部描き治しの方が良いに決まってる
Rustで置き換えと言うよりRustで新たにLinux互換プロジェクトが出来上がるだけ
どうせRustでやるんだったら全部描き治しの方が良いに決まってる
Rustで置き換えと言うよりRustで新たにLinux互換プロジェクトが出来上がるだけ
371デフォルトの名無しさん
2023/11/15(水) 14:56:46.34ID:/tSVEj7/ >>368
ひぇっ
ひぇっ
372デフォルトの名無しさん
2023/11/15(水) 15:12:05.87ID:PvDO1mrU Andoroidは置き換え比較的進んでるよ、事実だしこれは否定しようがない。
>>356が言うようにLinuxはメンテナーが少なくなってきてるという記事を読んだことがある。
Cを本当に使える人が減ってきてるんだってさ。AIとかに流出してるのかもね。
Linuxは長い実績で堅牢なんだろうけどまだ脆弱性を含んでいるのは間違いないし。
メンテナーのレベルが落ちると長年で培った堅牢性がゆらいでいくんじゃない?
時間かけてじわじわいくよ。
>>356が言うようにLinuxはメンテナーが少なくなってきてるという記事を読んだことがある。
Cを本当に使える人が減ってきてるんだってさ。AIとかに流出してるのかもね。
Linuxは長い実績で堅牢なんだろうけどまだ脆弱性を含んでいるのは間違いないし。
メンテナーのレベルが落ちると長年で培った堅牢性がゆらいでいくんじゃない?
時間かけてじわじわいくよ。
373デフォルトの名無しさん
2023/11/15(水) 16:57:42.00ID:HubpN1/i374デフォルトの名無しさん
2023/11/15(水) 18:15:25.04ID:/tSVEj7/ >>372
富士通の社員がやってるんじゃないの?
富士通の社員がやってるんじゃないの?
375デフォルトの名無しさん
2023/11/15(水) 18:31:31.15ID:c9l3XMad GoogleがAndroid OSのRust化を進めている
376デフォルトの名無しさん
2023/11/15(水) 19:02:01.02ID:V2KbO/sW 都合の悪い話されるとすぐそうやって話題変える
377デフォルトの名無しさん
2023/11/15(水) 21:13:40.04ID:ywV5GNL0 >>372,375
プログラマなんだから話は定量的にどうぞ
プログラマなんだから話は定量的にどうぞ
378デフォルトの名無しさん
2023/11/15(水) 21:36:10.57ID:2QF9cM/v トランスレータ作ればいいのにね
379デフォルトの名無しさん
2023/11/15(水) 21:48:13.78ID:FmmLZXFq Linux Kernelコードの70%はドライバー
こいつらは基本的にデバイス屋さんが書いてる
こいつらは基本的にデバイス屋さんが書いてる
380デフォルトの名無しさん
2023/11/15(水) 23:20:59.98ID:9Wll1i1V381デフォルトの名無しさん
2023/11/15(水) 23:25:45.67ID:/tSVEj7/ Linusは自分がいなくなっても継続できるようにしてると言ってたけどホントかいな
382デフォルトの名無しさん
2023/11/16(木) 02:20:43.10ID:YE0GrThs ああいうワンマン強引タイプの周辺はだいたい
イエスマン(しかも心中はそのうち取って代ってやると思ってる野心家)ばっかりになってて
本人は継続できるようなつもりになってるけどいざ倒れると急におかしな方向いったり弱体化したりしがち
イエスマン(しかも心中はそのうち取って代ってやると思ってる野心家)ばっかりになってて
本人は継続できるようなつもりになってるけどいざ倒れると急におかしな方向いったり弱体化したりしがち
383デフォルトの名無しさん
2023/11/16(木) 07:32:35.40ID:nbKqUUuT >>381
もう本人コード書いてないし
もう本人コード書いてないし
384デフォルトの名無しさん
2023/11/16(木) 09:47:18.38ID:wNLmB51s カーネルの話にAndroidを出してくる奴
385デフォルトの名無しさん
2023/11/16(木) 10:24:39.57ID:csSKyxVc >>383
リーナス氏はカーネルを書いただけの人で、Linuxはgnuの周辺が無ければ成立しないんだよなぁ
リーナス氏はカーネルを書いただけの人で、Linuxはgnuの周辺が無ければ成立しないんだよなぁ
386デフォルトの名無しさん
2023/11/16(木) 10:36:18.81ID:c22vQqL3 ニュース記事を斜め読みしただけで
プログラム書いてなさそう人が参入してるな
プログラム書いてなさそう人が参入してるな
387デフォルトの名無しさん
2023/11/16(木) 10:58:48.69ID:oAo4ftxR 複おじのことやん
388デフォルトの名無しさん
2023/11/16(木) 11:04:24.85ID:JqwSNCs1 >>384
GoogleがAndroid用にforkしたLinuxカーネルへ加えた変更がアップストリームにも適用されることが多々あるから別におかしい話じゃないぞ
Androidと関係なくてもGoogle自体がLinuxカーネルを進化させてるメジャープレイヤーでもある
GoogleがAndroid用にforkしたLinuxカーネルへ加えた変更がアップストリームにも適用されることが多々あるから別におかしい話じゃないぞ
Androidと関係なくてもGoogle自体がLinuxカーネルを進化させてるメジャープレイヤーでもある
389デフォルトの名無しさん
2023/11/16(木) 11:05:25.04ID:wNLmB51s rustサポートって何してるのか気になってコミットログ読んでみたけどこんなもんか
390デフォルトの名無しさん
2023/11/16(木) 11:15:44.45ID:cWrKpE+4392デフォルトの名無しさん
2023/11/16(木) 11:23:05.99ID:5W7eUxhr 既存の枯れた部分を移行するメリットは低くそこに興味を持っているのはおまえらだけ
全く新たに作られていってるシステムなどに使われていく言語が世間での焦点
全く新たに作られていってるシステムなどに使われていく言語が世間での焦点
393デフォルトの名無しさん
2023/11/16(木) 11:36:03.27ID:oAo4ftxR394デフォルトの名無しさん
2023/11/16(木) 11:40:52.68ID:5W7eUxhr 既存の枯れた安定してるものを他言語で置き換えなんてムダなことをするバカはいない
>>5のような新たなシステムがどの言語で書かれているかが全て
>>5のような新たなシステムがどの言語で書かれているかが全て
395デフォルトの名無しさん
2023/11/16(木) 11:44:41.17ID:c22vQqL3396デフォルトの名無しさん
2023/11/16(木) 11:52:51.95ID:nxuWB9A/397デフォルトの名無しさん
2023/11/16(木) 11:59:45.29ID:oAo4ftxR >CDNプロバイダのCloudflareは、同社のグローバルなCDNの基盤として長らく利用してきたNGINXに代えて、
>>394「C言語製の枯れて安定してるnginxをわざわざRustで置き換えるCloudflareはムダなことをするバカ」
>>394「C言語製の枯れて安定してるnginxをわざわざRustで置き換えるCloudflareはムダなことをするバカ」
398デフォルトの名無しさん
2023/11/16(木) 12:24:14.05ID:AwpJQf7l >>397
Pingoraの話じゃないの?
Pingoraの話じゃないの?
399デフォルトの名無しさん
2023/11/16(木) 12:31:03.07ID:1vSd70Wx >>397
記事読めてる?
nginxでは機能が不十分で様々な検討をして新たに作ることになったとある
そしてRust製のPingoraを開発して以下の性能を出したと記事に書かれている
>Pingoraはすでに同社のCDNに採用され、毎日1兆回以上のリクエストを処理し、性能向上や数多くの新機能の提供を実現しつつ、従来と比較してCPUとメモリリソースの消費はいずれも3分の1程度に収まっているとのこと。
記事読めてる?
nginxでは機能が不十分で様々な検討をして新たに作ることになったとある
そしてRust製のPingoraを開発して以下の性能を出したと記事に書かれている
>Pingoraはすでに同社のCDNに採用され、毎日1兆回以上のリクエストを処理し、性能向上や数多くの新機能の提供を実現しつつ、従来と比較してCPUとメモリリソースの消費はいずれも3分の1程度に収まっているとのこと。
400デフォルトの名無しさん
2023/11/16(木) 12:42:36.36ID:c22vQqL3401デフォルトの名無しさん
2023/11/16(木) 12:47:30.32ID:QXdh7keC APIがRustになってないとRust採用する意味が無い
402デフォルトの名無しさん
2023/11/16(木) 12:53:18.79ID:1vSd70Wx403デフォルトの名無しさん
2023/11/16(木) 12:53:44.43ID:oAo4ftxR404デフォルトの名無しさん
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:h6lf9AUt504デフォルトの名無しさん
2023/11/19(日) 13:57:40.85ID:Oy1huhHi >>497
C#でGUIとか今時書かんて
C#でGUIとか今時書かんて
505デフォルトの名無しさん
2023/11/19(日) 14:01:24.71ID:nljhlBVQ >>504
今時はguiには何使うもの?
今時はguiには何使うもの?
506デフォルトの名無しさん
2023/11/19(日) 14:07:51.59ID:Oy1huhHi >>505
electronかtauriをガワにして中身はHTML+TypeScript
今のGUIアプリは大抵これ
ちなみに新しいteamsではガワはネイティブ実装で
中身はWebView2というコンポーネントを使っているらしい
作り方はHTML+TypeScriptなのは変わらない
WebView2はまだ簡単には使えないがおそらくこいつが主流になるはず
MS好きならちゃんとキャッチアップくらいしとこうぜ?
electronかtauriをガワにして中身はHTML+TypeScript
今のGUIアプリは大抵これ
ちなみに新しいteamsではガワはネイティブ実装で
中身はWebView2というコンポーネントを使っているらしい
作り方はHTML+TypeScriptなのは変わらない
WebView2はまだ簡単には使えないがおそらくこいつが主流になるはず
MS好きならちゃんとキャッチアップくらいしとこうぜ?
507デフォルトの名無しさん
2023/11/19(日) 14:10:24.62ID:Oy1huhHi 当たり前だが別にそれにしろとは言わん
シンプルな業務系の画面なら何でも良いし作りやすい方が良い
RustのGUIは今のところ有力なものはないのは事実
シンプルな業務系の画面なら何でも良いし作りやすい方が良い
RustのGUIは今のところ有力なものはないのは事実
508デフォルトの名無しさん
2023/11/19(日) 14:21:03.03ID:BvvFFAMC 「マウス」のイベントハンドラを継承するメリットが誰にでもわかる
という前提が怪しいんだよ
マウスだぞマウス
という前提が怪しいんだよ
マウスだぞマウス
509デフォルトの名無しさん
2023/11/19(日) 14:38:54.75ID:iOyghJL5 え?! RustってGUIライブラリがないの??
510デフォルトの名無しさん
2023/11/19(日) 14:57:36.66ID:/G2k3fWt Tauriは糞
511デフォルトの名無しさん
2023/11/19(日) 14:57:55.82ID:y0Jh7vt2 >>509
RustのGUIも色々揃っている
GUIは用途によって多種多様な世界だからeguiのようなリフレッシュフレームベースのGUIクレートもある
そういう用途でなければRust関係なく一般的な話として今は各プログラミング言語でGUI作るのは極少数派になっている
つまりHTML/CSS/JavaScriptベースで作られるようになっていて使用言語を強いて言えばJS/TSの時代
RustのGUIも色々揃っている
GUIは用途によって多種多様な世界だからeguiのようなリフレッシュフレームベースのGUIクレートもある
そういう用途でなければRust関係なく一般的な話として今は各プログラミング言語でGUI作るのは極少数派になっている
つまりHTML/CSS/JavaScriptベースで作られるようになっていて使用言語を強いて言えばJS/TSの時代
512デフォルトの名無しさん
2023/11/19(日) 15:15:35.10ID:xroD2KWj >>500
ならせめて「当てはまるわけではない」ケースを指摘しないと反論にならん。
「不適切な使用をしてる例を自分自身で示しているが、それに気づいていない」というのに指摘しないのは反論者として誠実でない。後出しじゃんけんを狙った詐欺師にしか見えん。
ならせめて「当てはまるわけではない」ケースを指摘しないと反論にならん。
「不適切な使用をしてる例を自分自身で示しているが、それに気づいていない」というのに指摘しないのは反論者として誠実でない。後出しじゃんけんを狙った詐欺師にしか見えん。
513デフォルトの名無しさん
2023/11/19(日) 15:17:38.47ID:BvvFFAMC フィクションでもマウス的な小道具を無くそうとしてる
だから剣と魔法しかない
だから剣と魔法しかない
514デフォルトの名無しさん
2023/11/19(日) 15:21:36.07ID:5CKxkiE7 >HTML/CSS/JavaScriptベースで作られるようになっていて使用言語を強いて言えばJS/TSの時代
そしてそれらは全て実装継承モリモリの実装に支えられている
そしてそれらは全て実装継承モリモリの実装に支えられている
515デフォルトの名無しさん
2023/11/19(日) 15:24:12.29ID:xroD2KWj516デフォルトの名無しさん
2023/11/19(日) 16:13:36.90ID:NqOCouPw517デフォルトの名無しさん
2023/11/19(日) 16:43:45.43ID:HSZIalWb あったはずだけど
518デフォルトの名無しさん
2023/11/19(日) 16:45:02.12ID:HSZIalWb あ、めっちゃ遅れレスだけど>>509に対して書いたつもりだった
519デフォルトの名無しさん
2023/11/19(日) 17:14:49.95ID:H8V03qQo520デフォルトの名無しさん
2023/11/19(日) 17:17:51.68ID:H8V03qQo まあ今後のGUIはWebView2になるのは間違いなさそう
特にwindowsはこれが決定版になるはず
特にwindowsはこれが決定版になるはず
521デフォルトの名無しさん
2023/11/19(日) 17:39:17.01ID:nljhlBVQ >>512
ただ親クラスを継承して親クラスのメソッドを使うだけでしょ?
そんなことはどこにでもあるが、そのすべてがインターフェイス的に全てのメンバの実装が必須なケースになるのか?
ならない
なるケースはインターフェイスなど使えばいいだけ
ただ親クラスを継承して親クラスのメソッドを使うだけでしょ?
そんなことはどこにでもあるが、そのすべてがインターフェイス的に全てのメンバの実装が必須なケースになるのか?
ならない
なるケースはインターフェイスなど使えばいいだけ
522デフォルトの名無しさん
2023/11/19(日) 17:55:10.88ID:o+X6buyf メンバ変数に直接アクセスするメリットはgetやsetを実装する時間を浪費しないことだが
継承のメリットはこれに類似している
継承のメリットはこれに類似している
523デフォルトの名無しさん
2023/11/19(日) 18:40:03.88ID:RRmaBkyu >>516,519
意味のない指摘をありがとう
ReactはHTML/CSS/JavaScriptを支える技術じゃなく
HTML/CSS/JavaScriptを活用した技術
ちなみにReactの本体では今でも実装継承使ってる
つまらない嘘はいい加減止めようね
意味のない指摘をありがとう
ReactはHTML/CSS/JavaScriptを支える技術じゃなく
HTML/CSS/JavaScriptを活用した技術
ちなみにReactの本体では今でも実装継承使ってる
つまらない嘘はいい加減止めようね
524デフォルトの名無しさん
2023/11/19(日) 18:50:12.97ID:WxxDsdGH >>523
支える技術とか活用した技術とか意味不明すぎる
支える技術とか活用した技術とか意味不明すぎる
525デフォルトの名無しさん
2023/11/19(日) 19:34:44.92ID:nljhlBVQ >>524
何で知ったかしてバレないと思うん?
何で知ったかしてバレないと思うん?
526デフォルトの名無しさん
2023/11/19(日) 20:05:00.46ID:aXcE9XXk マイコンレベルに小さなコンパイラを搭載しなければいけないような案件だとRustは重たすぎて無理っぽいが
それ以外のデメリットは無い感じはする。今のところ
FPGAの論理合成のような長いコンパイルプロセスに未来を感じる(感想)
それ以外のデメリットは無い感じはする。今のところ
FPGAの論理合成のような長いコンパイルプロセスに未来を感じる(感想)
527デフォルトの名無しさん
2023/11/19(日) 20:46:51.67ID:H8V03qQo >>523
頭が悪すぎて嫌になるな
頭が悪すぎて嫌になるな
528デフォルトの名無しさん
2023/11/19(日) 20:52:10.42ID:H8V03qQo529デフォルトの名無しさん
2023/11/19(日) 21:13:25.27ID:o+X6buyf 英語圏で同じこと言われる不安を煽ってるから英語が苦手になるパターン
530デフォルトの名無しさん
2023/11/19(日) 22:14:28.15ID:fSaG2PoW 昔のReactはコンポーネントクラスというJavaScriptのクラスを用いた方法を用いていたけど
それでも継承は使わないでコンポジションを使うようにと公式に書かれていた
今のReactはクラスではなく関数コンポーネントを用いるようになった
それでも継承は使わないでコンポジションを使うようにと公式に書かれていた
今のReactはクラスではなく関数コンポーネントを用いるようになった
531デフォルトの名無しさん
2023/11/19(日) 22:31:23.82ID:2h4NT+3n 継承はクラスの再利用とクラスの切り替えが同じ継承に集約
されていたのが問題だった
されていたのが問題だった
532デフォルトの名無しさん
2023/11/19(日) 23:15:24.31ID:WkLuwjlK >>531
コードの再利用とサブタイピングが一緒になっていたらなぜ問題なの?
コードの再利用とサブタイピングが一緒になっていたらなぜ問題なの?
533デフォルトの名無しさん
2023/11/20(月) 00:02:51.71ID:miVVMWsb >>523
継承使ってるというのはどこのコード?
継承使ってるというのはどこのコード?
534デフォルトの名無しさん
2023/11/20(月) 03:25:10.93ID:m3TC6/PX クラスの切り替えとはキャストのことか
だがダックタイピング界隈には「キャストする」という振る舞いがない
templateなら引数を変えることが切り替えでありキャストは重要ではない
重要ではないものを重要と思ってたなら問題だ
だがダックタイピング界隈には「キャストする」という振る舞いがない
templateなら引数を変えることが切り替えでありキャストは重要ではない
重要ではないものを重要と思ってたなら問題だ
535デフォルトの名無しさん
2023/11/20(月) 03:52:37.02ID:Uh0cT6mQ だからさ、独自用語で煙に巻いてないでTaPL読んだうえで共通語彙で話しようぜって
536デフォルトの名無しさん
2023/11/20(月) 07:37:53.49ID:kv+dmWMk >>521
親クラスを継承できないクラスはポリモーフィズムできないねぇ。
後から「読み取り専用のIFが欲しい」「書き込み専用が欲しい」となったらどうすんの?
「なるケースはインターフェイスなど使えばいいだけ」なら、途中で継承からIFに切り替える?
「早すぎる最適化」だなぁ
親クラスを継承できないクラスはポリモーフィズムできないねぇ。
後から「読み取り専用のIFが欲しい」「書き込み専用が欲しい」となったらどうすんの?
「なるケースはインターフェイスなど使えばいいだけ」なら、途中で継承からIFに切り替える?
「早すぎる最適化」だなぁ
537デフォルトの名無しさん
2023/11/20(月) 08:24:47.95ID:dEVryb2p さすがにその例だと、「モード切替するメソッドを足す。所有権管理もさせる。旧クラスは廃止」とかだろ
538デフォルトの名無しさん
2023/11/20(月) 08:49:37.76ID:Gc8IZzjG539デフォルトの名無しさん
2023/11/20(月) 09:03:13.39ID:07sj62mg >>499
俺もそう思う
俺もそう思う
540デフォルトの名無しさん
2023/11/20(月) 10:54:06.11ID:NElbrJwW 何で君達は最小のサンプルコードも書かずに俺様用語で議論してるの?
プログラマじゃないのかな?
プログラマじゃないのかな?
541デフォルトの名無しさん
2023/11/20(月) 11:26:53.92ID:6jnK0Jj8 今朝のGoogleニュースで米の求人報酬だかでRustが2位とか見たわ
人事的にはRustで沼る人材が欲しいらしいぞ
良かったな
人事的にはRustで沼る人材が欲しいらしいぞ
良かったな
542デフォルトの名無しさん
2023/11/20(月) 12:00:36.92ID:ZwEoOGmm >>536
そこら辺は言語によって違うからせめて言語くらい前提として共有しないと議論にならない。
親クラスを継承できないクラス、意味不明。
そもそもサンプルコード見せれば確実なところを自然言語で議論しようとする発想が意味わからない
そこら辺は言語によって違うからせめて言語くらい前提として共有しないと議論にならない。
親クラスを継承できないクラス、意味不明。
そもそもサンプルコード見せれば確実なところを自然言語で議論しようとする発想が意味わからない
543デフォルトの名無しさん
2023/11/20(月) 12:49:28.44ID:aVFf8Qq7 >>542
さすがに出先スマホでコード打ち込みたくないわな。
コードで言うなら>492みたいなのが欲しいというだけだし。
>親クラスを継承できないクラス、意味不明。
例えばライブラリが返すインスタンスのクラス。普通はクラスを直接弄ることはできないし、final宣言されてたら派生も無理。クラスを直接弄くれるとしても、ライブラリをメンテナンスするとか面倒臭いからやりたくない。
普通はAdoptor作るけど、それなら>492みたいなIF側で自動的にやる機能が欲しい。
さすがに出先スマホでコード打ち込みたくないわな。
コードで言うなら>492みたいなのが欲しいというだけだし。
>親クラスを継承できないクラス、意味不明。
例えばライブラリが返すインスタンスのクラス。普通はクラスを直接弄ることはできないし、final宣言されてたら派生も無理。クラスを直接弄くれるとしても、ライブラリをメンテナンスするとか面倒臭いからやりたくない。
普通はAdoptor作るけど、それなら>492みたいなIF側で自動的にやる機能が欲しい。
544デフォルトの名無しさん
2023/11/20(月) 12:49:42.01ID:JpnTJcOA githubの2023年成長率でもRustが40%増でTOPだったな。
でもまだ人気言語TOP10には食い込んでなかったけど。
でもまだ人気言語TOP10には食い込んでなかったけど。
545デフォルトの名無しさん
2023/11/20(月) 12:53:05.42ID:PG0EBfXZ546デフォルトの名無しさん
2023/11/20(月) 13:32:31.99ID:NElbrJwW >>541
1位はpython?
1位はpython?
547デフォルトの名無しさん
2023/11/20(月) 13:42:54.45ID:IjnmMF1h そりゃ1位はPHPだよ
548デフォルトの名無しさん
2023/11/20(月) 13:54:03.53ID:SNQO1x/A549デフォルトの名無しさん
2023/11/20(月) 14:04:35.58ID:NElbrJwW >>547
PHPを書けるより市場価値がないの?
PHPを書けるより市場価値がないの?
550デフォルトの名無しさん
2023/11/20(月) 14:38:31.00ID:dEVryb2p Rustが出せるのは高い信頼性だが、日本で何か作っても、それ信頼できんの?ってなるから
だったりして
だったりして
551デフォルトの名無しさん
2023/11/20(月) 14:44:00.93ID:NElbrJwW >>550
求められている信頼性って「Rustが出せる信頼性」とは違うんだと思うよ
求められている信頼性って「Rustが出せる信頼性」とは違うんだと思うよ
552デフォルトの名無しさん
2023/11/20(月) 15:09:31.41ID:MS7hPbOQ 日本だけに限らないかも知れないけど
ソフトウェアの利用者ってそもそも
何の言語で造ってるかなんて気にしてないし知ろうともしない
ソフトウェアの利用者ってそもそも
何の言語で造ってるかなんて気にしてないし知ろうともしない
553デフォルトの名無しさん
2023/11/20(月) 15:36:03.59ID:JXHwx0JF Rustが使われる理由は高速省メモリで開発効率や保守性が良いため
554デフォルトの名無しさん
2023/11/20(月) 15:41:32.66ID:NElbrJwW >>553それはRustプログラマの視点
それまでの話は発注者側からの話
それまでの話は発注者側からの話
555デフォルトの名無しさん
2023/11/20(月) 15:49:44.16ID:JXHwx0JF 発注者側の視点でも
高速省メモリで安全性も高いのはRustとなる
高速省メモリで安全性も高いのはRustとなる
556デフォルトの名無しさん
2023/11/20(月) 15:55:24.47ID:NElbrJwW 鶏と卵の関係になるけどプログラマが確保できなく保守性が悪い
557デフォルトの名無しさん
2023/11/20(月) 16:02:14.85ID:N43MAaAU558デフォルトの名無しさん
2023/11/20(月) 16:18:06.96ID:JXHwx0JF559デフォルトの名無しさん
2023/11/20(月) 16:27:04.23ID:NElbrJwW560デフォルトの名無しさん
2023/11/20(月) 17:04:51.35ID:aPv5cKlG コントリビューター増加「率」はミスリードかも、レポ増加「数」は
github 2023年新規レポジトリ10KB以上
JavaScript 2.1M results
Java 767k results
Python 749k results
TypeScript 627k results
C# 338k results
C++ 244k results
C 174k results
PHP 152k results
Kotlin 147k results
Dart 109k results
Go 84.4k results
Ruby 64.3k results
Swift 59.3k results
Rust 39.4k results
Lua 22.1k results
HCL 16.4k results
github 2023年新規レポジトリ10KB以上
JavaScript 2.1M results
Java 767k results
Python 749k results
TypeScript 627k results
C# 338k results
C++ 244k results
C 174k results
PHP 152k results
Kotlin 147k results
Dart 109k results
Go 84.4k results
Ruby 64.3k results
Swift 59.3k results
Rust 39.4k results
Lua 22.1k results
HCL 16.4k results
561デフォルトの名無しさん
2023/11/20(月) 18:15:53.85ID:1QHH6HXV クローズ開発案件が含められないから意味が無い件
562デフォルトの名無しさん
2023/11/20(月) 18:32:56.66ID:Tq0YX8uR563デフォルトの名無しさん
2023/11/20(月) 20:50:45.51ID:NElbrJwW >>561
ある程度は相関してるでしょ
ある程度は相関してるでしょ
564デフォルトの名無しさん
2023/11/20(月) 21:15:52.04ID:ojqzhkRS >>562
お前がレスに使ってる端末は悪いものなんだな~。
お前がレスに使ってる端末は悪いものなんだな~。
565デフォルトの名無しさん
2023/11/20(月) 21:47:51.39ID:Tq0YX8uR566デフォルトの名無しさん
2023/11/20(月) 21:56:32.85ID:Ygoo/zhh567デフォルトの名無しさん
2023/11/20(月) 21:59:46.43ID:1QHH6HXV568デフォルトの名無しさん
2023/11/20(月) 22:02:12.48ID:SNQO1x/A569デフォルトの名無しさん
2023/11/20(月) 23:27:57.05ID:/Ubqd6b6 >>530
Reactはクラスコンポーネント時代も
開発元のFacebookが様々なケースで継承を使うとよいケースは存在していないことを確認しているとReact公式に書いていたもんな
もちろん今はクラスコンポーネントすら捨てて関数コンポーネント
Reactはクラスコンポーネント時代も
開発元のFacebookが様々なケースで継承を使うとよいケースは存在していないことを確認しているとReact公式に書いていたもんな
もちろん今はクラスコンポーネントすら捨てて関数コンポーネント
570デフォルトの名無しさん
2023/11/21(火) 08:57:03.65ID:CeBFd4j1 GitHubで最も使われている言語はJavaScript、最も利用者が増加したのはRust。AIプロジェクト数はこの1年で3倍増GitHubが年次調査「Octoverse 2023」発表
https://www.publickey1.jp/blog/23/githubjavascriptrustai13githuboctoverse_2023.html
AI関連のプロジェクトを国別に見ると米国が突出していますが、日本はインドに次いで3位となっており、日本のオープンソース開発者は世界的に見て積極的にAI関連のプロジェクトに関わっていることが分かります。
プログラミング言語別にコントリビュータの増加率を見ると、1位がRust、2位がRua、3位がTypeScript、4位がHCL(HashiCorp Configration Language)、4位がTSQL、5位がPythonとなります。
https://www.publickey1.jp/blog/23/githubjavascriptrustai13githuboctoverse_2023.html
AI関連のプロジェクトを国別に見ると米国が突出していますが、日本はインドに次いで3位となっており、日本のオープンソース開発者は世界的に見て積極的にAI関連のプロジェクトに関わっていることが分かります。
プログラミング言語別にコントリビュータの増加率を見ると、1位がRust、2位がRua、3位がTypeScript、4位がHCL(HashiCorp Configration Language)、4位がTSQL、5位がPythonとなります。
571デフォルトの名無しさん
2023/11/21(火) 09:29:05.70ID:WJ7yrtvk React本体のJavaScriptコードで継承が使われてるという事実は嘘つきオジがいたので指摘しただけで重要な事ではない
JavaScriptの継承を理解してる人ならリポジトリ見れば誰でもわかる
重要なのはReactやReact Nativeが依存しているHTML/CSS/JavaScriptなどのホスト環境が提供するGUIライブラリやそれに類するものは全て実装継承モリモリで作られているということ
それはなぜなのか?
JavaScriptの継承を理解してる人ならリポジトリ見れば誰でもわかる
重要なのはReactやReact Nativeが依存しているHTML/CSS/JavaScriptなどのホスト環境が提供するGUIライブラリやそれに類するものは全て実装継承モリモリで作られているということ
それはなぜなのか?
572デフォルトの名無しさん
2023/11/21(火) 09:48:09.93ID:meOGGGPH573デフォルトの名無しさん
2023/11/21(火) 10:52:34.98ID:TIZNoRj+ 増加<率>だからねw
574デフォルトの名無しさん
2023/11/21(火) 10:53:27.83ID:TIZNoRj+ つまり分子が大きいというより分母が少ない
575デフォルトの名無しさん
2023/11/21(火) 10:56:46.75ID:fyFN08Ef ヒント非公開
576デフォルトの名無しさん
2023/11/21(火) 11:02:46.10ID:ZX3v40di >>571
GitHubのコードに対するリンク一行貼るくらいやってよ
GitHubのコードに対するリンク一行貼るくらいやってよ
577デフォルトの名無しさん
2023/11/21(火) 11:06:40.20ID:ZX3v40di >>571
gtkはCだね
gtkはCだね
578デフォルトの名無しさん
2023/11/21(火) 11:07:36.25ID:HSO31doi >>557
ほんそれ
ほんそれ
579デフォルトの名無しさん
2023/11/21(火) 11:18:07.78ID:Lmp19CDx580デフォルトの名無しさん
2023/11/21(火) 11:27:49.20ID:j31CN6Yb >>569
とFacebookの犬が申しております
とFacebookの犬が申しております
581デフォルトの名無しさん
2023/11/21(火) 12:12:04.36ID:Vub9wpCB >>571
嘘つきはお前だよ
嘘つきはお前だよ
582デフォルトの名無しさん
2023/11/21(火) 12:25:12.17ID:MyNMYruR583デフォルトの名無しさん
2023/11/21(火) 12:27:03.76ID:vP2RupFQ 特定のレスに妙に攻撃的な単発ちょくちょく湧いてくるのってやっぱりアイツ?
584デフォルトの名無しさん
2023/11/21(火) 12:50:14.72ID:j31CN6Yb >>583
いや、あいつとは別
いや、あいつとは別
585デフォルトの名無しさん
2023/11/21(火) 12:50:16.11ID:j31CN6Yb >>583
いや、あいつとは別
いや、あいつとは別
586デフォルトの名無しさん
2023/11/21(火) 13:37:07.13ID:f4244eke アイツじゃねーかw
587デフォルトの名無しさん
2023/11/21(火) 13:52:02.24ID:Lmp19CDx 質問する側は基本的に無力で、答える側に生殺与奪の権を握られる
一発逆転するには攻撃力か何かで優位に立たなければ
一発逆転するには攻撃力か何かで優位に立たなければ
588デフォルトの名無しさん
2023/11/21(火) 18:59:23.42ID:E3kr56i/ 勝ったところで、所詮クソvsクソだぞ
面白いことを書け
面白いことを書け
589デフォルトの名無しさん
2023/11/21(火) 19:14:06.76ID:MyNMYruR 攻撃的なこと言われて大人しくなってるの草
590デフォルトの名無しさん
2023/11/21(火) 22:22:25.20ID:3Y9OZVuh591デフォルトの名無しさん
2023/11/21(火) 22:23:49.29ID:3Y9OZVuh592デフォルトの名無しさん
2023/11/21(火) 22:43:10.96ID:Q9pynku3593デフォルトの名無しさん
2023/11/21(火) 23:11:04.07ID:Lmp19CDx Cはスマポ<T>を作れない
C++でもtemplateを使わない主義ならばスマポのようなものをTが実装継承するかも
C++でもtemplateを使わない主義ならばスマポのようなものをTが実装継承するかも
594デフォルトの名無しさん
2023/11/21(火) 23:15:06.85ID:x0TxAGsF >>592
論点は実装継承は不要なのかどうか
常にコンポジションを使うべきかどうか
GTKは言語機能によらない実装継承を使っているというだけ
コンポジションで実装する事も技術的には当然可能だがその選択をしてないことに意味がある
特に言語が提供してないにもかかわらずGTKのためだけに継承機能をわざわざ作り上げるほど実装継承を欲した理由を理解するべき
論点は実装継承は不要なのかどうか
常にコンポジションを使うべきかどうか
GTKは言語機能によらない実装継承を使っているというだけ
コンポジションで実装する事も技術的には当然可能だがその選択をしてないことに意味がある
特に言語が提供してないにもかかわらずGTKのためだけに継承機能をわざわざ作り上げるほど実装継承を欲した理由を理解するべき
595デフォルトの名無しさん
2023/11/21(火) 23:35:36.54ID:LOJe+P0r Reactが依存しているHTMLのボタン要素を例に話をするとボタン要素は次のような型階層を取ることがDOM APIの仕様で決められている
EventTarget <- Node <- Element <- HTMLElement <- HTMLButtonElement
上位の型のパブリックなメソッドやプロパティはや下位の型でも使えるようにする必要がある
これは実装継承だけでなくコンポジション+インターフェースでもRustのenumのような代数データ型を使っても実現可能なんだが知る限り全てのブラウザが実装継承を使って実装している
EventTarget <- Node <- Element <- HTMLElement <- HTMLButtonElement
上位の型のパブリックなメソッドやプロパティはや下位の型でも使えるようにする必要がある
これは実装継承だけでなくコンポジション+インターフェースでもRustのenumのような代数データ型を使っても実現可能なんだが知る限り全てのブラウザが実装継承を使って実装している
596デフォルトの名無しさん
2023/11/21(火) 23:45:35.68ID:Q9pynku3597デフォルトの名無しさん
2023/11/21(火) 23:49:00.55ID:5SU8rUzf なぜかというと
例えば仕様変更でNodeに新しいメソッドが追加されたとしても実装継承なら一箇所変更すればいいだけだから
コンポジション+インターフェースの場合はNode以下の数百個のクラスや構造体にメソッドを追加して委譲するコードを書いて回らないといけない
実装継承というのはサブタイピングとコードの再利用を同時に行うことだが、その2つを同時に行えるという点が最大のメリットであり存在理由なわけ
例えば仕様変更でNodeに新しいメソッドが追加されたとしても実装継承なら一箇所変更すればいいだけだから
コンポジション+インターフェースの場合はNode以下の数百個のクラスや構造体にメソッドを追加して委譲するコードを書いて回らないといけない
実装継承というのはサブタイピングとコードの再利用を同時に行うことだが、その2つを同時に行えるという点が最大のメリットであり存在理由なわけ
598デフォルトの名無しさん
2023/11/22(水) 00:08:02.11ID:h68LLJ0S >>596
問題がないわけではないんだよ
GTKの実装継承は言語機能のそれと比べてクソ面倒臭い上に言語に組み込まれた型システムではないからこその弱さがある
Rustでも実装継承をマクロで模倣することもできるがだからといってそれに何の問題ないわけではないというのと同じ
他のやり方があったとしてもより楽に安全に開発できるようになるなら言語機能としてあった方がいいってことになるよね?
問題がないわけではないんだよ
GTKの実装継承は言語機能のそれと比べてクソ面倒臭い上に言語に組み込まれた型システムではないからこその弱さがある
Rustでも実装継承をマクロで模倣することもできるがだからといってそれに何の問題ないわけではないというのと同じ
他のやり方があったとしてもより楽に安全に開発できるようになるなら言語機能としてあった方がいいってことになるよね?
599デフォルトの名無しさん
2023/11/22(水) 00:19:05.87ID:i7dbnQQ2 >>1-10
乗り遅れるな!
いつまでも待ってはくれませんよ
https://note.com/nukatiktok/n/nfbb66b3b3d3e ←4000円貰えます
この機会にぜひ
https://i.imgur.com/eWEQ3eT.jpg
(毎日動画見てるだけでお金貰えるんだぞ💰)
乗り遅れるな!
いつまでも待ってはくれませんよ
https://note.com/nukatiktok/n/nfbb66b3b3d3e ←4000円貰えます
この機会にぜひ
https://i.imgur.com/eWEQ3eT.jpg
(毎日動画見てるだけでお金貰えるんだぞ💰)
600デフォルトの名無しさん
2023/11/22(水) 00:33:52.03ID:SCjy6MJ9 >>597
それは仕様変更前のクラス数百個を捨てさせ変更後の数百個で置き換えるには都合が良い
一箇所変更するだけで古いクラス数百個が消滅する
だが古いクラスに依存していた資産が消滅するのは本当にお得なのか?
それは仕様変更前のクラス数百個を捨てさせ変更後の数百個で置き換えるには都合が良い
一箇所変更するだけで古いクラス数百個が消滅する
だが古いクラスに依存していた資産が消滅するのは本当にお得なのか?
601デフォルトの名無しさん
2023/11/22(水) 01:12:20.99ID:uxQX1dJD602デフォルトの名無しさん
2023/11/22(水) 01:26:34.89ID:uxQX1dJD603デフォルトの名無しさん
2023/11/22(水) 16:32:36.94ID:Ky8NVDmM 「GCは嫌い。だけどC++は苦手。
噂だとRustがそれを解決するらしいから」
ということでRust票が入っているだけ。
噂だとRustがそれを解決するらしいから」
ということでRust票が入っているだけ。
604デフォルトの名無しさん
2023/11/22(水) 18:06:32.01ID:VuMm7++t GoogleもMicrosoftもAmazonもCloudflareも
そんな理由でRustを採用して使っている?
そんな理由でRustを採用して使っている?
605デフォルトの名無しさん
2023/11/22(水) 18:40:30.34ID:I05HGQ1N 結局windows11 10.0.22631.2715 (23H2)にRust製モジュール入らなかったが
606デフォルトの名無しさん
2023/11/22(水) 19:20:29.71ID:zUxnYc1v MSの使ってるコンパイラは何だろう?
607デフォルトの名無しさん
2023/11/22(水) 20:23:02.05ID:BBiTeKwa608デフォルトの名無しさん
2023/11/22(水) 20:29:20.42ID:ltxaInSK609デフォルトの名無しさん
2023/11/22(水) 21:18:08.59ID:+UnlqW3r 関数名の重複を許す仕組みは信用できる
クラスは名前がかぶったらたいてい古い方が無かったことにされるのが信用できない
クラスは名前がかぶったらたいてい古い方が無かったことにされるのが信用できない
610デフォルトの名無しさん
2023/11/22(水) 21:25:34.99ID:zUxnYc1v なにそれ?
611デフォルトの名無しさん
2023/11/22(水) 21:26:35.97ID:5rDf7evN612デフォルトの名無しさん
2023/11/22(水) 21:47:18.27ID:+UnlqW3r intは信用できないのでi32やi64になったのはまあいい
実装継承の祖先の名前がずらりと並ぶのは嫌だ
実装継承の祖先の名前がずらりと並ぶのは嫌だ
613デフォルトの名無しさん
2023/11/22(水) 22:42:24.09ID:+dkhSESN >>612
それは実装継承による設計をする古い頭のままの駄目プログラマーの典型例
それは実装継承による設計をする古い頭のままの駄目プログラマーの典型例
614デフォルトの名無しさん
2023/11/22(水) 22:48:19.59ID:F4GGzYS9 >>611
いるよワイ
とにかくC++はコピーを正しく扱うのがあまりにも難しいのよ
C++の弱点はこの一点に尽きる
もちろんCとの互換性を保つためなのだが本当に難しい
そこにコピーやめたろ!って英断したRustは本当にC++使いの人が設計したんだなと感じる
この部分に手を入れかつ速度を落とさない実装もできる方法を突き詰めるとこうなる
いるよワイ
とにかくC++はコピーを正しく扱うのがあまりにも難しいのよ
C++の弱点はこの一点に尽きる
もちろんCとの互換性を保つためなのだが本当に難しい
そこにコピーやめたろ!って英断したRustは本当にC++使いの人が設計したんだなと感じる
この部分に手を入れかつ速度を落とさない実装もできる方法を突き詰めるとこうなる
615デフォルトの名無しさん
2023/11/22(水) 22:59:48.09ID:Lo22StDU >>614
Firefoxはservoで行き詰ったよ
Firefoxはservoで行き詰ったよ
616デフォルトの名無しさん
2023/11/22(水) 23:05:36.01ID:F4GGzYS9 Effective C++の初版はほぼこのコピーをいかにうまくやるかを解説した本だった
あらゆる手段でコピーが発生してもオブジェクトの整合性が取れるように注意点を書きまくった
しかしその内容はあまりにも普通の人には難し過ぎた
そして一つのクラスを作るたびにこんなに気をつけて実装しないといけないのか!やってられん!となって
その結果、もう全部ヒープにとって生ポインタでいいじゃんとなってしまった
そのおかげでコピー問題は無くなったが
メモリリークや二重開放、ヌルポの山を産んだ
あらゆる手段でコピーが発生してもオブジェクトの整合性が取れるように注意点を書きまくった
しかしその内容はあまりにも普通の人には難し過ぎた
そして一つのクラスを作るたびにこんなに気をつけて実装しないといけないのか!やってられん!となって
その結果、もう全部ヒープにとって生ポインタでいいじゃんとなってしまった
そのおかげでコピー問題は無くなったが
メモリリークや二重開放、ヌルポの山を産んだ
617デフォルトの名無しさん
2023/11/22(水) 23:09:46.91ID:EF2LJjbV ポインターをメンバーに持つと言うのがコピーの問題になってるだけやん?
アドレスをコピーするのか、実体を複製して新しいポインターとして格納するのか
用途によってはどちらかが不都合だったりするからなぁ
アドレスをコピーするのか、実体を複製して新しいポインターとして格納するのか
用途によってはどちらかが不都合だったりするからなぁ
618デフォルトの名無しさん
2023/11/22(水) 23:14:04.80ID:F4GGzYS9 >>617
実態を持っても同じだよ
そのオブジェクトが内部にポインタを持ってたら同じ問題が発生
さらにそのオブジェクトが(ry
というわけで地獄のような連鎖になることがわかる
そして厄介なのは自分が作っていないクラスだった場合お手上げということ
いかにやばいか分かっていただけただろうか
だから一時期はあらゆるオブジェクトがヒープ割り当てをしていた
実態を持っても同じだよ
そのオブジェクトが内部にポインタを持ってたら同じ問題が発生
さらにそのオブジェクトが(ry
というわけで地獄のような連鎖になることがわかる
そして厄介なのは自分が作っていないクラスだった場合お手上げということ
いかにやばいか分かっていただけただろうか
だから一時期はあらゆるオブジェクトがヒープ割り当てをしていた
619デフォルトの名無しさん
2023/11/22(水) 23:21:57.25ID:F4GGzYS9 スマートポインタによって状況はだいぶ改善されたとは思うが
しかしこのコピー問題というのは常に残っているのだ
そのオブジェクトを安全にコピーできるようにするという本質的な難しさは変わっていない
そしてムーブかコピーかみたいなものをライブラリ提供者が決めなければならず
それを使う側が意識することはかなり難しい
ドキュメントを読み込んで使い方を熟読するしかない
数百個のクラスがあった場合その全てのクラスの性質を暗記しないといけないのである!
しかも一個のミスで全てが崩壊する
こんなことは不可能に近い
しかしこのコピー問題というのは常に残っているのだ
そのオブジェクトを安全にコピーできるようにするという本質的な難しさは変わっていない
そしてムーブかコピーかみたいなものをライブラリ提供者が決めなければならず
それを使う側が意識することはかなり難しい
ドキュメントを読み込んで使い方を熟読するしかない
数百個のクラスがあった場合その全てのクラスの性質を暗記しないといけないのである!
しかも一個のミスで全てが崩壊する
こんなことは不可能に近い
620デフォルトの名無しさん
2023/11/22(水) 23:27:21.33ID:F4GGzYS9 その結果全てのオブジェクトをヒープにとってそのポインタだけを持ち回る、という実装がほとんどとなったのである
こうすればとりあえずコピーに関する問題はなくなる
俺はその時期にC++を仕事で書いていた
全てのオブジェクトがヒープにあった
コピーに関して悩んだことがなかったので
Effective C++を読んでもこの本は何でこんな「不整合が起きないオブジェクト」の作り方の解説ばっかりやってるんだろうと思っていたぐらいだ
こうすればとりあえずコピーに関する問題はなくなる
俺はその時期にC++を仕事で書いていた
全てのオブジェクトがヒープにあった
コピーに関して悩んだことがなかったので
Effective C++を読んでもこの本は何でこんな「不整合が起きないオブジェクト」の作り方の解説ばっかりやってるんだろうと思っていたぐらいだ
621デフォルトの名無しさん
2023/11/22(水) 23:30:42.74ID:F4GGzYS9 ちなみにこの全てのオブジェクトをヒープに取ればいいじゃんの思想をデフォルトにした言語がJavaである
メモリの解放漏れはGCにより問題なくなったがヌルポを量産したのは言うまでもない
メモリの解放漏れはGCにより問題なくなったがヌルポを量産したのは言うまでもない
622デフォルトの名無しさん
2023/11/22(水) 23:32:00.30ID:UBOPkQxC ChatGPTとまでは言わんが、IDEも仕事しろ、っていう世の中ではある
623デフォルトの名無しさん
2023/11/22(水) 23:37:47.47ID:Rf3A/fx6 >>615
金がなくなっただけでスポンサーついたら復活した
金がなくなっただけでスポンサーついたら復活した
624デフォルトの名無しさん
2023/11/23(木) 00:06:01.85ID:KrVwEhLS625デフォルトの名無しさん
2023/11/23(木) 00:11:54.90ID:mLPybMZb Javaにはポインタしかない
ゆえにコンポジションを繰り返せばリンクリストのようになる
でも実装継承なら
という風に二つの問題は一つにつながる
ゆえにコンポジションを繰り返せばリンクリストのようになる
でも実装継承なら
という風に二つの問題は一つにつながる
626デフォルトの名無しさん
2023/11/23(木) 01:52:03.12ID:FMewW6Qw >>616
Effective C++がコピーの話ばっかりという印象はないけどな
あるのはもともとCにあるコピー問題をいかにC++で解決するかというスタンスの解説
あとコピー問題を解決するためヒープを使うってのも謎理論
それは因果関係逆でしょ
ポインタをメンバーに持つデータ構造のコピーをいかに安全に実現するかでしょ
STLコンテナによりそこに厳密な意味定義が必要となった
Effective C++がコピーの話ばっかりという印象はないけどな
あるのはもともとCにあるコピー問題をいかにC++で解決するかというスタンスの解説
あとコピー問題を解決するためヒープを使うってのも謎理論
それは因果関係逆でしょ
ポインタをメンバーに持つデータ構造のコピーをいかに安全に実現するかでしょ
STLコンテナによりそこに厳密な意味定義が必要となった
627デフォルトの名無しさん
2023/11/23(木) 07:44:46.73ID:N5SmR8A3 >>568
と負け犬が申しております
と負け犬が申しております
628デフォルトの名無しさん
2023/11/23(木) 09:38:23.37ID:jt92Atwz >>621
ヌルポは型無しnullpointerによる型の制約に違反する問題だろ。
スタックだろうがヒープだろうが型無しインスタンスを使う限り発生する。
c++もポインタを排除して参照のみにできれば随分違うだろうけど。
ヌルポは型無しnullpointerによる型の制約に違反する問題だろ。
スタックだろうがヒープだろうが型無しインスタンスを使う限り発生する。
c++もポインタを排除して参照のみにできれば随分違うだろうけど。
629デフォルトの名無しさん
2023/11/23(木) 10:31:50.34ID:mLPybMZb 中途半端に浅いコピーは、深い方が正しい可能性を否定できない
これがコピー問題
ヒープを使えば極端に浅いコピーになる
これはバグではなく意図的にしか見えないから問題が解消する
これがコピー問題
ヒープを使えば極端に浅いコピーになる
これはバグではなく意図的にしか見えないから問題が解消する
630デフォルトの名無しさん
2023/11/23(木) 10:37:31.57ID:mHKDjsht >>597
そこはRust最低だよな
そこはRust最低だよな
631デフォルトの名無しさん
2023/11/23(木) 10:57:07.78ID:KmXfNFgK 機能追加が常に善なら後発言語は機能お化けに
なる一方のはずだがそうはなってないので
〇〇言語には△△機能が無いからゴミという
論法はあまり意味がない
なる一方のはずだがそうはなってないので
〇〇言語には△△機能が無いからゴミという
論法はあまり意味がない
632デフォルトの名無しさん
2023/11/23(木) 12:06:15.18ID:gaANDpVB633デフォルトの名無しさん
2023/11/23(木) 12:33:56.71ID:cJqQ5Mzl634デフォルトの名無しさん
2023/11/23(木) 13:07:39.51ID:mHKDjsht C++のtemplateは失敗
635デフォルトの名無しさん
2023/11/23(木) 13:35:39.34ID:tND7y2dZ636デフォルトの名無しさん
2023/11/23(木) 13:53:47.80ID:KmXfNFgK637デフォルトの名無しさん
2023/11/23(木) 14:01:33.34ID:P5PvPGf5 実装継承不要とか言ってたやつら負けるの早すぎだろ
拍子抜けもいいところ
拍子抜けもいいところ
638デフォルトの名無しさん
2023/11/23(木) 15:08:18.27ID:m+MQWJu5 いや。参考になったから、それはそれでいいぞ(IUnk派
639デフォルトの名無しさん
2023/11/23(木) 16:01:38.36ID:M3SMKrV5 Reactの継承を使っているコードを出せない時点で負け犬はどっちか明確
強い言葉使ってやるからかかってこい
強い言葉使ってやるからかかってこい
640デフォルトの名無しさん
2023/11/23(木) 16:37:00.29ID:/KrkujPK 「Reactは本体含めて継承は一切使っておらず、全て関数だと言い張る人がいるのですが本当でしょうか?」と
自分の主張ではないフリしてStack Overflowあたりで聞いてみ?
めっちゃ馬鹿にされるだろうけどすぐに欲しがってる答えをもらえるぞw
自分の主張ではないフリしてStack Overflowあたりで聞いてみ?
めっちゃ馬鹿にされるだろうけどすぐに欲しがってる答えをもらえるぞw
641デフォルトの名無しさん
2023/11/23(木) 16:38:05.49ID:t7xzkVTj ビビってレスもできんかw
情けないクズ
情けないクズ
642デフォルトの名無しさん
2023/11/23(木) 16:43:11.88ID:9Fa6B1S9 プロトタイプ継承もわかってないのに事あるごとにReact連呼してたのかと思うと滑稽を通り越してちょっと可哀想
643デフォルトの名無しさん
2023/11/23(木) 16:52:07.60ID:t7xzkVTj はよそのコードを出せよ
それも出せないくせに偉そうに御託をごちゃごちゃ言う
偉そうに自分語りするくせに的外れ
虫唾が走る
それも出せないくせに偉そうに御託をごちゃごちゃ言う
偉そうに自分語りするくせに的外れ
虫唾が走る
644デフォルトの名無しさん
2023/11/23(木) 17:57:28.21ID:qpiJFg02 継承はプログラミングスタイルとして決定が多いため
モダンな各プログラミング言語で継承が不採用となっただけでなく
Reactでも継承を使わずに済むように進化してきたのよ
モダンな各プログラミング言語で継承が不採用となっただけでなく
Reactでも継承を使わずに済むように進化してきたのよ
645デフォルトの名無しさん
2023/11/23(木) 18:04:46.83ID:t7xzkVTj おーいまた遅レスかー?
快活クラブから出ちゃったのー?
快活クラブから出ちゃったのー?
646デフォルトの名無しさん
2023/11/23(木) 18:52:56.05ID:t7xzkVTj >>644
多分そういう意味すらわかってないと思うよ
プロトタイプ継承がどうとかそんな話とカンケーないのにな
とっととReactのリポジトリクローンしてgrepすりゃわかるのに
何でその程度のことができないのか
多分そういう意味すらわかってないと思うよ
プロトタイプ継承がどうとかそんな話とカンケーないのにな
とっととReactのリポジトリクローンしてgrepすりゃわかるのに
何でその程度のことができないのか
647デフォルトの名無しさん
2023/11/23(木) 19:34:58.02ID:5s3/w8/I src/foo/bar.jsの124行目見てどう思うプギャー
とやればいいだけなのになぜかやらない
とやればいいだけなのになぜかやらない
648デフォルトの名無しさん
2023/11/23(木) 21:12:25.76ID:FMewW6Qw >>629
それは理解がおかしい
浅い深いのコピーの分類ではうまくいかなかったのが歴史
それが所有権の概念とムーブセマンティクスの導入で整理されたのが今の状態
浅いと言っていたのがムーブで深いのがコピー
ヒープがどうのこうのってのは間接的なこと
そもそもヒープが単一って前提もc++にはない
それは理解がおかしい
浅い深いのコピーの分類ではうまくいかなかったのが歴史
それが所有権の概念とムーブセマンティクスの導入で整理されたのが今の状態
浅いと言っていたのがムーブで深いのがコピー
ヒープがどうのこうのってのは間接的なこと
そもそもヒープが単一って前提もc++にはない
649デフォルトの名無しさん
2023/11/23(木) 21:20:40.39ID:FMewW6Qw >>634
まぁ判断は難しいね
下手に表現力が高かったがために、一見言語組み込みでやるべきものの多くがユーザー側で実現されてきた
様々なテクニックが発見され発展速度向上には寄与しただろうが一方で深い考察のなく導入された結果仕様の複雑さを招いた
個人的にはエラーメッセージ見ても何が悪いのかすぐに理解できない代物になったのは許せないね
まぁ判断は難しいね
下手に表現力が高かったがために、一見言語組み込みでやるべきものの多くがユーザー側で実現されてきた
様々なテクニックが発見され発展速度向上には寄与しただろうが一方で深い考察のなく導入された結果仕様の複雑さを招いた
個人的にはエラーメッセージ見ても何が悪いのかすぐに理解できない代物になったのは許せないね
650デフォルトの名無しさん
2023/11/23(木) 21:32:54.70ID:12+j04nO C++のテンプレートはCのマクロ文化を止めたかったんでしょ
メタプロガチ勢が頑張りすぎてカオスになったけど功績は大きいと思う
メタプロガチ勢が頑張りすぎてカオスになったけど功績は大きいと思う
651デフォルトの名無しさん
2023/11/23(木) 21:58:33.69ID:hsLNP7GU ディープコピーを知らずに盛大に恥を晒した某オジがコピーについて語るとか世も末だなw
652デフォルトの名無しさん
2023/11/23(木) 22:09:33.63ID:t7xzkVTj テンプレートはコンテナを矛盾なく書くのがめちゃくちゃ難しいのよ
まず要素の型が実体とポインタ両方に対してうまく動くようにするのは至難の業
例のコピー可能オブジェクトの話とも絡んできて「無理」となる
この辺Rustはよくできてる
イテレータが可変参照なのか共有参照なのか、実体なのかによってきちんと分けられている
C++で困った部分を完全に解決してくれてる
Rust素晴らしい
まず要素の型が実体とポインタ両方に対してうまく動くようにするのは至難の業
例のコピー可能オブジェクトの話とも絡んできて「無理」となる
この辺Rustはよくできてる
イテレータが可変参照なのか共有参照なのか、実体なのかによってきちんと分けられている
C++で困った部分を完全に解決してくれてる
Rust素晴らしい
653デフォルトの名無しさん
2023/11/23(木) 22:28:06.68ID:0De2U7us654デフォルトの名無しさん
2023/11/23(木) 23:13:27.00ID:FMewW6Qw そりゃSTLで満足してる間はそれでいいだろ
アロケーターを指定したことないだろ?
アロケーターを指定したことないだろ?
655デフォルトの名無しさん
2023/11/23(木) 23:28:00.45ID:M3SMKrV5 むかしはSTLがない環境も多かったからね
windows環境ではクソ遅かったせいか
完全にないものと扱う奴さえいた
windows環境ではクソ遅かったせいか
完全にないものと扱う奴さえいた
656デフォルトの名無しさん
2023/11/23(木) 23:30:28.39ID:0De2U7us >>654,655
じゃ今のSTLは問題ないで良いのかな?
じゃ今のSTLは問題ないで良いのかな?
657デフォルトの名無しさん
2023/11/23(木) 23:37:07.63ID:u/H26W0M >>652
そこに加えてRustはスタック領域も扱えるからさらにヒープ使用を減らせるところ
そこに加えてRustはスタック領域も扱えるからさらにヒープ使用を減らせるところ
658デフォルトの名無しさん
2023/11/23(木) 23:37:56.70ID:09UkZirn 問題ないと問われればあるだろうね
ただよく訓練されたC++使いは気に入らないと文句を垂れても仕方ない事もよく理解してるから
その環境で可能な別の手段を用いるだけだよ
ただよく訓練されたC++使いは気に入らないと文句を垂れても仕方ない事もよく理解してるから
その環境で可能な別の手段を用いるだけだよ
659デフォルトの名無しさん
2023/11/23(木) 23:39:53.17ID:0De2U7us660デフォルトの名無しさん
2023/11/23(木) 23:48:05.78ID:09UkZirn どのような問題かなんて別の手段で解決した後に覚えてるわけないじゃん
何でも欲しがりさんには判らないか
何でも欲しがりさんには判らないか
661デフォルトの名無しさん
2023/11/23(木) 23:58:49.29ID:0De2U7us >>660
示せないなら問題あるなんて言ってはいかんだろうよ?
示せないなら問題あるなんて言ってはいかんだろうよ?
662デフォルトの名無しさん
2023/11/24(金) 00:21:55.00ID:oZLKiYTi C++はSTLを一応擁しているけど、各プロジェクトで、もうちょっと軽量で自分とこ向きのコンテナ持ってるとこが多い
異論は認める
異論は認める
663デフォルトの名無しさん
2023/11/24(金) 00:29:35.14ID:qKRvRsRu664デフォルトの名無しさん
2023/11/24(金) 00:31:58.77ID:oZLKiYTi 俺はSTLが重厚すぎて自分の手に負えないと思ってるので、なんとも。
STLにもバリエーションがあるのは承知していて、あんまり幅広く試せてないってのも。
ただし、依存(include)してるプロジェクトは当然あるし、試作には便利なので、ないのは困る。
STLにもバリエーションがあるのは承知していて、あんまり幅広く試せてないってのも。
ただし、依存(include)してるプロジェクトは当然あるし、試作には便利なので、ないのは困る。
665デフォルトの名無しさん
2023/11/24(金) 07:39:29.33ID:eRQLkcC1666デフォルトの名無しさん
2023/11/24(金) 08:38:00.98ID:4SGglGUV667デフォルトの名無しさん
2023/11/24(金) 11:26:41.73ID:qKRvRsRu668デフォルトの名無しさん
2023/11/24(金) 11:31:35.71ID:UKwUTpr8 継承を使いこなせない者同士仲良くしろよなw
669デフォルトの名無しさん
2023/11/24(金) 14:20:00.82ID:v63PRHPl 嫌儲にまでスレ立てることないだろw
670デフォルトの名無しさん
2023/11/24(金) 14:23:40.25ID:9RAaBgN9 全然伸びてなくて草
こんな過疎スレで敗走したからって嫌儲民おらに力を分けてくれーーってやろうとしたけど
そこでも無視されてる
情けない奴だ
だからゴミクズなんだよ
こんな過疎スレで敗走したからって嫌儲民おらに力を分けてくれーーってやろうとしたけど
そこでも無視されてる
情けない奴だ
だからゴミクズなんだよ
671デフォルトの名無しさん
2023/11/24(金) 14:29:03.78ID:rK2EDUzF Why I think C++ is still a desirable coding platform compared to Rust
https://lucisqr.substack.com/p/why-i-think-c-is-still-a-very-attractive
https://lucisqr.substack.com/p/why-i-think-c-is-still-a-very-attractive
672デフォルトの名無しさん
2023/11/24(金) 14:36:54.58ID:eHJQmp62673デフォルトの名無しさん
2023/11/24(金) 16:11:19.50ID:UVQLfV0S >>671
これは酷いw
これは酷いw
674デフォルトの名無しさん
2023/11/24(金) 16:25:00.95ID:tvJVQF3W いくらめんどくさくても安全のお守りがほしいんすわ
C++製システムがクラッシュしてうなだれたあの日の鬱憤が安全を求めるんすわ
C++製システムがクラッシュしてうなだれたあの日の鬱憤が安全を求めるんすわ
675デフォルトの名無しさん
2023/11/24(金) 16:34:40.23ID:6OrpRj0R676デフォルトの名無しさん
2023/11/24(金) 16:45:30.90ID:Oe/LAESW677デフォルトの名無しさん
2023/11/24(金) 16:52:45.75ID:KbRqc6TK フルボッコで草
678デフォルトの名無しさん
2023/11/24(金) 16:55:26.04ID:rK2EDUzF めっちゃ感想来てるw
俺は読まずに貼った、おもしろそうだったから
[Roast Me] って付いてたので、異論は認める系の日記かなって思ってた
仕事終わったら俺も読む 気にしないから感想はご自由に
俺は読まずに貼った、おもしろそうだったから
[Roast Me] って付いてたので、異論は認める系の日記かなって思ってた
仕事終わったら俺も読む 気にしないから感想はご自由に
679デフォルトの名無しさん
2023/11/24(金) 19:51:30.59ID:FR/8T+5m >>674
わかる。他人の書いたC++ライブラリがめっちゃメモリリークする時とかそう思うわ
わかる。他人の書いたC++ライブラリがめっちゃメモリリークする時とかそう思うわ
680デフォルトの名無しさん
2023/11/24(金) 19:53:16.58ID:Pf2BWo+V 元記事に英語でコメント付けに行くことはしい内弁慶たちであった
681デフォルトの名無しさん
2023/11/24(金) 20:53:52.01ID:HwIqF0Eo >>652
要約: バカには無理
要約: バカには無理
682デフォルトの名無しさん
2023/11/24(金) 22:58:47.93ID:cJ52o0CU 使うなと言ってもバカはクラス継承をどうしても使いたがって質を下げるため
モダンなプログラミング言語は一斉にクラスごと言語から排除した
モダンなプログラミング言語は一斉にクラスごと言語から排除した
683デフォルトの名無しさん
2023/11/24(金) 23:09:27.03ID:UpLQZeUm そうそうバカはclassやextendを無くせば実装継承が無くなったと勘違いするからバカに気づかれないようにカモフラージュして実装してバカが無節操に使わないようにしてるんだよなぁ
684デフォルトの名無しさん
2023/11/24(金) 23:40:23.66ID:qKRvRsRu そうしてマイナー言語マニアの思い出の一つとして
長く記憶に留まる言語となるであろう
長く記憶に留まる言語となるであろう
685デフォルトの名無しさん
2023/11/25(土) 00:57:31.51ID:xDUppX6s >>683
実装継承の定義教えてくれ
実装継承の定義教えてくれ
686デフォルトの名無しさん
2023/11/25(土) 09:02:19.65ID:rKTwm3uz >他人の書いたC++ライブラリがめっちゃメモリリークする
某OSのAPIのことですね判ります
某OSのAPIのことですね判ります
687デフォルトの名無しさん
2023/11/25(土) 09:47:04.81ID:9BsUE7B+688デフォルトの名無しさん
2023/11/25(土) 21:29:31.59ID:1Ohowu9E 嘘オジと複オジは撃沈されたようだな
689デフォルトの名無しさん
2023/11/26(日) 15:19:59.23ID:06WEnIxy OSにバグがあって後処理をしてもOSがリソースを掴みっぱなしになるといった経験はないだろうか。
そういった場合そのリソースを使う箇所だけ子プロセスとして隔離し、使い終わったらそのプロセスを終了する事でリソースを完全に開放させることが可能だ。
このプロセスの隔離はかなり万能な解決方法で、納期が短くて怪しいと思っても修正が困難なケースにも応用可能だ。
まあ要するにリークを疑われる場合一旦別プロセスにすれば必ず開放されるからリークは必ずしも怖くないよって話。
そういった場合そのリソースを使う箇所だけ子プロセスとして隔離し、使い終わったらそのプロセスを終了する事でリソースを完全に開放させることが可能だ。
このプロセスの隔離はかなり万能な解決方法で、納期が短くて怪しいと思っても修正が困難なケースにも応用可能だ。
まあ要するにリークを疑われる場合一旦別プロセスにすれば必ず開放されるからリークは必ずしも怖くないよって話。
690デフォルトの名無しさん
2023/11/26(日) 15:30:13.25ID:qv9H5y0z と、御社の現お取引先ホームページにありますね。
弊社はRust採用実績十分、リークは原則としてありません
弊社はRust採用実績十分、リークは原則としてありません
691デフォルトの名無しさん
2023/11/26(日) 16:02:44.80ID:GTIMQwMH >>687
いい定義だな
いい定義だな
692デフォルトの名無しさん
2023/11/26(日) 16:21:23.35ID:8OjiBh4l Rustはモダンな言語の一つなので
その定義でもRustは実装継承を持たずきちんと排除している
その定義でもRustは実装継承を持たずきちんと排除している
693デフォルトの名無しさん
2023/11/26(日) 18:06:50.18ID:6qvbnksS 結局、c++が最狂ってことでいいな?
694デフォルトの名無しさん
2023/11/26(日) 18:08:00.70ID:Dq1p+inG >>618
c++が最凶最悪
c++が最凶最悪
695デフォルトの名無しさん
2023/11/26(日) 18:37:35.88ID:4YJKEDWv696デフォルトの名無しさん
2023/11/26(日) 18:49:55.09ID:o8qwwCxG >一旦別プロセスにすれば必ず開放される
doubt
doubt
697デフォルトの名無しさん
2023/11/26(日) 19:14:33.38ID:6NRjjzPt すくなくともWindowsは長期間起動し続けると空きメモリが減っていく
OSが意図的に開放せずにキャッシュしてるのかリークなのかは分からないが
OSが意図的に開放せずにキャッシュしてるのかリークなのかは分からないが
698デフォルトの名無しさん
2023/11/26(日) 19:39:37.59ID:AfiVlC9p >>689
それ本当にOSのバグ?w
それ本当にOSのバグ?w
699デフォルトの名無しさん
2023/11/26(日) 19:41:06.05ID:Lbe7PiAw700デフォルトの名無しさん
2023/11/26(日) 19:44:09.20ID:EBR4w0d/ >>689
きっしょ
きっしょ
701デフォルトの名無しさん
2023/11/26(日) 22:37:51.44ID:06WEnIxy 俺が遭遇したのは2件で、どちらもOSの不具合という結論だよ
MSのナレッジに残ってるかもしれないがどっちもプロセスを終了するしか解決策が示されなかった
>>699
こういう理不尽に遭遇して回避策が示されたなら大仕事でもやらざるを得ないと思うけどね
別に難しいって程でもないし
MSのナレッジに残ってるかもしれないがどっちもプロセスを終了するしか解決策が示されなかった
>>699
こういう理不尽に遭遇して回避策が示されたなら大仕事でもやらざるを得ないと思うけどね
別に難しいって程でもないし
702デフォルトの名無しさん
2023/11/26(日) 22:48:32.77ID:06WEnIxy そういや別件でOSが設定しているタイムアウト値を待てない場合も別プロセスにして回避した事がある
この板って年寄りばかりだろうしWindowsのプログラミング長年やってれば何度かそういう事に遭遇するんじゃないの
この板って年寄りばかりだろうしWindowsのプログラミング長年やってれば何度かそういう事に遭遇するんじゃないの
703デフォルトの名無しさん
2023/11/26(日) 23:01:37.86ID:iMOX0Yuj あのね、年寄りが真面目に答えてやるとOSの観点から言うと
windowsとLinuxじゃプロセスの考え方が結構違ってて
Linuxの場合、バックグラウンドプロセスっていうのは普通に使われまくってるの
いわゆるプロセスのクローンだから扱いが楽
シェルから作れるし
一方windowsではexeなんでクソ重い上に扱いが面倒
データ共有やプロセス間通信も一苦労だ
だからwindowsではLinuxっぽいバックグラウンド処理はスレッドを使う
windowsにおいてスレッドの方が軽い
一方Linuxではスレッドもプロセスも本質的に同じ
(カーネルの構造体thread_structはプロセス生成の時も使う)
よってプログラミングモデルがだいぶ違うため
どうすべきか?はかなり違う
以上がwindowsでもLinuxでも並行処理を書いてきた俺の感想
windowsとLinuxじゃプロセスの考え方が結構違ってて
Linuxの場合、バックグラウンドプロセスっていうのは普通に使われまくってるの
いわゆるプロセスのクローンだから扱いが楽
シェルから作れるし
一方windowsではexeなんでクソ重い上に扱いが面倒
データ共有やプロセス間通信も一苦労だ
だからwindowsではLinuxっぽいバックグラウンド処理はスレッドを使う
windowsにおいてスレッドの方が軽い
一方Linuxではスレッドもプロセスも本質的に同じ
(カーネルの構造体thread_structはプロセス生成の時も使う)
よってプログラミングモデルがだいぶ違うため
どうすべきか?はかなり違う
以上がwindowsでもLinuxでも並行処理を書いてきた俺の感想
704デフォルトの名無しさん
2023/11/26(日) 23:12:09.99ID:dlQxZ4PC Windowsはプロセスもスレッドも、互換性チェックみたいのが重厚らしく超高コスト
さらに、セキュリティソフトが走ってるのが当たり前の世界なので、ファイルハンドルも高コスト
なんでもWSL2でやったほうが軽い? らしい
てことで、コルーチンはいいぞw
さらに、セキュリティソフトが走ってるのが当たり前の世界なので、ファイルハンドルも高コスト
なんでもWSL2でやったほうが軽い? らしい
てことで、コルーチンはいいぞw
705デフォルトの名無しさん
2023/11/26(日) 23:30:18.11ID:EFSUb3PR Rustの東京を使えばデフォルトでCPUのコアスレッド数をフル活用してコルーチンを何万も同時に動かせますものね
706デフォルトの名無しさん
2023/11/27(月) 00:37:45.36ID:ggQuSpTQ Elixir は、10万もの小プロセスを起動できる
Go の並行処理も、mattn の本に書いてあるけど、
C で、100スレッドを起動したら、
CPU 使用率が高く、12秒も掛かったが、
Goで100 goroutine を起動したら、
6スレッドしか起動せず、9秒で済んだ
Goの方が、CPUコアを効率的に使える
Go の並行処理も、mattn の本に書いてあるけど、
C で、100スレッドを起動したら、
CPU 使用率が高く、12秒も掛かったが、
Goで100 goroutine を起動したら、
6スレッドしか起動せず、9秒で済んだ
Goの方が、CPUコアを効率的に使える
707706
2023/11/27(月) 00:48:36.74ID:ggQuSpTQ とにかく、スレッドを起動したらダメ!
CPU コアや時間の大半が、起動処理に使われるから
CPU コアや時間の大半が、起動処理に使われるから
708デフォルトの名無しさん
2023/11/27(月) 00:59:58.17ID:zZXu+dmb とはいえコルーチンって使い所が難しいのよ
流行りそうで流行らないのがその理由
結局「本当の並列性が必要ないようなすぐ終わる処理を大量にする」ユースケースにしか使えないから
こういう処理ってあまりないことに気がつく
まず真の並列性が必要となる数値計算では使えない
処理の中でブロックするとダメなのでその判断も難しい
よって普通の言語では使うのが難しい
流行りそうで流行らないのがその理由
結局「本当の並列性が必要ないようなすぐ終わる処理を大量にする」ユースケースにしか使えないから
こういう処理ってあまりないことに気がつく
まず真の並列性が必要となる数値計算では使えない
処理の中でブロックするとダメなのでその判断も難しい
よって普通の言語では使うのが難しい
709デフォルトの名無しさん
2023/11/27(月) 01:36:12.87ID:O2rw1r7K710デフォルトの名無しさん
2023/11/27(月) 01:38:37.07ID:AHLzaHDv >>706
>Goの方が、CPUコアを効率的に使える
そう主張したかったら根拠を示さないとね
例えば逆の根拠として
Go各のgoroutineは別々の各々のスタック領域を必要とするけど
Rustはスタックレスなコルーチンだから必要とせずその分だけ効率的だね
>Goの方が、CPUコアを効率的に使える
そう主張したかったら根拠を示さないとね
例えば逆の根拠として
Go各のgoroutineは別々の各々のスタック領域を必要とするけど
Rustはスタックレスなコルーチンだから必要とせずその分だけ効率的だね
711デフォルトの名無しさん
2023/11/27(月) 01:45:48.38ID:zZXu+dmb >>707
普通はスレッドプール使うやろ
普通はスレッドプール使うやろ
712デフォルトの名無しさん
2023/11/27(月) 06:31:05.54ID:klBkI3Ol おれの作成したソフトは起動時に64個のスレッドを立ち上げているが常にサクサクだ
713デフォルトの名無しさん
2023/11/27(月) 07:50:36.80ID:h6EdzCL7 >>712
言語は何?
言語は何?
714デフォルトの名無しさん
2023/11/27(月) 07:54:36.67ID:klBkI3Ol cppは光速
715デフォルトの名無しさん
2023/11/27(月) 09:19:45.20ID:7/k6/GSg717デフォルトの名無しさん
2023/11/27(月) 09:24:14.02ID:7/k6/GSg >>703
Windowsにforkがあれば良かったと思うことは何度かある
Windowsにforkがあれば良かったと思うことは何度かある
718デフォルトの名無しさん
2023/11/27(月) 09:26:12.71ID:7/k6/GSg ああでも
>>703
>一方windowsではexeなんでクソ重い上に扱いが面倒
>データ共有やプロセス間通信も一苦労だ
>だからwindowsではLinuxっぽいバックグラウンド処理はスレッドを使う
ここは完全に間違ってるよ
>>703
>一方windowsではexeなんでクソ重い上に扱いが面倒
>データ共有やプロセス間通信も一苦労だ
>だからwindowsではLinuxっぽいバックグラウンド処理はスレッドを使う
ここは完全に間違ってるよ
719デフォルトの名無しさん
2023/11/27(月) 09:30:39.99ID:7/k6/GSg >>706
>C で、100スレッドを起動したら、
>CPU 使用率が高く、12秒も掛かったが、
>
>Goで100 goroutine を起動したら、
>6スレッドしか起動せず、9秒で済んだ
可笑しな理屈だな
スレッド数で比較するならgoでも100スレッド使って比較するか
Cの方でスレッド数増やさないCで描いたコルーチンで比較するべきだろ
>C で、100スレッドを起動したら、
>CPU 使用率が高く、12秒も掛かったが、
>
>Goで100 goroutine を起動したら、
>6スレッドしか起動せず、9秒で済んだ
可笑しな理屈だな
スレッド数で比較するならgoでも100スレッド使って比較するか
Cの方でスレッド数増やさないCで描いたコルーチンで比較するべきだろ
720デフォルトの名無しさん
2023/11/27(月) 10:19:10.91ID:bfNyVWtl プロセスを分けて独立したメモリ空間の単位で障害を切り離して耐障害性を高めるのは昔からよく使われる方法だけどこれはスレッドやコルーチンでは代用できない
並行性を高める目的ならコルーチン+スレッドプールが最も効率が良い
C++やRustはまだまだ使いにくいけどGoやC#やSwiftのように使いやすいAPIが用意されれば誰もが当たり前のように使うようになる
並行性を高める目的ならコルーチン+スレッドプールが最も効率が良い
C++やRustはまだまだ使いにくいけどGoやC#やSwiftのように使いやすいAPIが用意されれば誰もが当たり前のように使うようになる
721デフォルトの名無しさん
2023/11/27(月) 13:17:02.15ID:y1vsdTcE722デフォルトの名無しさん
2023/11/27(月) 13:22:19.90ID:y1vsdTcE723デフォルトの名無しさん
2023/11/27(月) 13:27:11.60ID:UqO8a829 fork移植されてると思うけどそういう話ではなく?
724デフォルトの名無しさん
2023/11/27(月) 13:40:29.77ID:y1vsdTcE >>723
pythonじゃ使えないぞ
pythonじゃ使えないぞ
725デフォルトの名無しさん
2023/11/27(月) 14:04:14.09ID:l+s92lQ4 遅くともcygwinとかで、なんちゃってforkは実装されてるけど、コレジャナイ感は付きまとうんだよな(個人の感想です
726デフォルトの名無しさん
2023/11/27(月) 14:10:54.29ID:O2rw1r7K execなしのforkなんて時代錯誤もいいところ
いまだに使ってるやついんのか?
さっさと引退するのが世のために
いまだに使ってるやついんのか?
さっさと引退するのが世のために
727デフォルトの名無しさん
2023/11/27(月) 14:17:35.21ID:zZXu+dmb RubyもNotImplementedError
Perlはエミュレーションしてるがすでに非推奨レベル
Perlはエミュレーションしてるがすでに非推奨レベル
728デフォルトの名無しさん
2023/11/27(月) 14:21:41.56ID:+D1aTXqp こんどはforkを取り囲んでフェルマータするターンか
729デフォルトの名無しさん
2023/11/27(月) 15:12:24.83ID:qB4qrVrI forkは同じページを(書き換えるまで)共有できるのが売りだと思うけどwin版は最初からコピーするのか
そんな実装でfork爆弾作れるの?
そんな実装でfork爆弾作れるの?
730デフォルトの名無しさん
2023/11/27(月) 15:12:35.28ID:l+s92lQ4 ま、雑談だからな おもしろければどうでもおっけー
731デフォルトの名無しさん
2023/11/27(月) 15:37:56.10ID:+D1aTXqp オジジジジジw
https://medaka.5ch.net/test/read.cgi/prog/1619943288/667
667: 仕様書無しさん 2023/11/24(金) 01:57:39.09
>>665
C++のスマポは機能が弱すぎてできないことが多すぎる
例えばヒープ領域しか指せないから
(L1キャッシュ効果と領域確保解放コスト無しで高速な)スタック領域の活用がスマポではできない
https://medaka.5ch.net/test/read.cgi/prog/1619943288/667
667: 仕様書無しさん 2023/11/24(金) 01:57:39.09
>>665
C++のスマポは機能が弱すぎてできないことが多すぎる
例えばヒープ領域しか指せないから
(L1キャッシュ効果と領域確保解放コスト無しで高速な)スタック領域の活用がスマポではできない
732デフォルトの名無しさん
2023/11/27(月) 15:50:29.33ID:UqO8a829 スタック領域をスマートポインタで指す必要はあるの?
733デフォルトの名無しさん
2023/11/27(月) 15:57:04.75ID:l+s92lQ4 先々で、うっかりfreeするような書き方してしまったときにコンパイルエラーで止まってほしい
実体としては生ポだけど、チェック用の何かにラップされてる…そういうスマポ
実体としては生ポだけど、チェック用の何かにラップされてる…そういうスマポ
734デフォルトの名無しさん
2023/11/27(月) 17:16:07.46ID:FscsMJtl いつものように誰かが書いてた受け売りで中身は理解してないんだろ
少し突っ込まれたら表面的なことを繰り返す壊れたレコードになる
少し突っ込まれたら表面的なことを繰り返す壊れたレコードになる
735デフォルトの名無しさん
2023/11/27(月) 17:19:29.35ID:ZLucLoet www.microsoft.com/en-us/research/uploads/prod/2019/04/fork-hotos19.pdf
736デフォルトの名無しさん
2023/11/27(月) 19:00:17.85ID:UqO8a829 >>733
実装すれば良いのでは?
実装すれば良いのでは?
737デフォルトの名無しさん
2023/11/27(月) 19:12:23.49ID:MloD+hDC >>731
スタック領域は勝手に解放されますが
スタック領域は勝手に解放されますが
738デフォルトの名無しさん
2023/11/27(月) 19:23:48.42ID:VTBvXWTh Rustはヒープ領域だけでなくスタック領域にまで所有権やムーブや参照の概念を拡張したことから
C++よりスタック領域の活用で効率的になってる話ではないか
C++よりスタック領域の活用で効率的になってる話ではないか
739デフォルトの名無しさん
2023/11/27(月) 19:41:50.12ID:4LX/kS4x740デフォルトの名無しさん
2023/11/27(月) 19:55:41.13ID:XLFtaca7741デフォルトの名無しさん
2023/11/27(月) 19:57:13.46ID:ceTrdy2T C++は書くのがしんどい
Rustもしんどいけど、生成AIに書かせたコードもコンパイルとテスト通ればメモリリークの心配なく使えるので気持ちは楽
Rustもしんどいけど、生成AIに書かせたコードもコンパイルとテスト通ればメモリリークの心配なく使えるので気持ちは楽
742デフォルトの名無しさん
2023/11/28(火) 03:07:58.34ID:iuwbNdCf Boxってヒープのメモリどうやって管理してんの?スコープ?
743デフォルトの名無しさん
2023/11/28(火) 06:19:45.83ID:fb4KLmhh744デフォルトの名無しさん
2023/11/28(火) 07:21:41.08ID:p7m/jx+j >>742
unique ptrみたいな感じじゃない?
unique ptrみたいな感じじゃない?
745デフォルトの名無しさん
2023/11/28(火) 07:38:03.63ID:OE19BKGq746デフォルトの名無しさん
2023/11/28(火) 08:32:49.65ID:t7+ip2Xg747デフォルトの名無しさん
2023/11/28(火) 08:34:53.09ID:4GFkN+H+ スタック使うってカーネルで使えるん?
748デフォルトの名無しさん
2023/11/28(火) 09:04:02.54ID:uB2ZO1/C Rustの所有権チェックって、(コンパイル時にコストを寄せてるから)実行時はゼロコストじゃないん
へたくそに書いたら効率が下がる(たいてい実装効率が上がった犠牲)のは、C/C++も同じ
へたくそに書いたら効率が下がる(たいてい実装効率が上がった犠牲)のは、C/C++も同じ
749デフォルトの名無しさん
2023/11/28(火) 10:10:56.04ID:pC50QOa+ 技術的選択というのは最終的には必ずトレードオフになるので
ある選択のプラス面だけしか見ない/考えない/認識できないやつは何やらせてもダメ
ある選択のプラス面だけしか見ない/考えない/認識できないやつは何やらせてもダメ
750デフォルトの名無しさん
2023/11/28(火) 12:14:38.37ID:0HFLSmnD 新人やお前らの前任の調子いいだけの奴がコンパイル通したコードで、rustとc++のどっちが安心できるかってことよ。
751デフォルトの名無しさん
2023/11/28(火) 12:37:00.84ID:zgX3htu8 c++に自動変数専用参照とかあるといいんだけどなぁ。
自動変数にあるスマートポインタは参照渡ししたい。
自動変数にあるスマートポインタは参照渡ししたい。
752デフォルトの名無しさん
2023/11/28(火) 14:34:16.09ID:5v5wYsOr 今更だけどNonNullクソ便利だな
753デフォルトの名無しさん
2023/11/28(火) 14:49:32.02ID:tbacT9e+ >>751
イマイチ分からんのだがコードで書ける?
イマイチ分からんのだがコードで書ける?
754デフォルトの名無しさん
2023/11/28(火) 15:14:43.92ID:zjrE05Ar >>632
と暇人が申しております
と暇人が申しております
755デフォルトの名無しさん
2023/11/28(火) 15:30:47.32ID:PhTWlmVC >>753
void foo(shared_ptr<T>&&& p)
でshared_ptr&&&が自動変数専用参照だとすると、
void main() {
shared_ptr<T> ptr;
foo(ptr); //スタックにあると合法
shared_ptr<shared_ptr<T>> pptr;
foo(*pptr); //ヒープにあるとエラー
shared_ptr<T>&&& pp = ptr;
foo(*pptr); //次のスタックフレームに渡すのも合法
}
void foo(shared_ptr<T>&&& p)
でshared_ptr&&&が自動変数専用参照だとすると、
void main() {
shared_ptr<T> ptr;
foo(ptr); //スタックにあると合法
shared_ptr<shared_ptr<T>> pptr;
foo(*pptr); //ヒープにあるとエラー
shared_ptr<T>&&& pp = ptr;
foo(*pptr); //次のスタックフレームに渡すのも合法
}
756デフォルトの名無しさん
2023/11/28(火) 15:32:05.10ID:PhTWlmVC757デフォルトの名無しさん
2023/11/28(火) 20:15:20.15ID:QlCOA+Xa メモリがスタックにあるかヒープにあるかはリンカのアドレスマップと連携すればわかる
つまり欲しいなら自作すればいいのでは
つまり欲しいなら自作すればいいのでは
758デフォルトの名無しさん
2023/11/28(火) 21:08:43.42ID:zgX3htu8759デフォルトの名無しさん
2023/11/28(火) 21:40:34.18ID:2tolr/zk さっぱり意味が分からんのだけど
もしかしてshared_ptr&&&なる存在に参照されたshared_ptr<T>だけはスタック上にTを保持する何者かに化けろと要求している??
もしかしてshared_ptr&&&なる存在に参照されたshared_ptr<T>だけはスタック上にTを保持する何者かに化けろと要求している??
760デフォルトの名無しさん
2023/11/28(火) 21:52:40.46ID:5v5wYsOr 何がやりたいのかさっぱりわからん
761デフォルトの名無しさん
2023/11/28(火) 23:17:43.17ID:Y2Vu8rdK クラスは必ずnewしないといけないと思いこんでいた昔のワイみたいな勘違いしてそう
762デフォルトの名無しさん
2023/11/28(火) 23:30:04.45ID:p7m/jx+j763デフォルトの名無しさん
2023/11/28(火) 23:38:15.09ID:2tolr/zk >>762
自動変数にあるshared_ptrは左辺値だが
自動変数にあるshared_ptrは左辺値だが
764デフォルトの名無しさん
2023/11/28(火) 23:41:06.97ID:2tolr/zk そもそも参照に対して行えるのは代入ではなく初期化だし
765デフォルトの名無しさん
2023/11/28(火) 23:43:48.38ID:QlCOA+Xa 無知ばっかりでここまで話が通じないと思わなんだ
スタックやヒープの開始アドレスがどこから始まるとか気にしたことないの?
rustの悪いとこ透けて見えたわ
スタックやヒープの開始アドレスがどこから始まるとか気にしたことないの?
rustの悪いとこ透けて見えたわ
766デフォルトの名無しさん
2023/11/28(火) 23:55:41.04ID:xnaKz8pj Rustならそんな複雑なことする必要もなく
Rustの方が優れている
ライフタイムさえ満たせば参照先がヒープかスタックか関係なく同一コードでその参照を安全に返す関数などを書くことができる
Rustの方が優れている
ライフタイムさえ満たせば参照先がヒープかスタックか関係なく同一コードでその参照を安全に返す関数などを書くことができる
767デフォルトの名無しさん
2023/11/29(水) 00:18:45.75ID:UMPQWy8o 言い訳ばかり達者で見苦しいスレだこと
768デフォルトの名無しさん
2023/11/29(水) 01:18:06.77ID:w45cg+MW769デフォルトの名無しさん
2023/11/29(水) 02:07:48.15ID:0GsI2ATG どっかで身に覚えがある流れだなと思った
たぶん要件定義の時点でなんかおかしいよ
https://mevius.5ch.net/test/read.cgi/tech/1542002113/504-523
たぶん要件定義の時点でなんかおかしいよ
https://mevius.5ch.net/test/read.cgi/tech/1542002113/504-523
770デフォルトの名無しさん
2023/11/29(水) 03:16:09.69ID:0jw/VZcC いまいちメリットがわからない
ヒープのオブジェクトなら渡す前に呼び出し側でチェックすべきなのではないのか
ヒープのオブジェクトなら渡す前に呼び出し側でチェックすべきなのではないのか
771デフォルトの名無しさん
2023/11/29(水) 03:26:29.12ID:nEUPDdEn バカ強制矯正共生強請言語Rust
772デフォルトの名無しさん
2023/11/29(水) 03:32:20.62ID:I6OxsG4L773デフォルトの名無しさん
2023/11/29(水) 06:13:09.34ID:n75oaT1g Rust推してる香具師はスタックとヒープの違いも判ってないのか
774デフォルトの名無しさん
2023/11/29(水) 06:15:55.34ID:n75oaT1g >>768 ←これはひどい
775デフォルトの名無しさん
2023/11/29(水) 07:33:14.16ID:Oshr4ESo 関数の定義で、shared ptr の参照を安全に受け付ける仮引数の定義方法とかあるの?
効率化のためにインスタンスのコピーは無しの方向で。
効率化のためにインスタンスのコピーは無しの方向で。
776デフォルトの名無しさん
2023/11/29(水) 08:59:38.65ID:w45cg+MW >>773
スタックの頭知りたかったらコマンドライン引数のアドレス取れば?ヒープの頭知りたかったら最初にsbrk(0)すれば?
スタックの頭知りたかったらコマンドライン引数のアドレス取れば?ヒープの頭知りたかったら最初にsbrk(0)すれば?
777デフォルトの名無しさん
2023/11/29(水) 09:22:10.12ID:cEfAMy5j >>765
それでコンパイル時にエラーにできるのかい?
それでコンパイル時にエラーにできるのかい?
778デフォルトの名無しさん
2023/11/29(水) 09:24:24.67ID:cEfAMy5j779デフォルトの名無しさん
2023/11/29(水) 09:29:15.22ID:w45cg+MW780デフォルトの名無しさん
2023/11/29(水) 10:51:01.40ID:I6OxsG4L rustはヒープとスタックを言語的に区別してライフタイムをトラックしてるだろ
それが欲しいならrust使えで終わり
c++では汎用的には無理
そういう要望は昔からある
それが欲しいならrust使えで終わり
c++では汎用的には無理
そういう要望は昔からある
781デフォルトの名無しさん
2023/11/29(水) 11:14:58.09ID:wOoUvEHR >>778
そりゃ、関数を実行している間は参照先が無効にならないことですな。
そりゃ、関数を実行している間は参照先が無効にならないことですな。
782デフォルトの名無しさん
2023/11/29(水) 11:26:21.99ID:JCtBk62y そもそもスタックに参照カウンタ必要か?
関数に対するスタックはプロセスに対するグローバル領域とライフタイムの考え方は同じ。
関数を抜けるまではスタックは有効だし、その関数以降に呼んだ関数が呼出元の関数を抜けた後も握り続ける状況は発生しえない
(別スレッドに共有したりヒープにCopy/Moveしない限りは)からshared_ptrにする必要がないと思うが。
つまり、
T x; // スタック
shared_ptr<T> x; // ヒープ
で型が異なるから、強引にCopy/Moveしなけりゃコンパイルエラーで検出できるし問題は起きない。
関数に対するスタックはプロセスに対するグローバル領域とライフタイムの考え方は同じ。
関数を抜けるまではスタックは有効だし、その関数以降に呼んだ関数が呼出元の関数を抜けた後も握り続ける状況は発生しえない
(別スレッドに共有したりヒープにCopy/Moveしない限りは)からshared_ptrにする必要がないと思うが。
つまり、
T x; // スタック
shared_ptr<T> x; // ヒープ
で型が異なるから、強引にCopy/Moveしなけりゃコンパイルエラーで検出できるし問題は起きない。
783デフォルトの名無しさん
2023/11/29(水) 11:39:18.60ID:I6OxsG4L >>755 はいまいちよくわからんが、ポインタを受け取る関数側でスタックかヒープを判別したいんだろ
かつてそれを解決するため手法としてregion based memory managementが開発された
rustのライフタイム管理の源流
かつてそれを解決するため手法としてregion based memory managementが開発された
rustのライフタイム管理の源流
784デフォルトの名無しさん
2023/11/29(水) 11:46:11.39ID:wioHB1Dg785デフォルトの名無しさん
2023/11/29(水) 12:57:35.03ID:/iUfnYRG 例が微妙だな。直しておくか。
void foo(shared_ptr<T>&&& p)
でshared_ptr&&&が自動変数専用参照だとすると、
shared_ptr<T> bar()
void main() {
shared_ptr<T> ptr;
foo(ptr); //自動変数だと合法
foo(bar()); //自動変数でないとエラー
}
void foo(shared_ptr<T>&&& p) {
baz(p); //次のスタックフレームに渡すのも合法
}
void foo(shared_ptr<T>&&& p)
でshared_ptr&&&が自動変数専用参照だとすると、
shared_ptr<T> bar()
void main() {
shared_ptr<T> ptr;
foo(ptr); //自動変数だと合法
foo(bar()); //自動変数でないとエラー
}
void foo(shared_ptr<T>&&& p) {
baz(p); //次のスタックフレームに渡すのも合法
}
786デフォルトの名無しさん
2023/11/29(水) 13:05:45.44ID:I6OxsG4L787デフォルトの名無しさん
2023/11/29(水) 13:32:40.14ID:SVBOdyHv void foo(T& p){}
void foo(shared_ptr<T>& p){static_assert}
void foo(shared_ptr<T>& p){static_assert}
788デフォルトの名無しさん
2023/11/29(水) 13:33:08.54ID:pBsavzeJ789デフォルトの名無しさん
2023/11/29(水) 13:37:19.41ID:qKmTtpoR >>773
スタックとヒープの違いが分かってなくても使えるなんて、なんて素晴らしい言語なんだ
スタックとヒープの違いが分かってなくても使えるなんて、なんて素晴らしい言語なんだ
790デフォルトの名無しさん
2023/11/29(水) 13:52:43.41ID:pBsavzeJ もういいよ
議論するレベルになってない
引っ掻き回したいだけだろ
この話題終わり
ゴミだから
議論するレベルになってない
引っ掻き回したいだけだろ
この話題終わり
ゴミだから
791デフォルトの名無しさん
2023/11/29(水) 14:48:01.22ID:wOoUvEHR792デフォルトの名無しさん
2023/11/29(水) 15:04:52.17ID:0jw/VZcC はい終わり終わり
793デフォルトの名無しさん
2023/11/29(水) 15:22:50.48ID:I6OxsG4L794デフォルトの名無しさん
2023/11/29(水) 15:29:56.33ID:0GsI2ATG 「lvalueよりさらに限定された値カテゴリを作って、それだけを指せる参照を導入したい」という欲求
もしかして: ライフタイム
もしかして: ライフタイム
795デフォルトの名無しさん
2023/11/29(水) 15:56:42.98ID:8C/SUjDF ヒープを排除したいのは参照してる間にfree/deleteされるのを気にしてるからかな
Rustだとライフタイムというよりborrow checkで解決してる問題
Rustだとライフタイムというよりborrow checkで解決してる問題
796デフォルトの名無しさん
2023/11/29(水) 16:40:54.30ID:wioHB1Dg >>795
そこでborrow checkerが具体的にしていることがライフタイムの妥当性(やミュータビリティの妥当性など)
そこでborrow checkerが具体的にしていることがライフタイムの妥当性(やミュータビリティの妥当性など)
797デフォルトの名無しさん
2023/11/29(水) 18:22:15.98ID:g4z1paMZ >>781
ポイントしてる先がどうなってるかは関係なくてshared_ptr自体がスタック上で生きていれば「shared_ptrへの参照」は無効にならないということを「安全」だと言ってるという理解でいい?
ポイントしてる先がどうなってるかは関係なくてshared_ptr自体がスタック上で生きていれば「shared_ptrへの参照」は無効にならないということを「安全」だと言ってるという理解でいい?
798デフォルトの名無しさん
2023/11/29(水) 20:22:08.97ID:/iUfnYRG >795 >797
そういう話。
RustだとRc<T>の参照をbollow checkerで(たしか)安全に管理できたけど、c++はshared ptr の参照なんて気にもしないで破棄するから、せめて自動変数に置くことを強制しできればちょっとだけ安全に効率化できるのにな、ぐらいの話。
そういう話。
RustだとRc<T>の参照をbollow checkerで(たしか)安全に管理できたけど、c++はshared ptr の参照なんて気にもしないで破棄するから、せめて自動変数に置くことを強制しできればちょっとだけ安全に効率化できるのにな、ぐらいの話。
799デフォルトの名無しさん
2023/11/29(水) 20:54:47.61ID:8C/SUjDF RustのRcもC++のshared_ptrも参照でやり取りするより
Rc本体をclone(C++なら値渡しでコピー)した方が使いやすいと思う
中身じゃなく本体を参照渡しするなら参照カウンタ増えないしRc(shared_ptr)使う意味がなさそう
shared_ptrは元データが破棄されてもコピーが生き残ることに意味があるわけで
この例でshared_ptrを使われると話がややこしくなる
Rc本体をclone(C++なら値渡しでコピー)した方が使いやすいと思う
中身じゃなく本体を参照渡しするなら参照カウンタ増えないしRc(shared_ptr)使う意味がなさそう
shared_ptrは元データが破棄されてもコピーが生き残ることに意味があるわけで
この例でshared_ptrを使われると話がややこしくなる
800デフォルトの名無しさん
2023/11/29(水) 22:26:34.34ID:gjeaJk+d >>798
なるほどそういうことならAST的なものに対してカスタムルールを定義できる静的解析ツールみたいなもので頑張ればチェックはできそう
ただポイント先が途中で変化しても安全と言えるかどうか微妙
Arc/Rcはownerが複数いる場合はポイント先が変更されないことも保証されてる
なるほどそういうことならAST的なものに対してカスタムルールを定義できる静的解析ツールみたいなもので頑張ればチェックはできそう
ただポイント先が途中で変化しても安全と言えるかどうか微妙
Arc/Rcはownerが複数いる場合はポイント先が変更されないことも保証されてる
801デフォルトの名無しさん
2023/11/30(木) 12:27:38.75ID:MXha9GzH ライフタイムチェックが今のRustと同じレベルになるのは早くてもC++32以降なので過度に期待せず気長にお待ち下さい。
802デフォルトの名無しさん
2023/11/30(木) 13:55:26.66ID:7CM8sx7O803デフォルトの名無しさん
2023/11/30(木) 13:57:58.44ID:7CM8sx7O804デフォルトの名無しさん
2023/11/30(木) 14:51:08.28ID:JOtYuMwa 的はずれなことを書いてる自覚がないとはな
複オジ(>>784)のほうが多少自覚してるだけマシかもしれんぞ
複オジ(>>784)のほうが多少自覚してるだけマシかもしれんぞ
805デフォルトの名無しさん
2023/11/30(木) 15:21:08.01ID:D7FKv4Y4806デフォルトの名無しさん
2023/11/30(木) 16:35:34.05ID:5k4SwxyG いや服おじは論外
807デフォルトの名無しさん
2023/12/01(金) 20:56:33.56ID:2VykkaiV808デフォルトの名無しさん
2023/12/02(土) 00:20:14.03ID:qhhzthLD C++はもうテンプレートで道を一度踏み外してる外道だから今更だよ
809デフォルトの名無しさん
2023/12/02(土) 21:13:09.29ID:Lt6EdYBh Javaからプログラム始めたからC++の静的ポリモーフィズムやるconceptの制約がわかりにくすぎて使いこなせん
C++20のconceptを使いこなせてる猛者さん、果たしてスレにおるのかね
C++20のconceptを使いこなせてる猛者さん、果たしてスレにおるのかね
810デフォルトの名無しさん
2023/12/02(土) 21:29:52.21ID:ojltmATj C++で継承をやろうとするのが間違いなんだよね😇
テンプレートはゴミ!
ゴミなんです!
テンプレートはゴミ!
ゴミなんです!
811デフォルトの名無しさん
2023/12/02(土) 22:01:16.75ID:PDmr7t8h C++使ってるけど継承もテンプレートも使ってないな
812デフォルトの名無しさん
2023/12/03(日) 11:30:00.35ID:QTewqrs7 つ
ま
ん
ね
ま
ん
ね
813デフォルトの名無しさん
2023/12/03(日) 13:55:04.97ID:vkjAQods 最近新プロジェクトでC++書かなきゃいけなくてRust使いたがったが
外部システムやライブラリとの絡みで仕方なくC++を使うことになったのだけど
std::shared_ptr
std::weak_ptr
std::move
ムーブ代入演算子
ムーブコンストラクタ
enum class
constexpr(主に設定値のテーブル初期化などに使う)
新しい要素だとマジでこれだけしか使ってなかったよ
継承なしテンプレートなし
外部ライブラリとしてonetbbとminimalloc使ってるだけ
これだけでもそこそこモダンなプログラミングができる
あと足りないのはライフタイムだけかな
C++にそれがきたらRustはいらないけど果たしていつになるのか
外部システムやライブラリとの絡みで仕方なくC++を使うことになったのだけど
std::shared_ptr
std::weak_ptr
std::move
ムーブ代入演算子
ムーブコンストラクタ
enum class
constexpr(主に設定値のテーブル初期化などに使う)
新しい要素だとマジでこれだけしか使ってなかったよ
継承なしテンプレートなし
外部ライブラリとしてonetbbとminimalloc使ってるだけ
これだけでもそこそこモダンなプログラミングができる
あと足りないのはライフタイムだけかな
C++にそれがきたらRustはいらないけど果たしていつになるのか
814デフォルトの名無しさん
2023/12/03(日) 14:26:32.44ID:KItL/kTG shared_ptr使ったならテンプレートなしは言いすぎかな
自作テンプレートなしってところか
テンプレートはライブラリとか裏方向けの要素だからアプリ開発ではあまり使わないかも
自作テンプレートなしってところか
テンプレートはライブラリとか裏方向けの要素だからアプリ開発ではあまり使わないかも
815デフォルトの名無しさん
2023/12/03(日) 14:31:19.88ID:Xy0LqFPl は?
816デフォルトの名無しさん
2023/12/03(日) 16:51:09.16ID:455UU+Ox >>813
STLって何の略だか知ってる?
STLって何の略だか知ってる?
817デフォルトの名無しさん
2023/12/03(日) 17:00:48.99ID:qGjodFlK >>815
は?
は?
818デフォルトの名無しさん
2023/12/03(日) 17:02:40.23ID:POEAPkcj 自作テンプレートって意味だろ
文脈理解できないんだな
全部書かなきゃ理解できないタイプ?
文脈理解できないんだな
全部書かなきゃ理解できないタイプ?
819デフォルトの名無しさん
2023/12/03(日) 17:43:27.43ID:wvh0Q/xj >>818
はww
はww
820デフォルトの名無しさん
2023/12/03(日) 17:57:09.24ID:st4Oydl2 このスレはワッチョイ必要だねえ
次スレの1の本文先頭に以下を追加しといてね
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
(新スレ立ての際上記コマンドを2行書き込んでください)
次スレの1の本文先頭に以下を追加しといてね
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
(新スレ立ての際上記コマンドを2行書き込んでください)
821デフォルトの名無しさん
2023/12/03(日) 18:05:13.75ID:7+5J7jul >>818
はww
はww
822デフォルトの名無しさん
2023/12/03(日) 19:07:22.56ID:hEqJHVGR わかる 裏方向けっていうか、裏方モードのときだね
アプリ開発してる最中に、ややこしいクラスライブラリを内製してる…ばっかりでもない
アプリ開発してる最中に、ややこしいクラスライブラリを内製してる…ばっかりでもない
823デフォルトの名無しさん
2023/12/03(日) 19:10:50.45ID:hEqJHVGR 人殴ったりはしないけど、アホなこと書いたりはしちゃうんだよねえ(無知を晒す自爆型)
1日経ったらチャラになってくれたほうが気は楽
1日経ったらチャラになってくれたほうが気は楽
824デフォルトの名無しさん
2023/12/03(日) 19:13:42.60ID:Y6w6S9dN 次スレ自体いらんが
825デフォルトの名無しさん
2023/12/03(日) 19:55:23.02ID:hEqJHVGR 絶対必要なモノなんてない 俺すら不要物
826デフォルトの名無しさん
2023/12/03(日) 20:29:50.68ID:2KUtTHRr 俺スラ?
は?
www
は?
www
827デフォルトの名無しさん
2023/12/03(日) 20:33:01.48ID:PuZI2f4X >>819
効いてる効いてるw
効いてる効いてるw
828デフォルトの名無しさん
2023/12/03(日) 21:02:12.27ID:o7sDI4zZ じゃあベアメタルではヒープとスタックはどうなるの?
829デフォルトの名無しさん
2023/12/03(日) 22:33:53.82ID:K2dbitVB まだいたのかベアメタル
830デフォルトの名無しさん
2023/12/03(日) 22:41:05.20ID:hEqJHVGR マイコンいろいろ買ってみたけど、結局デスクトップばかりいじってる俺、なんとも言えずw
831デフォルトの名無しさん
2023/12/03(日) 22:55:35.48ID:idvLkFW9 RVOにより呼び出し元でスタック領域を確保できつつ
Rustのようにスタック領域に対しても自動的にライフタイム管理ができていれば
コストの高いヒープ領域利用を可能な限り減らしつつ
スタック領域を指す参照(ポインタ)を返したり他へ埋め込んだりしていても安全に使える
というシンプルな話
Rustのようにスタック領域に対しても自動的にライフタイム管理ができていれば
コストの高いヒープ領域利用を可能な限り減らしつつ
スタック領域を指す参照(ポインタ)を返したり他へ埋め込んだりしていても安全に使える
というシンプルな話
832デフォルトの名無しさん
2023/12/03(日) 23:01:41.36ID:hT/LokGW C++もRustもベアメタルという土俵で真価を問われると思うよ
小型軽量ガジェットでAIを高速に処理出る言語に需要があると思ってる。
小型軽量ガジェットでAIを高速に処理出る言語に需要があると思ってる。
833デフォルトの名無しさん
2023/12/03(日) 23:04:45.84ID:8f6BMxsw ねーわw
ガジェットww
ガジェットww
834デフォルトの名無しさん
2023/12/03(日) 23:06:04.65ID:JMjzgwiz ガジェットじゃなくて組み込みデバイスと言え
835デフォルトの名無しさん
2023/12/03(日) 23:16:00.90ID:KItL/kTG Rust使ってるとヒープ領域はスタック上のどこかの変数の運命共同体って感覚になるから
ヒープだからコストが高いって言われると何か違和感がある
Box(ヒープ配置)にするかしないかでたまに迷うけど
【スタック領域】
・サイズが固定
・確保、解放のオーバーヘッドがない
・スタック上で頻繁にコピーされるからでかいと不利
【ヒープ領域】
・サイズが自由
・確保、解放のオーバーヘッドがある
・基本的に移動しないからでかいときに有利
みたいなイメージで使い分けてる
スタック/ヒープだから安全/危険とかは特にないな
ヒープだからコストが高いって言われると何か違和感がある
Box(ヒープ配置)にするかしないかでたまに迷うけど
【スタック領域】
・サイズが固定
・確保、解放のオーバーヘッドがない
・スタック上で頻繁にコピーされるからでかいと不利
【ヒープ領域】
・サイズが自由
・確保、解放のオーバーヘッドがある
・基本的に移動しないからでかいときに有利
みたいなイメージで使い分けてる
スタック/ヒープだから安全/危険とかは特にないな
836デフォルトの名無しさん
2023/12/03(日) 23:16:28.96ID:hT/LokGW 明日仕事がいやでストレスためてそうやなw
837デフォルトの名無しさん
2023/12/03(日) 23:38:17.10ID:4Lj+S9P7 >>835
>>・スタック上で頻繁にコピーされるからでかいと不利
意図的に移動しない限りコピーはされない
ヒープと同じで基本的に移動の必要はない
唯一コピーが起きそうに見える関数返しによる初期化はRVOによりコピーされない
ヒープと同じで確保後はそこへの参照のみ扱うため移動コピーは起きない
>>・スタック上で頻繁にコピーされるからでかいと不利
意図的に移動しない限りコピーはされない
ヒープと同じで基本的に移動の必要はない
唯一コピーが起きそうに見える関数返しによる初期化はRVOによりコピーされない
ヒープと同じで確保後はそこへの参照のみ扱うため移動コピーは起きない
838デフォルトの名無しさん
2023/12/04(月) 00:12:41.83ID:ista3uD6 Result型とかOk(T)とErr(E)のTとEが同じ場所に置かれそうだけどRVO機能するのかな
真面目に調べたことないけどあまり当てにしてない
最適化で適用されたらラッキーくらいの感覚
真面目に調べたことないけどあまり当てにしてない
最適化で適用されたらラッキーくらいの感覚
839デフォルトの名無しさん
2023/12/04(月) 01:36:48.81ID:DD5cHxD/ >>835
スタックは常にキャッシュにのってる
スタックは常にキャッシュにのってる
840デフォルトの名無しさん
2023/12/04(月) 02:21:32.80ID:7y9dHiQE まあRustはこのまま死ぬんだからどうでもよくね?
841デフォルトの名無しさん
2023/12/04(月) 03:52:22.51ID:ukOfFF9P >>840
おまえのレスよりは重要だろ?
おまえのレスよりは重要だろ?
842デフォルトの名無しさん
2023/12/04(月) 04:29:02.89ID:IuiYb6LZ >>840
お前自身がどうでもいい
お前自身がどうでもいい
843デフォルトの名無しさん
2023/12/04(月) 05:55:52.64ID:9MFLJqwq844デフォルトの名無しさん
2023/12/04(月) 10:07:12.79ID:vGycO/bS845デフォルトの名無しさん
2023/12/04(月) 11:26:40.76ID:t4TeK/vS たまにバカでかいオブジェクトをスタックに置くやつが現れるが
スタックは一度伸びたらするスレッド死ぬまで開放されないからメモリ無駄遣いになる
組み込みやコンソールゲーム作ってるとこだとスタックに置けるオブジェクトのサイズの制限決めてるとこあると思うけどチェックがムズいよな
昔仕事でライブラリ開発したときは最大スタック消費量が仕様で決まってた
バグフィクスでもその上限超えてはならない
スタックは一度伸びたらするスレッド死ぬまで開放されないからメモリ無駄遣いになる
組み込みやコンソールゲーム作ってるとこだとスタックに置けるオブジェクトのサイズの制限決めてるとこあると思うけどチェックがムズいよな
昔仕事でライブラリ開発したときは最大スタック消費量が仕様で決まってた
バグフィクスでもその上限超えてはならない
846デフォルトの名無しさん
2023/12/04(月) 12:05:08.64ID:EKSqu5ND >>813
そりゃ、テンプレートとかは基本ライブラリアン向けの機能で、コーダーから複雑性を隠蔽ながら高度な機能を使わせるためのものだからな。
コーダーが自作テンプレートを使わなくてはならない状況になったら、何か設計が間違っていないか注意する必要がある。
まぁc++だとそういう状況もあるから辛いけど。
そりゃ、テンプレートとかは基本ライブラリアン向けの機能で、コーダーから複雑性を隠蔽ながら高度な機能を使わせるためのものだからな。
コーダーが自作テンプレートを使わなくてはならない状況になったら、何か設計が間違っていないか注意する必要がある。
まぁc++だとそういう状況もあるから辛いけど。
847デフォルトの名無しさん
2023/12/04(月) 12:20:54.27ID:EwsyjZMT >>837
>意図的に移動しない限りコピーはされない
これは微妙すぎる
「意図的」も「移動」も恣意的過ぎるから後出し無敵じゃんけんにしかならない
コピーされないこともあるがコピーされる可能性を前提として最初から考えておくべき
>意図的に移動しない限りコピーはされない
これは微妙すぎる
「意図的」も「移動」も恣意的過ぎるから後出し無敵じゃんけんにしかならない
コピーされないこともあるがコピーされる可能性を前提として最初から考えておくべき
848デフォルトの名無しさん
2023/12/04(月) 12:32:02.91ID:5v4NXSIj Rustのmonomorphization使った静的ポリモーフィズムと同じようなことしたければC++はテンプレート必須だから
ハイレベルのコードしか書かないアプリケーションプログラマーでも普通に使う必要があるでしょ
ハイレベルのコードしか書かないアプリケーションプログラマーでも普通に使う必要があるでしょ
849デフォルトの名無しさん
2023/12/04(月) 13:13:30.82ID:TyudsW/I850デフォルトの名無しさん
2023/12/04(月) 13:29:26.93ID:+6ZMbPCa 誰からも指摘されずにどんどん明後日の方向に向かって行っているのは見てる分には面白い
どうか第2の毛の壁と化しませんように
南無阿弥陀仏
どうか第2の毛の壁と化しませんように
南無阿弥陀仏
851デフォルトの名無しさん
2023/12/04(月) 13:38:09.73ID:EKSqu5ND >>849
スタックの取扱いを調整すればよろし。
コールスタックとデータスタックを分けてデータスタックをメモリブロックにするとか、大きいのはマネージドヒープに置くようにするとか。
だんだんヒープに近くなるからスタックのメリットは無くなるけど。
スタックの取扱いを調整すればよろし。
コールスタックとデータスタックを分けてデータスタックをメモリブロックにするとか、大きいのはマネージドヒープに置くようにするとか。
だんだんヒープに近くなるからスタックのメリットは無くなるけど。
852デフォルトの名無しさん
2023/12/04(月) 19:31:46.91ID:Vux7QnQs コードをよりコンパクトな短文にしようと追求したらテンプレートを使うようになるのはごく当たり前だよ
853デフォルトの名無しさん
2023/12/04(月) 19:42:38.90ID:BRBvRtzF >>835
モダンなC++もそれだぞ
class Hoge {
private:
std::shared_ptr<HogeInternal> hoge;
};
Hogeは常にスタックに割り当てる
実際のオブジェクトはHogeInternalで実装する
こうしておけばめちゃくちゃ安全になる
モダンなC++もそれだぞ
class Hoge {
private:
std::shared_ptr<HogeInternal> hoge;
};
Hogeは常にスタックに割り当てる
実際のオブジェクトはHogeInternalで実装する
こうしておけばめちゃくちゃ安全になる
854デフォルトの名無しさん
2023/12/04(月) 19:56:42.31ID:S3L8tG/0 なんで馬鹿はshared_ptr使いたがるんだろう
生ポでいいだろ
生ポでいいだろ
855デフォルトの名無しさん
2023/12/04(月) 20:13:20.11ID:ista3uD6 3/5/0則を知らないもっと馬鹿なやつがdelete用のデストラクタだけ実装して
事故が多発したからでは
事故が多発したからでは
856デフォルトの名無しさん
2023/12/04(月) 20:18:13.44ID:61k0lpUm857デフォルトの名無しさん
2023/12/04(月) 20:23:01.45ID:lyR6TlPF C++、雰囲気で書いたらすぐに壊れるくせに文法がどんどん増えていくのついていけねえわ
どんだけの勉強コストを一つの言語に払わせる気だよ
C++に人生捧げて他のこと何も出来ない無能だけが扱える言語となりつつある
どんだけの勉強コストを一つの言語に払わせる気だよ
C++に人生捧げて他のこと何も出来ない無能だけが扱える言語となりつつある
858デフォルトの名無しさん
2023/12/04(月) 20:27:01.58ID:648vwdUw 3/5/0則みたいな言語の欠陥に疑問を持たなくなったらもう終わり
859デフォルトの名無しさん
2023/12/04(月) 20:31:26.59ID:KZyfgQnR >>856
いだから置くんだよ
伝わってないみたいだから説明するとHogeに直接実装しないってことを言ってる
間接参照を一段挟むのよ
こうすることでコピーしまくっても問題ないヒープに確保されたオブジェクトができる
多少オーバーヘッドは生まれるがめちゃくちゃ安全性は上がるんよ
いだから置くんだよ
伝わってないみたいだから説明するとHogeに直接実装しないってことを言ってる
間接参照を一段挟むのよ
こうすることでコピーしまくっても問題ないヒープに確保されたオブジェクトができる
多少オーバーヘッドは生まれるがめちゃくちゃ安全性は上がるんよ
860デフォルトの名無しさん
2023/12/04(月) 20:32:20.03ID:oiJ5wZfJ そそ、難解な概念使いこなせるのはすごいけど、会社でマウントとれるだけ
世の中が求めてるのはそこじゃない。
世の中が求めてるのはそこじゃない。
861デフォルトの名無しさん
2023/12/04(月) 20:59:36.17ID:H6ggqIOp862デフォルトの名無しさん
2023/12/04(月) 21:10:50.41ID:61k0lpUm >>859
ヒープを使うというオーバーヘッドに加えて
参照カウントを使うというオーバーヘッドまで加わる
もちろん各々が不可欠な場合や両方が不可欠な場合もあるがその前提や吟味をせずに
まともなプログラマーがとる選択肢ではない
ヒープを使うというオーバーヘッドに加えて
参照カウントを使うというオーバーヘッドまで加わる
もちろん各々が不可欠な場合や両方が不可欠な場合もあるがその前提や吟味をせずに
まともなプログラマーがとる選択肢ではない
863デフォルトの名無しさん
2023/12/04(月) 21:14:53.25ID:KZyfgQnR864デフォルトの名無しさん
2023/12/04(月) 21:15:11.88ID:KZyfgQnR Hogeに実装しないことでコピー時のオーバーヘッドを防ぐ
さらに個別にコピーのことを考える必要性がなくなる
HogeInternalのコピーコストだけで済むため高速
shared_ptrは安全にコピー可能
データは共有できメモリ管理も自動で行われる
ヒープにとらなきゃいけなくて共有する可能性があるオブジェクトはこのパターンで実装してください
マジで何も考えなくていいから
さらに個別にコピーのことを考える必要性がなくなる
HogeInternalのコピーコストだけで済むため高速
shared_ptrは安全にコピー可能
データは共有できメモリ管理も自動で行われる
ヒープにとらなきゃいけなくて共有する可能性があるオブジェクトはこのパターンで実装してください
マジで何も考えなくていいから
865デフォルトの名無しさん
2023/12/04(月) 21:18:26.98ID:KZyfgQnR866デフォルトの名無しさん
2023/12/04(月) 21:25:29.71ID:H6ggqIOp >>863
Rustなら参照の共有はヒープを使わずスタックに置いてあるものに対しても安全に可能です
もちろん参照カウンタは必要ありません
ちなみにRustでC++のshared_ptrに相当するRc/Arcを必要とするのはもっと限定された状況で所有の共有が必要となる時のみです
Rustなら参照の共有はヒープを使わずスタックに置いてあるものに対しても安全に可能です
もちろん参照カウンタは必要ありません
ちなみにRustでC++のshared_ptrに相当するRc/Arcを必要とするのはもっと限定された状況で所有の共有が必要となる時のみです
867デフォルトの名無しさん
2023/12/04(月) 21:32:42.16ID:KZyfgQnR 新たな間接参照でラップすることであたかも普通の変数を作るかのようにヒープに値を置ける
このパターンめちゃくちゃ有用なんだがなぜあらゆる本で紹介されてないんだ?
このパターンめちゃくちゃ有用なんだがなぜあらゆる本で紹介されてないんだ?
868デフォルトの名無しさん
2023/12/04(月) 21:35:03.72ID:KZyfgQnR コロンブスの卵だわ
誰もが思いつきそうで思いつかなかった
誰もが思いつきそうで思いつかなかった
869デフォルトの名無しさん
2023/12/04(月) 21:39:30.12ID:KZyfgQnR >>866
まあその辺はさすがRust
まあその辺はさすがRust
870デフォルトの名無しさん
2023/12/04(月) 21:41:03.87ID:ista3uD6 本気でRustに寄せるならunique_ptrの方がいいな
コンパイラが助けてくれないから死にそうだけど
とりあえず循環参照だけは気を付けてくれ
>>867
目的はちょっと違うけどPimplってイディオムがある
コンパイラが助けてくれないから死にそうだけど
とりあえず循環参照だけは気を付けてくれ
>>867
目的はちょっと違うけどPimplってイディオムがある
871デフォルトの名無しさん
2023/12/04(月) 21:54:58.33ID:85Eugi9n 継承じゃ無くて、包含して各メソッドをバトン渡しすれば良くね?
872デフォルトの名無しさん
2023/12/04(月) 22:45:48.75ID:t1H4jiv7873デフォルトの名無しさん
2023/12/04(月) 23:15:56.57ID:o6jCQk0t874デフォルトの名無しさん
2023/12/04(月) 23:53:40.38ID:xybHpH7g >>867
間接参照でいいならわざわざクラスでラップしなくてもshared_ptrそのものでいいように思うんだが
shared_ptr<HogeInternal>で扱うより
ラップしたHogeで扱ったほうがいいメリットって何?
間接参照でいいならわざわざクラスでラップしなくてもshared_ptrそのものでいいように思うんだが
shared_ptr<HogeInternal>で扱うより
ラップしたHogeで扱ったほうがいいメリットって何?
875デフォルトの名無しさん
2023/12/05(火) 00:09:25.25ID:NEqb8LdH mallocでメモリ確保するの気持ちイィ🥴
876デフォルトの名無しさん
2023/12/05(火) 00:55:04.31ID:gtr9NjJz877デフォルトの名無しさん
2023/12/05(火) 00:58:42.15ID:gtr9NjJz >>872
ライブラリとして定期したい場合はshared_ptrで常に包むルールを強制するのも難しいとかかな
ライブラリとして定期したい場合はshared_ptrで常に包むルールを強制するのも難しいとかかな
878デフォルトの名無しさん
2023/12/05(火) 04:45:21.81ID:55rynLOP delegate指定子欲しいよな。
クラスor変数でまとめて指定できればなお良し。
クラスor変数でまとめて指定できればなお良し。
879デフォルトの名無しさん
2023/12/05(火) 05:43:53.62ID:DR8rm2oC それってRustのDeref?
880デフォルトの名無しさん
2023/12/05(火) 08:01:23.94ID:HiCWBikd std::byteを使ってみた結果
危険な計算ができるのがC/C++を使う理由という結論になった
危険な計算ができるのがC/C++を使う理由という結論になった
881デフォルトの名無しさん
2023/12/05(火) 08:50:09.72ID:iiJ5Z2H1 一人で何役やってるの?
882デフォルトの名無しさん
2023/12/05(火) 09:49:41.30ID:Akhn3hwz >>881
数えてみろよ
数えてみろよ
883デフォルトの名無しさん
2023/12/05(火) 10:22:23.63ID:0dgzhl7w >>877
Factoryメソッド経由でしかインスタンス化できないようにするとかして常にshared_ptrやunique_ptrで返すようにすればいいのでは?
Factoryメソッド経由でしかインスタンス化できないようにするとかして常にshared_ptrやunique_ptrで返すようにすればいいのでは?
884デフォルトの名無しさん
2023/12/05(火) 10:50:40.33ID:cS2yZHjP885デフォルトの名無しさん
2023/12/05(火) 11:56:35.63ID:pNurA5HJ Rustのdelegate!のようなことがC++ではまだ出来ないということか
汚いマクロ書けばできそうだけど綺麗に書くにはReflection待ちなのかな
汚いマクロ書けばできそうだけど綺麗に書くにはReflection待ちなのかな
886デフォルトの名無しさん
2023/12/05(火) 13:26:22.00ID:iiJ5Z2H1 >>882
こういうキチガイ対策にワッチョイ必要かもな
こういうキチガイ対策にワッチョイ必要かもな
887デフォルトの名無しさん
2023/12/05(火) 13:34:36.87ID:gtr9NjJz >>882
きっしょw
きっしょw
888デフォルトの名無しさん
2023/12/05(火) 14:18:15.60ID:DR8rm2oC889デフォルトの名無しさん
2023/12/05(火) 14:23:46.88ID:4UYj/sQ8 ワッチョイ立てたってところで結局また次世代言語スレと同じ流れになってRustスレに帰ってくるんだろ
890デフォルトの名無しさん
2023/12/05(火) 14:24:46.44ID:4UYj/sQ8 ×立てたってところで
○立てたところで
○立てたところで
891デフォルトの名無しさん
2023/12/05(火) 14:31:18.82ID:1iJo44eg Adaptorにだけ執拗にこだわるオジもアレだか
Adaptorも知らずにDerefを勧めるオジは論外
Adaptorも知らずにDerefを勧めるオジは論外
892デフォルトの名無しさん
2023/12/05(火) 14:58:30.60ID:gtr9NjJz893デフォルトの名無しさん
2023/12/05(火) 15:21:39.57ID:MywljXTh894デフォルトの名無しさん
2023/12/05(火) 15:51:48.29ID:Nvodex4n >>892
Rustでもそこは同じだと思うよ
ライブラリからBoxやArcが返されるものもあればそれらをラップした型が返されるものもある
シンプルなケースなら前者の方が圧倒的に使いやすい
内包する型のネストが深い場合などで便利メソッドを提供するなら後者ってイメージ
要はラップするだけの付加価値があるかどうか
Rustでもそこは同じだと思うよ
ライブラリからBoxやArcが返されるものもあればそれらをラップした型が返されるものもある
シンプルなケースなら前者の方が圧倒的に使いやすい
内包する型のネストが深い場合などで便利メソッドを提供するなら後者ってイメージ
要はラップするだけの付加価値があるかどうか
895デフォルトの名無しさん
2023/12/05(火) 15:52:25.13ID:QJai9ytv896デフォルトの名無しさん
2023/12/05(火) 16:00:15.02ID:8v2tQb+c >>854
いやいやいやいやw
いやいやいやいやw
897デフォルトの名無しさん
2023/12/05(火) 16:26:52.90ID:sq6EbAl6 リファレンスカウンタ方式のGCを基本にするんならGC言語でいいんじゃねってならない?
898デフォルトの名無しさん
2023/12/05(火) 16:45:36.42ID:iiJ5Z2H1 >>889
えー
えー
899デフォルトの名無しさん
2023/12/05(火) 16:47:29.78ID:MywljXTh ならない
リアルタイム系アプリでGCは困る
リアルタイム系アプリでGCは困る
900デフォルトの名無しさん
2023/12/05(火) 17:17:38.64ID:CoP1YuvK 循環参照で発生するリークを検出するか放置するか
あるいは循環参照を回避するか
それが問題だ
あるいは循環参照を回避するか
それが問題だ
901デフォルトの名無しさん
2023/12/05(火) 17:29:27.24ID:W0r7TCUZ902デフォルトの名無しさん
2023/12/05(火) 17:59:20.81ID:ugZXhcp8 手動メモリ管理のできないGC言語は高コストをかけて循環参照を回収せざるをえない
手動メモリ管理のできるC++/Rustは循環参照を避けることができて低コスト
その話とは別にshared_ptrやRc/Arcは参照カウンタによるコストがかかる
そのため複数所有者を使わざるを得ない場合に限定して用いる
手動メモリ管理のできるC++/Rustは循環参照を避けることができて低コスト
その話とは別にshared_ptrやRc/Arcは参照カウンタによるコストがかかる
そのため複数所有者を使わざるを得ない場合に限定して用いる
903デフォルトの名無しさん
2023/12/05(火) 18:13:07.15ID:Ppu4uIXE >>902
Weak Reference等を使って循環参照を手動で避ける方法が用意されてるかどうかは手動メモリ管理かどうかとは全く関係ないよ
Weak Reference等を使って循環参照を手動で避ける方法が用意されてるかどうかは手動メモリ管理かどうかとは全く関係ないよ
904デフォルトの名無しさん
2023/12/05(火) 18:43:14.63ID:gtr9NjJz >>894
気持ち的にはラップしたいかなあ
気持ち的にはラップしたいかなあ
905デフォルトの名無しさん
2023/12/05(火) 19:04:48.69ID:gtr9NjJz 全銀システム障害「詳細設計書見落とし」でオーバーフローの痛恨、再発防止なるか
https://xtech.nikkei.com/atcl/nxt/column/18/00001/08680/
Rustを使えばいいじゃない
https://xtech.nikkei.com/atcl/nxt/column/18/00001/08680/
Rustを使えばいいじゃない
906デフォルトの名無しさん
2023/12/05(火) 19:13:25.15ID:gquaqYbt IBMだったらJavaだったのに
907デフォルトの名無しさん
2023/12/05(火) 19:18:25.05ID:800y2Su3 積極的にC++を使いたがる人ってC++のどこに魅力を感じているんだ
908デフォルトの名無しさん
2023/12/05(火) 19:24:31.25ID:GrTJwyK/ Cとの互換性
909デフォルトの名無しさん
2023/12/05(火) 19:32:43.32ID:4rw/VL0P >>897
問題はGC言語は *常に* GC機能ありなところ。
問題はGC言語は *常に* GC機能ありなところ。
910デフォルトの名無しさん
2023/12/05(火) 19:40:36.09ID:iiJ5Z2H1 >>907
オブジェクト指向w
オブジェクト指向w
911デフォルトの名無しさん
2023/12/05(火) 20:04:51.38ID:3vhS3QGH リファレンスカウンター気にするくらい速度を求めるなら、RAIIすら嫌だとはならんのかな
mallocはプログラムの最初に一回呼ぶ以外は許されない
mallocはプログラムの最初に一回呼ぶ以外は許されない
912デフォルトの名無しさん
2023/12/05(火) 20:31:30.51ID:GM9Glwep913デフォルトの名無しさん
2023/12/05(火) 21:15:38.20ID:HiCWBikd やりたいことが出来るのが一番の理由
アンリミテッドが魅力
アンリミテッドが魅力
914デフォルトの名無しさん
2023/12/05(火) 21:36:14.43ID:9fH1d+k3 参照カウントて結構コストあったよな……と探したら解説見つけた。
yamasa.hatenablog.jp/entry/2021/01/29/012525
昔は並列処理と相性悪いと言われていたけど、今はどうかね?
yamasa.hatenablog.jp/entry/2021/01/29/012525
昔は並列処理と相性悪いと言われていたけど、今はどうかね?
915デフォルトの名無しさん
2023/12/05(火) 21:36:19.50ID:ckmQfDX3 ++C Unsafety Unlimited C++
916デフォルトの名無しさん
2023/12/05(火) 21:43:08.45ID:tZxAn7Rl917デフォルトの名無しさん
2023/12/05(火) 21:59:57.96ID:puqODfvy918デフォルトの名無しさん
2023/12/05(火) 22:10:46.45ID:vNAfxFS3 >>911
RAII自体はコストゼロ
RAIIで解放されるスタック上の値の型にデストラクタがある時にその実行コストがかかる
そしてヒープ領域を所有していればヒープ解放コストがかかる
何度もヒープ確保解放を繰り返すよりはなるべく最初に確保するのはもちろん正しい
スタック領域で済ませられるならさらに望ましい
RAII自体はコストゼロ
RAIIで解放されるスタック上の値の型にデストラクタがある時にその実行コストがかかる
そしてヒープ領域を所有していればヒープ解放コストがかかる
何度もヒープ確保解放を繰り返すよりはなるべく最初に確保するのはもちろん正しい
スタック領域で済ませられるならさらに望ましい
919デフォルトの名無しさん
2023/12/05(火) 22:57:00.41ID:iiJ5Z2H1 全部独り言だったりしてw
920デフォルトの名無しさん
2023/12/06(水) 01:20:30.01ID:N0N71GtG メモリに展開するのにオーバーフローしてもエラーを通知しないの?
https://japan.zdnet.com/article/35212258/
言語はCらしいけどどういうプログラムなんだろう
まじでmallocしてそこにmemcpyしてるだけなんじゃないか
対策はRustで書き直せ
https://japan.zdnet.com/article/35212258/
言語はCらしいけどどういうプログラムなんだろう
まじでmallocしてそこにmemcpyしてるだけなんじゃないか
対策はRustで書き直せ
921デフォルトの名無しさん
2023/12/06(水) 01:23:15.09ID:N0N71GtG たとえクソレガシーだったとしても書き込むアドレスの範囲が想定してるものかのチェックは入れるべきだろう
どうせオフセットも手計算だろうし
どうせオフセットも手計算だろうし
922デフォルトの名無しさん
2023/12/06(水) 01:40:45.31ID:MT5mgeUa923デフォルトの名無しさん
2023/12/06(水) 01:58:21.86ID:+XLnMsko [gc unsafe] [🔍]
924デフォルトの名無しさん
2023/12/06(水) 09:15:07.04ID:oM0gjrfW >>867-868
循環参照は?
循環参照は?
925デフォルトの名無しさん
2023/12/06(水) 09:17:14.31ID:oM0gjrfW926デフォルトの名無しさん
2023/12/06(水) 09:18:07.12ID:oM0gjrfW >925 補足
a)全ての本で紹介されていない (紹介されてる本は少なくとも一つ以上ある)
a)全ての本で紹介されていない (紹介されてる本は少なくとも一つ以上ある)
927デフォルトの名無しさん
2023/12/06(水) 09:20:39.56ID:oM0gjrfW928デフォルトの名無しさん
2023/12/06(水) 10:53:51.94ID:CNnXy5JV >>922
メジャーなとこで言えばC#とかSwiftとか
メジャーなとこで言えばC#とかSwiftとか
929デフォルトの名無しさん
2023/12/06(水) 11:45:54.12ID:oM0gjrfW >>905
やっぱりNATテーブル不良で再起動したら治るルーターじゃん
やっぱりNATテーブル不良で再起動したら治るルーターじゃん
930デフォルトの名無しさん
2023/12/06(水) 12:09:32.50ID:4VSkBLs6 >>929
頭大丈夫か?
頭大丈夫か?
931デフォルトの名無しさん
2023/12/06(水) 12:31:44.18ID:3kI3ay52 型推論の是非を問いたい
書くのは楽かもしれないが読みにくくね?
型の重複記述は省きたいがまったく型がわからなくなると理解が難しくなる
読みやすさを優先すべきだと思うがどうだろう
IDEやエディタのサポートでカバーされるという考え方もあるが、カーソル合わせないとわからないしな
書くのは楽かもしれないが読みにくくね?
型の重複記述は省きたいがまったく型がわからなくなると理解が難しくなる
読みやすさを優先すべきだと思うがどうだろう
IDEやエディタのサポートでカバーされるという考え方もあるが、カーソル合わせないとわからないしな
932デフォルトの名無しさん
2023/12/06(水) 12:44:38.03ID:lEEu+DT0933デフォルトの名無しさん
2023/12/06(水) 12:46:06.06ID:MT5mgeUa934デフォルトの名無しさん
2023/12/06(水) 12:51:11.58ID:MT5mgeUa935デフォルトの名無しさん
2023/12/06(水) 12:54:09.75ID:B4jpx9xe 複雑な型名を知る必要がない場合も多い
例えばRustなら関数の引数型も返り型でも具体的な型名を書かずに
impl Trait名 と使う機能のトレイト名だけを指定したり
例えばRustなら関数の引数型も返り型でも具体的な型名を書かずに
impl Trait名 と使う機能のトレイト名だけを指定したり
936デフォルトの名無しさん
2023/12/06(水) 12:56:26.38ID:lEEu+DT0937デフォルトの名無しさん
2023/12/06(水) 13:09:40.96ID:6EzLMFr7 同じ情報を二重に書くのはプログラマなら普通疑問に思う
938デフォルトの名無しさん
2023/12/06(水) 13:12:47.35ID:N0N71GtG >>924
コピー時はweak_refで渡すので良いかと思うのだが
コピー時はweak_refで渡すので良いかと思うのだが
939デフォルトの名無しさん
2023/12/06(水) 13:14:02.81ID:N0N71GtG940デフォルトの名無しさん
2023/12/06(水) 13:17:03.16ID:3kI3ay52 >>937
ある程度の重複さによってミスを早期発見できる効果があるから一概にそうはいえないぞ
ある程度の重複さによってミスを早期発見できる効果があるから一概にそうはいえないぞ
941デフォルトの名無しさん
2023/12/06(水) 13:31:08.88ID:UHi6Tpqq 俺のプログラムにバグがあるのは
俺がまだ本気出してないだけだから
俺がまだ本気出してないだけだから
942デフォルトの名無しさん
2023/12/06(水) 13:38:13.20ID:+XLnMsko どれだけスレが進行しても客観的な基準が示されず
主観バトルを発生させ続け
留まるところを知らない概念
可読性
主観バトルを発生させ続け
留まるところを知らない概念
可読性
943デフォルトの名無しさん
2023/12/06(水) 13:40:26.85ID:uGBP6FLN >>938
いやそれだとshared_ptrの意味ないから
shared_ptr使う限りは本質的には解決は難しい
それは生でshared_ptr使う場合も同じ
get_weakというメソッドでweak_refでラップして返すメソッドを提供するとかだろう
いやそれだとshared_ptrの意味ないから
shared_ptr使う限りは本質的には解決は難しい
それは生でshared_ptr使う場合も同じ
get_weakというメソッドでweak_refでラップして返すメソッドを提供するとかだろう
944デフォルトの名無しさん
2023/12/06(水) 13:44:37.37ID:uGBP6FLN 全銀のシステムこの規模で低レイヤーのメモリ操作しまくるのにC使ってるのマジで狂気としか思えないな
コードレベルのユニットテストもないのだろうし
絶対こういうこと起きるやん
コードレベルのユニットテストもないのだろうし
絶対こういうこと起きるやん
945デフォルトの名無しさん
2023/12/06(水) 13:55:39.00ID:6EzLMFr7 >>940
保守できなくなるから必ず避けるべき
保守できなくなるから必ず避けるべき
946デフォルトの名無しさん
2023/12/06(水) 14:04:56.53ID:3kI3ay52 >>945
プログラミング言語自体、ある程度の冗長性があるようにデザインされている
たからこそコンパイルエラーという現象が起こる
そもそもテストを書くという行為が重複した作業なのだけどやるだろ?
仕様変更したら書き直しなのは仕方ない
プログラミング言語自体、ある程度の冗長性があるようにデザインされている
たからこそコンパイルエラーという現象が起こる
そもそもテストを書くという行為が重複した作業なのだけどやるだろ?
仕様変更したら書き直しなのは仕方ない
947デフォルトの名無しさん
2023/12/06(水) 14:06:40.52ID:ts/cnrJA Cであることは関係なくね?
データ形式の共有に失敗すればどこでも起こりそう
記事だけだとよく分からんけどAAABBBをABABABって誤認した感じでしょ
データ形式の共有に失敗すればどこでも起こりそう
記事だけだとよく分からんけどAAABBBをABABABって誤認した感じでしょ
948デフォルトの名無しさん
2023/12/06(水) 14:10:35.44ID:4S+GIU/C ABAP
949デフォルトの名無しさん
2023/12/06(水) 14:11:26.67ID:6EzLMFr7 >>946
>プログラミング言語自体、ある程度の冗長性があるようにデザインされている
それは妥協の産物で悪だよ
>たからこそコンパイルエラーという現象が起こる
冗長性がない言語があったとしてコンパイルエラーは起こるし意味がある
>そもそもテストを書くという行為が重複した作業なのだけどやるだろ?
>仕様変更したら書き直しなのは仕方ない
最初に型名が正しいと確認されたら型推論に任せるべきです
>プログラミング言語自体、ある程度の冗長性があるようにデザインされている
それは妥協の産物で悪だよ
>たからこそコンパイルエラーという現象が起こる
冗長性がない言語があったとしてコンパイルエラーは起こるし意味がある
>そもそもテストを書くという行為が重複した作業なのだけどやるだろ?
>仕様変更したら書き直しなのは仕方ない
最初に型名が正しいと確認されたら型推論に任せるべきです
950デフォルトの名無しさん
2023/12/06(水) 14:17:11.63ID:N0N71GtG >>947
どこを読んだらそうなるんだ?
どこを読んだらそうなるんだ?
951デフォルトの名無しさん
2023/12/06(水) 14:41:23.05ID:oM0gjrfW952デフォルトの名無しさん
2023/12/06(水) 14:44:32.97ID:uGBP6FLN953デフォルトの名無しさん
2023/12/06(水) 14:52:19.97ID:3kI3ay52954デフォルトの名無しさん
2023/12/06(水) 15:01:15.76ID:ts/cnrJA >>952
記事から全部理解できたならたぶん別の記事だと思う
記事から全部理解できたならたぶん別の記事だと思う
955デフォルトの名無しさん
2023/12/06(水) 15:07:10.91ID:N0N71GtG956デフォルトの名無しさん
2023/12/06(水) 15:12:14.26ID:6EzLMFr7957デフォルトの名無しさん
2023/12/06(水) 15:22:00.69ID:aoO2XCof 全銀のやつは記事に書いてることはわかるがめちゃくそ疑問だらけ
なんで生成時にサイズチェックしないのか
なんで生成されたテーブルをチェックしてないのか
なんで生成されたテーブル使った試験をしてないのか
一般企業でもなかなかお目にかかれないひどい内容だがそれを金融系のしかも全銀がやっちゃうってのが信じられないわ
なんで生成時にサイズチェックしないのか
なんで生成されたテーブルをチェックしてないのか
なんで生成されたテーブル使った試験をしてないのか
一般企業でもなかなかお目にかかれないひどい内容だがそれを金融系のしかも全銀がやっちゃうってのが信じられないわ
958デフォルトの名無しさん
2023/12/06(水) 15:26:41.21ID:MT5mgeUa >>944
同感
同感
959デフォルトの名無しさん
2023/12/06(水) 15:33:52.57ID:MT5mgeUa 型推論よりインテリセンスとか補完がうざい。
こっちの入力リズムに合わないとイラっと来ることある。
こっちの入力リズムに合わないとイラっと来ることある。
960デフォルトの名無しさん
2023/12/06(水) 16:16:19.10ID:oM0gjrfW >>957
同感
同感
961デフォルトの名無しさん
2023/12/06(水) 16:17:28.30ID:oM0gjrfW962デフォルトの名無しさん
2023/12/06(水) 18:22:40.40ID:SQhb0To1 Pimplが説明してるある本がないか立ち読みしたのだがあった
最近出たC++ソフトウェア設計という本にモロに書いてあった
こんな本いつの間に出てたんだ?
モロに俺がドヤ顔したパターンじゃねえか...
この本内容もめちゃくちゃ良いぞ
最近出たC++ソフトウェア設計という本にモロに書いてあった
こんな本いつの間に出てたんだ?
モロに俺がドヤ顔したパターンじゃねえか...
この本内容もめちゃくちゃ良いぞ
963デフォルトの名無しさん
2023/12/06(水) 18:31:32.46ID:6EzLMFr7 pimplってGoFになかったっけ?
964デフォルトの名無しさん
2023/12/06(水) 18:37:31.41ID:+XLnMsko ヘッダファイルの変更のせいで再コンパイルされるC++特有の問題に対処するのが主目的のpimplがなんでGoFにあると思ったんですか?
965デフォルトの名無しさん
2023/12/06(水) 18:54:10.35ID:MT5mgeUa >>962
pimpl、10年前の本「C++のためのAPIデザイン」(2012年)にも載ってるぞ。
pimpl、10年前の本「C++のためのAPIデザイン」(2012年)にも載ってるぞ。
966デフォルトの名無しさん
2023/12/06(水) 18:55:40.21ID:SQhb0To1 まあPimplの主張はコンパイルサイズを固定するとか
内部を隠蔽することが主目的っぽいね
この本ではImplにunique_ptrを使ってコピー時にmoveする実装になってる
内部を隠蔽することが主目的っぽいね
この本ではImplにunique_ptrを使ってコピー時にmoveする実装になってる
967デフォルトの名無しさん
2023/12/06(水) 19:05:32.22ID:ts/cnrJA 知ってると役に立つけどC++使う気が失せる技法のひとつだな
968デフォルトの名無しさん
2023/12/06(水) 19:09:45.42ID:+XLnMsko969デフォルトの名無しさん
2023/12/06(水) 19:24:48.89ID:lBgUAnRO970デフォルトの名無しさん
2023/12/06(水) 19:26:54.33ID:lBgUAnRO 確かに不毛過ぎる気はする
本質的じゃない部分ですげー頭使わなきゃならんし
面白い部分でもない
素直にrust使うべきだわ
本質的じゃない部分ですげー頭使わなきゃならんし
面白い部分でもない
素直にrust使うべきだわ
971デフォルトの名無しさん
2023/12/06(水) 19:48:07.27ID:Pw3WwC1e 銀行はやったこと無いけどSIerの下請けで
お役所のシステム移行の
仕事したときにライブラリ一つに数万個のテストケースが
用意されてあらゆる仕様適合をチェックしていたので
実装でアホなことしててもテストで叩き落とせばよいという
思想なのかも
お役所のシステム移行の
仕事したときにライブラリ一つに数万個のテストケースが
用意されてあらゆる仕様適合をチェックしていたので
実装でアホなことしててもテストで叩き落とせばよいという
思想なのかも
972デフォルトの名無しさん
2023/12/06(水) 20:02:44.32ID:Knh+cYx8 >>964
GoFのBridgeパターン
GoFのBridgeパターン
973デフォルトの名無しさん
2023/12/06(水) 20:16:14.69ID:3kI3ay52 ヘッダーに実装書きまくるのが今のクソc++だからpimplにしたところでというのはある
974デフォルトの名無しさん
2023/12/06(水) 20:37:00.46ID:MnzvwPfi 実装を書かざるを得なくなってヘッダーと呼ぶのが不適切になったから.hの拡張子がなくなった
975デフォルトの名無しさん
2023/12/06(水) 20:57:06.52ID:N0N71GtG Pimplの良い説明を見つけた
この中のstd::shared_ptrの場合が今議論されている項目のようだ
http://www17.plala.or.jp/KodamaDeveloped/LetsProgramming/details_pimpl_idiom.html
この中のstd::shared_ptrの場合が今議論されている項目のようだ
http://www17.plala.or.jp/KodamaDeveloped/LetsProgramming/details_pimpl_idiom.html
976デフォルトの名無しさん
2023/12/06(水) 22:01:15.11ID:rDPAp/5U IT大手がRustへ舵を切るわけだな
977デフォルトの名無しさん
2023/12/06(水) 22:38:24.64ID:UoD976YL pimplはScott MeyersのEffective Modern C++が詳しい(Effective C++にもある程度書いてある)
shared_ptrじゃなくunique_ptrを使えと書いてる
https://en.cppreference.com/w/cpp/language/pimpl
https://herbsutter.com/gotw/_100/
shared_ptrじゃなくunique_ptrを使えと書いてる
https://en.cppreference.com/w/cpp/language/pimpl
https://herbsutter.com/gotw/_100/
978デフォルトの名無しさん
2023/12/06(水) 22:38:53.88ID:UoD976YL >>972
構造が似てるだけで全然別のもの
構造が似てるだけで全然別のもの
979デフォルトの名無しさん
2023/12/07(木) 00:06:56.11ID:3PWWuEZS デザインパターンとは構造について述べたもの
pimplはBridgeパターンの一適用例
別のものではない
pimplはBridgeパターンの一適用例
別のものではない
980デフォルトの名無しさん
2023/12/07(木) 00:37:25.72ID:mM7hpDu4981デフォルトの名無しさん
2023/12/07(木) 00:41:10.07ID:katRzGi9 C++オブジェクト設計という本にはbridgeパターンの一種で継承や多態性が必要がない場合の単純な例としてPimplの説明があった
982デフォルトの名無しさん
2023/12/07(木) 00:52:49.01ID:3PWWuEZS983デフォルトの名無しさん
2023/12/07(木) 00:55:08.82ID:3PWWuEZS >>981
一見して分かりそうなもんだけどね
一見して分かりそうなもんだけどね
984デフォルトの名無しさん
2023/12/07(木) 01:04:03.35ID:Avn/NPEq C++の不完全型とJavaのインターフェースが同じに見える人には同じに見えるんだろう
985デフォルトの名無しさん
2023/12/07(木) 02:06:38.63ID:Sudvf4UZ >>980
そんなこと書いてねーぞ
そんなこと書いてねーぞ
986デフォルトの名無しさん
2023/12/07(木) 09:57:06.17ID:XOE4A360 RustでGUIのアプリがつくりたいです
987デフォルトの名無しさん
2023/12/07(木) 11:16:21.90ID:Gb/m/afO egui
988デフォルトの名無しさん
2023/12/07(木) 13:36:44.52ID:XOE4A360989デフォルトの名無しさん
2023/12/07(木) 23:09:48.18ID:wfAAUjY+ えぐい
990デフォルトの名無しさん
2023/12/08(金) 09:55:56.32ID:k3Bpg+TD 踏んどくか
991デフォルトの名無しさん
2023/12/08(金) 09:58:29.65ID:k3Bpg+TD 結局C++とRustってどっちが良いの? 9traits
https://mevius.5ch.net/test/read.cgi/tech/1701997063/
https://mevius.5ch.net/test/read.cgi/tech/1701997063/
992デフォルトの名無しさん
2023/12/08(金) 10:01:41.64ID:dTkbwwL5 unsafe {
次スレいらんわボケ
}
次スレいらんわボケ
}
993デフォルトの名無しさん
2023/12/08(金) 10:15:03.32ID:k3Bpg+TD ・めとくか
994デフォルトの名無しさん
2023/12/08(金) 10:27:55.85ID:gyEpWkla995デフォルトの名無しさん
2023/12/08(金) 10:38:32.80ID:DJ4GSkDO こんな短く書けるんだ!
996デフォルトの名無しさん
2023/12/08(金) 10:39:02.81ID:k3Bpg+TD RustはCとの相性は良いがC++との相性は最悪
997デフォルトの名無しさん
2023/12/08(金) 10:39:54.69ID:k3Bpg+TD どうしてもC++を捨てられない人は
RustよりNim使った方が救われる
RustよりNim使った方が救われる
998デフォルトの名無しさん
2023/12/08(金) 10:40:47.47ID:k3Bpg+TD >>994
このスレの腕自慢建ちなら一瞬で移植してくれるだろう
このスレの腕自慢建ちなら一瞬で移植してくれるだろう
999デフォルトの名無しさん
2023/12/08(金) 10:41:18.48ID:k3Bpg+TD 間違えた
x 建ち
o 達
x 建ち
o 達
1000デフォルトの名無しさん
2023/12/08(金) 10:41:47.84ID:k3Bpg+TD10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 40日 20時間 56分 48秒
新しいスレッドを立ててください。
life time: 40日 20時間 56分 48秒
10021002
Over 1000Thread 5ちゃんねるの運営はUPLIFT会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《UPLIFT会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
4 USD/mon. から匿名でご購入いただけます。
▼ UPLIFT会員登録はこちら ▼
https://uplift.5ch.net/
▼ UPLIFTログインはこちら ▼
https://uplift.5ch.net/login
運営にご協力お願いいたします。
───────────────────
《UPLIFT会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
4 USD/mon. から匿名でご購入いただけます。
▼ UPLIFT会員登録はこちら ▼
https://uplift.5ch.net/
▼ UPLIFTログインはこちら ▼
https://uplift.5ch.net/login
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」 [冬月記者★]
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 【野球】井端監督 大谷翔平、山本由伸らのWBCへの参加 「1日も早く返事ほしい」「待っててといっても、国内組が遅くなってしまう」★3 [冬月記者★]
- 中国で「クレしん」公開延期 対日報復、エンタメに波及 [蚤の市★]
- 経団連会長、日中は建設的対話を 経済3団体が高市首相と初会談も日中関係は話題に登らず… [BFU★]
- 【映画】『クレヨンしんちゃん』 中国で公開延期 対日報復、エンタメに波及 [冬月記者★]
- 友達「ゲームやるからパソコン買えよ!」俺「おう!」友達「これやろうぜ!」(外国の変なゲーム)俺「なにこれ…」
- 有識者「高市総理が発言を撤回したり、辞職するしかないと言っている人は、それで日中関係が今まで通りになると思ってる?」 [834922174]
- 日経時間外、5万円割れ 垂直落下始まる [402859164]
- ウッドデッキで調子こいてたやついたじゃん
- えんやすー
- 宇宙飛行士 vs 数学者
