探検


Rustアンチスレ

2017/10/26(木) 23:40:36.83ID:LSWABSRs
Getting startedでもHello World以上のことはやってるんだから
あなたの触ってる言語がRustじゃない可能性のが高そうだね
3デフォルトの名無しさん
垢版 |
2017/10/27(金) 00:11:03.46ID:8v9HsLU9
コンパイルさえ通してしまえばエラーが無いことを保証される。
自動的な並列化によりメニーコア時代に対応。
メモ化サポート、動的計画法が自動的に実装できる、AI時代に必須。
Rust使いというだけで尊敬される、自動的に彼女ゲット。
C/C++の20倍高速。
2017/10/27(金) 01:38:19.39ID:HS++Psw6
ただし扱えるのはモジラに選ばれた人間のみ
2017/10/27(金) 01:59:27.69ID:zibA1NJ/
コンパイルすら通せない馬鹿が劣等感を爆発させた結果が>>1
6デフォルトの名無しさん
垢版 |
2017/10/27(金) 02:21:16.33ID:8v9HsLU9
Rustによって未来志向の意識世界に目覚めました。
いま核ミサイルの集中制御システムに携わっています。
Rustが世界を変える、Rustで世界を変える。
アッラーアクバール。
2017/10/27(金) 09:45:57.32ID:T+eCoUsJ
Cは自分の頭や足を撃ち抜く危ない言語ってよく言うが、つまり銃レベルで強力ってことだよな

Rustはなんだ?ぼうっ切れか?たしかに銃と違って暴発したりはしないな
8デフォルトの名無しさん
垢版 |
2017/10/27(金) 18:02:33.63ID:cUZom3KZ
http://ha10.net/talk/1503389313.html
9デフォルトの名無しさん
垢版 |
2017/10/27(金) 18:02:45.00ID:697iydar
>>5
>>1だけどこのスレ建てたのは離隔目的だぞ
2017/10/27(金) 19:54:56.14ID:Ql9mpjN/
どんな木っ端言語にもアンチがいるもんだなぁ(しみじみ)
2017/10/29(日) 18:15:04.59ID:COmwxbJI
アンチを隔離するつもりが信者が捕獲されちゃったとかrustyなコードにありがちな本末転倒っぷり
2017/10/30(月) 15:46:08.82ID:a0o0t6OO
>>10
本当に木っ端だったらなんも言わねえよ
モジラが言語自体をゴミクズのままにしておきながら
ステマに工数と金をぶっこんで自社ブランドの肥やしにして
それに騙されてゴミクズ掴まされる被害者がでてることに文句つけてるんだよ
13デフォルトの名無しさん
垢版 |
2017/10/30(月) 17:28:53.44ID:ExtYgMew
>>12をそっくりそのままGoを作ったGoogleに送りつけたい
2017/11/05(日) 09:42:11.34ID:/OpyHVwj
>>12
え、go ぐらいシンプルな文法でも満足に使えんの?
馬鹿なんじゃないの?
15デフォルトの名無しさん
垢版 |
2018/02/10(土) 22:35:12.01ID:gZwa/8Tz
>>12をそっくりそのままSwiftを作ったAppleに送りつけたい
2018/02/11(日) 09:24:51.51ID:YryqqCkE
>>11
Rustに傷つけられたアンチと戯れるスレだからね、仕方ないね

Swiftは騙されるアポー信者が多くてめっちゃウハウハだったな、Swiftやってますだけでクッソ仕事多かったのwww
Rustは、、、上流工程には知名度がなく、下流工程には難易度が高く、どこ行っても誰も騙せNEEEEEEEE
どこの業界(分野)に行けば騙されてくれる被害者がいますか?マジで教えてください
2018/02/11(日) 20:02:48.65ID:JG+HYHMD
整数型からC-like enumに変換するのにtransmuteとかしないといけないのがクソ
enumをforループするだけのことが面倒なのもクソ
ボローチェッカーとの戦い(笑)以前に生産性低すぎるわこんなもん
C++を置き換えるとか言ってるやつは頭お花畑やろな
2018/02/11(日) 20:26:21.53ID:PouFYKRN
>整数型からC-like enumに変換するのにtransmuteとかしないといけないのがクソ
だって実現方法はともかく意味的に整数はenumではないもの

>enumをforループするだけのことが面倒なのもクソ
forループしようと思う時点でそれはenumを使うべき場所でないのでは……
2018/02/11(日) 21:47:14.09ID:YryqqCkE
unsafeなtransmuteなんて使う地雷に自ら突っ込んで行ったら生産性も落ちる罠

何をしようとしてenumメンバをforで回す機会があるのかサッパリ分からんが
生産性悪い書き方して生産性悪いと言ってるのはよく分かった
ちょっとオモロイから、生産性悪いと思った事例をもっと教えてくれよ
20デフォルトの名無しさん
垢版 |
2018/02/11(日) 23:22:44.25ID:18bG+VQL
アンチアンチ
2018/02/12(月) 11:06:57.76ID:+5PXSpLD
俺は賢いからunsafeだって使いこなせるぜ、transmute使うぜ
結果、メモリ非安全で生産性悪いRustクソ!!!!

俺はアホだから危ないunsafe使うのやめよ、整数型からenumにするのはfn new使おう
結果、メモリ安全で生産性良いなー

Rustはアホ向けの学習難易度の低い言語だった可能性が微レ存?
2018/02/12(月) 13:03:15.96ID:JDol8IEk
普通の人間はアホか賢人に分類すると、だいたいアホ側がふさわしいからな。
無理する奴がバグを生む。俺はアホで良い。
2018/02/12(月) 19:04:43.26ID:1V20MNhs
ちょっと検索すればenumのvariantsをループで回す方法でてくる
enumの定義時にマクロを使って全メンバーを含む配列も同時に定義するなどがある
これだけをやってくれるcrateも作れそうだ
2018/02/14(水) 22:58:26.65ID:0r3oW/nt
C++が車だとしたらRustはせいぜいゴーカートだなぁ
2018/02/16(金) 06:49:37.38ID:W1XJdyx1
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
2018/02/22(木) 15:21:57.27ID:H839Tp+8
C++がカーチスだとしたらRustはフォルゴーレな印象
27デフォルトの名無しさん
垢版 |
2018/02/23(金) 17:07:47.78ID:ZuaVfjvd
つまり、どっかの豚しか乗りこなせないのか…
28デフォルトの名無しさん
垢版 |
2018/05/23(水) 20:21:30.55ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

P5EA8
29デフォルトの名無しさん
垢版 |
2018/07/05(木) 01:24:10.02ID:RfoszcD2
6YB
2018/07/16(月) 21:36:50.20ID:LulkQD8r
なんで所有権の移動という一度しか起こらない元値を破壊するものが印なしで
参照の借用渡しが&にしたんだろう

ねえ
2018/07/18(水) 21:34:09.40ID:uzHZzsnA
moveは安全なのに何が問題だと感じるの?
2018/07/19(木) 20:56:32.22ID:zpCf8yuT
次世代言語スレのつづきか
安全なだけでめっちゃわかりづらいだろ
ふつうの=でコピーと動きが違いすぎる
2018/07/21(土) 00:47:19.79ID:mSZJjtkc
コピーはコストかかるから暗黙的なコピーは意図せぬ性能劣化を引き起こす可能性がある
2018/07/21(土) 04:00:07.64ID:PpAF+dgy
暗黙のコピーと暗黙の参照渡しが区別つかないJavaで困らないんだから困らないのかもしれない
2018/07/21(土) 23:33:24.37ID:SCDZUWz8
javaで暗黙にコピーされるのは基本データ型だけでは
2018/07/23(月) 21:30:42.22ID:2ez6F7EW
C#でも困んないし
37デフォルトの名無しさん
垢版 |
2019/07/28(日) 18:59:39.61ID:5UHV96py
JavaとC#にはGCがあるからな
2019/07/28(日) 19:00:55.44ID:5UHV96py
ていうかJavaやC#は暗黙のdeep copyをしない件について:
2019/07/29(月) 21:44:34.57ID:CSar0obt
https://i.imgur.com/QvQTuqJ.jpg
2019/07/30(火) 00:56:59.74ID:ZDjzCSg/
>>39
グロ
41デフォルトの名無しさん
垢版 |
2019/10/30(水) 14:37:39.93ID:4EQH++wv
クソの中のクソ
キング・オブ・クソ
作ったゴミも使うカスも肥溜めで溺死すればいい
42デフォルトの名無しさん
垢版 |
2020/03/21(土) 17:46:30.14ID:vJ0Lurek
無能がほざいてて気分いいわ
2020/03/21(土) 17:51:42.22ID:20ZHUxLS
haskellと同じ道をたどるだけだな。
馬鹿がなぜか選民思想やり出して終了。
2020/03/21(土) 18:38:21.24ID:txJMIm7g
>>3
>コンパイルさえ通してしまえばエラーが無いことを保証される。
そんなわけない。
45デフォルトの名無しさん
垢版 |
2020/03/25(水) 01:29:02.87ID:COJzGufp
Rustは、コンパイラ時エラーに悩まされる反面、実行時エラーに悩まされるのを減らす
などと言われる。
しかし、コンパイル時エラーが出ると言うことは、裏を返せば、書けないアルゴリズムが存在するということだ。
直感的ではない回りくどい書き方が必要となり記述量が多くなる。
他の言語では好きな書き方が出来て、それはどれも正解だが、Rustでは正解が非常に狭くなる。
正解が狭いことがエラーを減らすなどという人がいるが、実際には、Rustは
書けるアルゴリズムが狭い、と言うことなのである。
これは言語設計の問題である。

なお、ここで言っているアルゴリズムは、全体的なものではなく、細かいミクロ的なものである。
通常の言語では、1つの仕事を細かい変数の使い方まで含めれば数万通り以上に書けるだろう。
そして、そのどれもが正解であり、結果が正しくバグも無いのだから、内のどれかが悪い書き方という
ことは特にない。
ところが、Rustでは、その大部分の書き方が出来ないのである。
駄目だから敢えてできなくしているのではなく、Rustが設計上、書けないアルゴリズムがあるということに他ならない。
つまり、Rustは書けるアルゴリズムが、本来コンピュータが書けるアルゴリズムの内の、非常に狭いサブセットに限られてしまうということである。
これは、Rustの大きな欠陥である。
2020/03/25(水) 01:29:24.10ID:COJzGufp
>>45
「駄目な書き方だからエラーにしている」
と言うのは間違いで、正しくは、
「Rustコンパイラの静的解析能力では、書き方を非常に限定しないと
 正しいことを保障できなかったり、自動化できなかったりするため、
 しょうがなく狭い書き方しか出来なくしている」
と言うことに他ならない。
人間には脳内の静的解析で明らかに正しいことが分かる書き方でも、
Rustコンパイラではでは同じことができないため、敢えて
変数束縛、借用、単一参照など、コンパイラでも解析できる程度の
範囲に書き方を限定して無理やり人間のプログラミングの可能性を
狭めているに過ぎない。
2020/03/25(水) 01:31:01.16ID:COJzGufp
>>43
Rustは、Haskellから多くを借りてきているらしいから、Haskellと同じ
道をたどると言う予想はあながち間違ってない。
2020/03/25(水) 01:41:15.64ID:COJzGufp
Rustは表面的に使うだけなら、まあ、C++が使えるプログラマなら、大体使えなくは無いだろう。

しかし、自分で独自にリンクリストを作ろうと思うと事態は一変する。

そこまで深く入った人ほど、Rustは難しい言語だと感じるはずで、
RustがC++程度で理解できると思ってる人は、99%、浅い所までしか使ってない
と言えよう。
2020/03/25(水) 08:33:39.98ID:atIoOIeM
道具として正しい在り方だな
2020/03/25(水) 12:40:37.43ID:COJzGufp
>>49
RAD言語ならそれで良いが、システム言語では駄目。
2020/08/28(金) 02:41:24.81ID:BFWbiW8H
Rustは、コンテナは、配列(長さがコンパイル段階で静的に決まる固定長)、
ベクター(動的配列)が主で、LinkedList<T>は、せっかくのリンクトリストの
特徴である末尾以外の「途中」への追加は出来ない。
これではリンクリストの意味が無い。
また、公式ドキュメントに
「ベクターの方がLinkedList<T>より速い」
などと書いてあるが、それはとんでもない間違い。
2020/08/28(金) 17:13:22.85ID:BFWbiW8H
リンクリストを実装するのはこんなに難しく、
nextメンバの型は、Option<Rc<RefCell<Node<T>>>>
となる :
type Link<T> = Rc<RefCell<Node<T>>>;
#[derive(Debug)]
struct Node<T> {
  value: T,
  prev: Option<Link<T>>,
  next: Option<Link<T>>,
}
impl<T> LinkedList<T> {
  pub fn append(&mut self, v: T) {
    let node = Node::new(v);
    match self.tail.take() {
      Some(old_tail) => {
        old_tail.borrow_mut().next = Some(Rc::clone(&node));
        node.borrow_mut().prev = Some(old_tail);
      }
      None => {
        // first element
        debug_assert_eq!(self.len(), 0);
        self.head = Some(Rc::clone(&node));
      }
    }

    self.tail = Some(node);
    self.length += 1;
  }
}
2021/01/08(金) 10:57:50.09ID:4h6DBvmg
00年代半ばごろのゴミサイトがアクセス数を稼ぐのを思い出した


ゴミ
2021/05/05(水) 10:12:10.05ID:Icux/Qfe
可読性低いな
55デフォルトの名無しさん
垢版 |
2021/06/18(金) 18:36:38.41ID:GgPo8kME
Rustを含めた新手の言語の仕様が固まるまで、20年ぐらい掛かるからなぁ

今20代の連中がRustを使いこなせる様になっても、

システム開発に使える頃には、40過ぎの中年だけど、まだプログラマー続けてるの?
56デフォルトの名無しさん
垢版 |
2021/06/30(水) 12:11:47.40ID:TGFkopCB
レッツ!mut &mut もっと = したい:ダメな日本語;
57デフォルトの名無しさん
垢版 |
2021/07/07(水) 23:28:03.78ID:3EDdhBYW
error[E0382]: use of moved value: `vector`
58デフォルトの名無しさん
垢版 |
2021/07/16(金) 02:31:03.20ID:UUn46lBk
もうお前のRustコード直すの嫌だわ
59デフォルトの名無しさん
垢版 |
2021/07/21(水) 02:06:52.85ID:DO3wSfvm
意識高い系が自己満足でめちゃくちゃなコードを他人に押し付ける言語
2021/08/10(火) 09:03:54.83ID:fPg8NGNP
>>45
何かいいやり方があるはずだ。誰が見ても明らかな、たったひとつのやり方が。
そのやり方は一目見ただけではわかりにくいかもしれない。オランダ人にだけわかりやすいなんてこともあるかもしれない。

The Zen of Pythonの一節だけどRustの設計思想もこういうことなんじゃないか?
何通りもある書き方を統一することによってコードを読む人にも分かりやすくするってことだと思う。
もうそこは好みの問題だから気に入らなければやらないでいいんじゃないか?
61デフォルトの名無しさん
垢版 |
2021/08/10(火) 09:10:56.61ID:UUhRSoFC
Rustは組み込みシステムでも非常に多く使われているように何でも書ける
Cと同様に低レベルな部分でも記述可能でさらにインラインアセンブリも可
2021/08/10(火) 14:11:34.30ID:mSeKT5En
raw pointer 使えるし C でできることはだいたい出来るのでは
できないのは variable length argument/array くらい?
2021/08/11(水) 07:11:51.41ID:KlEtC9pi
そりゃunsafeすればなんでもかけるわ
64デフォルトの名無しさん
垢版 |
2021/08/11(水) 07:16:15.10ID:N49Uco17
>>63
C/C++/Rust以外の言語ではどうやっても無理
2021/08/12(木) 10:28:40.81ID:whMOJJYX
なんかRustアンチは必要以上にunsafeを忌避してる気がする

unsafeは注意が必要な部分を限定するために用意された言語機能なのに
「unsafe使うならC/C++でいいじゃん」
とか考えてそうな雰囲気
2021/08/12(木) 10:57:49.37ID:tXISMw6z
unsafeブロック内でもボローチェッカは仕事するって知らん人多そう
2021/09/04(土) 03:57:00.95ID:kn1l/Q+t
>>24
いや、自走車椅子だろ
68デフォルトの名無しさん
垢版 |
2021/09/04(土) 04:05:22.28ID:iqtSb51S
>>24
C++より便利で安全だから
例えると醤油とソースかな
69デフォルトの名無しさん
垢版 |
2021/09/06(月) 13:53:51.27ID:kq9rR1L5
Rustスレでは場違いなので、イテレータというか高階関数の話にもう一度食いつくとする。

