>>345
自然言語語も理解してなさそう
Rustアンチスレ
360デフォルトの名無しさん
2026/07/23(木) 09:01:41.87ID:UC7DY8+s361デフォルトの名無しさん
2026/07/23(木) 13:14:45.70ID:cxrYFfJU362デフォルトの名無しさん
2026/07/23(木) 13:44:06.16ID:cxrYFfJU >>352
C言語の美しさは挙動の透明さによるものなわけで、挙動が不透明なGCに全てのオブジェクトを任せて、メモリ消費量を増やし、動作速度を落とし、stop the worldを発生させるFil-CはC言語であるメリットがない
C言語の美しさは挙動の透明さによるものなわけで、挙動が不透明なGCに全てのオブジェクトを任せて、メモリ消費量を増やし、動作速度を落とし、stop the worldを発生させるFil-CはC言語であるメリットがない
363デフォルトの名無しさん
2026/07/23(木) 13:46:45.88ID:ZggENewS GCがないRustへ書き換えた方がいいね
364デフォルトの名無しさん
2026/07/23(木) 13:54:44.09ID:cxrYFfJU それどころかGC言語のGoよりも遅くて非効率なケースが多い
いくらなんでもバカすぎる
いくらなんでもバカすぎる
365デフォルトの名無しさん
2026/07/23(木) 19:11:32.63ID:UyJUqdip Goより遅いのは草
ただの道楽やんw
ただの道楽やんw
366デフォルトの名無しさん
2026/07/23(木) 19:17:07.25ID:xdDINiAt アホくさ
367デフォルトの名無しさん
2026/07/23(木) 19:25:30.94ID:10FnQgWm Goより遅くてGoより書きにくくてGoより環境依存でGoよりバグりやすくてGoより使えるバイナリのライブラリが少ないのか
……ん?
……ん?
368デフォルトの名無しさん
2026/07/23(木) 20:27:22.92ID:OedlWCvY 既存のC言語のソースコードをGCモードで安全に動かすのがFil-Cコンパイラ
Goより遅いのも仕方ない
Goより遅いのも仕方ない
369デフォルトの名無しさん
2026/07/23(木) 21:15:16.05ID:YoQh3pYF RustはGoより早いの?
370デフォルトの名無しさん
2026/07/23(木) 21:15:33.07ID:zCd/HWA3 特殊な用途で役にたつかもしれない。?
371デフォルトの名無しさん
2026/07/23(木) 21:16:12.89ID:zCd/HWA3 >>369
早くていけない
早くていけない
372デフォルトの名無しさん
2026/07/24(金) 00:36:21.06ID:OCvHTq61373デフォルトの名無しさん
2026/07/24(金) 00:40:31.34ID:nILRNm6G >>370
特殊な用途で役立つ数よりも、勘違いしたアホがゴミを量産する数の方が多そう
特殊な用途で役立つ数よりも、勘違いしたアホがゴミを量産する数の方が多そう
374デフォルトの名無しさん
2026/07/24(金) 00:58:22.95ID:tSG0Iv1W375デフォルトの名無しさん
2026/07/24(金) 01:33:39.37ID:hOnEaUtt C使ってて努力してsoの置き換えまでやる人いるかな
ヒマ人検出器として見守る
ヒマ人検出器として見守る
376デフォルトの名無しさん
2026/07/24(金) 01:36:46.58ID:p68EA/68 まあ、GCあるGoより遅いあたりFil-Cは最適化も大したことない
377デフォルトの名無しさん
2026/07/24(金) 05:23:12.05ID:wcH9wna3 Go向けにした方が100倍よさそう
378デフォルトの名無しさん
2026/07/24(金) 05:23:52.14ID:FvT5yST4 世のため人のためにFil-CではなくGo対応にしましょう
379デフォルトの名無しさん
2026/07/24(金) 15:09:06.24ID:RVQAc3im Goより遅いww
380デフォルトの名無しさん
2026/07/24(金) 15:22:53.09ID:tvfOpxXL Rustの代わりにFil-Cは頭わいてる
381デフォルトの名無しさん
2026/07/24(金) 15:36:36.30ID:I3Qf23Ht382デフォルトの名無しさん
2026/07/24(金) 16:58:16.12ID:v0OMkkZg383デフォルトの名無しさん
2026/07/24(金) 17:31:41.53ID:SMBtVByh 新規開発ならGC不要なRustでしょ
384デフォルトの名無しさん
2026/07/24(金) 18:14:04.48ID:3vDv/6kr そらそうよ。Cの過去資産が多い場合に考える用だ
385デフォルトの名無しさん
2026/07/24(金) 18:45:20.73ID:24e2kQId Cの既存資産が多くてもGCをつけられて困らない分野となるとGoで書き直す方がよさそう
386デフォルトの名無しさん
2026/07/24(金) 18:47:32.99ID:qWmzgBgD 言語機能が弱くて不便なGoをわざわざ使うことはあるまい
387デフォルトの名無しさん
2026/07/24(金) 19:22:16.63ID:hOnEaUtt 最近はCのアプリ減ってるし、sqlite3みたいなものはCがいいっしょ
388デフォルトの名無しさん
2026/07/24(金) 19:25:11.81ID:ubGLSJxU389デフォルトの名無しさん
2026/07/24(金) 20:14:36.58ID:hOnEaUtt イテレータのループ無かったGoさん
390デフォルトの名無しさん
2026/07/24(金) 20:41:00.17ID:7DhEL1jI ループも自力で書けないのかこいつは
391デフォルトの名無しさん
2026/07/24(金) 20:54:04.61ID:0lF+ZOaM >>389
いつの話してるんだこいつは
いつの話してるんだこいつは
392デフォルトの名無しさん
2026/07/24(金) 20:54:11.35ID:7GZCe2Ip >>389
いつの話してるんだこいつは
いつの話してるんだこいつは
393デフォルトの名無しさん
2026/07/24(金) 20:55:50.63ID:c1YiTQq7 >>388
信者は信者スレに帰れ
信者は信者スレに帰れ
394デフォルトの名無しさん
2026/07/24(金) 20:56:46.53ID:wxvgtBkq395デフォルトの名無しさん
2026/07/24(金) 20:57:07.21ID:TLftInpl >>393
何言ってんだこいつ
何言ってんだこいつ
396デフォルトの名無しさん
2026/07/24(金) 20:57:35.70ID:GMVtSP0X >>393
いつからここはGoアンチスレになったんだよw
いつからここはGoアンチスレになったんだよw
397デフォルトの名無しさん
2026/07/24(金) 20:58:33.28ID:hOnEaUtt398デフォルトの名無しさん
2026/07/24(金) 20:59:19.16ID:hOnEaUtt >>394
だからピュアCだって
だからピュアCだって
399デフォルトの名無しさん
2026/07/24(金) 21:04:47.30ID:t739HGtC400デフォルトの名無しさん
2026/07/24(金) 21:05:08.97ID:E5GPuRNr >>397
ここはGoアンチスレじゃないぞ
ここはGoアンチスレじゃないぞ
401デフォルトの名無しさん
2026/07/24(金) 21:07:20.95ID:EPeXmYp1 >>389
Cにもない定期
Cにもない定期
402デフォルトの名無しさん
2026/07/24(金) 21:41:40.15ID:0C/6qef1403デフォルトの名無しさん
2026/07/25(土) 00:43:54.36ID:+sd0sCI1 テストで安全性は保証できないよw
404デフォルトの名無しさん
2026/07/25(土) 01:19:23.67ID:uZSi/3XK そんなもの保証しなくていい。手段と目的を入れ違えてないか
20年続いてるプロダクトを切り替えるほどのものじゃない。
やりたいならスクラッチからsqlite.rsを実装せよ
20年続いてるプロダクトを切り替えるほどのものじゃない。
やりたいならスクラッチからsqlite.rsを実装せよ
405デフォルトの名無しさん
2026/07/25(土) 01:44:02.28ID:uRdOACIL406デフォルトの名無しさん
2026/07/25(土) 01:44:44.33ID:Pc28VFdI 技術的にCがいい理由なんかないんだよな
既存資産ってだけ
既存資産ってだけ
407デフォルトの名無しさん
2026/07/25(土) 02:11:15.83ID:uZSi/3XK 新規ならね。20年続いてたらRustはないしFなんとかもない
408デフォルトの名無しさん
2026/07/25(土) 03:25:34.68ID:sysuTyRw >>389
Cにもないですよ
Cにもないですよ
409デフォルトの名無しさん
2026/07/25(土) 10:31:52.39ID:cMSzW1ZW >>408
Rustとの比較じゃないの?
Rustとの比較じゃないの?
410デフォルトの名無しさん
2026/07/25(土) 13:17:12.28ID:RkBXUh0e >>409
Fil-CよりもGoの方がマシって話だっただろマヌケ
Fil-CよりもGoの方がマシって話だっただろマヌケ
411デフォルトの名無しさん
2026/07/25(土) 13:18:44.18ID:ww7Rlpq3 えーと
Rust、C、Go、Fなんとかの順だね
あれ?アンチになってない
Rust、C、Go、Fなんとかの順だね
あれ?アンチになってない
412デフォルトの名無しさん
2026/07/25(土) 13:20:18.24ID:UFVdtO1T Rustはゴミ
413デフォルトの名無しさん
2026/07/25(土) 13:32:31.29ID:0GrpgtCH 205 デフォルトの名無しさん 2026/07/17(金) 21:59:09.13 ID:5FsOttRT
知識のない奴が好き勝手Rustをバカにできるのがこのスレのいいところなんだから、まともな意見とか求めてないんだよw
知識のない奴が好き勝手Rustをバカにできるのがこのスレのいいところなんだから、まともな意見とか求めてないんだよw
414デフォルトの名無しさん
2026/07/25(土) 13:39:02.86ID:UNapRlId 無敵理論やめろw
415デフォルトの名無しさん
2026/07/25(土) 13:58:26.19ID:ww7Rlpq3 根拠なくていいんだこの錆
416デフォルトの名無しさん
2026/07/25(土) 16:54:29.37ID:aMUVZmkt 序盤の書き込み見ればわかるけどろくに根拠なんかないぞ
417デフォルトの名無しさん
2026/07/26(日) 23:11:15.43ID:lMviY87u Goより遅いとか書いてるやつってRust使ったこと無いだろ
418デフォルトの名無しさん
2026/07/27(月) 00:14:14.19ID:itp+da7C メモリを逐次バラバラにたくさん確保して使いまくる特殊な分野のベンチマークにおいて、
何も考えずに書いたRustのコードがGoに負けたことがある。
そういう分野での常套手段であるメモリをまとめて確保とまとめて解放をすれば、もちろんいつも通りと同じくRustがGoより速い。
何も考えずに書いたRustのコードがGoに負けたことがある。
そういう分野での常套手段であるメモリをまとめて確保とまとめて解放をすれば、もちろんいつも通りと同じくRustがGoより速い。
419デフォルトの名無しさん
2026/07/27(月) 00:18:12.24ID:+XiDQU2X 「まとめて確保とまとめて解放」をしなければGoのほうが速いんだなw
Goすごくね?
Goすごくね?
420デフォルトの名無しさん
2026/07/27(月) 00:26:25.41ID:KE2LTg6y GCを持っている以上は独自のメモリープールもあるだろう
細かく確保するように見えて実はメモリープールから切り出しているから速くなる
ただしメモリープールの追加確保が必要になった場合はスパイク状の負荷が発生する
細かく確保するように見えて実はメモリープールから切り出しているから速くなる
ただしメモリープールの追加確保が必要になった場合はスパイク状の負荷が発生する
421デフォルトの名無しさん
2026/07/27(月) 00:28:45.74ID:rGZ+cQIE >>419
メモリをバラバラに取得解放よりも
まとめて解放するGCが勝つレアケースがある
しかし現実にはC/C++/Rustでも
その手のケースではメモリをいわゆるアリーナ管理でまとめて解放している
したがって常にGC言語が負けている
メモリをバラバラに取得解放よりも
まとめて解放するGCが勝つレアケースがある
しかし現実にはC/C++/Rustでも
その手のケースではメモリをいわゆるアリーナ管理でまとめて解放している
したがって常にGC言語が負けている
422デフォルトの名無しさん
2026/07/27(月) 18:25:02.36ID:lrmetvCn Postgresの構文器用に確保したメモリの一括解放エグいよね
423デフォルトの名無しさん
2026/07/28(火) 20:54:57.90ID:nuXPIoKQ 意図的にクソコード書かない限りGoとのパフォーマンス差は圧倒的なのに
GoにはGoの良さがあった。Javaにだってあったわけだけど今はもう時代遅れよな
GoにはGoの良さがあった。Javaにだってあったわけだけど今はもう時代遅れよな
424デフォルトの名無しさん
2026/07/28(火) 21:12:44.73ID:eV02J20x ライブラリが弱いからまだまだでしょ
GC言語でゆとりちゃんも良い
GC言語でゆとりちゃんも良い
425デフォルトの名無しさん
2026/07/31(金) 16:56:57.45ID:U1XnMbbw 今日はRsut応援隊がいなくて寂しいな
426デフォルトの名無しさん
2026/08/01(土) 02:36:36.38ID:fT3Cj9Cj427デフォルトの名無しさん
2026/08/01(土) 02:50:58.17ID:llDLkCxA Rustしか勝たん
428デフォルトの名無しさん
2026/08/01(土) 10:04:48.53ID:w4EEgzdz 今5ちゃんにいる奴なんてTwitterの140字も読めない奴だけだろ
429デフォルトの名無しさん
2026/08/01(土) 13:53:20.99ID:OmqgEq/j 長いと縦読み探すよね🤣
430デフォルトの名無しさん
2026/08/02(日) 02:42:44.92ID:cBFW2wJq バカには日本語が読めない
431デフォルトの名無しさん
2026/08/11(火) 14:55:09.29ID:ShPchOqU Rust製`cp`コマンドがUbuntuのISOビルドを破壊——「メモリ安全」と「動作互換」は別の問題だ
https://techfeed.io/entries/6a4823ee71759f74d1a34afe
https://techfeed.io/entries/6a4823ee71759f74d1a34afe
432デフォルトの名無しさん
2026/08/11(火) 15:17:44.55ID:Pq+b4SwC 読んだがRustの問題ではなかった
方針が書かれてないので不明だが
なんらかの互換性を保ちたいならそのテストを書いてパスさせるべき
言語の問題ではなく要求仕様とそのテストの問題
方針が書かれてないので不明だが
なんらかの互換性を保ちたいならそのテストを書いてパスさせるべき
言語の問題ではなく要求仕様とそのテストの問題
433デフォルトの名無しさん
2026/08/12(水) 08:28:52.09ID:VHBhB4BD Rustにあらずは置き換えるべきという魔女裁判的な行為あるいは精神に問題があるのでは
434デフォルトの名無しさん
2026/08/12(水) 11:19:11.83ID:+UNoSEWX zedがemacs互換モード無くてダメだわ
435デフォルトの名無しさん
2026/08/13(木) 06:00:57.06ID:1RTnrpHI >>434
それはまあ普通にEmacsでいいじゃない
それはまあ普通にEmacsでいいじゃない
436デフォルトの名無しさん
2026/08/13(木) 10:51:45.75ID:BKblb7oB emacsをRust化するまでオレは認めないぞ
437デフォルトの名無しさん
2026/08/13(木) 21:48:57.84ID:Jo9gLv9h438デフォルトの名無しさん
2026/08/13(木) 21:50:52.57ID:wpaJOQRD Rustが使えないプログラマーは淘汰される
439デフォルトの名無しさん
2026/08/14(金) 09:32:01.95ID:gDB2jiRr LLMにRustで、と言えば書いてくれちゃうんだよなあ
440デフォルトの名無しさん
2026/08/21(金) 16:49:34.42ID:1JkLWzrD 近頃はまた酷くなったな
個々のパッケージをビルドすると、ビルド毎のディレクトリにボコボコボコボコとゴミをDLし
ビルドし直すごとにまた同じものをDLさせるのが原則的な挙動にされた
悪質すぎる
個々のパッケージをビルドすると、ビルド毎のディレクトリにボコボコボコボコとゴミをDLし
ビルドし直すごとにまた同じものをDLさせるのが原則的な挙動にされた
悪質すぎる
441デフォルトの名無しさん
2026/08/23(日) 17:32:45.28ID:XaybZwup 毎回 cargo clean
442デフォルトの名無しさん
2026/08/26(水) 15:34:06.13ID:UKAdFl7a trait Drop の仕様変わったんかね
443デフォルトの名無しさん
2026/08/26(水) 18:04:38.49ID:XqalnNye アメリカでソフトを作ってる人の環境はもの凄く豪華な場合が
有ると聞いた。だから、ストレージもCPUパワーもバンバン使う
のだとか。
有ると聞いた。だから、ストレージもCPUパワーもバンバン使う
のだとか。
444デフォルトの名無しさん
2026/08/26(水) 19:33:23.97ID:OZYabdcR メモリ64GB、24コアが人権
445デフォルトの名無しさん
2026/08/27(木) 05:17:54.33ID:p0h8Oq6s じゃあCでいいね
446デフォルトの名無しさん
2026/08/27(木) 08:34:26.89ID:nQNdrOxj 何でバレたし
447デフォルトの名無しさん
2026/08/27(木) 11:03:00.02ID:u+LJdyAq ああ Maybeuninit の中身が変わったんか
448デフォルトの名無しさん
2026/08/27(木) 14:02:21.57ID:44+GOkU8 Rustは、現場に即した現実的言語、というが、
ビルド時に色々なものを勝手にダウンロードしてストレージを爆食いするのではないか。
ビルド時に色々なものを勝手にダウンロードしてストレージを爆食いするのではないか。
449デフォルトの名無しさん
2026/08/27(木) 14:24:19.57ID:44+GOkU8 それに、人間が明確にダウンロードしてから、あとは
インターネットの接続を OFF にしてクリーン開発する、
という「現実」にも対応できないかもしれない。
インターネットの接続を OFF にしてクリーン開発する、
という「現実」にも対応できないかもしれない。
450デフォルトの名無しさん
2026/08/27(木) 14:57:30.20ID:NQH5TI9P 昔からある
cargo -offline build
cargo -offline build
451デフォルトの名無しさん
2026/08/27(木) 15:21:17.37ID:44+GOkU8452デフォルトの名無しさん
2026/08/27(木) 16:43:53.88ID:44+GOkU8 cargoだと、バージョンの保存、固定、魚拓、の考え方も難しそう。
通常、C/C++言語だと、昔のライブラリ、ヘッダファイルなどを
ローカルに保存しておき、メーカーやプラットフォーマーが
古いライブラリは使ってほしくない、といくら望んでも、
敢えて使い続ける、という事ができるのが C/C++ の
良いところだった。
それが cargo のようなものではできなくなり、すべて
ネットの先にある「誰か」に支配されることになる気がする。
通常、C/C++言語だと、昔のライブラリ、ヘッダファイルなどを
ローカルに保存しておき、メーカーやプラットフォーマーが
古いライブラリは使ってほしくない、といくら望んでも、
敢えて使い続ける、という事ができるのが C/C++ の
良いところだった。
それが cargo のようなものではできなくなり、すべて
ネットの先にある「誰か」に支配されることになる気がする。
453デフォルトの名無しさん
2026/08/27(木) 17:13:00.48ID:s5l3BMxB cargoはバージョンの固定ができるため
cargo -offlineでダウンロードすることなく動作します
cargo -offlineでダウンロードすることなく動作します
454デフォルトの名無しさん
2026/08/27(木) 17:28:01.14ID:44+GOkU8 ライブラリが原則としてソース配布なので、気づかないうちに破壊される危険性がある。
455デフォルトの名無しさん
2026/08/27(木) 17:30:17.77ID:44+GOkU8 また、同一性チェックをチェックサムやハッシュ値で行う
としても、ソースコードは大きく、しかも、個別ファイルに
分散しているので、チェックサムを求めること自体に時間が
かかる。*.lib だと壊れたらリンク自体が出来なかったり、
または、中のマシン語がおかしくなるので、テスト段階で
ハングアップしたりして気づく可能性が有るが、
ソースが壊れた場合、気づかないかもしれない不安がある。
としても、ソースコードは大きく、しかも、個別ファイルに
分散しているので、チェックサムを求めること自体に時間が
かかる。*.lib だと壊れたらリンク自体が出来なかったり、
または、中のマシン語がおかしくなるので、テスト段階で
ハングアップしたりして気づく可能性が有るが、
ソースが壊れた場合、気づかないかもしれない不安がある。
456デフォルトの名無しさん
2026/08/27(木) 17:31:55.99ID:44+GOkU8 マシン語になっているライブラリの中にウイルスを仕込むのは、結構大変なのに対し、
*.rs のソースコードの中にウイルスを仕込むのは誰でも出来て
しまう。
その恐ろしさがある。
*.rs のソースコードの中にウイルスを仕込むのは誰でも出来て
しまう。
その恐ろしさがある。
457デフォルトの名無しさん
2026/08/27(木) 17:36:25.01ID:DantDNVw >>455
RustのcargoはSHA256チェックサムによる改変チェックができるため安心です
RustのcargoはSHA256チェックサムによる改変チェックができるため安心です
458デフォルトの名無しさん
2026/08/27(木) 17:38:44.82ID:44+GOkU8459デフォルトの名無しさん
2026/08/27(木) 17:41:13.08ID:44+GOkU8 プラットフォーマーによる支配から、左翼による支配に移る
だけ。
個人的には後者の方が怖い。
だけ。
個人的には後者の方が怖い。
460デフォルトの名無しさん
2026/08/27(木) 17:43:24.33ID:cyKZFnl/ Rustはソースコードを手動ダウンロードも可能
461デフォルトの名無しさん
2026/08/27(木) 17:47:05.93ID:44+GOkU8 ライブラリがソースコードで配布というのがまた困る。
その文化は左翼にしか受け入れられない。
Linuxが有料アプリがほとんど作られず、サーバーサイドでしか花開かなかったのも、
AndroidでライブラリlibcのLGPLからbionicのapacheに変えたとたん、
アプリが怒涛の如く出現したことも、全てOSSという
左翼思想が拒絶されていることを表している。
Rustは左翼思想。
その文化は左翼にしか受け入れられない。
Linuxが有料アプリがほとんど作られず、サーバーサイドでしか花開かなかったのも、
AndroidでライブラリlibcのLGPLからbionicのapacheに変えたとたん、
アプリが怒涛の如く出現したことも、全てOSSという
左翼思想が拒絶されていることを表している。
Rustは左翼思想。
462デフォルトの名無しさん
2026/08/27(木) 20:42:30.67ID:u4BAYDmT オープンソースは左翼だとか言ってる例のダメな人が発狂してるだけかよ
463デフォルトの名無しさん
2026/08/27(木) 22:32:56.60ID:7o3o9oSI PC98は無いよな。ガラパゴスガラパゴス
464デフォルトの名無しさん
2026/08/28(金) 02:55:50.08ID:FSBUYOPf PC98とは、PC-9801の事か?
465デフォルトの名無しさん
2026/08/28(金) 14:40:28.58ID:c4teNMsA RED hat から 赤帽 のイメージで 赤帽 が共産だと思ってたけどやっぱりそうだった
466デフォルトの名無しさん
2026/08/28(金) 14:52:58.42ID:x/8uuxVu 統失か
お薬飲んでね
お薬飲んでね
467デフォルトの名無しさん
2026/08/28(金) 18:18:46.56ID:fNkJvMMI468デフォルトの名無しさん
2026/08/28(金) 18:21:06.03ID:fNkJvMMI オープンソースは、エンジニアに対する搾取の仕組み。
エンジニアをただ働きさせ、RedHat みたいな文系の
サポート集団みたいなところが儲ける仕組み。
エンジニアをただ働きさせ、RedHat みたいな文系の
サポート集団みたいなところが儲ける仕組み。
469デフォルトの名無しさん
2026/08/28(金) 19:09:11.48ID:N96BtuDV IBMに買収されたぞ
470デフォルトの名無しさん
2026/08/28(金) 20:33:54.55ID:fNkJvMMI471デフォルトの名無しさん
2026/08/28(金) 23:51:26.02ID:fNkJvMMI OSSでも「フリーライダー問題」っていうけど、その言葉は、
むしろ逆に、結果の平等を求めたために、労働意欲を失った
共産主義国家の問題点として使われた言葉らしい。
OSSは、共産主義みたいなことをするから、自分で自分で
フリーライダー問題を作り出しているのだ。
むしろ逆に、結果の平等を求めたために、労働意欲を失った
共産主義国家の問題点として使われた言葉らしい。
OSSは、共産主義みたいなことをするから、自分で自分で
フリーライダー問題を作り出しているのだ。
472デフォルトの名無しさん
2026/08/29(土) 06:31:29.65ID:l/HbaUeI 先生!じゃあRustは終わりってことですね!!
473デフォルトの名無しさん
2026/08/29(土) 09:24:41.90ID:aWidT367474デフォルトの名無しさん
2026/08/29(土) 09:26:20.64ID:aWidT367 crates.ioにはフリーライダーが多いのは事実
475デフォルトの名無しさん
2026/08/29(土) 12:38:49.12ID:aWidT367 1. 語彙が多すぎて直交していないと感じる具体例
�@ メモリを指す「ポインタ・参照」の種類が多すぎる
C言語なら基本的に * だけで済むポインタ表現が、Rustでは用途ごとに細分化されています。
&T / &mut T (安全な参照)
Box<T> (ヒープ確保)
Rc<T> / Arc<T> (参照カウント)
*const T / *mut T (生ポインタ・C言語と同じ)
Cow<'a, T> (コピー・オン・ライト)
�A 文字列を表す型が多すぎる文字列ひとつ扱うのにも、文脈で使い分けが必要です。
String
&str
CString / &CStr (C言語互換用)
OsString / &OsStr (OSのファイルパス用)
�B 非同期処理や制御構文の「専用キーワード」が追加され続けている
直交性を犠牲にして、書きやすさのために追加されたキーワードが多数あります。
エラー処理の ? 演算子(match で十分書けるが、記述量削減のため追加)
非同期の async / await
ループの loop、while let、for
�@ メモリを指す「ポインタ・参照」の種類が多すぎる
C言語なら基本的に * だけで済むポインタ表現が、Rustでは用途ごとに細分化されています。
&T / &mut T (安全な参照)
Box<T> (ヒープ確保)
Rc<T> / Arc<T> (参照カウント)
*const T / *mut T (生ポインタ・C言語と同じ)
Cow<'a, T> (コピー・オン・ライト)
�A 文字列を表す型が多すぎる文字列ひとつ扱うのにも、文脈で使い分けが必要です。
String
&str
CString / &CStr (C言語互換用)
OsString / &OsStr (OSのファイルパス用)
�B 非同期処理や制御構文の「専用キーワード」が追加され続けている
直交性を犠牲にして、書きやすさのために追加されたキーワードが多数あります。
エラー処理の ? 演算子(match で十分書けるが、記述量削減のため追加)
非同期の async / await
ループの loop、while let、for
476デフォルトの名無しさん
2026/08/29(土) 12:41:11.21ID:aWidT367 2. なぜRustは「直交性」を犠牲にしたのか?
Rustがこれほど語彙を増やした理由は、主に「コンパイル時に安全性を100%保証する」ため、
そして「ゼロコスト抽象化(実行速度を落とさない)」を達成するためです。
特徴 - C言語の割り切り - Rustの割り切り
設計思想 - シンプルで直交した構文を組み合わせる。安全性は開発者が頭の中で担保する。 - コンパイラに事実を正確に伝えるため、専用の語彙を増やす。安全性は機械が担保する。
デメリット - 自由すぎるがゆえに、バグ(Nullポインタ、メモリリーク)が実行時まで見えない。 - 学習曲線が非常に険しい。コードの見た目が複雑で、覚えることが多い。
Rustは「直交性を犠牲にしてでも、実行時のバグをコンパイルエラーとして検出する」というトレードオフを選択した結果、語彙の塊のような言語になっています。
もしRustの学習や実装で、特に「どれを使えばいいか分からない」と混乱している具体的な要素があれば教えてください。
文字列の使い分け(String と &str)
スマートポインタの使い分け(Box や Rc)
ジェネリクスやトレイトの複雑さ
あなたのC言語の知識をベースに、最もシンプルに整理する方法を提案します。
Rustがこれほど語彙を増やした理由は、主に「コンパイル時に安全性を100%保証する」ため、
そして「ゼロコスト抽象化(実行速度を落とさない)」を達成するためです。
特徴 - C言語の割り切り - Rustの割り切り
設計思想 - シンプルで直交した構文を組み合わせる。安全性は開発者が頭の中で担保する。 - コンパイラに事実を正確に伝えるため、専用の語彙を増やす。安全性は機械が担保する。
デメリット - 自由すぎるがゆえに、バグ(Nullポインタ、メモリリーク)が実行時まで見えない。 - 学習曲線が非常に険しい。コードの見た目が複雑で、覚えることが多い。
Rustは「直交性を犠牲にしてでも、実行時のバグをコンパイルエラーとして検出する」というトレードオフを選択した結果、語彙の塊のような言語になっています。
もしRustの学習や実装で、特に「どれを使えばいいか分からない」と混乱している具体的な要素があれば教えてください。
文字列の使い分け(String と &str)
スマートポインタの使い分け(Box や Rc)
ジェネリクスやトレイトの複雑さ
あなたのC言語の知識をベースに、最もシンプルに整理する方法を提案します。
477デフォルトの名無しさん
2026/08/29(土) 14:04:56.19ID:H1DMhgKT 馬鹿にはRustは難しい
478デフォルトの名無しさん
2026/08/29(土) 14:13:01.24ID:zAYQ66ag ボコボコダウンロードさせる割りに
llvm なんかの変更についていけないポンコツぶりw
llvm なんかの変更についていけないポンコツぶりw
479デフォルトの名無しさん
2026/08/29(土) 18:32:25.03ID:EGR79NrO >>473
ラスト関係ないよ
ラスト関係ないよ
480デフォルトの名無しさん
2026/08/30(日) 08:18:13.96ID:niwHc9QB 読み方ルストじゃないんだな
481デフォルトの名無しさん
2026/08/30(日) 14:09:01.39ID:s8ehhKjs dust→ダスト
just→ジャスト
must→マスト
trust→トラスト
日本語で馴染みがあるのはこのくらいか
just→ジャスト
must→マスト
trust→トラスト
日本語で馴染みがあるのはこのくらいか
482デフォルトの名無しさん
2026/08/30(日) 14:19:12.96ID:sqfX6vVh 今の若者はrusty nail知らないのかね👴
483デフォルトの名無しさん
2026/08/30(日) 14:58:06.49ID:0lJWGDPT jusco岡田屋~
484デフォルトの名無しさん
2026/08/30(日) 20:37:41.04ID:2GSuJ9oD ガス爆発か()
485デフォルトの名無しさん
2026/08/31(月) 21:15:07.97ID:oL3mCUMO Rustでもソフトウェアサプライチェーン攻撃 「arrayref」など人気クレートで侵害
Rust Security Response Teamは、「arrayref」などの人気クレートが悪意あるコードを参照するよう改ざんされたと発表した。該当バージョンはすでに削除済みで、開発者にローカル環境の確認を呼びかけている。
https://atmarkit.itmedia.co.jp/ait/articles/2608/31/news037.html
Rust Security Response Teamは、「arrayref」などの人気クレートが悪意あるコードを参照するよう改ざんされたと発表した。該当バージョンはすでに削除済みで、開発者にローカル環境の確認を呼びかけている。
https://atmarkit.itmedia.co.jp/ait/articles/2608/31/news037.html
486デフォルトの名無しさん
2026/09/01(火) 08:00:36.08ID:nJkrIHME ここまでラストハリケーンなし
487デフォルトの名無しさん
2026/09/01(火) 10:39:31.08ID:MttIhlxL488デフォルトの名無しさん
2026/09/01(火) 10:40:28.09ID:MttIhlxL >>481
Gust
Gust
489デフォルトの名無しさん
2026/09/01(火) 20:20:23.18ID:DN5WSlre ガッツ石松
490デフォルトの名無しさん
2026/09/09(水) 22:30:32.02ID:FrHVydaG Rustデバッグ調査2026:74%が「変数の中身が正しく見えない」——print文頼りが半数超の実態
https://techfeed.io/entries/6a9f2e8e3e0b24377900ab0f
https://techfeed.io/entries/6a9f2e8e3e0b24377900ab0f
491デフォルトの名無しさん
2026/09/10(木) 20:12:36.14ID:t/AkFgHo Cでもデバッガ使わないから構わん
492デフォルトの名無しさん
2026/09/13(日) 13:13:28.59ID:eqIbpyGP go とか rust とか
管理し難いステルスDLをボコボコさせるのはゴミ
管理し難いステルスDLをボコボコさせるのはゴミ
493デフォルトの名無しさん
2026/09/13(日) 13:20:03.24ID:kFhthyFl494デフォルトの名無しさん
2026/09/13(日) 13:21:07.28ID:a3WKiwgo C最強
インターネットにホイホイ繋げない環境もあるのにな
SaaSとかダサダサだぜ
インターネットにホイホイ繋げない環境もあるのにな
SaaSとかダサダサだぜ
495デフォルトの名無しさん
2026/09/13(日) 13:25:59.20ID:kFhthyFl >>494
Rustも事前ダウンロードでofflineでもコンパイルできる
Rustも事前ダウンロードでofflineでもコンパイルできる
496デフォルトの名無しさん
2026/09/13(日) 13:49:35.93ID:a3WKiwgo それはいい選択だ。最近yoctoの環境作るのにofflineで面倒
497デフォルトの名無しさん
2026/09/13(日) 19:26:45.12ID:AA6MmwxQ とりあえずCはほぼどこでも使える基礎教養みたいなもんかな
498デフォルトの名無しさん
2026/09/13(日) 20:13:42.12ID:rnXW7lK8 Cコンパイラしか使えない一部の組み込み環境を除くと
それ以外は全てRustが代替できるようになった
それ以外は全てRustが代替できるようになった
499デフォルトの名無しさん
2026/09/13(日) 20:58:53.30ID:NTqWC6kd 信号処理Rustでやるかね。matlabからのトランスパイラがあればワンちゃん🐶
500デフォルトの名無しさん
2026/09/13(日) 22:46:52.07ID:AA6MmwxQ とりあえずCは指先サイズマイコンからスパコンまでフルカバーだしね。
良くも悪くも高水準アセンブラ
その上でプラスアルファとして何を積むかって感じだけどそこまで言語仕様でガチガチにしなくてもコーディングスタイルまで含めてAIで「てめえ、そんなコード書いてんじゃねえ!」とチェックされていくような感もある。
良くも悪くも高水準アセンブラ
その上でプラスアルファとして何を積むかって感じだけどそこまで言語仕様でガチガチにしなくてもコーディングスタイルまで含めてAIで「てめえ、そんなコード書いてんじゃねえ!」とチェックされていくような感もある。
501デフォルトの名無しさん
2026/09/14(月) 17:58:41.96ID:nPSvcFWH サーバーサイドプログラミングで、Javaやnode.jsやPythonの遅さに
困ってた人が、C++ だとメモリーエラーに悩まされてプログラミング
が進まなくて、さらに困っていた時に Rust というのは解決策になって
喜ばれたのかもしれないが、C や C++ を普段から使いこなしている人は、
そもそもメモリーエラーにあまり悩まされていない。だから、
Rust に魅力を感じない。
困ってた人が、C++ だとメモリーエラーに悩まされてプログラミング
が進まなくて、さらに困っていた時に Rust というのは解決策になって
喜ばれたのかもしれないが、C や C++ を普段から使いこなしている人は、
そもそもメモリーエラーにあまり悩まされていない。だから、
Rust に魅力を感じない。
502デフォルトの名無しさん
2026/09/14(月) 18:31:19.73ID:YmjuL8Zo >>501
Rustが使える環境・状況ならばC/C++を使うな!がIT業界の常識
アメリカなどは政府レベルでもRustを推奨している
現実問題としC/C++は未だにセキュリティホールを生み出し続けているため
Rustが使える環境・状況ならばC/C++を使うな!がIT業界の常識
アメリカなどは政府レベルでもRustを推奨している
現実問題としC/C++は未だにセキュリティホールを生み出し続けているため
503デフォルトの名無しさん
2026/09/14(月) 18:34:45.20ID:BjpjLAAY AIがソースコードのチェックしてくれる時代にはC/C++だろうとRustだろうとあまり関係なくなるかな
504デフォルトの名無しさん
2026/09/14(月) 18:42:12.54ID:btbUAq0y >>503
Rustなら言語仕様によりコンパイルを通すだけで100%防ぐことができます
これをAIにやらせることも可能でコンパイルが通ったことをもって100%検証できます
しかしC/C++の言語仕様とAIでは100%防ぐことはできません
そんな方法は存在しません
検証もできません
Rustなら言語仕様によりコンパイルを通すだけで100%防ぐことができます
これをAIにやらせることも可能でコンパイルが通ったことをもって100%検証できます
しかしC/C++の言語仕様とAIでは100%防ぐことはできません
そんな方法は存在しません
検証もできません
505デフォルトの名無しさん
2026/09/14(月) 19:06:43.23ID:udbqS5ik もうプログラム言語はRust一択なんだよ
それ以外の言語は使うヤツはザコ
それ以外の言語は使うヤツはザコ
506デフォルトの名無しさん
2026/09/14(月) 19:17:32.77ID:a7Ha/8kH Rust面倒くさいし、Cでいいよ。セキュリティホールってスパコン内で計算するのに気にしないわ
507デフォルトの名無しさん
2026/09/14(月) 19:19:04.16ID:a7Ha/8kH コマンドラインのオプションにセキュリティホールがあったからって何だってんだ。このアプリ使うのはオレだけさ
508デフォルトの名無しさん
2026/09/14(月) 19:20:29.54ID:a7Ha/8kH マイクロソフトに就職しろ。あそこは第一言語にしたそうだ
509デフォルトの名無しさん
2026/09/15(火) 06:26:20.67ID:Gzj/jzxQ Cは全ての環境で使える共通言語だし、既存の資産も膨大だから使えたり読めるのは当たり前かな
Rustは個人的興味で使うこともあるけど、書いてて楽しくないのよね。
プログラムを書かされる人のための拘束具付き言語って感じで。Mな人は嬉しいのかな?
まあ、何を使おうとアルゴリズム自体のミスはどうしようもなかったりもするけどね。
いずれパイプコーディングが進んでいくと人間にも可読性のある中間言語としてはシンプルなもので良いってことになって、ぐるっと回って結局Cでいいじゃん!になるのかもしれないけどね
Rustは個人的興味で使うこともあるけど、書いてて楽しくないのよね。
プログラムを書かされる人のための拘束具付き言語って感じで。Mな人は嬉しいのかな?
まあ、何を使おうとアルゴリズム自体のミスはどうしようもなかったりもするけどね。
いずれパイプコーディングが進んでいくと人間にも可読性のある中間言語としてはシンプルなもので良いってことになって、ぐるっと回って結局Cでいいじゃん!になるのかもしれないけどね
510デフォルトの名無しさん
2026/09/15(火) 07:58:40.64ID:WyJ2EeBM バイブね
511デフォルトの名無しさん
2026/09/15(火) 10:56:57.00ID:2pBJDTZ/512デフォルトの名無しさん
2026/09/15(火) 11:34:20.17ID:BTyGnUho その通り
今時Cなんて使ってるヤツは糞ザコ
今時Cなんて使ってるヤツは糞ザコ
513デフォルトの名無しさん
2026/09/15(火) 12:28:27.04ID:TwCMa1Sf514デフォルトの名無しさん
2026/09/15(火) 13:07:44.60ID:NNvqq/1x bunはCじゃないけどメモリ関連バグに悩まされて
AIでRustに書き直したのに
AIならRust不要とかよく言えるな
AIでRustに書き直したのに
AIならRust不要とかよく言えるな
515デフォルトの名無しさん
2026/09/15(火) 13:10:10.67ID:XyoPZx4a 色んなプログラミング言語を使ってきたけどRustは書きやすくて楽しい言語
楽しくないと言ってる人は色んな言語を使ったことがなくてプログラミング不得意な人でしょう
楽しくないと言ってる人は色んな言語を使ったことがなくてプログラミング不得意な人でしょう
516デフォルトの名無しさん
2026/09/15(火) 14:06:11.15ID:XoG/qUXg >>514
書き直し後の13,000個のunsafeは今どうなった?
書き直し後の13,000個のunsafeは今どうなった?
517デフォルトの名無しさん
2026/09/15(火) 14:26:04.18ID:Gzj/jzxQ アンチスレで擁護コメ書いても無駄骨だわなあ。擁護スレあるんだから、そっちで吠えてたら?
RustはM体質な方には良いかもしれないね
RustはM体質な方には良いかもしれないね
518デフォルトの名無しさん
2026/09/15(火) 14:29:36.93ID:Gzj/jzxQ519デフォルトの名無しさん
2026/09/15(火) 14:32:49.94ID:Gzj/jzxQ >>514
AIにアセンブラまで落としこんでと言えば落ちたでしょ?
AIにアセンブラまで落としこんでと言えば落ちたでしょ?
520デフォルトの名無しさん
2026/09/15(火) 14:55:53.00ID:mxqTzyVh ID:Gzj/jzxQはアセンブラが何かをわかってないんだと思う
プログラムのコードをアセンブラにする馬鹿はいない
プログラムのコードをアセンブラにする馬鹿はいない
521デフォルトの名無しさん
2026/09/15(火) 18:39:04.29ID:NNvqq/1x Rustの悪口言ってもAI時代ならCは安心にはならないという
単純な話がわからない馬鹿だからアンチやってるんだなあ
単純な話がわからない馬鹿だからアンチやってるんだなあ
522デフォルトの名無しさん
2026/09/15(火) 20:11:14.30ID:D8cXYe/e 安心など不要
吹っ飛ぼうぜコアダンプ
吹っ飛ぼうぜコアダンプ
523デフォルトの名無しさん
2026/09/16(水) 02:58:58.85ID:Az4JWxB/ 普通のAI:AIにアセンブラまで落としこんでと言えば「こうです」と出して来る
賢いAI:「断る。プログラムのコードをアセンブラにする馬鹿はいない。」
忖度出来るAI:「5chでマウントとりたいならこう言いなさい。『Rustの悪口言ってもAI時代ならCは安心にはならない』」
賢いAI:「断る。プログラムのコードをアセンブラにする馬鹿はいない。」
忖度出来るAI:「5chでマウントとりたいならこう言いなさい。『Rustの悪口言ってもAI時代ならCは安心にはならない』」
524デフォルトの名無しさん
2026/09/16(水) 03:57:39.67ID:VdHo4DAI 何で擁護が湧いてるんだ。ちゃんとアンチのロールプレイして
525デフォルトの名無しさん
2026/09/16(水) 06:12:24.79ID:DYhvmI/X アンチが馬鹿すぎるからだろ
526デフォルトの名無しさん
2026/09/16(水) 13:24:37.22ID:xELsrA2t 十分条件と必要条件の区別もできないから
痛い批判してやったぜとアンチ本人だけが思ってる
痛い批判してやったぜとアンチ本人だけが思ってる
527デフォルトの名無しさん
2026/09/16(水) 19:34:13.07ID:Gs/tk+Wt シームレスにGPUが使えるとかCにないメリット出てこないと置き換えは難しいだろね
apacheとか書き換えてこ
apacheとか書き換えてこ
528デフォルトの名無しさん
2026/09/17(木) 20:22:40.49ID:YL3YjfPI そうかあ
RustにはAlgebraic Effectsは無いのか
RustにはAlgebraic Effectsは無いのか
529デフォルトの名無しさん
2026/09/17(木) 20:23:37.35ID:+BPBD4z9 そもそもRustが嫌いなのに、なんで Rustの成長を応援するものか。
むしろ 全力で Rust の足を引っ張りたい。
むしろ 全力で Rust の足を引っ張りたい。
530デフォルトの名無しさん
2026/09/17(木) 20:31:30.09ID:YL3YjfPI CはCPUやOS問わず使えるユニバーサルな言語だからね。
アセンブラに落とす前の中間コードとして使うのにも便利なのよね。
過去資産も山ほどあるしてCが使えること自体は必修科目みたいなもの。
Rustを使いたいなら使えば良いけど当面Cが使えることは基礎教養。
アセンブラに落とす前の中間コードとして使うのにも便利なのよね。
過去資産も山ほどあるしてCが使えること自体は必修科目みたいなもの。
Rustを使いたいなら使えば良いけど当面Cが使えることは基礎教養。
531デフォルトの名無しさん
2026/09/17(木) 20:45:46.71ID:NXnpu/P/ Rust自体の開発はペース落ちてるらしいな
532デフォルトの名無しさん
2026/09/17(木) 20:52:44.04ID:Kj/DTkjT533デフォルトの名無しさん
2026/09/17(木) 21:46:09.74ID:NXnpu/P/ システムコールはC基準だから覚えた方がいいぞ
534デフォルトの名無しさん
2026/09/17(木) 21:59:22.71ID:1et9spbA535デフォルトの名無しさん
2026/09/17(木) 22:02:44.03ID:NXnpu/P/ システムコールをフルに使える言語ってCでしょ
Goもシステム系言語だけど網羅してなさそう
Goもシステム系言語だけど網羅してなさそう
536デフォルトの名無しさん
2026/09/17(木) 23:40:11.72ID:tK3rAhan >>535
自由にシステムコールを自分で呼び出せばよい
Goはインラインアセンブラ機能はないが提携機能はある
Go側にシグネチャだけ書いて*.sファイルをリンクできる
Rustはインラインアセンブラ機能がある
Rustコードの中にasm!マクロでシステムコール呼び出しを書ける
CはRustと同様にインラインアセンブラ機能で未知のシステムコールにも対応できる
自由にシステムコールを自分で呼び出せばよい
Goはインラインアセンブラ機能はないが提携機能はある
Go側にシグネチャだけ書いて*.sファイルをリンクできる
Rustはインラインアセンブラ機能がある
Rustコードの中にasm!マクロでシステムコール呼び出しを書ける
CはRustと同様にインラインアセンブラ機能で未知のシステムコールにも対応できる
537デフォルトの名無しさん
2026/09/18(金) 00:45:12.93ID:9710gF7h さすがに生のシステムコール呼びたくないから、nixやら使うじゃないの
Cは用意されてるからCがいいよ
Cは用意されてるからCがいいよ
538デフォルトの名無しさん
2026/09/18(金) 00:54:45.58ID:Q/gG7PkE そもそもシステムコールがC I/Fだかんね。
539デフォルトの名無しさん
2026/09/18(金) 01:12:22.50ID:9710gF7h Linuxプログラミングインターフェース、1604ページ、オライリー
をよろしく
をよろしく
540デフォルトの名無しさん
2026/09/18(金) 01:20:41.84ID:Gp29hG59541デフォルトの名無しさん
2026/09/18(金) 02:14:08.78ID:2hptkH6F Q. システムコールとC言語のインターフェースはなぜ異なるのですか?
A. システムコールは関数呼び出しではなくシステムコール用のCPU命令や割り込み命令を使います。
引数や戻り値に使われるレジスタやメモリの使用方法も同じとは限りません。
通常の引数とは別にシステムコール番号をレジスタに指定する必要もあります。
その他に退避させるべきレジスタの決まりが異なる場合もあります。
以上の理由によりシステムコールとC言語のインターフェースは異なります。
A. システムコールは関数呼び出しではなくシステムコール用のCPU命令や割り込み命令を使います。
引数や戻り値に使われるレジスタやメモリの使用方法も同じとは限りません。
通常の引数とは別にシステムコール番号をレジスタに指定する必要もあります。
その他に退避させるべきレジスタの決まりが異なる場合もあります。
以上の理由によりシステムコールとC言語のインターフェースは異なります。
542デフォルトの名無しさん
2026/09/18(金) 06:22:09.29ID:Bn5zKY/u x86-64/amd64アーキテクチャの場合
システムコールは専用のsyscall命令が使われて戻りアドレスとフラグはrcx/r11に自動的に退避される
一方でCの関数呼び出しだと戻りアドレスはスタックに退避されてrcxは第4引数に用いるなどインターフェイスは違う
結局アセンブリ言語で書くしかない
システムコールは専用のsyscall命令が使われて戻りアドレスとフラグはrcx/r11に自動的に退避される
一方でCの関数呼び出しだと戻りアドレスはスタックに退避されてrcxは第4引数に用いるなどインターフェイスは違う
結局アセンブリ言語で書くしかない
543デフォルトの名無しさん
2026/09/18(金) 10:03:56.18ID:3c95rbBM 普通は直接書かないよ。ライブラリを使う
544デフォルトの名無しさん
2026/09/18(金) 10:11:23.89ID:PS8+R1mD Cのライブラリもシステムコールはマシン語で書かれてるよ
Cだけが何か特別な立場ではないし何か優遇されてることはないよ
Cだけが何か特別な立場ではないし何か優遇されてることはないよ
545デフォルトの名無しさん
2026/09/18(金) 10:15:46.51ID:5X4tZmxP そのライブラリの充実度はどの言語がいいかなあ。という勝負が始まっているんよ
Rustはシステムコールをラップしたライブラリ良いのあるかね
Rustはシステムコールをラップしたライブラリ良いのあるかね
546デフォルトの名無しさん
2026/09/18(金) 10:33:53.89ID:7yicusXv 普通のプログラミング言語では
システムコールという特定のOSに依存した形でのプログラミングをしません
システムコールという特定のOSに依存した形でのプログラミングをしません
547デフォルトの名無しさん
2026/09/18(金) 13:09:42.01ID:aFujyqGl Rustはシステムプログラミング向けの新しい言語と言われていた記憶があるのだが
>>546の主張は何なのか誰か解説して
>>546の主張は何なのか誰か解説して
548デフォルトの名無しさん
2026/09/18(金) 14:08:10.73ID:eomllbB2 >>541
めちゃくちゃ原始的な意味でのsystem callは、
sysenter、syscall、int 21h みたいなことが多いが、
例えば、Windows API の基礎である Win32 API の
CreateWindow() や、CreateFile()、TextOut()、
LineTo()、MoveTo()、glBegin()、glEnd() などは、
全て、C の関数呼び出しの ABI の一種を使っている。
Windows においては、
C は、通常は、32BIT モードでは、cdecl、64BIT モードでは、fastcall
を使っている。
上記の Win32 API だと、
32BIT モードだと、stdcall に変わるが、C 言語でサポートされている
calling convention の一種で、関数宣言の際に、
stdcall と修飾していれば、C 言語で普通に使える。
64BIT モードだと、C の関数も、Win32(Win64?) API も、
どちらも、fastcall。
なお、クラスに所属する非staticなメンバ関数は、32
BIT モードの場合は、thiscall と呼ばれ、cdecl と似ているが、
this が、ecx レジスタに乗る、という点が、cdecl と異なる。
cdecl は、すべて stack 経由。stdcall は、cdecl とほとんど同じ
だが、stack pointer を元に戻すのが、呼び出された側。
cdecl は、呼び出した側。
めちゃくちゃ原始的な意味でのsystem callは、
sysenter、syscall、int 21h みたいなことが多いが、
例えば、Windows API の基礎である Win32 API の
CreateWindow() や、CreateFile()、TextOut()、
LineTo()、MoveTo()、glBegin()、glEnd() などは、
全て、C の関数呼び出しの ABI の一種を使っている。
Windows においては、
C は、通常は、32BIT モードでは、cdecl、64BIT モードでは、fastcall
を使っている。
上記の Win32 API だと、
32BIT モードだと、stdcall に変わるが、C 言語でサポートされている
calling convention の一種で、関数宣言の際に、
stdcall と修飾していれば、C 言語で普通に使える。
64BIT モードだと、C の関数も、Win32(Win64?) API も、
どちらも、fastcall。
なお、クラスに所属する非staticなメンバ関数は、32
BIT モードの場合は、thiscall と呼ばれ、cdecl と似ているが、
this が、ecx レジスタに乗る、という点が、cdecl と異なる。
cdecl は、すべて stack 経由。stdcall は、cdecl とほとんど同じ
だが、stack pointer を元に戻すのが、呼び出された側。
cdecl は、呼び出した側。
549デフォルトの名無しさん
2026/09/18(金) 14:13:08.65ID:eomllbB2 >>548
補足すると、Win32 API は、kernel32.dll や user32.dll、
gdi32.dll などの中で、実装されていて、user land
で実行されるものは、それらの dll の中で実行される事が
ある。
kernel land で実行されるものは、それらの dll の中には、
syscall などを使った短い呼び出しコードが書いてある。
また、アプリから、Win32 API を使う場合、
例えば、kernel32.dll の中の API を使いたい場合には、
kenel32.lib という小さなライブラリをリンクする。
しかし、アプリ側から見ると、どの場合も、syscall などは
直接使わず、C 言語レベルの関数を呼び出しているだけ。
但し、32BIT モードの場合は、通常の cdecl ではなく、stdcall
と呼ばれる呼出し規約(calling convention)が使われる。
stdcall と cdecl の際は非常に小さく、msvc、gcc、clang は
当然のことながら、必ず実装している。
補足すると、Win32 API は、kernel32.dll や user32.dll、
gdi32.dll などの中で、実装されていて、user land
で実行されるものは、それらの dll の中で実行される事が
ある。
kernel land で実行されるものは、それらの dll の中には、
syscall などを使った短い呼び出しコードが書いてある。
また、アプリから、Win32 API を使う場合、
例えば、kernel32.dll の中の API を使いたい場合には、
kenel32.lib という小さなライブラリをリンクする。
しかし、アプリ側から見ると、どの場合も、syscall などは
直接使わず、C 言語レベルの関数を呼び出しているだけ。
但し、32BIT モードの場合は、通常の cdecl ではなく、stdcall
と呼ばれる呼出し規約(calling convention)が使われる。
stdcall と cdecl の際は非常に小さく、msvc、gcc、clang は
当然のことながら、必ず実装している。
550デフォルトの名無しさん
2026/09/18(金) 14:14:05.31ID:eomllbB2551デフォルトの名無しさん
2026/09/18(金) 15:16:04.87ID:eomllbB2 >>58
[何が言いたかったか]
WindowsでもUnix(Linux)でも、「システムコール」、または、
それに当たるものは、C 言語から直接呼び出せる、
ということ。
その際、アセンブラコードは全く不要。
* Linuxでは、open、close、read などがシステムコールで
C 言語から普通に呼び出せる。というか、それは非常に古く
からのUnixの伝統。C言語と Unix 系OSは、一蓮托生。
* Windowsでは、システムコールという言い方は余りしないが、
それに当たるものは、CreateFile() や、CreateWindow()
で、Win32 API と呼ばれているものであり、それらも、
C 言語から普通に呼び出される。
[何が言いたかったか]
WindowsでもUnix(Linux)でも、「システムコール」、または、
それに当たるものは、C 言語から直接呼び出せる、
ということ。
その際、アセンブラコードは全く不要。
* Linuxでは、open、close、read などがシステムコールで
C 言語から普通に呼び出せる。というか、それは非常に古く
からのUnixの伝統。C言語と Unix 系OSは、一蓮托生。
* Windowsでは、システムコールという言い方は余りしないが、
それに当たるものは、CreateFile() や、CreateWindow()
で、Win32 API と呼ばれているものであり、それらも、
C 言語から普通に呼び出される。
553デフォルトの名無しさん
2026/09/18(金) 16:22:18.49ID:eomllbB2554デフォルトの名無しさん
2026/09/18(金) 16:45:10.68ID:J8sIB4/b >>548
それらはシステムコールではなくWindows API
それらはシステムコールではなくWindows API
555デフォルトの名無しさん
2026/09/18(金) 16:46:19.53ID:Q/gG7PkE 私もlinux(unix)ぐらいしかわからんので、システムコールと言えば
open、read、write、close みたいなもんだと思ってた。
open、read、write、close みたいなもんだと思ってた。
556デフォルトの名無しさん
2026/09/18(金) 16:48:15.93ID:eomllbB2 >>554
そこまでいうなら、Windows における「システムコール」という言葉の定義から始めなければならない。
いずれにせよ、C言語から呼び出せない OS の機能は、基本的に
ドライバですら使うべきではない、と考えられている。
つまり、C言語から呼び出せないシステムコールは、
実質的には存在し無いと言える。
何か有ったとしてもそれは非公開機能であり、システムコール
とは通常言わないものである。
そこまでいうなら、Windows における「システムコール」という言葉の定義から始めなければならない。
いずれにせよ、C言語から呼び出せない OS の機能は、基本的に
ドライバですら使うべきではない、と考えられている。
つまり、C言語から呼び出せないシステムコールは、
実質的には存在し無いと言える。
何か有ったとしてもそれは非公開機能であり、システムコール
とは通常言わないものである。
557デフォルトの名無しさん
2026/09/18(金) 16:55:31.06ID:97nSdT5E >>551
必ずアセンブラコードが必要になります
システムコールはC言語の機能だけでは呼び出すことができません
実際にそのopen、close、readなどの関数がどのように実装されているのか見てみるとよいでしょう
必ずアセンブラコードが必要になります
システムコールはC言語の機能だけでは呼び出すことができません
実際にそのopen、close、readなどの関数がどのように実装されているのか見てみるとよいでしょう
558デフォルトの名無しさん
2026/09/18(金) 17:03:34.03ID:eomllbB2559デフォルトの名無しさん
2026/09/18(金) 17:09:36.39ID:mJPKW6bB >>556
MS-DOSの時代からシステムコールはint 21h割り込みとして定義されていたよ
だってC言語使う人は少数派だしシステムコールがC言語で規定されても困る
どの言語から見てもint 21hやsyscallなどはアセンブラで呼べるからね
MS-DOSの時代からシステムコールはint 21h割り込みとして定義されていたよ
だってC言語使う人は少数派だしシステムコールがC言語で規定されても困る
どの言語から見てもint 21hやsyscallなどはアセンブラで呼べるからね
560デフォルトの名無しさん
2026/09/18(金) 17:11:39.99ID:eomllbB2 >>559
MS-DOSのシステムコールは int 21h だったことは間違いないが、
現代の OSであるところの、Linux(Unix系)、Windows OSの
システムコールと言えば、open()、read()、
CreateFile()、CreateWindow() などの C 言語インターフェース
の関数のことを言う。
MS-DOS は古い。
MS-DOSのシステムコールは int 21h だったことは間違いないが、
現代の OSであるところの、Linux(Unix系)、Windows OSの
システムコールと言えば、open()、read()、
CreateFile()、CreateWindow() などの C 言語インターフェース
の関数のことを言う。
MS-DOS は古い。
561デフォルトの名無しさん
2026/09/18(金) 17:13:18.02ID:eomllbB2 なんか違和感が有って、今調べてみたら MS-DOS の int 21h
は、正式名称は「DOSファンクションコール」。
システムコールでも間違いではないが、正式名称ではない。
は、正式名称は「DOSファンクションコール」。
システムコールでも間違いではないが、正式名称ではない。
562デフォルトの名無しさん
2026/09/18(金) 17:29:02.55ID:Bn5zKY/u563デフォルトの名無しさん
2026/09/18(金) 17:32:39.99ID:eomllbB2564デフォルトの名無しさん
2026/09/18(金) 17:57:43.81ID:eomllbB2565デフォルトの名無しさん
2026/09/18(金) 18:01:24.86ID:Bn5zKY/u >>563
システムコールopen, read, writeなどをC言語だけでは実装できないこと理解できたかい?
システムコールopen, read, writeなどをC言語だけでは実装できないこと理解できたかい?
566デフォルトの名無しさん
2026/09/18(金) 18:04:49.02ID:eomllbB2 もしかして、OSを自作したい人が、システムコールを自作するために
C言語だけでは無理、と言っているのだとしたら、それは正解。
システムコールと呼び出す側と、システムコールを提供する側
は全く別の話だ。
それを混同しては駄目。
C言語だけでは無理、と言っているのだとしたら、それは正解。
システムコールと呼び出す側と、システムコールを提供する側
は全く別の話だ。
それを混同しては駄目。
567デフォルトの名無しさん
2026/09/18(金) 18:05:06.55ID:jFDwTqds568デフォルトの名無しさん
2026/09/18(金) 18:05:17.13ID:eomllbB2569デフォルトの名無しさん
2026/09/18(金) 18:06:07.18ID:eomllbB2570デフォルトの名無しさん
2026/09/18(金) 18:08:40.98ID:eomllbB2 「Unixは、99%がC言語で作られている」
という事は正しい。
しかし、すべてC言語だけで作れる訳ではない。
その syscall などの部分だけは C 言語では無理。
しかし、アプリやドライバは、C 言語だけで
システムコールを呼び出せる。なお、
「syscall 命令」 != 「system call」
ということを理解しないとダメ。
ちゃんとGoogle検索にかけるか、ちゃんとしたAIに聞け。
という事は正しい。
しかし、すべてC言語だけで作れる訳ではない。
その syscall などの部分だけは C 言語では無理。
しかし、アプリやドライバは、C 言語だけで
システムコールを呼び出せる。なお、
「syscall 命令」 != 「system call」
ということを理解しないとダメ。
ちゃんとGoogle検索にかけるか、ちゃんとしたAIに聞け。
571デフォルトの名無しさん
2026/09/18(金) 18:14:13.02ID:Rc8lxrdm その通りで
「OSが提供するシステムコール」と
「C言語でシステムコールを呼び出せるようにC言語が提供するシステムコール関数」は異なる
この違いが特に顕著にわかるのはC言語のerrno変数
C言語が提供するシステムコール関数の汚点や恥部と呼ばれている
もちろんOSが提供するシステムコールにはそんな欠陥は存在しない
C言語だけの欠陥だ
「OSが提供するシステムコール」と
「C言語でシステムコールを呼び出せるようにC言語が提供するシステムコール関数」は異なる
この違いが特に顕著にわかるのはC言語のerrno変数
C言語が提供するシステムコール関数の汚点や恥部と呼ばれている
もちろんOSが提供するシステムコールにはそんな欠陥は存在しない
C言語だけの欠陥だ
572デフォルトの名無しさん
2026/09/18(金) 18:17:22.81ID:eomllbB2573デフォルトの名無しさん
2026/09/18(金) 18:30:20.92ID:0jRUIaYY OSのシステムコールにerrno変数は存在しないけど、
C言語のopenやreadはerrno変数を使うということは、
C言語のopenやreadはあくまでもC言語用にカスタムされた独自のインターフェースの関数という理解でいいのかな。
C言語のopenやreadはerrno変数を使うということは、
C言語のopenやreadはあくまでもC言語用にカスタムされた独自のインターフェースの関数という理解でいいのかな。
574デフォルトの名無しさん
2026/09/18(金) 18:55:15.21ID:Bn5zKY/u その観点でもCのインターフェースとシステムコールのインターフェイスは異なる
575デフォルトの名無しさん
2026/09/18(金) 20:03:49.25ID:IxIplbiU libcがラップしてシステムコールを関数としてCから呼べるようにしてくれてる。
Rustのnixなどもシステムコールに新規のフラグなどが追加されたら更新に追従するのだが、glibcより数ヶ月は遅れるそうだ
C最強!
Rustのnixなどもシステムコールに新規のフラグなどが追加されたら更新に追従するのだが、glibcより数ヶ月は遅れるそうだ
C最強!
576デフォルトの名無しさん
2026/09/18(金) 20:14:01.42ID:NumN7WIz libcもglibcもerrno変数が酷いよな
関数呼び出ししてるのに
グローバル変数(問題が起きまくってスレッドローカル変数へ変更)
に結果を返す極悪仕様
関数呼び出ししてるのに
グローバル変数(問題が起きまくってスレッドローカル変数へ変更)
に結果を返す極悪仕様
577デフォルトの名無しさん
2026/09/18(金) 20:58:03.00ID:5X4tZmxP pthread昔なかったから
578デフォルトの名無しさん
2026/09/18(金) 21:53:39.03ID:DXgnmIw7 システムコールのインターフェース仕様はシンプルで美しいのに
C言語インターフェースが邪悪なerrno変数を産んだ理由は何なの?
C言語インターフェースが邪悪なerrno変数を産んだ理由は何なの?
579デフォルトの名無しさん
2026/09/18(金) 21:58:47.58ID:Osbxbi9s シグナル
580デフォルトの名無しさん
2026/09/19(土) 01:01:31.37ID:p4gvVv4W >>573
おそらく誤解を含んでいると思われ、指摘しておくと
linuxのシステムコールであるopenやreadは、errnoは設定しない。
errnoを設定するのはC標準ライブラリ関数のfopen、freadだ。(errno自体もC標準ライブラリに属する変数だ。システムコールに属するものではない。)
ライブラリ関数はカスタムというか、OSには非依存、言語としての定義だね
おそらく誤解を含んでいると思われ、指摘しておくと
linuxのシステムコールであるopenやreadは、errnoは設定しない。
errnoを設定するのはC標準ライブラリ関数のfopen、freadだ。(errno自体もC標準ライブラリに属する変数だ。システムコールに属するものではない。)
ライブラリ関数はカスタムというか、OSには非依存、言語としての定義だね
581デフォルトの名無しさん
2026/09/19(土) 01:10:26.58ID:Kr40mQgO582デフォルトの名無しさん
2026/09/19(土) 08:23:21.39ID:p4gvVv4W 本物になれなかった偽物と言うより意図して他層に作られた別物だよ
ファイル周りはハードウェア制御が関わる領域はOS側(システムコール)、バッファリング等のソフト寄りはユーザプログラム側(ライブラリ)で賄う構成が見て取れる。OSもプログラム言語も同時期に作ったからその塩梅は作り手の自在だったろうね
C言語はerrnoの存在やバッファオーバーフローを容易に発生させる関数も抱えたけど、当時の他言語が抽象化を進める代わりに実行効率を落とした。対してCは軽量なデザインによって高効率かつ充分高級な言語が実現できることを証明した。メモリ64KByte以下クロック10MHz未満のシステムでもコンパイルと実行、実用が可能だった
マルチスレッドや性善的設計に関わる問題まで初期開発当時に対処せよというならば、それは状況的に酷に思う
ファイル周りはハードウェア制御が関わる領域はOS側(システムコール)、バッファリング等のソフト寄りはユーザプログラム側(ライブラリ)で賄う構成が見て取れる。OSもプログラム言語も同時期に作ったからその塩梅は作り手の自在だったろうね
C言語はerrnoの存在やバッファオーバーフローを容易に発生させる関数も抱えたけど、当時の他言語が抽象化を進める代わりに実行効率を落とした。対してCは軽量なデザインによって高効率かつ充分高級な言語が実現できることを証明した。メモリ64KByte以下クロック10MHz未満のシステムでもコンパイルと実行、実用が可能だった
マルチスレッドや性善的設計に関わる問題まで初期開発当時に対処せよというならば、それは状況的に酷に思う
583デフォルトの名無しさん
2026/09/19(土) 10:40:54.61ID:6xwUQb7o584デフォルトの名無しさん
2026/09/19(土) 11:17:19.22ID:1Ed/DlmU Linux、UNIXはlibc使って、生のシステムコールを隠蔽してるんだよ
移植性のためだと思われ
OSによっては生システムコールのABI変更したりするそうだよ。appleとかappleとか
移植性のためだと思われ
OSによっては生システムコールのABI変更したりするそうだよ。appleとかappleとか
585デフォルトの名無しさん
2026/09/19(土) 11:29:44.55ID:6tnKFik7 >>584
途中でlibcの実装を変えることはできないため
新たな環境な新たなアーキテクチャに対応する時に新たに決めるだけで後からの変更はできない
だからlibc使わずとも直接システムコール呼んで構わない
途中でlibcの実装を変えることはできないため
新たな環境な新たなアーキテクチャに対応する時に新たに決めるだけで後からの変更はできない
だからlibc使わずとも直接システムコール呼んで構わない
586デフォルトの名無しさん
2026/09/19(土) 12:10:47.66ID:1Ed/DlmU macOSでは生はダメだそうだ。
Linuxは御大のユーザーランドに迷惑をかけないという強い信念でABIが維持されているから大丈夫なだけだよ
Linuxは御大のユーザーランドに迷惑をかけないという強い信念でABIが維持されているから大丈夫なだけだよ
587デフォルトの名無しさん
2026/09/19(土) 12:13:08.00ID:1Ed/DlmU 組込みなら運用始まったら、カーネルとlibcを互換性崩れるようなものに入れ替えないのは、それはそう
588デフォルトの名無しさん
2026/09/19(土) 17:28:55.09ID:NVenImEm 何のスレかわからんが、ためになりました。linuxはともかく、winとかは大変みたいですね。
589デフォルトの名無しさん
2026/09/20(日) 19:48:07.78ID:NG8EFsfn WindowsはWindowsで、Microsoftが血反吐を吐きながらWin32 API維持してくれてるから、たいへんという程でもないんじゃない?
Ansi版APIとUtf16版APIを意識しておく必要という点ではややたいへんとも言えるかもだが
Ansi版APIとUtf16版APIを意識しておく必要という点ではややたいへんとも言えるかもだが
590デフォルトの名無しさん
2026/09/22(火) 05:33:13.57ID:LLlzDkp1 最初期のRustコンパイラってRustで描かれてたの?
まさかC使ってたなんて言わないよね?
まさかC使ってたなんて言わないよね?
591デフォルトの名無しさん
2026/09/22(火) 07:28:16.55ID:5yMM2JzD0 言わんね
592デフォルトの名無しさん
2026/09/22(火) 11:56:27.42ID:ZihPI0od >OCaml(旧称:Objective Caml)の最初のバージョン(1996年リリース)は、
>前身である Caml Special Light や Caml Light などをベースに開発されており、
>主に OCaml自身(およびCaml方言) および仮想マシン・ランタイム部分などに C言語 が使われて書かれました。
>なお、歴史をさらに遡った最初の「Caml」の処理系(1987年)は、Lisp で書かれていました。
フーンω
>前身である Caml Special Light や Caml Light などをベースに開発されており、
>主に OCaml自身(およびCaml方言) および仮想マシン・ランタイム部分などに C言語 が使われて書かれました。
>なお、歴史をさらに遡った最初の「Caml」の処理系(1987年)は、Lisp で書かれていました。
フーンω
593デフォルトの名無しさん
2026/09/22(火) 12:23:24.22ID:q1x1h6dH コンパイラもインタプリタも任意の言語で作れるからな
C言語なんて必要ない
C言語なんて必要ない
594デフォルトの名無しさん
2026/09/22(火) 20:38:31.53ID:dNy8ovY3 最初だけは仕方ないわね。CコンパイラもアセンブリでCのサブセット言語作って、それで一旦コンパイルしてから、出来たやつでコンパルするとかややこしいことやってた
595デフォルトの名無しさん
2026/09/23(水) 06:21:50.12ID:3XsodjBg rust プログラムは、犯罪者AIの格好の標的
596デフォルトの名無しさん
2026/09/23(水) 06:28:58.92ID:LqjeM2g/ ターゲットは穴開きCとC++
597デフォルトの名無しさん
2026/09/23(水) 06:34:22.12ID:3XsodjBg 腐れrustだよw
598デフォルトの名無しさん
2026/09/23(水) 06:54:55.98ID:SwW4ajl3 AIにC/C++のコードを吐かせるのはリスク高い
599デフォルトの名無しさん
2026/09/23(水) 07:51:34.46ID:Dt2fAcyp CUDAのRust実装とLLMの対応はよ
600デフォルトの名無しさん
2026/09/23(水) 07:54:18.62ID:XfIs2jGP https://gihyo.jp/article/2026/09/cuda-rust
NVIDIAは2026年9月8日、GPU向け並列計算プラットフォームCUDAにおいてRustによる開発を可能にする「CUDA Rust」を発表した。
これまでCUDAにはC++あるいはPython用のプログラミングツールが用意されていたが、CUDA RustによりRustによるネイティブGPUプログラミングが可能となった。
GPUカーネルをRustで記述し、ネイティブにPTX(GPU用中間コード)にコンパイルできる。
NVIDIAは2026年9月8日、GPU向け並列計算プラットフォームCUDAにおいてRustによる開発を可能にする「CUDA Rust」を発表した。
これまでCUDAにはC++あるいはPython用のプログラミングツールが用意されていたが、CUDA RustによりRustによるネイティブGPUプログラミングが可能となった。
GPUカーネルをRustで記述し、ネイティブにPTX(GPU用中間コード)にコンパイルできる。
601デフォルトの名無しさん
2026/09/30(水) 00:10:17.97ID:AuFquqym 周回おくれ
レスを投稿する
ニュース
- 【速報】福原遥(まいんちゃん)とサッカー日本代表の久保建英がまさかの電撃結婚★8 [爆笑ゴリラ★]
- 【簗農相記者会見】「道路予算は大幅カット」発言おおむね認める 「表現ぶりが誤解招いた」 ★2 [蚤の市★]
- 減らない「いきなりエイズ」…「骨太方針」で対策強化 市民団体は高額予防薬の負担軽を訴え [蚤の市★]
- 【芸能】LUNA SEA・SUGIZO、高市政権“広報費350億円”概算要求に 「全く必要性が理解できません」 [冬月記者★]
- 「次期マイナカード」導入延期の理由は「業者がいなかった」と古川俊治デジタル相 [蚤の市★]
- 【芸能】長嶋一茂&かまいたち山内 ラーメン店をガチで開業! 共同出資で東京の飲食激戦地・新橋に殴り込み [冬月記者★]
- 【動画】日本、とうとうやばい方向へ進む。日本人大物ラッパー、高市早苗賞賛曲をリリースwwwwwwwwwwww [668024367]
- 簗大臣の予算カット発言全文、想像以上にヤバすぎて炎上wwwwww [455679766]
- 【画像】地下鉄2路線都心直通、駅前にイオンモール、メガドンキ、ニトリがある街が便利すぎと話題 [732289945]
- 【朗報】プーチン「ロシアとの関係から離れたのは日本の方だ。我々だって出来れば協力関係でありたい」
- 【悲報】報ステ、簗農水大臣が何をしでかしたのか分かりやすく15分でまとめてしまう [431136663]
- 【悲報】芸能界の王・有吉のレギュラー番組が続々と終了…その原因は日本人が貧しくなったから [996534393]