Juliaなんかだと並列・分散処理するために@distributed forなんて書くが、Erlangだとループ中に
spawnをして、Goもgoroutineを起動する。map/reduceなんかだと明らかにメニ―コアを使った方が
速いが、標準ではそうなっていなくて、外部ライブラリのrayonなどを使用する。
GoでもRustでもこれをさらに分散処理させるにはgRPCなど規格化されたインターフェースを通すが
やりたい事はJuliaの@distributed forなのに手間を感じさせる。
Rustにライトウェイトスレッドが言語仕様として入るとは思えないが、やはり言語には向き不向きが
存在する。近年のjavascriptを発端とするasync/awaitにも疑問が生じる。あまりにも多くの言語が
同期実行のライブラリと整合性が無さすぎる
2021/09/06(月) 14:51:17.48ID:6RpN+EMp
DSLと同等の使い勝手を汎用的な言語に求めるのはつらいのでは
71デフォルトの名無しさん
垢版 |
2021/09/06(月) 16:49:04.49ID:7r7RF488
>>69
たしかにJavaScriptのasync/awaitとRustのは最も対照的ですがどちらも良い特徴があると思います
JavaScriptはブラウザも外部のNode.jsもその言語実行環境として非同期ランタイムが組み込まれasync/await導入以前から非同期関数が標準として装備
そのため非同期関数が呼ばれたら次のスケジュールで即座に実行が始まりますね

一方でRustは標準の非同期ランタイムがなく用途に合わせて自由に非同期ランタイムを用意することが出来ます
さらにRustのasync/await自体はゼロコストで設計されており非同期関数が呼ばれても自動的にスケジューリングされない特徴があります

Rustはこれらに関して「何ができない」のではなく「何でもできる」わけなので
あとは記法の簡易性を求めるのならばその呼び出し関数等の設計とマクロでお好みの方面へ寄せることも可能です
72デフォルトの名無しさん
垢版 |
2021/09/11(土) 00:36:45.81ID:YO3o85Uj
>>71
これは良い書き方をしているが非同期ランタイムを自由に選べるのではなく、適切に選ばないと
インターフェースをサポートしない場合があるため、互換性が保てないでしょう。Rusterは
ゼロコストという話を良くしますが、Rustの非同期はタスクごとにステートマシンを作るために
確かにNode.jsなどと比べるjavascriptと比べれば、全体で非同期をスケジューリング管理する
ものと比べアロケーションや実行コストなどは小さいですが、それほど喧伝すべきことでもありません。
いずれにせよ多くの非同期はI/Oバウンドでありepollベースなどで管理されます。当然ながら
(Cに代わるようなハードウエア近い)システム言語なので出来ない事があってはイケていません。
私が言っているのは、Rustに限りませんがasync/awaitの記述が普通に考慮されてない設計の悪い
ライブラリが沢山あるという事です。Rustのマクロは最低だと思います、なぜわざわざ学習コストを
引き上げるのか理解できません
2021/09/11(土) 01:17:56.12ID:PRM8i6LA
>>72
あなたの主張は意味がわからない
まず「互換性が保てないでしょう」は何との何の互換性が保てないのか?意味不明
次に「それほど喧伝すべきことでもありません。」は結局のところあなたは反論すら出来ずに同意してしまっている
さらに「Rustに限りませんが(略)設計の悪いライブラリが沢山あるという事です。」はRust言語に対する批判にすらなっていない
それぞれ具体的に問題点を述べましょう
2021/09/11(土) 01:24:36.44ID:Q/hQI3Xf
唐突にマクロが登場するのも分かりませんね
async-awaitがマクロだった頃の話をしているのですか?
75デフォルトの名無しさん
垢版 |
2021/09/11(土) 01:41:58.05ID:YO3o85Uj
あんたの方が意味不明だけど(笑)
まず文書の書き方にケチを付けてロンパーする癖を直しましょう。

最初から非同期ランタイムの互換性と書いているでしょう。例えばasync-stdと
tokioは互換性がありません。今は互換性がほぼあるようになってきていますが
それでも完全ではありません。

ゼロコストFeatureという話は、VS Javascriptという言語のランタイムではその
通り認めていますが、コンパイル型の言語でコストが高い非同期は稀です。

Rust言語に対する批判しか書かないわけではありません。あなたは攻撃されたと
思い込む癖が強すぎる。「近年のjavascriptを発端とするasync/awaitにも疑問が
生じる。あまりにも多くの言語が同期実行のライブラリと整合性が無さすぎる」
という大本も読めない。まあそういう人間が増えすぎて居る訳で、こんな雑談で
怒り心頭になり、それぞれの具体的な問題点はあなたの性格でしょう。
言語的な反論をせずに文書の読解も出来ず、条件反射で相手を貶す。とてもでは
ないですが近寄りがたいですね

またマクロについても「マクロでお好みの方面へ寄せることも可能です」という
返答に関して感想を述べてるのに過ぎないのに、全く話を辿れていません。
2021/09/11(土) 02:11:46.06ID:w5S7rLqj
>>75
具体的な問題点を述べましょう
例えばtokioの上に構築されたhttpモジュールであるhyperも互換レイヤーによりasync-std 上でも動作します

RustアンチスレでなぜJavaScriptを問題にしているのかも謎ですが
JavaScriptのasync/await/Promiseもあの環境で非常に優れて設計されています
この件についても具体的な問題点を述べておられないですね
2021/09/11(土) 11:03:00.32ID:LLoV+Okg
>>75の勝ち
以上
2021/09/11(土) 13:53:10.45ID:zUj2TAiQ
>>75
>「近年のjavascriptを発端とするasync/awaitにも疑問が生じる。
>あまりにも多くの言語が同期実行のライブラリと整合性が無さすぎる」

意味がちょっと不明です。
JavaScriptでそれらが用いられうる通信分野では、基本的に同期実行のライブラリは存在しません。
例えばhttpなどで取得してくるfetch()も非同期ですし、もっと低水準のモジュールも非同期です。
同期実行のライブラリと整合性が無さすぎるとは、何を意味しているのでしょうか?
2021/09/11(土) 13:59:42.94ID:QGVH5OH8
発端と言ったらC#の方が古くね
80デフォルトの名無しさん
垢版 |
2021/09/12(日) 14:45:35.48ID:dsndgRWH
Rustって組み込み開発向いて無くね?
どう考えてもLinuxなりBSDなりある程度高度なOSがある事前提だ、OSのメモリーコンパクションが
無いとGCが無い故にメモリーの断片化が起こり、長時間稼働するタイプの小さな組み込みには向かない。
マイクロコントローラのメモリー付きSoCでブーストラップローダーがあるだけの組み込みには使えない
ま、サポートプラットフォームにTier1/Tier2でも、そういうのに使えるとは書いてないけど
2021/09/12(日) 15:02:08.52ID:raaoGYn7
>>80
その文章だけならCにいれかえてもあってそうなんだが?
2021/09/12(日) 15:22:52.56ID:lBuMyCBZ
>>80
つまりC/C++/Rustは組み込みやOSに向いていないとw
2021/09/12(日) 15:26:04.82ID:Cf6Jz1Ay
そこで組み込みのために開発されたJavaですよw
2021/09/12(日) 21:57:41.77ID:UrK9UNLE
それはリソースがたっぷりある組み込みのケースで感覚としてはアプリ開発に近い
組み込みはピンキリだからスクリプト言語が動く環境まである
一方でC/C++/Rustじゃないと厳しい環境もある
2021/09/12(日) 22:17:14.89ID:Zjk1d74X
>>75
同期実行ライブラリと整合性が無いというのはウソです
Rustでstd利用の同期とasync-std利用の非同期のプログラムはほとんど同じように書けます

例えば複数のファイルのチェックサム計算を同期と非同期の2通りに書いた以下の記事を参考にすると
https://qiita.com/osanshouo/items/671c45072a79c7b27aba
メイン部分の両者のdiffを取ると以下のような感じです

  for entry in entries {
   let entry = entry.unwrap();
   if entry.file_type().unwrap().is_file() {
 +  let handle = async_std::task::spawn(async move {
      let filepath = entry.path();
 -    let mut file = fs::File::open(&filepath).unwrap();
 +    let mut file = fs::File::open(&filepath).await.unwrap();
      let bytes = {
       let mut bytes = Vec::new();
 -     file.read_to_end(&mut bytes).unwrap();
 +     file.read_to_end(&mut bytes).await.unwrap();
       bytes
      };
      let checksum = bytes.iter().fold(0u8, |acc, b| acc.wrapping_add(*b));
      println!("{:?}: {}", filepath.file_name().unwrap(), checksum);
 +  });
 +  handles.push(handle);
   }
  }

つまり差は2点のみ
非同期実行では不可欠なspawnがが入ることと
非同期を同期風に書けるようにするためのawaitが入ることだけです
おっしゃる『同期実行のライブラリと整合性が無さすぎる』との主張は間違っています
2021/09/12(日) 22:19:55.41ID:s09Gb+ph
設計にバカが関わってなければC++で十分
2021/09/12(日) 22:44:56.06ID:Q5FBinyU
コードの規模が大きくなると複雑さが増して相対的に知性下がるからバカが開発することを前提にした方が良い
2021/09/13(月) 20:47:01.12ID:dBMpD8or
>>87
それは自覚症状が無いだけで自分が馬鹿なだけかも知れんが。
2021/09/13(月) 20:51:25.89ID:9PNw/wOW
>>88
自分は馬鹿と思ってコード書いた方が良いよ本当に
これはバカにしてるとかじゃなくて心構えとして
90デフォルトの名無しさん
垢版 |
2021/09/14(火) 19:27:55.83ID:kyozNdb6
>>89は賢いお人

本来馬鹿は馬鹿を自覚できないから
平気でウンコを顔面につけたまま歩き回り
いろんなものを糞まみれにしてケロっとしてる
2021/09/14(火) 20:13:08.96ID:Wng5bteL
>>89
お前と俺を一緒にスンナよ。
人間の頭脳は画一敵意ではなく差が大きい。
2021/09/14(火) 23:33:28.66ID:9cp1Eg6y
微笑ましい
2021/09/14(火) 23:52:38.24ID:BSh8VTqx
少なくともある程度以上の大きさの開発したことある人や
複数案件を同時進行した人なら
いくら完璧にしていても確率的にミスが入り込むとわかるはず
そしてC++とRustとの比較ならどちらが良いかも冷静に判断できる
94デフォルトの名無しさん
垢版 |
2021/09/15(水) 02:02:19.36ID:x4RgVtnC
>>85
そんな事を言ってるんじゃないと思いますよ、「複数のファイルのチェックサム計算」なんて単純な事なら
当然ながら同期と非同期でそれほど違いは出ないでしょうし互換性があるように見えるでしょう。なぜなら
チェックサム計算は一瞬で終わり非同期はファイル毎に区切っているから。チェックサム計算は同期コードで
いずれも書かれていて1つも違いがありません。
これをいくつかのファイルは巨大でファイル長が不明(無限では無い)が大きいファイルのチェックサム計算や
より複雑で時間のかかる計算を非同期で行いたいとすればどうしますか?チェックサム計算で、read_to_endは
使えずストリームを非同期に読み続けて計算することになるでしょう。という事はbytes.iter().foldも使えません

「同期実行ライブラリと整合性が無いというのはウソです」このように言い切ること自体に"気持ち悪い信仰"を
持っているのは良く分かりますが、元が「整合性が無さすぎる」と言っているのは、整合性がある1パターンを
示しても意味が全く無いという事です。多くの問題は「ウソです」と言い切れる浅はかさが問題です
http://qiita.comの記事なんて初心者のサンプルに過ぎません
2021/09/15(水) 11:47:44.97ID:PYzW5a+n
>>93
確率的な話をするならコンパイラの塾制度考えた場合の確率を下回るくらいのメリットしかrustにはないよ。
2021/09/15(水) 20:26:11.48ID:77IP/X5S
>>95
rustcで検出できるバグを仕込む確率よりもrustcのバグを踏む確率の方が高いということ?
2021/09/15(水) 21:21:02.30ID:PYzW5a+n
rustcで検出できるバグよりcとのバインディングでの勘違いで生じるバグのが多いわな
2021/09/16(木) 00:37:37.41ID:Efcezeu+
まあ静的チェックに過剰な期待してる奴は大抵クソだよ
2021/09/18(土) 06:51:34.59ID:pceSJQ2d
>>93
そのうち上位層はビジュアルプログラミングに取って代わられて行ったりしてね
2021/09/18(土) 07:04:45.25ID:WtcFUHdh
Rustのスレで何を頓珍漢な
101デフォルトの名無しさん
垢版 |
2021/09/25(土) 03:20:19.87ID:r08K7R9X
コンパイルチェックがゼロになるコードを書けるまでウンコ呼ばわりされる
2021/10/20(水) 16:37:55.38ID:rOkBuggn
>80
>無いとGCが無い故にメモリーの断片化が起こり、長時間稼働するタイプの小さな組み込みには向かない。

ヒープも使わない(ことが多いから)、メモリーの断片化も起きない
当然GCなんかいらない
rustが組み込みに向かないのは同意する
103デフォルトの名無しさん
垢版 |
2021/10/20(水) 19:56:54.98ID:VGECjsMp
小さなの規模にもよるけど
スタックや初期化時以外で動的なメモリ確保がそもそもできなくない?
Unix風のプロセスモデルでもないとmallocし続けるだけでアウト
2021/10/20(水) 20:18:24.99ID:rOkBuggn
組み込みの世界ではヒープじゃなくて、
リンクリストのノードを固定長メモリブロックとして使ったりする
例えばuItronのメモリプールの実装とかそんな感じ
ヒープはリアルタイム性がないから

で、rustはstatic mutが使い辛過ぎて、組み込みでは難しそう
105デフォルトの名無しさん
垢版 |
2021/10/20(水) 20:22:41.04ID:VyYhhIkP
D言語も忘れないで下さい。
2021/10/20(水) 20:37:31.19ID:rOkBuggn
アンチスレとはいえ
将来性を考えると、さすがにD言語よりはrustの方が……
107デフォルトの名無しさん
垢版 |
2021/10/20(水) 22:36:34.87ID:VyYhhIkP
D言語:「忘れないで・・・」
2021/10/20(水) 22:52:38.54ID:UtWr6ljA
Deprecated
Dormant
Dead
縁起悪いよ…(´・ω・`)
109デフォルトの名無しさん
垢版 |
2021/10/21(木) 18:37:53.89ID:wlIxx6Dc
言語と関係ないがrusterのこういう陰湿さが嫌、goに頻繁に嫌がらせしてるし、gcが選べるD言語など
まだまだマイナーな言語へ嫌がらせする
2021/10/21(木) 20:22:29.58ID:s+sF4o2E
Dのことマイナーって呼ぶなよ
2021/10/22(金) 20:07:55.54ID:BGSpAusK
>>106
将来を考えるなら、文字列でだらだら書くというスタイルが古臭いってなるかもね。
今のプログラミングは、分厚い本を読まされてる、書かされてるみたいなもん。
映像なら3秒でですむことを延々と書き連ねているようなもんだし。
2021/10/22(金) 21:52:45.50ID:v3Yxx0iq
永遠に可能性が無いとは言わないが、テキスト以外の方法は生まれては消えてを繰り返してるのでどうも期待出来無い。
人間がコード書く役割が終わる方が先に来るんじゃないかな。
2021/10/23(土) 08:17:48.59ID:126WIPxs
>>112
AIでも同じようなことが言われていて、
囲碁で人間に勝つには100年かかるなんて言われてたからね。
>人間がコード書く役割が終わる
まさにそれ。
人間は「こうしたい」というのを表現できればそれで良いわけで、それをわざわざ文字列で延々と書き連ねるというのが古臭いことになるんじゃない?ってことね。
2021/10/23(土) 08:56:15.06ID:3BoTC/ER
現状人間同士である程度厳密に情報を伝えようとすると言葉に頼るわけでコンピューター相手でもそこは変わらない気がする
2021/10/25(月) 17:46:30.13ID:a6PpXdhO
>>114
わざわざ人間が翻訳機になってるっていうのが古臭いって思うんよね。
2021/10/25(月) 17:54:38.98ID:a6PpXdhO
>>114
文字によるプログラムっていうのが結局いつまで経っても1.5次元みたいなもんで、どことどこが関連しているのかということすらパッと見てわからないしね。
まあ、世の中には何百万行もあるプログラムでも簡単に目を通して全体像を把握できるような天才的な人もいるんだろうけど、私には無理だわ。

トシヨリガーとか、老害だとか言ってる割には旧来の手法に固執するんだな。
2021/10/25(月) 20:15:43.78ID:cubP7NbG
>>116
グラフィカルなプログラミング環境とか、設計手法だけどUMLとかあるにも関わらず一般的なプログラミング言語を置き換えるには至ってないよね
旧来の手法を置き換えるには何かしらのブレークスルーが必要なんだと思う

現状プログラミングが主に言葉で書かれているのは、人間がプログラムを考えていることと、人間の考えを厳密にコンピューターに伝える必要があることに由来していると思う
人工知能が発達して人間の曖昧な指示に従ってコンピューターがプログラミングするとか、脳波読みとりなど言語化なしで人間の考えを伝える手段が現れれるなどすれば状況は変わるかも知れない
2021/10/25(月) 20:53:20.91ID:IG0eAPOa
どの程度の複雑さをコンピュータ側に持って行っても、要求なり目的なりを記述する必要は残る。
いわゆる "プログラミング" では無いかもしれないが。
そこの記述はグラフィカルでどうのこうのと言っても汎用性を求めると結局はテキストになるんじゃないかな。

まあ要求記述のテキスト、というとSQLがその一つなんだけどさ。
2021/10/28(木) 17:10:44.11ID:nJ3D7u2B
>>118
で、現実にやってるのは、やれCだなんだと、それぞれの方言に合わせて人間が一生懸命翻訳作業をして文字列で書き起こしている。
客観的に見れば実に珍妙な記号とあるふぁべっの羅列でね。
そして、流行りの方言が出るたびにその方言を覚えては翻訳作業。
でも、結局のところコードが大幅に減るわけでもなく、肥大化するにつれて誰も正しい全体像を把握できなくなるのは同じこと。そして、いつまで経っても無くならない誤訳…バグの山。

やはりこのスタイル自体に無理がきているんだと思うわ。まあ、究極はコンピュータそのものの考え方から変えないとダメかもしれないけどね。
2021/10/28(木) 17:37:46.17ID:oV3TAAYO
>>119
そのレベルの話だとコーディングと言うよりも設計の問題なのでは
2022/02/26(土) 07:53:14.27ID:BV4vpVpG
自分がどうしたいってことしか考えないから、言語が要らないなんて言い出す。

受けとる方を考えてみろ。
2022/04/27(水) 15:55:20.74ID:1aIRuPS7
CとリリースモードのRustは、どちらも実行時間が最小限です。 Cは未定義の動作でそこに到達します。 Rustは、非常に堅牢な言語定義を使用して、コンパイラーが多くの危険なプラクティスを拒否し、多くの望ましい結果を安全で比較的便利にすることを可能にします。

しかし、Rustは、多くの人が望ましくないと考える特定の動作も許可します。許可されるように言語を定義するだけです。たとえば、整数のオーバーフローを考えてみましょう。デバッグモードでは、Rustは整数のオーバーフローでパニックになります。良い。リリースモードでは、2の補数としてラップします。悪い。つまり、それは言語定義に含まれているので、非常に優れていますが、私に関する限り、これは、符号付き整数のオーバーフローを未定義の動作として参照するCおよびC++言語定義とほぼ同じくらい悪いものです。
2022/04/27(水) 16:14:27.17ID:fXEX2s7j
>>122
Rustはそのために例えば足し算でも
checked_add
overflow_add
wrapping_add
saturating_add
など用途毎に使い分けられるようになっている
124デフォルトの名無しさん
垢版 |
2022/04/27(水) 18:36:40.62ID:HjqqO7sC?2BP(0)

あかんところ列挙
・コンパイル型言語らしいけど、C++の方が速い(GCC万歳)
・CPLから派生した言語とかなり系統が違う(習得しづらい)
・関数宣言でわざわざfnをつけないといけない(文脈で理解できないのかコンパイラ)
以下、C++のあかんところ
・最近のは遅い->STL使わんかったらいい、もしくは自作
・バッファオーバーランとか、危ないことが起こる->そんな阿保プログラムを書かなかったらいい
2022/04/27(水) 18:45:52.15ID:kbMyQ47R
>>124
RustとC++はほぼ同等の速度
その上でRustは様々な安全性とC++より便利な機能によりプログラミング生産性も良い
126デフォルトの名無しさん
垢版 |
2022/04/27(水) 18:53:45.96ID:DngKLmNp
>>123
そういうことを言いたいんじゃない。releaseとdebugで動きが異なることを言いたいのだ。例えばGoなどはどちらも動きはわからない。
Rustはどう考えても、プログラムの1つ1つを完全に知りえていなければプログラムを書いてはならず、安全な側へ倒すのではなく、releaseでオーバーフローを省略するのにそれで速いとゴマカしている。計算系のベンチマークテストなどまさにそう
また上のように「用意している」という表現も、限りなく敷居をわざと高くしているだけで、何の利点でもない。
2022/04/27(水) 18:55:26.96ID:j3SjDNhs
>>123
checked_add (=足し算でoverflowするとOption::Noneを返す) 便利だな
例としてすぐオーバーフローするi8型(符号付き8bit整数)を使って
フィボナッチ数列イテレータを書いてみた

fn fibonacci_i8() -> impl Iterator<Item=i8> {
itertools::unfold((0_i8, 1), |(m, n)|
m.checked_add(*n).map(|f| {
*m = *n;
*n = f;
f
})
)
}

fn main() {
for f in fibonacci_i8() {
print!("{f} ");
}
}

出力結果:
1 2 3 5 8 13 21 34 55 89
確かに上限127を超えて溢れる寸前まで求まっている
128デフォルトの名無しさん
垢版 |
2022/04/27(水) 18:57:07.63ID:DngKLmNp
このようにわざと貼り付けなくても良いことを書いて、不都合を指摘すると流すようにするのは本当に良くないコミュニティの態度
2022/04/27(水) 19:00:24.43ID:QwtQyiYP
>>127と同じ関数を他のプログラミング言語で書くとどんなコードになるの?
具体的にコードを比較して客観的に判断したい
2022/04/27(水) 22:32:13.33ID:Xa5DwGtB
>>126
release buildでもチェック有効にできるよ
https://doc.rust-lang.org/cargo/reference/profiles.html#overflow-checks

プログラムの一つ一つを理解しなくても書ける言語ってどういうものだろう
131デフォルトの名無しさん
垢版 |
2022/05/19(木) 17:01:33.84ID:YoVN/Jlg
>>125
今どきのC++は遅いっていうけど、新しいC++の仕様を使うからである。
つまり、Better Cみたいな使い方をすればRustより速くなる(実際そういう結果もある)。
まあ、体感はどっちもかわんねえべってとこだから、RustよりJava,C#とかスクリプト言語をアンチすればいいと思う。Rustで慣れてる人はRustで書けばいい。
2022/05/21(土) 23:22:45.63ID:zNzebGu9
C++が遅いってコンパイル時間の話ちゃうん
2022/05/23(月) 00:46:57.32ID:Fl/zPM6P
なんでJavaやC#がスクリプト言語に入ってんだ?
C#にはC#スクリプトがあるが実行時に中間言語にコンパイルするだけだろ
2022/05/23(月) 00:55:18.95ID:Fl/zPM6P
一度だけ必要なメモリを確保して使い回せるものを
オブジェクトとして生成、消滅繰り返すようなプログラム組むと(普通にC++でかくとこっちになる)遅くなるよ
挙句の果てにメモリフラグメントが避けられない
普通にCで書くとよほどの馬鹿でも無い限り無駄なメモリ確保開放を繰り返すなんてことはしないから
2022/05/23(月) 01:27:08.69ID:aUQlcplw
>>134
領域使い回せるってことは生成・解放するオブジェクトのサイズはだいたい一定なんだと思うけど
そうだとしたら最近の普通のmalloc実装ならそうそうフラグメント起こすことはない気がするけどどうなんだろ
ベンチマークとかあるの?
2022/05/23(月) 01:35:14.45ID:Fl/zPM6P
>>135
行列クラス考えてみろ
while(1)
E = A*B+C/D
C++なら一行でかけるが
2022/05/23(月) 01:45:51.46ID:Fl/zPM6P
誤送信
>>135
行列クラス考えてみろ
while(1)
E = A*B+C/D;
C++なら一行でかけるがテンポラリ領域を演算子の多重定義の中で確保開放繰り返さざるをえない
ETでなんとかなる部分もinverseがあるとそれもお手上げ
一時領域をwhileの外で確保してそれを使い回す方法と比べて早くしようがない。
2022/05/23(月) 01:48:39.79ID:Fl/zPM6P
>>135
>普通のmalloc実装ならそうそうフラグメント起こすことはない

ヒープの動的確保でフラグメント興さないなら
RTOSでメモリプール確保する必要なんてないよなww
2022/05/23(月) 02:08:18.18ID:aUQlcplw
>>137
速度に関してはC++の方が不利なことに対しては異論ないよ
ただフラグメントについては本当にそうなのか気になってた

今時のmallocなら直近にfreeされた領域再利用するから>>137みたいな例なら毎回同じ領域が割り当てられると思うよ
寿命が異なる複数のオブジェクトの確保・解放を繰り返すようなケースでも、オブジェクトが同サイズであればmalloc自体のフラグメントを防ぐ機構がうまく働いてくれるはず

まあ確かにRTOSのmalloc実装では問題起こるかもしれないけどね
ただ、そういうのは "最近の普通のmalloc" ではないと思う
2022/05/23(月) 02:25:01.02ID:Fl/zPM6P
>>139
なんで同じ領域が確保されると保証されるのさ。今時のOSでww
そのエリアが外のタスクで割り当てられなかったことがなんで保証できるんだ?
とにかく動的確保、削除してフラグメント起こさないと思ってる方がどうかしてる。
そういう思い込みが通用するなら、所有権なんてもんは必要ないだろ。
あれはデフラグの対象にするかどうかが細大の目的

あと、普通のとか今時のとか、お前のあたのなかこっちは見られないんだから使うのやめろ
2022/05/23(月) 02:44:22.59ID:Fl/zPM6P
>>137
>速度に関してはC++の方が不利

これもちょっと違うだろ
上で>>131が言ってるようにBetter cに留めて。
過度な見やすさや書きやすさを追求しなければ
C++はC機能包含してるんでC++で不利になることなんてない。
機能を使わなければいいんで不利になりようがない。
Pure C流ででもかけるわけだし
2022/05/23(月) 08:16:07.89ID:aUQlcplw
>>140
とりあえずglibcのmallocでいいや
>>137のような解放直後に同じサイズで領域を確保する場合は領域再利用されるよね
2022/05/23(月) 09:11:41.94ID:n2ZPTBPD
// ヒープを使う型Testを作って実証実験
#[derive(Debug)]
struct Test(Box<isize>);

// Test型が作成される時に使われるnew()を実装
impl Test {
fn new(n: isize) -> Self {
let new = Test(Box::new(n));
// その時にヒープで確保されたアドレスを表示
println!("{:p} = Test::new({n})", new.0);
new
}
}

// Test型の足し算を実装
impl std::ops::Add for Test {
type Output = Self;
fn add(self, rhs: Self) -> Self::Output {
Test::new(*self.0 + *rhs.0)
}
}

// 足し算の途中で使われる一時領域のアドレスはどうなるか?
fn main() {
let a = Test::new(1);
let b = Test::new(10);
let c = Test::new(100);
let d = Test::new(1000);
let e = Test::new(10000);
println!("{:?}", a + b + c + d + e);
}
2022/05/23(月) 09:17:13.61ID:n2ZPTBPD
実行結果
0x55790623d9d0 = Test::new(1)
0x55790623d9f0 = Test::new(10)
0x55790623da10 = Test::new(100)
0x55790623da30 = Test::new(1000)
0x55790623da50 = Test::new(10000)
0x55790623da70 = Test::new(11)
0x55790623d9d0 = Test::new(111)
0x55790623da70 = Test::new(1111)
0x55790623d9d0 = Test::new(11111)
Test(11111)

つまり足し算で中間生成される一時的な領域は再利用されて使い回されていることが確認された
したがって>>140の主張がおかしい
2022/05/23(月) 09:54:21.07ID:n2ZPTBPD
一般的に、今回のような多段の計算の場合は、中間領域が少なくとも2つ必要となる
なぜなら、一般的には「中間値2=中間値1+次の項目」と順に計算していくためである
つまり一般的な場合は、5つの変数の足し算ならば、中間値2つを加えて、計7つの領域を必要とする

しかし>>144の結果のアドレスを見ると、確かに中間値は交互にアドレスが異なり2種類だが、全体で6つの領域で済んでいるところに注目
5つの変数の領域は避けられないから、余分に確保されたのは1つのみで済んでいる
これがRust

今回用意したTest型はCopyを実装しなかったため、最初の「中間値1=a+b」を計算した時点てaとbは消費されてそれらの領域は解放される
そのため次の「中間値2=中間値1+c」の時に、中間値2の領域として既に解放されたaの領域が使われた
実際に中間値2のアドレスがaと同じになっていることで確認できる
同様に中間値3は中間値1と同じアドレスとなっている

結論
Rustでは消費し終えた変数や中間値が使用していたヒープ領域もすぐに再利用されて使い回されるため、
>>137のようなケースでも最小限のメモリしか必要とせずに済む
2022/05/23(月) 11:54:34.12ID:n+tkR/ue
glibc mallocの仕様なのでCやC++でも同じです
2022/05/23(月) 14:37:05.11ID:GiQn/B1E
Rubyを長期間動かすとGCがメモリを
細分化してしまうという話かなんかと
混同してんのかな
2022/05/23(月) 15:10:34.13ID:K4XvBL00
>>145
> しかし>>144の結果のアドレスを見ると、確かに中間値は交互にアドレスが異なり2種類だが、全体で6つの領域で済んでいるところに注目
7つ使ってるように見えるんだけど、何を見て6つで済んでるって言えるの?
2022/05/23(月) 15:44:46.83ID:dNJCbMGg
たぶん1行目も0x55790623d9d0なのを見落としてる
2022/05/23(月) 15:46:07.93ID:wWZ2mUik
>>148
よく見ると2番目の中間値であるTest::new(111)のアドレスが変数aつまりTest::new(1)のアドレスと同じ
これはRust特有でその時点では変数a(や変数b)を使い終えて解放されているために再利用されたと推測できる
そのため6つメモリ領域で済んでいるのだろう

>>146
CやC++では使い終わった変数の領域が暗黙的には解放されないから7つのメモリ領域を使うと予想
2022/05/23(月) 15:51:35.00ID:K4XvBL00
>>149-150 あ、ほんとだありがとう。
2022/05/23(月) 16:28:21.49ID:wuIMUAe9
試しに>>143で中間値をもう一つ必要とする例でやってみた
println!("{:?}", (a + b) + (c + d) + e);
メモリ1 = Test::new(1)
メモリ2 = Test::new(10)
メモリ3 = Test::new(100)
メモリ4 = Test::new(1000)
メモリ5 = Test::new(10000)
メモリ6 = Test::new(11) // (a + b)
メモリ1 = Test::new(1100) // (c + d)
メモリ3 = Test::new(1111) // (a + b) + (c + d)
メモリ6 = Test::new(11111) // (a + b) + (c + d) + e
即座に解放された変数領域を2つ使う点で異なるが結果的に計6つ使用に収まっているな
2022/05/24(火) 10:09:58.38ID:PPYrRT7r
https://wandbox.org/permlink/tYewWGlffMON9jxK

ところでこの結果とフラグメンテーションって特に関係あるんですかね
2022/05/30(月) 14:58:44.37ID:MKPVbFKD
>>144
>>145
なーにを馬鹿な考察してんの?
おまえの実行するタスクの途中で他のタスクが実行され、そいつが解放したヒープを確保しないことを
なんで今時のマルチタスク、マルチユーザOSで保証できるのかと言ってる。
2022/05/30(月) 15:12:27.13ID:MKPVbFKD
>>145
>Rustでは消費し終えた変数や中間値が使用していたヒープ領域もすぐに再利用されて使い回されるため

変数が確保されるのは関数コールの度に毎回上書きされるスタックであてtヒープではない
そもそもヒープ領域の確保廃棄で何も問題なければメモリフラグメントなど発生するはずがない。
したがって長期間リブートを想定しないRTOSで、
予めメモリプールを確保してその中で固定的にメモリ割り当てなど行うこと自体全くの無意味ってことだが、
現実はそーじゃない。こんなもんエンベ試験あたりのイロハだろw
2022/05/30(月) 15:42:14.93ID:9QWL5Xmb
>>154
マルチタスク、マルチユーザーOSというキーワードが出てくるのがよくわからないけど、
物理アドレスの話してるとしたらスタックだろうがヒープだろうがOSの都合で変わりうるんだからヒープのフラグメントの話とはなんら関係ないよね

仮想アドレスの話をしているなら、自プロセスの他スレッドの挙動によってフラグメントしうると言うのは正しいけど
だいたいのmalloc実装ではarenaはスレッドローカルになるからフラグメントは置きにくいと思うよ

というか、どういうシチュエーションで何を実験したときにどのような問題が起きたのか、前提を明確にしてよ
組み込みのRTOSとかいう特殊環境が当たり前のように語られると意見のすりあわせができぬ
2022/05/30(月) 15:55:38.95ID:MKPVbFKD
>>142
> >>137のような解放直後に同じサイズで領域を確保する場合は領

なんで、マルチタスクのOSが、おまえの都合のいいタイミングで解法直後に確保できるのかと言ってる。
例えば、解法直後に割込タスクがおまえのプログラムを一時実行停止し、
そこで開放したばかりのメモリエリアを確保しないとなんで言い切れるんだと聞いてる。

そして、ページングの発生もなんでおこらないと決めてかかってるんだ? 今時のOSでww
おまえが書き出したメモリエリアはあくまでプログラム側から見た論理アドレスだろ?
そこが実はページング対象になってなかったとなぜ断言できるんだ。
2022/05/30(月) 15:57:12.40ID:MKPVbFKD
>>156
>物理アドレスの話してるとしたらスタックだろうがヒープだろうがOSの都

プログラムからは論理アドレスしか見えない
同じ領域を確保してるかどうかはプログラムからはわからない
2022/05/30(月) 16:07:33.52ID:MKPVbFKD
>>156
>マルチタスク、マルチユーザーOSというキーワードが出てくるのがよくわからないけど

汎用OSで自分の起動したタスクしか動いてないと思ってるわけ?
RTOSを持ち出したのは自分のタスクしか実行していなくても、フラグメントを起こす具体例として持ち出した。
そのRTOSでも細心の実装心掛けてるのに汎用OSなんでいわずもがなって話。
今時は、HWのメモリが大きくなってせいぜいページング時のプチフリーズ程度で気付いてない奴もいるだろうが、
やっぱりフラグメントは常時発生してる。
てか、メモリデフラグとか動かしたことないのか?
2022/05/30(月) 16:23:56.84ID:S6YD6bxt
それなんかRustと関係あるんすか?
2022/05/30(月) 16:55:49.66ID:ccLFuKy8
>>154
まずは基礎知識を勉強しよう
Rustにおいてタスクとは非同期にスケジューリングされるスタックレスなコルーチンのこと
そうでない意味のタスクならばプログラミング言語Rustとは関係ない話

>>155
そのRustプログラム例はBoxを使っているのでスタック上てはなくちゃんとヒープを用いた実験となっている
そんな基本的なことも理解できないならば勉強して出直してきなさい

>>159
それはRustとは全く無関係ない話
基礎的なことを会得していないとそういった無関係な話を持ち出してしまう
2022/05/30(月) 18:21:04.97ID:9QWL5Xmb
>>157
ページサイズより大きい領域の獲得解放を繰り返す想定で良いのかな?
malloc/freeがmmap/munmap呼び出しと一対一対応するような
で、どのOSの実装で問題が起きたの?
2022/05/30(月) 22:33:20.68ID:SMH6yVl4
ページ単位で割り当てるのにどうやってフラグメンテーション起こすんだろう
2022/05/31(火) 14:19:31.88ID:X/NoC31E
じゃあなんでLinuxやBSD、Windowsはメモリコンパクション機能を実装してるの?
2022/05/31(火) 14:23:20.93ID:5HfxTPdy
>>164 LinuxやBSD、Windowsはメモリコンパクション機能を実装してるの?
2022/05/31(火) 16:38:22.49ID:COFqsPBY
なんで、mallocの話がOSの話とすり替わってたの?
2022/05/31(火) 19:29:31.55ID:6cb4XAup
>>140あたりでもう一緒くたにされてるからしょうがない
たぶん誰も問題意識を共有できてない
2022/05/31(火) 20:07:12.82ID:qkI00F5r
たぶんmallocとOSが密に関連するようなRTOS?が前提なんだと思うよ
>>140は業務で触ってるとかで特性をよく知っているがそのコンテキストが他の人と共有できていないのだろう
2022/05/31(火) 20:16:37.40ID:/PJVfDdU
ずっと暴れている>>140だけが『所有権』と『OS』を同時に登場させていて二つの別レイヤのメモリ管理の話を区別できていない
ここはRustアンチスレなのにプログラミング言語Rustとは無関係な話で暴れていている
2022/05/31(火) 21:05:52.27ID:ycu/V5YM
便乗すんな複おじ
2022/05/31(火) 22:22:41.63ID:qkI00F5r
まあ所有権の話は唐突でよく分かんないけど彼の中では理屈的に繋がりがあるのではないのかな
もうちょっと丁寧に書いてくれれば分かりそうな気もするんだけど
2022/07/07(木) 09:23:29.02ID:kCv7I/gK
あーうぜー
1.61.0ビルドしてるけどなんだかいろいろとボコボコDLしてくる()
1.61.0なのに 1.60.0-xxx をDLしてくるし()

あーうぜー
2022/07/09(土) 14:07:59.53ID:52J5yu6r
いつのまにかpython module のビルドに入り込んでるのな

悪質
2022/08/26(金) 16:38:04.30ID:IVLb+hqW
腐れ言語

早く外せよ
175デフォルトの名無しさん
垢版 |
2022/09/04(日) 20:06:08.29ID:9yOWYxc4
なんか第二Javaという感じの臭いがする
非人間的な設計で人間を不幸にしていく悪しき文明というか
2022/09/07(水) 04:11:07.00ID:h5FYCJvl
確かに奴隷言語っぽいね
2022/10/08(土) 07:50:08.22ID:fwLI4Y/X
linus はこれがいいみたいだけどな()

git も Rust もゴミ
178デフォルトの名無しさん
垢版 |
2022/10/10(月) 15:43:56.96ID:OkLu+Ovr
meson のビルドで、

× Preparing metadata (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [64 lines of output]

こんなエラーが出た

すげーイラっとくる


> .toml

クズ言語
2022/10/12(水) 21:08:34.50ID:BNoDz+WR
>>177
重要な部分はRustで作らないと思うよ
2022/10/20(木) 18:29:22.69ID:uCae9JR1
なんでこれ、こんなにコンパイル遅いの?
2022/10/20(木) 18:33:14.88ID:sgmqUmRA
>>177
俺もgitもgithubも使いにくいと思っていた。
2022/10/20(木) 18:58:12.23ID:1LIQj8JQ
git自体は悪いと思わんが、なんかgit奉行が色々言い出すのがうざいわ。
rustもそういう匂いがぷんぷんする。
2022/10/20(木) 19:21:40.91ID:LtHEChVu
どのバージョン管理ソフトが良いの?
2022/10/21(金) 01:23:53.55ID:sdgXBR6P
>>183
名前は変わったと思うが、MS製のVisual Source Safeなんかは直感的で便利
だったな。特に何も学ばなくても普通に使えた。
185デフォルトの名無しさん
垢版 |
2023/08/11(金) 13:18:17.34ID:98F5eoJ/
cargo check error: failed to run custom build command for `glib-sys v0.17.10`

いい加減にしろよカス言語
186デフォルトの名無しさん
垢版 |
2023/08/11(金) 13:34:35.94ID:v1edpQDw
cargo publish して初めて出るエラー (cargo のあっち側の環境でコンパイルしてる) ってうざいよね
2023/08/12(土) 00:05:38.13ID:qDONLKM9
>>185
Cコンパイラかリンカが入ってないんじゃね
そのメッセージの前に何か出ていると思うが

>>186
あっち側ってcrates.ioのこと?
リモート側でビルドなんか走るんだっけ
2023/08/15(火) 08:53:12.04ID:ca01mENm
firefox のビルドもrust が邪魔しまくりだよね()
189デフォルトの名無しさん
垢版 |
2023/10/02(月) 13:43:22.96ID:sFvf9xp1
RustとC++の相性は最悪だが
RustとCはまあまあイケる
いいじゃんいいじゃん
190デフォルトの名無しさん
垢版 |
2023/10/03(火) 16:57:54.88ID:rr8MlNTB
カス言語ではない
191デフォルトの名無しさん
垢版 |
2023/10/05(木) 17:14:00.69ID:WXXGTjkD
C美しい
C++カス
Rustもうちょっとがんがれ
192デフォルトの名無しさん
垢版 |
2024/04/21(日) 15:50:07.23ID:aDRU4sod
Rust リファクタリングしてるときに
trait 境界が変わって
あれ?ってなることが多いな
2024/04/21(日) 18:44:44.75ID:GAd5jyBU
>>192
trait境界を満たせなくなるとコンパイラが教えてくれるので安全にリファクタリングできて良いよね
194デフォルトの名無しさん
垢版 |
2024/04/23(火) 10:33:27.89ID:9zVe0TBb
>>0185
お前はディストリ自分で組まないの?
情弱だな(プ
2024/04/23(火) 10:47:04.81ID:bJrnaJAq
創価
196デフォルトの名無しさん
垢版 |
2024/04/27(土) 21:26:16.94ID:+PotGQRe
crates.io が死ぬと詰むな・・・
2024/04/28(日) 14:02:08.42ID:e+80DOh2
なんなの vendoring とか stable channel とか

意識高そうですね()
2024/06/08(土) 09:22:59.84ID:Kcr3cAzI
Ruby批判だけど
https://qiita.com/scivola/items/17470c52641d3ffa1650
Rustにも同じことが言える
2024/06/08(土) 10:03:29.15ID:9nPXIyFb
>>198
Rustに該当する話が一つもないのにRustを批判?
2024/06/09(日) 16:29:53.15ID:IIKkP3Jm
信者は信者スレに帰れ
201デフォルトの名無しさん
垢版 |
2024/09/21(土) 15:07:34.01ID:v+xBeerr
おまいらホントRuby好きだな
2024/09/21(土) 15:35:51.56ID:oJtK/qJ9
遅いのがなあ
203デフォルトの名無しさん
垢版 |
2026/01/12(月) 17:36:28.28ID:bpSafvQv
test
204デフォルトの名無しさん
垢版 |
2026/01/15(木) 13:16:20.39ID:jpP77tNr
githubの応答が遅いんだが
205デフォルトの名無しさん
垢版 |
2026/07/17(金) 21:59:09.13ID:5FsOttRT
知識のない奴が好き勝手Rustをバカにできるのがこのスレのいいところなんだから、まともな意見とか求めてないんだよw
206デフォルトの名無しさん
垢版 |
2026/07/17(金) 22:01:45.55ID:3+B0ZZtp
無敵で草
2026/07/17(金) 22:09:03.64ID:UXQrWOLA
理由なんか不要
ゴミはゴミ
208デフォルトの名無しさん
垢版 |
2026/07/17(金) 22:14:33.19ID:Q+TSs/Rf
安全なんかどうでもいいから早く書かせろよ
国防総省がどうとかAIがどうとかうるさいんだよ
209デフォルトの名無しさん
垢版 |
2026/07/17(金) 22:20:10.89ID:ohbReUQp
愛は重要だ
210デフォルトの名無しさん
垢版 |
2026/07/17(金) 22:21:31.11ID:HKLr1luu
Rustには開発者への愛がないんだよ
機械ばっかり見てる
211デフォルトの名無しさん
垢版 |
2026/07/17(金) 22:38:05.20ID:EIoRk/n3
Rust信者はいちいちThe Book読めとか言ってくる
自分では説明しない
212デフォルトの名無しさん
垢版 |
2026/07/17(金) 22:46:10.89ID:RbL3Ocrs
俺にわからないことがあいつらにわかるわけないだろwww
2026/07/17(金) 22:51:14.40ID:BtWvABvs
>>211
そんな専門書読むほどRustに興味ないww
214デフォルトの名無しさん
垢版 |
2026/07/17(金) 23:00:13.04ID:gMKoX9K3
unsafeとかいうゴミ
215デフォルトの名無しさん
垢版 |
2026/07/17(金) 23:07:40.21ID:UDyXdLib
偉そうにメモリ安全とか言ってるけどわかってないだろ
216デフォルトの名無しさん
垢版 |
2026/07/17(金) 23:17:09.82ID:gtBcSynH
どうせ流行ってるから使ってるだけ
217デフォルトの名無しさん
垢版 |
2026/07/17(金) 23:20:05.36ID:KM9SC0EV
流行ってるから使うとか、JKのインスタかよ
218デフォルトの名無しさん
垢版 |
2026/07/17(金) 23:31:56.16ID:cPibXFZB
専門書を読めばJKでもわかる
2026/07/18(土) 00:38:11.58ID:hoS5LukP
>>218 専門書を読めばw
220デフォルトの名無しさん
垢版 |
2026/07/18(土) 01:19:03.61ID:goHF289D
そんな勉強熱心なやつはいないww
221デフォルトの名無しさん
垢版 |
2026/07/18(土) 13:13:29.63ID:ERDdcTHk
rustなんてクソ言語学ぶ価値ない
222デフォルトの名無しさん
垢版 |
2026/07/18(土) 13:21:51.16ID:9I1o4DpT
RustはHaskellと同じ道を辿ってる
2026/07/18(土) 13:22:05.89ID:p+FxJf3h
コンパイルの遅さが致命的
224デフォルトの名無しさん
垢版 |
2026/07/18(土) 13:22:23.19ID:p+FxJf3h
RAM爆喰いデブrust-analyzer
225デフォルトの名無しさん
垢版 |
2026/07/18(土) 13:31:30.56ID:bkfHP1lV
205 デフォルトの名無しさん 2026/07/17(金) 21:59:09.13 ID:5FsOttRT
知識のない奴が好き勝手Rustをバカにできるのがこのスレのいいところなんだから、まともな意見とか求めてないんだよw
226デフォルトの名無しさん
垢版 |
2026/07/18(土) 13:38:26.00ID:+ckB6+Xf
Rustスレのアンチコメントをまとめてくれているのか
2026/07/18(土) 17:26:13.94ID:cuZAQY6Q
RustはAIが無かったらワンチャンあったかもな
ご愁傷様
228デフォルトの名無しさん
垢版 |
2026/07/18(土) 17:26:26.14ID:cuZAQY6Q
>>227
信者「いや、AIがあるからこそ!」
229デフォルトの名無しさん
垢版 |
2026/07/18(土) 17:29:08.35ID:kdW3S+BT
Rustは契約プログラミングをサポートしていない
230デフォルトの名無しさん
垢版 |
2026/07/18(土) 17:35:02.83ID:7TClSeL6
>>229
流石にバカ
231デフォルトの名無しさん
垢版 |
2026/07/18(土) 17:35:52.57ID:7TClSeL6
>>1
その段階で躓くのはアホすぎる
232デフォルトの名無しさん
垢版 |
2026/07/18(土) 17:36:16.60ID:ElfgRFr6
205 デフォルトの名無しさん 2026/07/17(金) 21:59:09.13 ID:5FsOttRT
知識のない奴が好き勝手Rustをバカにできるのがこのスレのいいところなんだから、まともな意見とか求めてないんだよw
233デフォルトの名無しさん
垢版 |
2026/07/18(土) 18:48:06.15ID:kyAiijUy
Rustはフールプルーフじゃない
2026/07/18(土) 18:53:30.16ID:lI576IY0
むしろフールプルーフだからコンパイラに止められるんでは
235デフォルトの名無しさん
垢版 |
2026/07/18(土) 18:53:52.38ID:tGvnRrC8
俺の思い通りに動かないRustが悪い
236デフォルトの名無しさん
垢版 |
2026/07/18(土) 18:58:39.69ID:tJVhTGfm
Rustはコンパイルが速くなるように作られてないからコンパイルが遅い
C++はコンパイルが速くなるように作られてるからコンパイルが速い
2026/07/18(土) 19:07:47.97ID:EKD+uytH
コンパイル時なんちゃらで今後遅くならんか
ゼロコスト抽象化の代償かな
238デフォルトの名無しさん
垢版 |
2026/07/18(土) 19:08:14.48ID:jSJTkGuU
C++は神
rustはゴミ
239デフォルトの名無しさん
垢版 |
2026/07/18(土) 19:11:22.27ID:6S6saVYI
>>237
コンパイル時処理はC++が先にいってる
240デフォルトの名無しさん
垢版 |
2026/07/18(土) 19:23:01.52ID:BkyklCKZ
RUSTは美しくない
241デフォルトの名無しさん
垢版 |
2026/07/18(土) 19:25:35.89ID:BkyklCKZ
アンチの頭脳はこの程度
242デフォルトの名無しさん
垢版 |
2026/07/18(土) 19:28:55.16ID:2Tnyj3LD
信者ぶちギレで草
243デフォルトの名無しさん
垢版 |
2026/07/18(土) 19:43:12.44ID:menqjZHs
Rsut応援隊って一人で何人分の自演してるんだろうな
244デフォルトの名無しさん
垢版 |
2026/07/18(土) 19:56:36.55ID:XWTOewiI
美しくないのは事実だからww
信者乙www
245デフォルトの名無しさん
垢版 |
2026/07/18(土) 20:10:03.34ID:wxzEVxfx
自分の言葉で語れない信者w
246デフォルトの名無しさん
垢版 |
2026/07/18(土) 20:22:50.93ID:Sobathla
信者はウェブまでrustで書くらしいぞw
247デフォルトの名無しさん
垢版 |
2026/07/18(土) 20:31:27.25ID:BkyklCKZ
moveとかいうキショすぎ仕様
248デフォルトの名無しさん
垢版 |
2026/07/18(土) 20:34:19.41ID:xD5psLHk
>>247
お前さっきから古い投稿コピペしてるだろ
249デフォルトの名無しさん
垢版 |
2026/07/18(土) 20:35:08.03ID:7D7mNWAv
>>13
>>15
お前らは何なら書けるんだよww
250デフォルトの名無しさん
垢版 |
2026/07/18(土) 20:39:05.29ID:Qt2AiS7/
どうせpython
しかも境界条件でバグる
251デフォルトの名無しさん
垢版 |
2026/07/18(土) 20:48:35.45ID:MDnzr9S8
Pythonは神だろ
252デフォルトの名無しさん
垢版 |
2026/07/18(土) 20:51:30.05ID:N4jyUG49
pythonなんて遅くてバグだらけ
253デフォルトの名無しさん
垢版 |
2026/07/18(土) 21:03:31.60ID:Cv4LS0pX
Pythonアンチはよそでやれよ
254デフォルトの名無しさん
垢版 |
2026/07/18(土) 21:18:34.08ID:uMbPCcvf
アンチの頭はこの程度
255デフォルトの名無しさん
垢版 |
2026/07/18(土) 21:28:40.88ID:NN9B91uE
>>246
草
頭悪いんやろな
256デフォルトの名無しさん
垢版 |
2026/07/18(土) 21:42:18.61ID:MgxSurlY
RustなんてしょせんMLのパクリ
257デフォルトの名無しさん
垢版 |
2026/07/18(土) 21:48:54.65ID:BSH6lf3K
Rustスレまた荒れてて草
Rust信者は協調性ゼロの奴しかいない
258デフォルトの名無しさん
垢版 |
2026/07/18(土) 21:56:13.50ID:2n3U21Ng
電燈がついてたら集まる虫だもんw
2026/07/18(土) 21:57:34.53ID:EKD+uytH
このスレダメじゃん。読んでると擁護したくなるわ
260デフォルトの名無しさん
垢版 |
2026/07/18(土) 22:01:22.38ID:9rjkGWEP
>>256
Rustは関数型を一部壊してCっぽくしたやつだから
261デフォルトの名無しさん
垢版 |
2026/07/18(土) 22:06:59.47ID:YvYxmk+3
205 デフォルトの名無しさん 2026/07/17(金) 21:59:09.13 ID:5FsOttRT
知識のない奴が好き勝手Rustをバカにできるのがこのスレのいいところなんだから、まともな意見とか求めてないんだよw
262デフォルトの名無しさん
垢版 |
2026/07/18(土) 22:07:31.80ID:IPi9/Eqt
>>261
これ無敵すぎて笑う
263デフォルトの名無しさん
垢版 |
2026/07/18(土) 23:31:11.68ID:N8mXBcRe
unsafeがあるからゴミ
厳しいからゴミ
↑これ
264デフォルトの名無しさん
垢版 |
2026/07/18(土) 23:35:53.80ID:v4G8J+4o
Rustがゴミなのはrustcがゴミだから
265デフォルトの名無しさん
垢版 |
2026/07/18(土) 23:41:05.88ID:rqEoHmNT
所詮メモリ管理ができない奴のひがみ
2026/07/18(土) 23:45:57.43ID:cu2aonXm
>>265
黙れ
267デフォルトの名無しさん
垢版 |
2026/07/18(土) 23:46:32.84ID:CJZzsKs9
WASMの失敗はRustなんかを入れたこと
268デフォルトの名無しさん
垢版 |
2026/07/18(土) 23:47:37.16ID:NgMKVKJ1
もうコレ「お笑い小噺板」でやってても良いのでは?
269デフォルトの名無しさん
垢版 |
2026/07/18(土) 23:52:18.96ID:lVpzFhOn
>>268
それは違う
270デフォルトの名無しさん
垢版 |
2026/07/18(土) 23:58:21.65ID:LVaDdD2c
>>21
自分を天才だと思ってる奴はだいたいバカ
271デフォルトの名無しさん
垢版 |
2026/07/19(日) 00:11:03.73ID:2okbuBJX
学習難易度は高いけど、ミスをしないと思ってる奴はバカ
272デフォルトの名無しさん
垢版 |
2026/07/19(日) 00:21:32.48ID:pKtYGrpD
使う意味ない
273デフォルトの名無しさん
垢版 |
2026/07/19(日) 00:26:30.95ID:efdwttHT
意味ないってことはないだろ
274デフォルトの名無しさん
垢版 |
2026/07/19(日) 00:30:35.38ID:FM4nwWw1
>>268 アンチスレ立てる用の板じゃないでしょ
275デフォルトの名無しさん
垢版 |
2026/07/19(日) 00:32:19.42ID:11PbISUw
個人で使う意味はないでしょ
276デフォルトの名無しさん
垢版 |
2026/07/19(日) 00:38:58.41ID:liYBpHZW
別にC++でいいよね
277デフォルトの名無しさん
垢版 |
2026/07/19(日) 00:42:10.17ID:BhJe0zwb
モダンC++書くならもうRustでいいだろ
278デフォルトの名無しさん
垢版 |
2026/07/19(日) 01:16:18.30ID:9UtFDUQa
C++は慣れてるから……
279デフォルトの名無しさん
垢版 |
2026/07/19(日) 01:18:26.39ID:x27hebK9
Rustも慣れたらええやん
280デフォルトの名無しさん
垢版 |
2026/07/19(日) 01:18:45.94ID:uxNzkEWb
うるさい
281デフォルトの名無しさん
垢版 |
2026/07/19(日) 01:32:03.02ID:KKU6+ZsD
Rustが嫌いだから嫌いなんじゃなくて、Rust信者が嫌いなんだわ
2026/07/19(日) 01:37:02.52ID:++MSQY7z
>>267
golangでいいぞ
283デフォルトの名無しさん
垢版 |
2026/07/19(日) 01:40:32.03ID:X+bwpXGU
Goはいいぞ
2026/07/19(日) 03:59:10.95ID:f31SqH8Y
C++のコンパイラにguardオプションを付ければいいだけなのよ。
又は後付けのセキュリティチェックを準備すればいい。
もう誰かやってると思う。
大丈夫 また戻ってくるよ。
285デフォルトの名無しさん
垢版 |
2026/07/19(日) 06:56:28.29ID:bVe4HDxn
流石にC++は言語仕様で安全じゃない部分があるからなあ
286デフォルトの名無しさん
垢版 |
2026/07/19(日) 07:01:46.01ID:LSUeE5ut
unsafe使えば一緒だろ
287デフォルトの名無しさん
垢版 |
2026/07/19(日) 07:08:21.39ID:1GlM4Tvc
コンパイル通らんかったら意味ない
288デフォルトの名無しさん
垢版 |
2026/07/19(日) 07:36:48.27ID:loiaJuTI
thread::spawn() すら知らないくせにイキってるバカもこっちで隔離してほしい
2026/07/19(日) 07:39:49.98ID:IsykKjXQ
BunをClaudeでRustに変換したみたいだけどunsafeだらけらしいなw
290デフォルトの名無しさん
垢版 |
2026/07/19(日) 08:31:35.55ID:JZtLLXX2
バカは何使ってもダメってこと
291デフォルトの名無しさん
垢版 |
2026/07/19(日) 14:41:51.83ID:bkAMHdmd
>>288
thread::spawn() を使う奴はRustアンチらしいぜw
292デフォルトの名無しさん
垢版 |
2026/07/19(日) 14:58:00.54ID:NUeWaq78
このスレより意味不明でおもろい
293デフォルトの名無しさん
垢版 |
2026/07/19(日) 15:06:40.37ID:/PLRXsY9
>>141
それならもうRustで書いた方が楽なん笑う
294デフォルトの名無しさん
垢版 |
2026/07/19(日) 15:10:31.02ID:iyXDuN3d
205 デフォルトの名無しさん 2026/07/17(金) 21:59:09.13 ID:5FsOttRT
知識のない奴が好き勝手Rustをバカにできるのがこのスレのいいところなんだから、まともな意見とか求めてないんだよw
295デフォルトの名無しさん
垢版 |
2026/07/19(日) 16:50:39.82ID:JZtLLXX2
草
296デフォルトの名無しさん
垢版 |
2026/07/19(日) 19:19:51.47ID:Ft3qGDGr
RUSTは"Resource acquisition is Unforgiven STealing"の略な
297デフォルトの名無しさん
垢版 |
2026/07/19(日) 19:28:09.12ID:eN9zKrjg
リソース取得は息をするようにやってるんですがそれは
298デフォルトの名無しさん
垢版 |
2026/07/19(日) 19:31:16.49ID:vkFIP+qd
信者が怒ってて草
299デフォルトの名無しさん
垢版 |
2026/07/19(日) 19:37:48.44ID:qZSisitJ
信者イライラ
300デフォルトの名無しさん
垢版 |
2026/07/19(日) 19:41:30.73ID:IAkVdx0o
www
301デフォルトの名無しさん
垢版 |
2026/07/19(日) 19:51:13.34ID:g1tdGO3V
>>3
これ好き
302デフォルトの名無しさん
垢版 |
2026/07/19(日) 19:53:47.21ID:gjM138gx
>>48
C++完全に理解した
303デフォルトの名無しさん
垢版 |
2026/07/19(日) 19:58:48.13ID:N6LqEOML
C++100%わかってると思ってるのは流石におもろい
304デフォルトの名無しさん
垢版 |
2026/07/19(日) 20:13:23.20ID:EU6Ch/D+
RustはC++と比べるとまだマシ
305デフォルトの名無しさん
垢版 |
2026/07/19(日) 21:01:42.85ID:ooZy1uoP
ここまで自演までしてRustを盛り上げようとしなきゃいけない理由って?
306デフォルトの名無しさん
垢版 |
2026/07/19(日) 21:07:36.23ID:1xSoal4a
民家への飛び込み営業って、営業になりたがるような陽キャでもすぐ精神病むような過酷な仕事だけど
宗教の信者はそれを無報酬で喜んでやるわけじゃん?
307デフォルトの名無しさん
垢版 |
2026/07/19(日) 22:19:17.32ID:geCgt9m7
複おじ理論「thread::spawn() を使う奴はRustアンチ!」
308デフォルトの名無しさん
垢版 |
2026/07/19(日) 23:42:30.46ID:lrKY9Hhf
複オジ理論「不要なスコープを取り除いたらスコープが壊れてるんだ!」
309デフォルトの名無しさん
垢版 |
2026/07/20(月) 00:04:30.02ID:fW8YkVE7
複おじ理論「どんな寿命の参照でも、関数から必ず返せる!」
↓
「スコープで寿命が変わってるから返せないんだ! こんなのは反例にならない!」
310デフォルトの名無しさん
垢版 |
2026/07/20(月) 01:30:03.89ID:PQwVA466
おもろすぎる
311デフォルトの名無しさん
垢版 |
2026/07/20(月) 06:06:26.65ID:C1akmcOY
信者もアンチもここまでぶっ飛んだことは言わない
312デフォルトの名無しさん
垢版 |
2026/07/20(月) 07:14:25.08ID:cSh3+4OQ
Cをやらないと理解できない欠陥言語
2026/07/20(月) 10:19:54.30ID:3J7tY5XU
Cくらい分かるでしょ?
問題ないな
314デフォルトの名無しさん
垢版 |
2026/07/20(月) 17:19:47.28ID:0/WLgrD8
……と言ってる奴はだいたいわかってないw
315デフォルトの名無しさん
垢版 |
2026/07/20(月) 17:49:55.80ID:CbF164i+
Cわかってるってイキってる奴はわかってないよな
316デフォルトの名無しさん
垢版 |
2026/07/20(月) 17:56:05.63ID:IOvnKOSI
Rust信者もRustわかってない
2026/07/20(月) 18:59:15.91ID:oWvKpOBY
Rustって言語仕様は他の言語と比べて大きいの?普通なの?
2026/07/20(月) 21:41:29.80ID:9db3qguh
C++より非常に小さくコンパクトにまとめられている
319デフォルトの名無しさん
垢版 |
2026/07/20(月) 23:17:03.47ID:5huwI3dF
でもC++でよく使われてる機能はだいたいある
C++には使われていない/使わない方がいい機能が多すぎる
320デフォルトの名無しさん
垢版 |
2026/07/21(火) 00:28:16.63ID:qUihzTz0
Rustよく分かってないけどclaudeでインターフェイスだけ書いてcargo check満たしたコード書かせるだけでRustは爆速でメモリコスパも良い
スポットで使うつもりがどんどん拡大してるよ
2026/07/21(火) 00:42:22.35ID:fnsh01Xx
REST APIとDB使うくらいなら簡単そう
2026/07/21(火) 01:20:23.46ID:+0l+yte5
>>320
AI時代になって遅い言語を使う意味がなくなったよな
その言語じゃないと不利な特殊環境などを除けばGC言語は全廃でよくなった
2026/07/21(火) 01:42:55.64ID:ozVW6O+s
goとJavaはいるでしょ
ライブラリの資産が膨大すぎる
324デフォルトの名無しさん
垢版 |
2026/07/21(火) 02:47:19.49ID:AUNABxJR
それ以前にAIにRustやCで複雑なロジックやメモリ管理を書かせると動かないことはまだ多い
人が書くより時間をかけて繰り返しデバッグして作るよりはGoみたいなGC言語を使った方がいいんだよね
325デフォルトの名無しさん
垢版 |
2026/07/21(火) 03:12:26.31ID:kS3hNy3f
わざわざ開発速度を落とすメリットがないことは多いしな
Rustで最高速・最軽量を徹底しなきゃいけない用途ってアプリケーション開発では少ない
2026/07/21(火) 03:13:03.02ID:1Ra4ldYa
なんか建設的な話題になってて草
2026/07/21(火) 03:33:28.14ID:RLsk6t2q
ライバルが同じサービスやアプリなどをRustで軽量高速に作ったらライバルに負けてしまう
ライバルがいない間は安心
ライバルが出現する前にRustへ移行が建設的かも
2026/07/21(火) 07:56:53.26ID:fnsh01Xx
普通のスタートアップはパイソンで十分だと思うよ
ゲームや広告配信処理あたりは速度重要だろうけど
329デフォルトの名無しさん
垢版 |
2026/07/21(火) 14:29:45.14ID:wR7mhuFj
>>328
こうやってメンテナンスできないゴミを作って後で困るんですねw
330デフォルトの名無しさん
垢版 |
2026/07/21(火) 14:32:59.65ID:W7Yo+B8f
>>327
心配しなくてもそんなコストをかけるメリットがない
数ミリ秒速くても客は気付きもしない
Goで書いてそこそこの速度で動けば十分
331デフォルトの名無しさん
垢版 |
2026/07/21(火) 14:38:55.22ID:1Fv8MPEv
それはそう
332デフォルトの名無しさん
垢版 |
2026/07/21(火) 14:51:07.52ID:Da09vg5O
【悲報】Rust信者、スタックとヒープの区別を free() するかどうかだけだと思っている模様
333デフォルトの名無しさん
垢版 |
2026/07/21(火) 14:51:22.53ID:ImZniHq6
アホすぎて草
334デフォルトの名無しさん
垢版 |
2026/07/21(火) 15:49:54.87ID:5qx8yyYJ
やっぱりこの程度
335デフォルトの名無しさん
垢版 |
2026/07/21(火) 16:28:48.27ID:asd5BBJk
複オジ、ムーブとコピーの区別がつかない様子
336デフォルトの名無しさん
垢版 |
2026/07/21(火) 16:34:53.09ID:pt+pI30m
ムーブなんか使わないだろww
337デフォルトの名無しさん
垢版 |
2026/07/21(火) 17:21:17.47ID:3FVz/WrX
こっちの方が治安よくて笑う
2026/07/21(火) 18:09:58.99ID:sh6FqgLy
ここはC++のすばらしさを語るスレですか?
339デフォルトの名無しさん
垢版 |
2026/07/21(火) 22:15:48.41ID:66NH7Elt
別にC++の話そんな続いてないだろ
340デフォルトの名無しさん
垢版 |
2026/07/21(火) 22:34:24.98ID:rm/hlpJQ
それな
341デフォルトの名無しさん
垢版 |
2026/07/22(水) 01:23:12.57ID:+JcyZqai
またRustスレ荒れてて草
わからないのにイキりたがる信者が多いからだね
2026/07/22(水) 04:04:32.30ID:xuvZDy45
Rust応援隊って仕事でやってるんだろ
343デフォルトの名無しさん
垢版 |
2026/07/22(水) 10:28:05.22ID:1jGKf19C
>>322
AI時代にメモリ食って遅い人間向きの言語は不要になってきてる。さすがにCだとAIのトークンコスパが悪いから辞めたけどRustは良い
もう既に3桁はN+1みたいなクソコード書いてるだろうけど書いてはいけないコード、良いコードとルールを足してテストを増やせばコンパイルが遅いだけになった
ある程度開発〜運用できるプログラマが使う前提ならAI×Rust 可読性がどうしても必要ならGo
2026/07/22(水) 10:33:36.77ID:IrgfcCyx
Rustなんて何に使うんや?
Webでもゲームでも使い物にならんやろ
学生さんが夏休みに楽しく遊ぶのはええけどね
345デフォルトの名無しさん
垢版 |
2026/07/22(水) 16:00:15.57ID:9kaHeq4d
>>343
AIがそもそも何を書いてるのか理解してなさそう
346デフォルトの名無しさん
垢版 |
2026/07/22(水) 16:00:59.82ID:eqr+Laji
>>344Webとゲームしか思いつかないのが浅はか
大半のプログラムはそのどちらでもない
2026/07/22(水) 17:48:39.29ID:RDYzgqAX
Webとゲームは学歴不問だったりするからな。Webは特にレベル低い。DDDとかなんじゃそりゃ
348デフォルトの名無しさん
垢版 |
2026/07/22(水) 18:58:34.65ID:XYz54jbC
ドメイン駆動設計って頭悪すぎる言葉よな
そうじゃないソフトウェアを作るアホがいるのかって感じ
2026/07/22(水) 22:12:17.97ID:m5Bx0cS6
高速省メモリの分野はRustに任せて
我々は妥協してC言語を使おうぜ

Fil-Cプロジェクトは、コンパイラの修正とガベージコレクションを通じてCコードにメモリ安全性の計装を追加するもので、大規模な書き換えなしにレガシーなCコードベースを保護するためのパラダイムシフトの可能性を示している。
Fil-Cは、コンパイル時の計装と並行ガベージコレクタの組み合わせを通じて、空間的安全性(境界外アクセスの防止)と時間的安全性(解放後使用エラーの排除)の両方を提供する。
Fil-Cでコンパイルされたコードのパフォーマンスオーバーヘッド(推定1~4倍のサイクルと追加のメモリ使用量)は、議論の中心的なポイントとなっている。
ガベージコレクションの要件により、Fil-Cは決定論的メモリ管理が極めて重要であるカーネル開発や組み込みシステムには適さない。
このツールは、他の言語から呼び出されるCライブラリでも課題に直面しており、二重のガベージコレクションシナリオが複雑さを生み出す可能性がある。
2026/07/22(水) 22:24:02.96ID:5JU65QqH
C言語は高速省メモリの代表例だろ
Rustとの違いは安全性
351デフォルトの名無しさん
垢版 |
2026/07/22(水) 22:35:56.45ID:Z8BAwEa5
>>348
それな
用途考えずにソフトウェア開発するとか人手と金の無駄
2026/07/22(水) 22:46:01.41ID:t2eFEZII
>>349
Fil-Cを使うことで、C言語は高速省メモリを失う代わりに安全な言語になった。
Fil-Cのメモリ管理は並行ガベージコレクタで動作する。
free() はオブジェクトを「free 状態」にマークするだけで、実際のメモリ回収は GC が行う。
これにより use-after-free が原理的に攻撃に使えなくなる。
検査に違反した操作は全て「Fil-C panic」として捕捉され、プロセスが停止する。
ヒープ/スタックの範囲外アクセス、use-after-free、ポインタと非ポインタの型混同、va_list の誤用、システムコールに渡すバッファの検査など、C のメモリ安全性を脅かすものは一通りカバーされている。
2026/07/22(水) 22:53:30.44ID:IrgfcCyx
CプログラマはGCなどという気持ち悪いモノを使わない
そんなものに手を出すならRustの方がマシ
2026/07/22(水) 23:06:34.86ID:bnomj7G/
C言語の文法もライブラリもそのままだよ
コンパイラをFil-Cへ変更するだけでGC言語としてコンパイルされる
C言語の文法が好きな人にはピッタリだね
2026/07/23(木) 00:20:38.01ID:XWH+I+Dd
高速省メモリを失ったらC言語の意味がないのでは。。。
そんな捻くれた実装なんか乗せずにRustと同じレベルの厳格なコンパイルエラーモードを追加するだけでいいのに
2026/07/23(木) 02:58:08.04ID:7LGj3TN+
Fil-C実用で使う奴ってバカだよね、Go使った方が同じことができてより安全でより書きやすいんだから
そんな実験的に作られたものを例に出して「だからCは高速省メモリじゃない」というのはただのバカ
2026/07/23(木) 02:59:23.10ID:SWgo7kc/
>>355
C言語の仕様ではそもそもRustみたいな厳格なコンパイルエラーは検出できない
最近のGCCには標準で -fanalyzer が搭載されてるけど、これをもってしてもRustよりは弱い保護しかできない
2026/07/23(木) 03:06:37.27ID:zCd/HWA3
実用出来ないでしょ
既存の.so使えなくなる制限が大きすぎる
CIに使えるかな
2026/07/23(木) 07:22:34.09ID:UV/beDM3
-fanalyzer(静的解析)と-fsanitize(動的解析)なんてのがあったなんて知りませんでした。
gcc14以上みたいですね。
360デフォルトの名無しさん
垢版 |
2026/07/23(木) 09:01:41.87ID:UC7DY8+s
>>345
自然言語語も理解してなさそう
2026/07/23(木) 13:14:45.70ID:cxrYFfJU
>>360
自然言語語は草
お前だろw
362デフォルトの名無しさん
垢版 |
2026/07/23(木) 13:44:06.16ID:cxrYFfJU
>>352
C言語の美しさは挙動の透明さによるものなわけで、挙動が不透明なGCに全てのオブジェクトを任せて、メモリ消費量を増やし、動作速度を落とし、stop the worldを発生させるFil-CはC言語であるメリットがない
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
2026/07/23(木) 19:17:07.25ID:xdDINiAt
アホくさ
367デフォルトの名無しさん
垢版 |
2026/07/23(木) 19:25:30.94ID:10FnQgWm
Goより遅くてGoより書きにくくてGoより環境依存でGoよりバグりやすくてGoより使えるバイナリのライブラリが少ないのか
……ん?
2026/07/23(木) 20:27:22.92ID:OedlWCvY
既存のC言語のソースコードをGCモードで安全に動かすのがFil-Cコンパイラ
Goより遅いのも仕方ない
2026/07/23(木) 21:15:16.05ID:YoQh3pYF
RustはGoより早いの?
2026/07/23(木) 21:15:33.07ID:zCd/HWA3
特殊な用途で役にたつかもしれない。?
2026/07/23(木) 21:16:12.89ID:zCd/HWA3
>>369
早くていけない
372デフォルトの名無しさん
垢版 |
2026/07/24(金) 00:36:21.06ID:OCvHTq61
>>368
※ただし既存のバイナリは使えない
これが欠点として大きすぎて使う気にならない
それならGoのエコシステムでも十分使い勝手がいいよ

>>369
GCの処理が丸々ないんだから、当然速いわな
2026/07/24(金) 00:40:31.34ID:nILRNm6G
>>370
特殊な用途で役立つ数よりも、勘違いしたアホがゴミを量産する数の方が多そう
2026/07/24(金) 00:58:22.95ID:tSG0Iv1W
>>369
そこはGCの有無が効いてる
GC無い方が速い
2026/07/24(金) 01:33:39.37ID:hOnEaUtt
C使ってて努力してsoの置き換えまでやる人いるかな
ヒマ人検出器として見守る
376デフォルトの名無しさん
垢版 |
2026/07/24(金) 01:36:46.58ID:p68EA/68
まあ、GCあるGoより遅いあたりFil-Cは最適化も大したことない
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:I3Qf23Ht
>>349
>>352
GC付きのいい言語は別にいくらでもある

>>354
バカが「俺もC言語書けるんだぜ」って知識もないのに威張るために使うならアリってことか?
2026/07/24(金) 16:58:16.12ID:v0OMkkZg
>>349
>>354
移行期技術を新規開発に使っていいと勘違いするバカが湧いてて草
2026/07/24(金) 17:31:41.53ID:SMBtVByh
新規開発ならGC不要なRustでしょ
2026/07/24(金) 18:14:04.48ID:3vDv/6kr
そらそうよ。Cの過去資産が多い場合に考える用だ
385デフォルトの名無しさん
垢版 |
2026/07/24(金) 18:45:20.73ID:24e2kQId
Cの既存資産が多くてもGCをつけられて困らない分野となるとGoで書き直す方がよさそう
2026/07/24(金) 18:47:32.99ID:qWmzgBgD
言語機能が弱くて不便なGoをわざわざ使うことはあるまい
2026/07/24(金) 19:22:16.63ID:hOnEaUtt
最近はCのアプリ減ってるし、sqlite3みたいなものはCがいいっしょ
388デフォルトの名無しさん
垢版 |
2026/07/24(金) 19:25:11.81ID:ubGLSJxU
>>386
言語機能が弱いとは?
クラス信者かな
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
いつの話してるんだこいつは
2026/07/24(金) 20:55:50.63ID:c1YiTQq7
>>388
信者は信者スレに帰れ
394デフォルトの名無しさん
垢版 |
2026/07/24(金) 20:56:46.53ID:wxvgtBkq
>>387
Fil-CにするくらいならGoでいいだろ
Fil-CじゃダメならRustになるな
2026/07/24(金) 20:57:07.21ID:TLftInpl
>>393
何言ってんだこいつ
396デフォルトの名無しさん
垢版 |
2026/07/24(金) 20:57:35.70ID:GMVtSP0X
>>393
いつからここはGoアンチスレになったんだよw
2026/07/24(金) 20:58:33.28ID:hOnEaUtt
>>392
最近までなかったような
ここはアンチスレだから手厳しいぞ
2026/07/24(金) 20:59:19.16ID:hOnEaUtt
>>394
だからピュアCだって
2026/07/24(金) 21:04:47.30ID:t739HGtC
>>398
ピュアCのままがベストってことは、安全性度外視ってことだがわかってるか?
SQLがホントに安全性度外視でいいと?
400デフォルトの名無しさん
垢版 |
2026/07/24(金) 21:05:08.97ID:E5GPuRNr
>>397
ここはGoアンチスレじゃないぞ
401デフォルトの名無しさん
垢版 |
2026/07/24(金) 21:07:20.95ID:EPeXmYp1
>>389
Cにもない定期
2026/07/24(金) 21:41:40.15ID:0C/6qef1
>>399
めちゃくちゃテストあるからいいんじゃね
あと組込みDBなのでMySQL達とは違うよ
Go実装のDBあるしそっち使えばいい
403デフォルトの名無しさん
垢版 |
2026/07/25(土) 00:43:54.36ID:+sd0sCI1
テストで安全性は保証できないよw
2026/07/25(土) 01:19:23.67ID:uZSi/3XK
そんなもの保証しなくていい。手段と目的を入れ違えてないか
20年続いてるプロダクトを切り替えるほどのものじゃない。
やりたいならスクラッチからsqlite.rsを実装せよ
2026/07/25(土) 01:44:02.28ID:uRdOACIL
>>404
話をすり替えてるのはお前だよw
>>387でCがいいと言い出したからこういう話になってるんだわ
406デフォルトの名無しさん
垢版 |
2026/07/25(土) 01:44:44.33ID:Pc28VFdI
技術的にCがいい理由なんかないんだよな
既存資産ってだけ
2026/07/25(土) 02:11:15.83ID:uZSi/3XK
新規ならね。20年続いてたらRustはないしFなんとかもない
408デフォルトの名無しさん
垢版 |
2026/07/25(土) 03:25:34.68ID:sysuTyRw
>>389
Cにもないですよ
2026/07/25(土) 10:31:52.39ID:cMSzW1ZW
>>408
Rustとの比較じゃないの?
410デフォルトの名無しさん
垢版 |
2026/07/25(土) 13:17:12.28ID:RkBXUh0e
>>409
Fil-CよりもGoの方がマシって話だっただろマヌケ
2026/07/25(土) 13:18:44.18ID:ww7Rlpq3
えーと
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
414デフォルトの名無しさん
垢版 |
2026/07/25(土) 13:39:02.86ID:UNapRlId
無敵理論やめろw
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使ったこと無いだろ
2026/07/27(月) 00:14:14.19ID:itp+da7C
メモリを逐次バラバラにたくさん確保して使いまくる特殊な分野のベンチマークにおいて、
何も考えずに書いたRustのコードがGoに負けたことがある。
そういう分野での常套手段であるメモリをまとめて確保とまとめて解放をすれば、もちろんいつも通りと同じくRustがGoより速い。
2026/07/27(月) 00:18:12.24ID:+XiDQU2X
「まとめて確保とまとめて解放」をしなければGoのほうが速いんだなw
Goすごくね?
2026/07/27(月) 00:26:25.41ID:KE2LTg6y
GCを持っている以上は独自のメモリープールもあるだろう
細かく確保するように見えて実はメモリープールから切り出しているから速くなる
ただしメモリープールの追加確保が必要になった場合はスパイク状の負荷が発生する
2026/07/27(月) 00:28:45.74ID:rGZ+cQIE
>>419
メモリをバラバラに取得解放よりも
まとめて解放するGCが勝つレアケースがある

しかし現実にはC/C++/Rustでも
その手のケースではメモリをいわゆるアリーナ管理でまとめて解放している
したがって常にGC言語が負けている
2026/07/27(月) 18:25:02.36ID:lrmetvCn
Postgresの構文器用に確保したメモリの一括解放エグいよね
423デフォルトの名無しさん
垢版 |
2026/07/28(火) 20:54:57.90ID:nuXPIoKQ
意図的にクソコード書かない限りGoとのパフォーマンス差は圧倒的なのに
GoにはGoの良さがあった。Javaにだってあったわけだけど今はもう時代遅れよな
2026/07/28(火) 21:12:44.73ID:eV02J20x
ライブラリが弱いからまだまだでしょ
GC言語でゆとりちゃんも良い
2026/07/31(金) 16:56:57.45ID:U1XnMbbw
今日はRsut応援隊がいなくて寂しいな
426デフォルトの名無しさん
垢版 |
2026/08/01(土) 02:36:36.38ID:fT3Cj9Cj
>>412-421
お前ら日本語読めねえのか
Goより遅いって言われてるのはFil-Cだろ
427デフォルトの名無しさん
垢版 |
2026/08/01(土) 02:50:58.17ID:llDLkCxA
Rustしか勝たん
428デフォルトの名無しさん
垢版 |
2026/08/01(土) 10:04:48.53ID:w4EEgzdz
今5ちゃんにいる奴なんてTwitterの140字も読めない奴だけだろ
2026/08/01(土) 13:53:20.99ID:OmqgEq/j
長いと縦読み探すよね🤣
430デフォルトの名無しさん
垢版 |
2026/08/02(日) 02:42:44.92ID:cBFW2wJq
バカには日本語が読めない
2026/08/11(火) 14:55:09.29ID:ShPchOqU
Rust製`cp`コマンドがUbuntuのISOビルドを破壊——「メモリ安全」と「動作互換」は別の問題だ
https://techfeed.io/entries/6a4823ee71759f74d1a34afe
2026/08/11(火) 15:17:44.55ID:Pq+b4SwC
読んだがRustの問題ではなかった
方針が書かれてないので不明だが
なんらかの互換性を保ちたいならそのテストを書いてパスさせるべき
言語の問題ではなく要求仕様とそのテストの問題
2026/08/12(水) 08:28:52.09ID:VHBhB4BD
Rustにあらずは置き換えるべきという魔女裁判的な行為あるいは精神に問題があるのでは
2026/08/12(水) 11:19:11.83ID:+UNoSEWX
zedがemacs互換モード無くてダメだわ
2026/08/13(木) 06:00:57.06ID:1RTnrpHI
>>434
それはまあ普通にEmacsでいいじゃない
2026/08/13(木) 10:51:45.75ID:BKblb7oB
emacsをRust化するまでオレは認めないぞ
437デフォルトの名無しさん
垢版 |
2026/08/13(木) 21:48:57.84ID:Jo9gLv9h
>>436
つ Neomacs

https://github.com/eval-exec/neomacs
2026/08/13(木) 21:50:52.57ID:wpaJOQRD
Rustが使えないプログラマーは淘汰される
2026/08/14(金) 09:32:01.95ID:gDB2jiRr
LLMにRustで、と言えば書いてくれちゃうんだよなあ
2026/08/21(金) 16:49:34.42ID:1JkLWzrD
近頃はまた酷くなったな

個々のパッケージをビルドすると、ビルド毎のディレクトリにボコボコボコボコとゴミを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パワーもバンバン使う
のだとか。
2026/08/26(水) 19:33:23.97ID:OZYabdcR
メモリ64GB、24コアが人権
2026/08/27(木) 05:17:54.33ID:p0h8Oq6s
じゃあCでいいね
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 にしてクリーン開発する、
という「現実」にも対応できないかもしれない。
2026/08/27(木) 14:57:30.20ID:NQH5TI9P
昔からある
cargo -offline build
451デフォルトの名無しさん
垢版 |
2026/08/27(木) 15:21:17.37ID:44+GOkU8
>>450
それでは、根本解決にはならないだろう。
そもそもの設計思想からして違うから。
452デフォルトの名無しさん
垢版 |
2026/08/27(木) 16:43:53.88ID:44+GOkU8
cargoだと、バージョンの保存、固定、魚拓、の考え方も難しそう。
通常、C/C++言語だと、昔のライブラリ、ヘッダファイルなどを
ローカルに保存しておき、メーカーやプラットフォーマーが
古いライブラリは使ってほしくない、といくら望んでも、
敢えて使い続ける、という事ができるのが C/C++ の
良いところだった。
それが cargo のようなものではできなくなり、すべて
ネットの先にある「誰か」に支配されることになる気がする。
2026/08/27(木) 17:13:00.48ID:s5l3BMxB
cargoはバージョンの固定ができるため
cargo -offlineでダウンロードすることなく動作します
454デフォルトの名無しさん
垢版 |
2026/08/27(木) 17:28:01.14ID:44+GOkU8
ライブラリが原則としてソース配布なので、気づかないうちに破壊される危険性がある。
455デフォルトの名無しさん
垢版 |
2026/08/27(木) 17:30:17.77ID:44+GOkU8
また、同一性チェックをチェックサムやハッシュ値で行う
としても、ソースコードは大きく、しかも、個別ファイルに
分散しているので、チェックサムを求めること自体に時間が
かかる。*.lib だと壊れたらリンク自体が出来なかったり、
または、中のマシン語がおかしくなるので、テスト段階で
ハングアップしたりして気づく可能性が有るが、
ソースが壊れた場合、気づかないかもしれない不安がある。
456デフォルトの名無しさん
垢版 |
2026/08/27(木) 17:31:55.99ID:44+GOkU8
マシン語になっているライブラリの中にウイルスを仕込むのは、結構大変なのに対し、
*.rs のソースコードの中にウイルスを仕込むのは誰でも出来て
しまう。
その恐ろしさがある。
2026/08/27(木) 17:36:25.01ID:DantDNVw
>>455
RustのcargoはSHA256チェックサムによる改変チェックができるため安心です
458デフォルトの名無しさん
垢版 |
2026/08/27(木) 17:38:44.82ID:44+GOkU8
>>457
仕組みが複雑する過ぎる。恐らく、今後、
個別アプリ作者のマイペースが取れなくなり、
cargo作者、Rust作者によって
開発が左右されるようになる。
459デフォルトの名無しさん
垢版 |
2026/08/27(木) 17:41:13.08ID:44+GOkU8
プラットフォーマーによる支配から、左翼による支配に移る
だけ。
個人的には後者の方が怖い。
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は左翼思想。
2026/08/27(木) 20:42:30.67ID:u4BAYDmT
オープンソースは左翼だとか言ってる例のダメな人が発狂してるだけかよ
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:fNkJvMMI
>>465
RedHat はなんで食っていけるのかと疑問だったが、イギリス軍が
資金を投入してるらしい。
468デフォルトの名無しさん
垢版 |
2026/08/28(金) 18:21:06.03ID:fNkJvMMI
オープンソースは、エンジニアに対する搾取の仕組み。
エンジニアをただ働きさせ、RedHat みたいな文系の
サポート集団みたいなところが儲ける仕組み。
2026/08/28(金) 19:09:11.48ID:N96BtuDV
IBMに買収されたぞ
470デフォルトの名無しさん
垢版 |
2026/08/28(金) 20:33:54.55ID:fNkJvMMI
>>469
また訳の分からんところに。
まさに類は友を呼ぶ。
471デフォルトの名無しさん
垢版 |
2026/08/28(金) 23:51:26.02ID:fNkJvMMI
OSSでも「フリーライダー問題」っていうけど、その言葉は、
むしろ逆に、結果の平等を求めたために、労働意欲を失った
共産主義国家の問題点として使われた言葉らしい。
OSSは、共産主義みたいなことをするから、自分で自分で
フリーライダー問題を作り出しているのだ。
2026/08/29(土) 06:31:29.65ID:l/HbaUeI
先生!じゃあRustは終わりってことですね!!
473デフォルトの名無しさん
垢版 |
2026/08/29(土) 09:24:41.90ID:aWidT367
マイナ破綻ωωω
Rustにしとけば良かったのにωωωωωωωω
https://asahi.5ch.io/test/read.cgi/newsplus/1787953774/
474デフォルトの名無しさん
垢版 |
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
476デフォルトの名無しさん
垢版 |
2026/08/29(土) 12:41:11.21ID:aWidT367
2. なぜRustは「直交性」を犠牲にしたのか?
Rustがこれほど語彙を増やした理由は、主に「コンパイル時に安全性を100%保証する」ため、
そして「ゼロコスト抽象化(実行速度を落とさない)」を達成するためです。
特徴 - C言語の割り切り - Rustの割り切り
設計思想 - シンプルで直交した構文を組み合わせる。安全性は開発者が頭の中で担保する。 - コンパイラに事実を正確に伝えるため、専用の語彙を増やす。安全性は機械が担保する。
デメリット - 自由すぎるがゆえに、バグ(Nullポインタ、メモリリーク)が実行時まで見えない。 - 学習曲線が非常に険しい。コードの見た目が複雑で、覚えることが多い。
Rustは「直交性を犠牲にしてでも、実行時のバグをコンパイルエラーとして検出する」というトレードオフを選択した結果、語彙の塊のような言語になっています。
もしRustの学習や実装で、特に「どれを使えばいいか分からない」と混乱している具体的な要素があれば教えてください。
文字列の使い分け(String と &str)
スマートポインタの使い分け(Box や Rc)
ジェネリクスやトレイトの複雑さ
あなたのC言語の知識をベースに、最もシンプルに整理する方法を提案します。
2026/08/29(土) 14:04:56.19ID:H1DMhgKT
馬鹿にはRustは難しい
2026/08/29(土) 14:13:01.24ID:zAYQ66ag
ボコボコダウンロードさせる割りに

llvm なんかの変更についていけないポンコツぶりw
2026/08/29(土) 18:32:25.03ID:EGR79NrO
>>473
ラスト関係ないよ
2026/08/30(日) 08:18:13.96ID:niwHc9QB
読み方ルストじゃないんだな
2026/08/30(日) 14:09:01.39ID:s8ehhKjs
dust→ダスト
just→ジャスト
must→マスト
trust→トラスト

日本語で馴染みがあるのはこのくらいか
2026/08/30(日) 14:19:12.96ID:sqfX6vVh
今の若者はrusty nail知らないのかね👴
2026/08/30(日) 14:58:06.49ID:0lJWGDPT
jusco岡田屋~
2026/08/30(日) 20:37:41.04ID:2GSuJ9oD
ガス爆発か()
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
2026/09/01(火) 08:00:36.08ID:nJkrIHME
ここまでラストハリケーンなし
487デフォルトの名無しさん
垢版 |
2026/09/01(火) 10:39:31.08ID:MttIhlxL
Rustで造っておけとあれほど
http://blog.livedoor.jp/corez18c24-mili777/archives/60026921.html
488デフォルトの名無しさん
垢版 |
2026/09/01(火) 10:40:28.09ID:MttIhlxL
>>481
Gust
2026/09/01(火) 20:20:23.18ID:DN5WSlre
ガッツ石松
2026/09/09(水) 22:30:32.02ID:FrHVydaG
Rustデバッグ調査2026:74%が「変数の中身が正しく見えない」——print文頼りが半数超の実態
https://techfeed.io/entries/6a9f2e8e3e0b24377900ab0f
2026/09/10(木) 20:12:36.14ID:t/AkFgHo
Cでもデバッガ使わないから構わん
2026/09/13(日) 13:13:28.59ID:eqIbpyGP
go とか rust とか

管理し難いステルスDLをボコボコさせるのはゴミ
2026/09/13(日) 13:20:03.24ID:kFhthyFl
>>492
どちらも他の言語と同じく必要となるもののみ自動ダウンロードされる
プログラミング言語での標準
2026/09/13(日) 13:21:07.28ID:a3WKiwgo
C最強
インターネットにホイホイ繋げない環境もあるのにな
SaaSとかダサダサだぜ
2026/09/13(日) 13:25:59.20ID:kFhthyFl
>>494
Rustも事前ダウンロードでofflineでもコンパイルできる
2026/09/13(日) 13:49:35.93ID:a3WKiwgo
それはいい選択だ。最近yoctoの環境作るのにofflineで面倒
2026/09/13(日) 19:26:45.12ID:AA6MmwxQ
とりあえずCはほぼどこでも使える基礎教養みたいなもんかな
2026/09/13(日) 20:13:42.12ID:rnXW7lK8
Cコンパイラしか使えない一部の組み込み環境を除くと
それ以外は全てRustが代替できるようになった
2026/09/13(日) 20:58:53.30ID:NTqWC6kd
信号処理Rustでやるかね。matlabからのトランスパイラがあればワンちゃん🐶
2026/09/13(日) 22:46:52.07ID:AA6MmwxQ
とりあえずCは指先サイズマイコンからスパコンまでフルカバーだしね。
良くも悪くも高水準アセンブラ
その上でプラスアルファとして何を積むかって感じだけどそこまで言語仕様でガチガチにしなくてもコーディングスタイルまで含めてAIで「てめえ、そんなコード書いてんじゃねえ!」とチェックされていくような感もある。
501デフォルトの名無しさん
垢版 |
2026/09/14(月) 17:58:41.96ID:nPSvcFWH
サーバーサイドプログラミングで、Javaやnode.jsやPythonの遅さに
困ってた人が、C++ だとメモリーエラーに悩まされてプログラミング
が進まなくて、さらに困っていた時に Rust というのは解決策になって
喜ばれたのかもしれないが、C や C++ を普段から使いこなしている人は、
そもそもメモリーエラーにあまり悩まされていない。だから、
Rust に魅力を感じない。
2026/09/14(月) 18:31:19.73ID:YmjuL8Zo
>>501
Rustが使える環境・状況ならばC/C++を使うな!がIT業界の常識
アメリカなどは政府レベルでもRustを推奨している
現実問題としC/C++は未だにセキュリティホールを生み出し続けているため
2026/09/14(月) 18:34:45.20ID:BjpjLAAY
AIがソースコードのチェックしてくれる時代にはC/C++だろうとRustだろうとあまり関係なくなるかな
2026/09/14(月) 18:42:12.54ID:btbUAq0y
>>503
Rustなら言語仕様によりコンパイルを通すだけで100%防ぐことができます
これをAIにやらせることも可能でコンパイルが通ったことをもって100%検証できます

しかしC/C++の言語仕様とAIでは100%防ぐことはできません
そんな方法は存在しません
検証もできません
2026/09/14(月) 19:06:43.23ID:udbqS5ik
もうプログラム言語はRust一択なんだよ
それ以外の言語は使うヤツはザコ
2026/09/14(月) 19:17:32.77ID:a7Ha/8kH
Rust面倒くさいし、Cでいいよ。セキュリティホールってスパコン内で計算するのに気にしないわ
2026/09/14(月) 19:19:04.16ID:a7Ha/8kH
コマンドラインのオプションにセキュリティホールがあったからって何だってんだ。このアプリ使うのはオレだけさ
2026/09/14(月) 19:20:29.54ID:a7Ha/8kH
マイクロソフトに就職しろ。あそこは第一言語にしたそうだ
2026/09/15(火) 06:26:20.67ID:Gzj/jzxQ
Cは全ての環境で使える共通言語だし、既存の資産も膨大だから使えたり読めるのは当たり前かな

Rustは個人的興味で使うこともあるけど、書いてて楽しくないのよね。
プログラムを書かされる人のための拘束具付き言語って感じで。Mな人は嬉しいのかな?
まあ、何を使おうとアルゴリズム自体のミスはどうしようもなかったりもするけどね。

いずれパイプコーディングが進んでいくと人間にも可読性のある中間言語としてはシンプルなもので良いってことになって、ぐるっと回って結局Cでいいじゃん!になるのかもしれないけどね
2026/09/15(火) 07:58:40.64ID:WyJ2EeBM
バイブね
2026/09/15(火) 10:56:57.00ID:2pBJDTZ/
>>509
AIにCでコード書かせてもそれが100%安全であるという検証方法が存在しない
そもそも自分で書いていても楽しいのは抽象度高く読み書きとメンテしやすいRustだろう
2026/09/15(火) 11:34:20.17ID:BTyGnUho
その通り
今時Cなんて使ってるヤツは糞ザコ
513デフォルトの名無しさん
垢版 |
2026/09/15(火) 12:28:27.04ID:TwCMa1Sf
>>509
書いてて楽しくないのめっちゃ判ります
そういうの大事よね
2026/09/15(火) 13:07:44.60ID:NNvqq/1x
bunはCじゃないけどメモリ関連バグに悩まされて
AIでRustに書き直したのに
AIならRust不要とかよく言えるな
2026/09/15(火) 13:10:10.67ID:XyoPZx4a
色んなプログラミング言語を使ってきたけどRustは書きやすくて楽しい言語
楽しくないと言ってる人は色んな言語を使ったことがなくてプログラミング不得意な人でしょう
516デフォルトの名無しさん
垢版 |
2026/09/15(火) 14:06:11.15ID:XoG/qUXg
>>514
書き直し後の13,000個のunsafeは今どうなった?
2026/09/15(火) 14:26:04.18ID:Gzj/jzxQ
アンチスレで擁護コメ書いても無駄骨だわなあ。擁護スレあるんだから、そっちで吠えてたら?
RustはM体質な方には良いかもしれないね
2026/09/15(火) 14:29:36.93ID:Gzj/jzxQ
>>511
最後は結局機械語/アセンブリ言語なんだし、それより少し上位なのがC言語ってだけだから、その主張はナンセンスだよ。
そういや、初期のC++はトランスレーターだったなあ。
2026/09/15(火) 14:32:49.94ID:Gzj/jzxQ
>>514
AIにアセンブラまで落としこんでと言えば落ちたでしょ?
2026/09/15(火) 14:55:53.00ID:mxqTzyVh
ID:Gzj/jzxQはアセンブラが何かをわかってないんだと思う
プログラムのコードをアセンブラにする馬鹿はいない
2026/09/15(火) 18:39:04.29ID:NNvqq/1x
Rustの悪口言ってもAI時代ならCは安心にはならないという
単純な話がわからない馬鹿だからアンチやってるんだなあ
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は安心にはならない』」
2026/09/16(水) 03:57:39.67ID:VdHo4DAI
何で擁護が湧いてるんだ。ちゃんとアンチのロールプレイして
2026/09/16(水) 06:12:24.79ID:DYhvmI/X
アンチが馬鹿すぎるからだろ
2026/09/16(水) 13:24:37.22ID:xELsrA2t
十分条件と必要条件の区別もできないから
痛い批判してやったぜとアンチ本人だけが思ってる
2026/09/16(水) 19:34:13.07ID:Gs/tk+Wt
シームレスにGPUが使えるとかCにないメリット出てこないと置き換えは難しいだろね
apacheとか書き換えてこ
2026/09/17(木) 20:22:40.49ID:YL3YjfPI
そうかあ
RustにはAlgebraic Effectsは無いのか
529デフォルトの名無しさん
垢版 |
2026/09/17(木) 20:23:37.35ID:+BPBD4z9
そもそもRustが嫌いなのに、なんで Rustの成長を応援するものか。
むしろ 全力で Rust の足を引っ張りたい。
2026/09/17(木) 20:31:30.09ID:YL3YjfPI
CはCPUやOS問わず使えるユニバーサルな言語だからね。
アセンブラに落とす前の中間コードとして使うのにも便利なのよね。
過去資産も山ほどあるしてCが使えること自体は必修科目みたいなもの。
Rustを使いたいなら使えば良いけど当面Cが使えることは基礎教養。
2026/09/17(木) 20:45:46.71ID:NXnpu/P/
Rust自体の開発はペース落ちてるらしいな
2026/09/17(木) 20:52:44.04ID:Kj/DTkjT
>>530
一部に基礎教養が含まれるが
C言語は基礎教養ではない
まず大量にある未定義動作の存在は一切覚える必要がない
欠陥だらけの標準関数も覚える必要はない
2026/09/17(木) 21:46:09.74ID:NXnpu/P/
システムコールはC基準だから覚えた方がいいぞ
2026/09/17(木) 21:59:22.71ID:1et9spbA
>>533
システムコールは重要だがCではなくOSの機能
そしてシステムコールの呼び出しABIとCのABIが一致するわけではない
そのためCのライブラリでもシステムコール部分はアセンブラを使う
2026/09/17(木) 22:02:44.03ID:NXnpu/P/
システムコールをフルに使える言語ってCでしょ
Goもシステム系言語だけど網羅してなさそう
2026/09/17(木) 23:40:11.72ID:tK3rAhan
>>535
自由にシステムコールを自分で呼び出せばよい

Goはインラインアセンブラ機能はないが提携機能はある
Go側にシグネチャだけ書いて*.sファイルをリンクできる

Rustはインラインアセンブラ機能がある
Rustコードの中にasm!マクロでシステムコール呼び出しを書ける

CはRustと同様にインラインアセンブラ機能で未知のシステムコールにも対応できる
2026/09/18(金) 00:45:12.93ID:9710gF7h
さすがに生のシステムコール呼びたくないから、nixやら使うじゃないの
Cは用意されてるからCがいいよ
2026/09/18(金) 00:54:45.58ID:Q/gG7PkE
そもそもシステムコールがC I/Fだかんね。
2026/09/18(金) 01:12:22.50ID:9710gF7h
Linuxプログラミングインターフェース、1604ページ、オライリー
をよろしく
2026/09/18(金) 01:20:41.84ID:Gp29hG59
>>538
システムコールのABIとCのABIは一致しない
システムコールはOS毎にアーキテクチャ毎に決まる
2026/09/18(金) 02:14:08.78ID:2hptkH6F
Q. システムコールとC言語のインターフェースはなぜ異なるのですか?

A. システムコールは関数呼び出しではなくシステムコール用のCPU命令や割り込み命令を使います。
引数や戻り値に使われるレジスタやメモリの使用方法も同じとは限りません。
通常の引数とは別にシステムコール番号をレジスタに指定する必要もあります。
その他に退避させるべきレジスタの決まりが異なる場合もあります。
以上の理由によりシステムコールとC言語のインターフェースは異なります。
2026/09/18(金) 06:22:09.29ID:Bn5zKY/u
x86-64/amd64アーキテクチャの場合
システムコールは専用のsyscall命令が使われて戻りアドレスとフラグはrcx/r11に自動的に退避される
一方でCの関数呼び出しだと戻りアドレスはスタックに退避されてrcxは第4引数に用いるなどインターフェイスは違う
結局アセンブリ言語で書くしかない
2026/09/18(金) 10:03:56.18ID:3c95rbBM
普通は直接書かないよ。ライブラリを使う
2026/09/18(金) 10:11:23.89ID:PS8+R1mD
Cのライブラリもシステムコールはマシン語で書かれてるよ
Cだけが何か特別な立場ではないし何か優遇されてることはないよ
2026/09/18(金) 10:15:46.51ID:5X4tZmxP
そのライブラリの充実度はどの言語がいいかなあ。という勝負が始まっているんよ
Rustはシステムコールをラップしたライブラリ良いのあるかね
2026/09/18(金) 10:33:53.89ID:7yicusXv
普通のプログラミング言語では
システムコールという特定のOSに依存した形でのプログラミングをしません
2026/09/18(金) 13:09:42.01ID:aFujyqGl
Rustはシステムプログラミング向けの新しい言語と言われていた記憶があるのだが
>>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 は、呼び出した側。
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 は
当然のことながら、必ず実装している。
550デフォルトの名無しさん
垢版 |
2026/09/18(金) 14:14:05.31ID:eomllbB2
>>549
誤: stdcall と cdecl の際は非常に小さく、
正: stdcall と cdecl の差異は非常に小さく、
551デフォルトの名無しさん
垢版 |
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 言語から普通に呼び出される。
552デフォルトの名無しさん
垢版 |
2026/09/18(金) 15:17:00.73ID:eomllbB2
>>551 は、アンカーミスで、正しくは、
は、>>548 に向けたもの。
553デフォルトの名無しさん
垢版 |
2026/09/18(金) 16:22:18.49ID:eomllbB2
>>551
今思ったが、>>534 から書きこんでいる人は、
x86/x64 の マシン語の「syscall 命令」と、
昔から Unix 系OSで「システムコール」と呼ばれていた関数群を
混同していたのかもしれない。
それらは別の概念。
2026/09/18(金) 16:45:10.68ID:J8sIB4/b
>>548
それらはシステムコールではなくWindows API
2026/09/18(金) 16:46:19.53ID:Q/gG7PkE
私もlinux(unix)ぐらいしかわからんので、システムコールと言えば
open、read、write、close みたいなもんだと思ってた。
556デフォルトの名無しさん
垢版 |
2026/09/18(金) 16:48:15.93ID:eomllbB2
>>554
そこまでいうなら、Windows における「システムコール」という言葉の定義から始めなければならない。
いずれにせよ、C言語から呼び出せない OS の機能は、基本的に
ドライバですら使うべきではない、と考えられている。
つまり、C言語から呼び出せないシステムコールは、
実質的には存在し無いと言える。
何か有ったとしてもそれは非公開機能であり、システムコール
とは通常言わないものである。
2026/09/18(金) 16:55:31.06ID:97nSdT5E
>>551
必ずアセンブラコードが必要になります
システムコールはC言語の機能だけでは呼び出すことができません
実際にそのopen、close、readなどの関数がどのように実装されているのか見てみるとよいでしょう
558デフォルトの名無しさん
垢版 |
2026/09/18(金) 17:03:34.03ID:eomllbB2
>>557
そんなことない。
あなたの理解が間違っている。
2026/09/18(金) 17:09:36.39ID:mJPKW6bB
>>556
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 は古い。
561デフォルトの名無しさん
垢版 |
2026/09/18(金) 17:13:18.02ID:eomllbB2
なんか違和感が有って、今調べてみたら MS-DOS の int 21h
は、正式名称は「DOSファンクションコール」。
システムコールでも間違いではないが、正式名称ではない。
2026/09/18(金) 17:29:02.55ID:Bn5zKY/u
>>557が正しい
ID:eomllbB2は実際にLinuxなどでopen, read, write関数を実装してみることを勧める
インラインアセンブラを用いないとCでは実装できないことがわかる
563デフォルトの名無しさん
垢版 |
2026/09/18(金) 17:32:39.99ID:eomllbB2
>>562
間違ったことに賛同すべきではない。
知識の浅い人が知識の浅い人に賛同している。
564デフォルトの名無しさん
垢版 |
2026/09/18(金) 17:57:43.81ID:eomllbB2
>>562
なお、いま議論しているのは、
「システムコール自体を自分で実装する」
という意味ではないハズだぞ。
システムコールがC言語から呼び出さるかどうかの話だ。
2026/09/18(金) 18:01:24.86ID:Bn5zKY/u
>>563
システムコールopen, read, writeなどをC言語だけでは実装できないこと理解できたかい?
566デフォルトの名無しさん
垢版 |
2026/09/18(金) 18:04:49.02ID:eomllbB2
もしかして、OSを自作したい人が、システムコールを自作するために
C言語だけでは無理、と言っているのだとしたら、それは正解。
システムコールと呼び出す側と、システムコールを提供する側
は全く別の話だ。
それを混同しては駄目。
2026/09/18(金) 18:05:06.55ID:jFDwTqds
>>564
どの言語からでもアセンブラを使えばシステムコールを呼び出せるよ
C言語でも全く同じでアセンブラを使ってシステムコールを呼び出してるよ
C言語だけでは無理
568デフォルトの名無しさん
垢版 |
2026/09/18(金) 18:05:17.13ID:eomllbB2
>>565
実装と呼び出しは別だ。
言葉が間違っている。
569デフォルトの名無しさん
垢版 |
2026/09/18(金) 18:06:07.18ID:eomllbB2
>>567
違う。
呼出しは、C言語だけでもできる。
実装は無理。
「実装」 != 「呼出し」
570デフォルトの名無しさん
垢版 |
2026/09/18(金) 18:08:40.98ID:eomllbB2
「Unixは、99%がC言語で作られている」
という事は正しい。
しかし、すべてC言語だけで作れる訳ではない。
その syscall などの部分だけは C 言語では無理。
しかし、アプリやドライバは、C 言語だけで
システムコールを呼び出せる。なお、
「syscall 命令」 != 「system call」
ということを理解しないとダメ。
ちゃんとGoogle検索にかけるか、ちゃんとしたAIに聞け。
2026/09/18(金) 18:14:13.02ID:Rc8lxrdm
その通りで
「OSが提供するシステムコール」と
「C言語でシステムコールを呼び出せるようにC言語が提供するシステムコール関数」は異なる
この違いが特に顕著にわかるのはC言語のerrno変数
C言語が提供するシステムコール関数の汚点や恥部と呼ばれている
もちろんOSが提供するシステムコールにはそんな欠陥は存在しない
C言語だけの欠陥だ
572デフォルトの名無しさん
垢版 |
2026/09/18(金) 18:17:22.81ID:eomllbB2
>>571
そういうことではない。
あなたもちゃんと理解できてない。
2026/09/18(金) 18:30:20.92ID:0jRUIaYY
OSのシステムコールにerrno変数は存在しないけど、
C言語のopenやreadはerrno変数を使うということは、
C言語のopenやreadはあくまでもC言語用にカスタムされた独自のインターフェースの関数という理解でいいのかな。
2026/09/18(金) 18:55:15.21ID:Bn5zKY/u
その観点でもCのインターフェースとシステムコールのインターフェイスは異なる
2026/09/18(金) 20:03:49.25ID:IxIplbiU
libcがラップしてシステムコールを関数としてCから呼べるようにしてくれてる。
Rustのnixなどもシステムコールに新規のフラグなどが追加されたら更新に追従するのだが、glibcより数ヶ月は遅れるそうだ
C最強!
2026/09/18(金) 20:14:01.42ID:NumN7WIz
libcもglibcもerrno変数が酷いよな
関数呼び出ししてるのに
グローバル変数(問題が起きまくってスレッドローカル変数へ変更)
に結果を返す極悪仕様
2026/09/18(金) 20:58:03.00ID:5X4tZmxP
pthread昔なかったから
2026/09/18(金) 21:53:39.03ID:DXgnmIw7
システムコールのインターフェース仕様はシンプルで美しいのに
C言語インターフェースが邪悪なerrno変数を産んだ理由は何なの?
2026/09/18(金) 21:58:47.58ID:Osbxbi9s
シグナル
2026/09/19(土) 01:01:31.37ID:p4gvVv4W
>>573
おそらく誤解を含んでいると思われ、指摘しておくと
linuxのシステムコールであるopenやreadは、errnoは設定しない。
errnoを設定するのはC標準ライブラリ関数のfopen、freadだ。(errno自体もC標準ライブラリに属する変数だ。システムコールに属するものではない。)

ライブラリ関数はカスタムというか、OSには非依存、言語としての定義だね
2026/09/19(土) 01:10:26.58ID:Kr40mQgO
>>580
Cの関数はシステムコールを生で提供していないニセモノだよな
errnoなどの独自カスタムをしている
2026/09/19(土) 08:23:21.39ID:p4gvVv4W
本物になれなかった偽物と言うより意図して他層に作られた別物だよ
ファイル周りはハードウェア制御が関わる領域はOS側(システムコール)、バッファリング等のソフト寄りはユーザプログラム側(ライブラリ)で賄う構成が見て取れる。OSもプログラム言語も同時期に作ったからその塩梅は作り手の自在だったろうね

C言語はerrnoの存在やバッファオーバーフローを容易に発生させる関数も抱えたけど、当時の他言語が抽象化を進める代わりに実行効率を落とした。対してCは軽量なデザインによって高効率かつ充分高級な言語が実現できることを証明した。メモリ64KByte以下クロック10MHz未満のシステムでもコンパイルと実行、実用が可能だった
マルチスレッドや性善的設計に関わる問題まで初期開発当時に対処せよというならば、それは状況的に酷に思う
2026/09/19(土) 10:40:54.61ID:6xwUQb7o
>>582
Rustはゼロコスト抽象化だから全てを手に入れたうえで速いよ
速いだけで全てがないCに勝ち目なし
2026/09/19(土) 11:17:19.22ID:1Ed/DlmU
Linux、UNIXはlibc使って、生のシステムコールを隠蔽してるんだよ
移植性のためだと思われ
OSによっては生システムコールのABI変更したりするそうだよ。appleとかappleとか
2026/09/19(土) 11:29:44.55ID:6tnKFik7
>>584
途中でlibcの実装を変えることはできないため
新たな環境な新たなアーキテクチャに対応する時に新たに決めるだけで後からの変更はできない
だからlibc使わずとも直接システムコール呼んで構わない
2026/09/19(土) 12:10:47.66ID:1Ed/DlmU
macOSでは生はダメだそうだ。
Linuxは御大のユーザーランドに迷惑をかけないという強い信念でABIが維持されているから大丈夫なだけだよ
2026/09/19(土) 12:13:08.00ID:1Ed/DlmU
組込みなら運用始まったら、カーネルとlibcを互換性崩れるようなものに入れ替えないのは、それはそう
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を意識しておく必要という点ではややたいへんとも言えるかもだが
590デフォルトの名無しさん
垢版 |
2026/09/22(火) 05:33:13.57ID:LLlzDkp1
最初期のRustコンパイラってRustで描かれてたの?
まさかC使ってたなんて言わないよね?
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 で書かれていました。
フーンω
2026/09/22(火) 12:23:24.22ID:q1x1h6dH
コンパイラもインタプリタも任意の言語で作れるからな
C言語なんて必要ない
2026/09/22(火) 20:38:31.53ID:dNy8ovY3
最初だけは仕方ないわね。CコンパイラもアセンブリでCのサブセット言語作って、それで一旦コンパイルしてから、出来たやつでコンパルするとかややこしいことやってた
2026/09/23(水) 06:21:50.12ID:3XsodjBg
rust プログラムは、犯罪者AIの格好の標的
2026/09/23(水) 06:28:58.92ID:LqjeM2g/
ターゲットは穴開きCとC++
2026/09/23(水) 06:34:22.12ID:3XsodjBg
腐れrustだよw
2026/09/23(水) 06:54:55.98ID:SwW4ajl3
AIにC/C++のコードを吐かせるのはリスク高い
2026/09/23(水) 07:51:34.46ID:Dt2fAcyp
CUDAのRust実装とLLMの対応はよ
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用中間コード)にコンパイルできる。
2026/09/30(水) 00:10:17.97ID:AuFquqym
周回おくれ
レスを投稿する


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