コンパイルさえ通してしまえばエラーが無いことを保証される。
自動的な並列化によりメニーコア時代に対応。
メモ化サポート、動的計画法が自動的に実装できる、AI時代に必須。
Rust使いというだけで尊敬される、自動的に彼女ゲット。
C/C++の20倍高速。
Rustアンチスレ
3デフォルトの名無しさん
2017/10/27(金) 00:11:03.46ID:8v9HsLU92017/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で世界を変える。
アッラーアクバール。
いま核ミサイルの集中制御システムに携わっています。
Rustが世界を変える、Rustで世界を変える。
アッラーアクバール。
2017/10/27(金) 09:45:57.32ID:T+eCoUsJ
Cは自分の頭や足を撃ち抜く危ない言語ってよく言うが、つまり銃レベルで強力ってことだよな
Rustはなんだ?ぼうっ切れか?たしかに銃と違って暴発したりはしないな
Rustはなんだ?ぼうっ切れか?たしかに銃と違って暴発したりはしないな
8デフォルトの名無しさん
2017/10/27(金) 18:02:33.63ID:cUZom3KZ2017/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
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
どこの業界(分野)に行けば騙されてくれる被害者がいますか?マジで教えてください
Rustに傷つけられたアンチと戯れるスレだからね、仕方ないね
Swiftは騙されるアポー信者が多くてめっちゃウハウハだったな、Swiftやってますだけでクッソ仕事多かったのwww
Rustは、、、上流工程には知名度がなく、下流工程には難易度が高く、どこ行っても誰も騙せNEEEEEEEE
どこの業界(分野)に行けば騙されてくれる被害者がいますか?マジで教えてください
2018/02/11(日) 20:02:48.65ID:JG+HYHMD
整数型からC-like enumに変換するのにtransmuteとかしないといけないのがクソ
enumをforループするだけのことが面倒なのもクソ
ボローチェッカーとの戦い(笑)以前に生産性低すぎるわこんなもん
C++を置き換えるとか言ってるやつは頭お花畑やろな
enumをforループするだけのことが面倒なのもクソ
ボローチェッカーとの戦い(笑)以前に生産性低すぎるわこんなもん
C++を置き換えるとか言ってるやつは頭お花畑やろな
2018/02/11(日) 20:26:21.53ID:PouFYKRN
>整数型からC-like enumに変換するのにtransmuteとかしないといけないのがクソ
だって実現方法はともかく意味的に整数はenumではないもの
>enumをforループするだけのことが面倒なのもクソ
forループしようと思う時点でそれはenumを使うべき場所でないのでは……
だって実現方法はともかく意味的に整数はenumではないもの
>enumをforループするだけのことが面倒なのもクソ
forループしようと思う時点でそれはenumを使うべき場所でないのでは……
2018/02/11(日) 21:47:14.09ID:YryqqCkE
unsafeなtransmuteなんて使う地雷に自ら突っ込んで行ったら生産性も落ちる罠
何をしようとしてenumメンバをforで回す機会があるのかサッパリ分からんが
生産性悪い書き方して生産性悪いと言ってるのはよく分かった
ちょっとオモロイから、生産性悪いと思った事例をもっと教えてくれよ
何をしようとして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はアホ向けの学習難易度の低い言語だった可能性が微レ存?
結果、メモリ非安全で生産性悪い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も作れそうだ
enumの定義時にマクロを使って全メンバーを含む配列も同時に定義するなどがある
これだけをやってくれるcrateも作れそうだ
2018/02/14(水) 22:58:26.65ID:0r3oW/nt
C++が車だとしたらRustはせいぜいゴーカートだなぁ
2018/02/16(金) 06:49:37.38ID:W1XJdyx1
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
両院で、改憲議員が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
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
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
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
45デフォルトの名無しさん
2020/03/25(水) 01:29:02.87ID:COJzGufp Rustは、コンパイラ時エラーに悩まされる反面、実行時エラーに悩まされるのを減らす
などと言われる。
しかし、コンパイル時エラーが出ると言うことは、裏を返せば、書けないアルゴリズムが存在するということだ。
直感的ではない回りくどい書き方が必要となり記述量が多くなる。
他の言語では好きな書き方が出来て、それはどれも正解だが、Rustでは正解が非常に狭くなる。
正解が狭いことがエラーを減らすなどという人がいるが、実際には、Rustは
書けるアルゴリズムが狭い、と言うことなのである。
これは言語設計の問題である。
なお、ここで言っているアルゴリズムは、全体的なものではなく、細かいミクロ的なものである。
通常の言語では、1つの仕事を細かい変数の使い方まで含めれば数万通り以上に書けるだろう。
そして、そのどれもが正解であり、結果が正しくバグも無いのだから、内のどれかが悪い書き方という
ことは特にない。
ところが、Rustでは、その大部分の書き方が出来ないのである。
駄目だから敢えてできなくしているのではなく、Rustが設計上、書けないアルゴリズムがあるということに他ならない。
つまり、Rustは書けるアルゴリズムが、本来コンピュータが書けるアルゴリズムの内の、非常に狭いサブセットに限られてしまうということである。
これは、Rustの大きな欠陥である。
などと言われる。
しかし、コンパイル時エラーが出ると言うことは、裏を返せば、書けないアルゴリズムが存在するということだ。
直感的ではない回りくどい書き方が必要となり記述量が多くなる。
他の言語では好きな書き方が出来て、それはどれも正解だが、Rustでは正解が非常に狭くなる。
正解が狭いことがエラーを減らすなどという人がいるが、実際には、Rustは
書けるアルゴリズムが狭い、と言うことなのである。
これは言語設計の問題である。
なお、ここで言っているアルゴリズムは、全体的なものではなく、細かいミクロ的なものである。
通常の言語では、1つの仕事を細かい変数の使い方まで含めれば数万通り以上に書けるだろう。
そして、そのどれもが正解であり、結果が正しくバグも無いのだから、内のどれかが悪い書き方という
ことは特にない。
ところが、Rustでは、その大部分の書き方が出来ないのである。
駄目だから敢えてできなくしているのではなく、Rustが設計上、書けないアルゴリズムがあるということに他ならない。
つまり、Rustは書けるアルゴリズムが、本来コンピュータが書けるアルゴリズムの内の、非常に狭いサブセットに限られてしまうということである。
これは、Rustの大きな欠陥である。
2020/03/25(水) 01:29:24.10ID:COJzGufp
>>45
「駄目な書き方だからエラーにしている」
と言うのは間違いで、正しくは、
「Rustコンパイラの静的解析能力では、書き方を非常に限定しないと
正しいことを保障できなかったり、自動化できなかったりするため、
しょうがなく狭い書き方しか出来なくしている」
と言うことに他ならない。
人間には脳内の静的解析で明らかに正しいことが分かる書き方でも、
Rustコンパイラではでは同じことができないため、敢えて
変数束縛、借用、単一参照など、コンパイラでも解析できる程度の
範囲に書き方を限定して無理やり人間のプログラミングの可能性を
狭めているに過ぎない。
「駄目な書き方だからエラーにしている」
と言うのは間違いで、正しくは、
「Rustコンパイラの静的解析能力では、書き方を非常に限定しないと
正しいことを保障できなかったり、自動化できなかったりするため、
しょうがなく狭い書き方しか出来なくしている」
と言うことに他ならない。
人間には脳内の静的解析で明らかに正しいことが分かる書き方でも、
Rustコンパイラではでは同じことができないため、敢えて
変数束縛、借用、単一参照など、コンパイラでも解析できる程度の
範囲に書き方を限定して無理やり人間のプログラミングの可能性を
狭めているに過ぎない。
2020/03/25(水) 01:31:01.16ID:COJzGufp
2020/03/25(水) 01:41:15.64ID:COJzGufp
Rustは表面的に使うだけなら、まあ、C++が使えるプログラマなら、大体使えなくは無いだろう。
しかし、自分で独自にリンクリストを作ろうと思うと事態は一変する。
そこまで深く入った人ほど、Rustは難しい言語だと感じるはずで、
RustがC++程度で理解できると思ってる人は、99%、浅い所までしか使ってない
と言えよう。
しかし、自分で独自にリンクリストを作ろうと思うと事態は一変する。
そこまで深く入った人ほど、Rustは難しい言語だと感じるはずで、
RustがC++程度で理解できると思ってる人は、99%、浅い所までしか使ってない
と言えよう。
2020/03/25(水) 08:33:39.98ID:atIoOIeM
道具として正しい在り方だな
2020/03/25(水) 12:40:37.43ID:COJzGufp
>>49
RAD言語ならそれで良いが、システム言語では駄目。
RAD言語ならそれで良いが、システム言語では駄目。
2020/08/28(金) 02:41:24.81ID:BFWbiW8H
Rustは、コンテナは、配列(長さがコンパイル段階で静的に決まる固定長)、
ベクター(動的配列)が主で、LinkedList<T>は、せっかくのリンクトリストの
特徴である末尾以外の「途中」への追加は出来ない。
これではリンクリストの意味が無い。
また、公式ドキュメントに
「ベクターの方がLinkedList<T>より速い」
などと書いてあるが、それはとんでもない間違い。
ベクター(動的配列)が主で、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;
}
}
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過ぎの中年だけど、まだプログラマー続けてるの?
今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の設計思想もこういうことなんじゃないか?
何通りもある書き方を統一することによってコードを読む人にも分かりやすくするってことだと思う。
もうそこは好みの問題だから気に入らなければやらないでいいんじゃないか?
何かいいやり方があるはずだ。誰が見ても明らかな、たったひとつのやり方が。
そのやり方は一目見ただけではわかりにくいかもしれない。オランダ人にだけわかりやすいなんてこともあるかもしれない。
The Zen of Pythonの一節だけどRustの設計思想もこういうことなんじゃないか?
何通りもある書き方を統一することによってコードを読む人にも分かりやすくするってことだと思う。
もうそこは好みの問題だから気に入らなければやらないでいいんじゃないか?
61デフォルトの名無しさん
2021/08/10(火) 09:10:56.61ID:UUhRSoFC Rustは組み込みシステムでも非常に多く使われているように何でも書ける
Cと同様に低レベルな部分でも記述可能でさらにインラインアセンブリも可
Cと同様に低レベルな部分でも記述可能でさらにインラインアセンブリも可
2021/08/10(火) 14:11:34.30ID:mSeKT5En
raw pointer 使えるし C でできることはだいたい出来るのでは
できないのは variable length argument/array くらい?
できないのは 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以外の言語ではどうやっても無理
C/C++/Rust以外の言語ではどうやっても無理
2021/08/12(木) 10:28:40.81ID:whMOJJYX
なんかRustアンチは必要以上にunsafeを忌避してる気がする
unsafeは注意が必要な部分を限定するために用意された言語機能なのに
「unsafe使うならC/C++でいいじゃん」
とか考えてそうな雰囲気
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:iqtSb51S69デフォルトの名無しさん
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にも疑問が生じる。あまりにも多くの言語が
同期実行のライブラリと整合性が無さすぎる
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はこれらに関して「何ができない」のではなく「何でもできる」わけなので
あとは記法の簡易性を求めるのならばその呼び出し関数等の設計とマクロでお好みの方面へ寄せることも可能です
たしかに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のマクロは最低だと思います、なぜわざわざ学習コストを
引き上げるのか理解できません
これは良い書き方をしているが非同期ランタイムを自由に選べるのではなく、適切に選ばないと
インターフェースをサポートしない場合があるため、互換性が保てないでしょう。Rusterは
ゼロコストという話を良くしますが、Rustの非同期はタスクごとにステートマシンを作るために
確かにNode.jsなどと比べるjavascriptと比べれば、全体で非同期をスケジューリング管理する
ものと比べアロケーションや実行コストなどは小さいですが、それほど喧伝すべきことでもありません。
いずれにせよ多くの非同期はI/Oバウンドでありepollベースなどで管理されます。当然ながら
(Cに代わるようなハードウエア近い)システム言語なので出来ない事があってはイケていません。
私が言っているのは、Rustに限りませんがasync/awaitの記述が普通に考慮されてない設計の悪い
ライブラリが沢山あるという事です。Rustのマクロは最低だと思います、なぜわざわざ学習コストを
引き上げるのか理解できません
2021/09/11(土) 01:17:56.12ID:PRM8i6LA
>>72
あなたの主張は意味がわからない
まず「互換性が保てないでしょう」は何との何の互換性が保てないのか?意味不明
次に「それほど喧伝すべきことでもありません。」は結局のところあなたは反論すら出来ずに同意してしまっている
さらに「Rustに限りませんが(略)設計の悪いライブラリが沢山あるという事です。」はRust言語に対する批判にすらなっていない
それぞれ具体的に問題点を述べましょう
あなたの主張は意味がわからない
まず「互換性が保てないでしょう」は何との何の互換性が保てないのか?意味不明
次に「それほど喧伝すべきことでもありません。」は結局のところあなたは反論すら出来ずに同意してしまっている
さらに「Rustに限りませんが(略)設計の悪いライブラリが沢山あるという事です。」はRust言語に対する批判にすらなっていない
それぞれ具体的に問題点を述べましょう
2021/09/11(土) 01:24:36.44ID:Q/hQI3Xf
唐突にマクロが登場するのも分かりませんね
async-awaitがマクロだった頃の話をしているのですか?
async-awaitがマクロだった頃の話をしているのですか?
75デフォルトの名無しさん
2021/09/11(土) 01:41:58.05ID:YO3o85Uj あんたの方が意味不明だけど(笑)
まず文書の書き方にケチを付けてロンパーする癖を直しましょう。
最初から非同期ランタイムの互換性と書いているでしょう。例えばasync-stdと
tokioは互換性がありません。今は互換性がほぼあるようになってきていますが
それでも完全ではありません。
ゼロコストFeatureという話は、VS Javascriptという言語のランタイムではその
通り認めていますが、コンパイル型の言語でコストが高い非同期は稀です。
Rust言語に対する批判しか書かないわけではありません。あなたは攻撃されたと
思い込む癖が強すぎる。「近年のjavascriptを発端とするasync/awaitにも疑問が
生じる。あまりにも多くの言語が同期実行のライブラリと整合性が無さすぎる」
という大本も読めない。まあそういう人間が増えすぎて居る訳で、こんな雑談で
怒り心頭になり、それぞれの具体的な問題点はあなたの性格でしょう。
言語的な反論をせずに文書の読解も出来ず、条件反射で相手を貶す。とてもでは
ないですが近寄りがたいですね
またマクロについても「マクロでお好みの方面へ寄せることも可能です」という
返答に関して感想を述べてるのに過ぎないのに、全く話を辿れていません。
まず文書の書き方にケチを付けてロンパーする癖を直しましょう。
最初から非同期ランタイムの互換性と書いているでしょう。例えば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もあの環境で非常に優れて設計されています
この件についても具体的な問題点を述べておられないですね
具体的な問題点を述べましょう
例えば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()も非同期ですし、もっと低水準のモジュールも非同期です。
同期実行のライブラリと整合性が無さすぎるとは、何を意味しているのでしょうか?
>「近年の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でも、そういうのに使えるとは書いてないけど
どう考えてもLinuxなりBSDなりある程度高度なOSがある事前提だ、OSのメモリーコンパクションが
無いとGCが無い故にメモリーの断片化が起こり、長時間稼働するタイプの小さな組み込みには向かない。
マイクロコントローラのメモリー付きSoCでブーストラップローダーがあるだけの組み込みには使えない
ま、サポートプラットフォームにTier1/Tier2でも、そういうのに使えるとは書いてないけど
2021/09/12(日) 15:02:08.52ID:raaoGYn7
>>80
その文章だけならCにいれかえてもあってそうなんだが?
その文章だけならCにいれかえてもあってそうなんだが?
2021/09/12(日) 15:22:52.56ID:lBuMyCBZ
>>80
つまりC/C++/Rustは組み込みやOSに向いていないとw
つまり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じゃないと厳しい環境もある
組み込みはピンキリだからスクリプト言語が動く環境まである
一方で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が入ることだけです
おっしゃる『同期実行のライブラリと整合性が無さすぎる』との主張は間違っています
同期実行ライブラリと整合性が無いというのはウソです
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
90デフォルトの名無しさん
2021/09/14(火) 19:27:55.83ID:kyozNdb62021/09/14(火) 20:13:08.96ID:Wng5bteL
2021/09/14(火) 23:33:28.66ID:9cp1Eg6y
微笑ましい
2021/09/14(火) 23:52:38.24ID:BSh8VTqx
少なくともある程度以上の大きさの開発したことある人や
複数案件を同時進行した人なら
いくら完璧にしていても確率的にミスが入り込むとわかるはず
そしてC++とRustとの比較ならどちらが良いかも冷静に判断できる
複数案件を同時進行した人なら
いくら完璧にしていても確率的にミスが入り込むとわかるはず
そしてC++とRustとの比較ならどちらが良いかも冷静に判断できる
94デフォルトの名無しさん
2021/09/15(水) 02:02:19.36ID:x4RgVtnC >>85
そんな事を言ってるんじゃないと思いますよ、「複数のファイルのチェックサム計算」なんて単純な事なら
当然ながら同期と非同期でそれほど違いは出ないでしょうし互換性があるように見えるでしょう。なぜなら
チェックサム計算は一瞬で終わり非同期はファイル毎に区切っているから。チェックサム計算は同期コードで
いずれも書かれていて1つも違いがありません。
これをいくつかのファイルは巨大でファイル長が不明(無限では無い)が大きいファイルのチェックサム計算や
より複雑で時間のかかる計算を非同期で行いたいとすればどうしますか?チェックサム計算で、read_to_endは
使えずストリームを非同期に読み続けて計算することになるでしょう。という事はbytes.iter().foldも使えません
「同期実行ライブラリと整合性が無いというのはウソです」このように言い切ること自体に"気持ち悪い信仰"を
持っているのは良く分かりますが、元が「整合性が無さすぎる」と言っているのは、整合性がある1パターンを
示しても意味が全く無いという事です。多くの問題は「ウソです」と言い切れる浅はかさが問題です
http://qiita.comの記事なんて初心者のサンプルに過ぎません
そんな事を言ってるんじゃないと思いますよ、「複数のファイルのチェックサム計算」なんて単純な事なら
当然ながら同期と非同期でそれほど違いは出ないでしょうし互換性があるように見えるでしょう。なぜなら
チェックサム計算は一瞬で終わり非同期はファイル毎に区切っているから。チェックサム計算は同期コードで
いずれも書かれていて1つも違いがありません。
これをいくつかのファイルは巨大でファイル長が不明(無限では無い)が大きいファイルのチェックサム計算や
より複雑で時間のかかる計算を非同期で行いたいとすればどうしますか?チェックサム計算で、read_to_endは
使えずストリームを非同期に読み続けて計算することになるでしょう。という事はbytes.iter().foldも使えません
「同期実行ライブラリと整合性が無いというのはウソです」このように言い切ること自体に"気持ち悪い信仰"を
持っているのは良く分かりますが、元が「整合性が無さすぎる」と言っているのは、整合性がある1パターンを
示しても意味が全く無いという事です。多くの問題は「ウソです」と言い切れる浅はかさが問題です
http://qiita.comの記事なんて初心者のサンプルに過ぎません
2021/09/15(水) 11:47:44.97ID:PYzW5a+n
>>93
確率的な話をするならコンパイラの塾制度考えた場合の確率を下回るくらいのメリットしかrustにはないよ。
確率的な話をするならコンパイラの塾制度考えた場合の確率を下回るくらいのメリットしかrustにはないよ。
2021/09/15(水) 20:26:11.48ID:77IP/X5S
>>95
rustcで検出できるバグを仕込む確率よりもrustcのバグを踏む確率の方が高いということ?
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
そのうち上位層はビジュアルプログラミングに取って代わられて行ったりしてね
そのうち上位層はビジュアルプログラミングに取って代わられて行ったりしてね
100デフォルトの名無しさん
2021/09/18(土) 07:04:45.25ID:WtcFUHdh Rustのスレで何を頓珍漢な
101デフォルトの名無しさん
2021/09/25(土) 03:20:19.87ID:r08K7R9X コンパイルチェックがゼロになるコードを書けるまでウンコ呼ばわりされる
102デフォルトの名無しさん
2021/10/20(水) 16:37:55.38ID:rOkBuggn >80
>無いとGCが無い故にメモリーの断片化が起こり、長時間稼働するタイプの小さな組み込みには向かない。
ヒープも使わない(ことが多いから)、メモリーの断片化も起きない
当然GCなんかいらない
rustが組み込みに向かないのは同意する
>無いとGCが無い故にメモリーの断片化が起こり、長時間稼働するタイプの小さな組み込みには向かない。
ヒープも使わない(ことが多いから)、メモリーの断片化も起きない
当然GCなんかいらない
rustが組み込みに向かないのは同意する
103デフォルトの名無しさん
2021/10/20(水) 19:56:54.98ID:VGECjsMp 小さなの規模にもよるけど
スタックや初期化時以外で動的なメモリ確保がそもそもできなくない?
Unix風のプロセスモデルでもないとmallocし続けるだけでアウト
スタックや初期化時以外で動的なメモリ確保がそもそもできなくない?
Unix風のプロセスモデルでもないとmallocし続けるだけでアウト
104デフォルトの名無しさん
2021/10/20(水) 20:18:24.99ID:rOkBuggn 組み込みの世界ではヒープじゃなくて、
リンクリストのノードを固定長メモリブロックとして使ったりする
例えばuItronのメモリプールの実装とかそんな感じ
ヒープはリアルタイム性がないから
で、rustはstatic mutが使い辛過ぎて、組み込みでは難しそう
リンクリストのノードを固定長メモリブロックとして使ったりする
例えばuItronのメモリプールの実装とかそんな感じ
ヒープはリアルタイム性がないから
で、rustはstatic mutが使い辛過ぎて、組み込みでは難しそう
105デフォルトの名無しさん
2021/10/20(水) 20:22:41.04ID:VyYhhIkP D言語も忘れないで下さい。
106デフォルトの名無しさん
2021/10/20(水) 20:37:31.19ID:rOkBuggn アンチスレとはいえ
将来性を考えると、さすがにD言語よりはrustの方が……
将来性を考えると、さすがにD言語よりはrustの方が……
107デフォルトの名無しさん
2021/10/20(水) 22:36:34.87ID:VyYhhIkP D言語:「忘れないで・・・」
108デフォルトの名無しさん
2021/10/20(水) 22:52:38.54ID:UtWr6ljA Deprecated
Dormant
Dead
縁起悪いよ…(´・ω・`)
Dormant
Dead
縁起悪いよ…(´・ω・`)
109デフォルトの名無しさん
2021/10/21(木) 18:37:53.89ID:wlIxx6Dc 言語と関係ないがrusterのこういう陰湿さが嫌、goに頻繁に嫌がらせしてるし、gcが選べるD言語など
まだまだマイナーな言語へ嫌がらせする
まだまだマイナーな言語へ嫌がらせする
110デフォルトの名無しさん
2021/10/21(木) 20:22:29.58ID:s+sF4o2E Dのことマイナーって呼ぶなよ
111デフォルトの名無しさん
2021/10/22(金) 20:07:55.54ID:BGSpAusK >>106
将来を考えるなら、文字列でだらだら書くというスタイルが古臭いってなるかもね。
今のプログラミングは、分厚い本を読まされてる、書かされてるみたいなもん。
映像なら3秒でですむことを延々と書き連ねているようなもんだし。
将来を考えるなら、文字列でだらだら書くというスタイルが古臭いってなるかもね。
今のプログラミングは、分厚い本を読まされてる、書かされてるみたいなもん。
映像なら3秒でですむことを延々と書き連ねているようなもんだし。
112デフォルトの名無しさん
2021/10/22(金) 21:52:45.50ID:v3Yxx0iq 永遠に可能性が無いとは言わないが、テキスト以外の方法は生まれては消えてを繰り返してるのでどうも期待出来無い。
人間がコード書く役割が終わる方が先に来るんじゃないかな。
人間がコード書く役割が終わる方が先に来るんじゃないかな。
113デフォルトの名無しさん
2021/10/23(土) 08:17:48.59ID:126WIPxs >>112
AIでも同じようなことが言われていて、
囲碁で人間に勝つには100年かかるなんて言われてたからね。
>人間がコード書く役割が終わる
まさにそれ。
人間は「こうしたい」というのを表現できればそれで良いわけで、それをわざわざ文字列で延々と書き連ねるというのが古臭いことになるんじゃない?ってことね。
AIでも同じようなことが言われていて、
囲碁で人間に勝つには100年かかるなんて言われてたからね。
>人間がコード書く役割が終わる
まさにそれ。
人間は「こうしたい」というのを表現できればそれで良いわけで、それをわざわざ文字列で延々と書き連ねるというのが古臭いことになるんじゃない?ってことね。
114デフォルトの名無しさん
2021/10/23(土) 08:56:15.06ID:3BoTC/ER 現状人間同士である程度厳密に情報を伝えようとすると言葉に頼るわけでコンピューター相手でもそこは変わらない気がする
115デフォルトの名無しさん
2021/10/25(月) 17:46:30.13ID:a6PpXdhO >>114
わざわざ人間が翻訳機になってるっていうのが古臭いって思うんよね。
わざわざ人間が翻訳機になってるっていうのが古臭いって思うんよね。
116デフォルトの名無しさん
2021/10/25(月) 17:54:38.98ID:a6PpXdhO >>114
文字によるプログラムっていうのが結局いつまで経っても1.5次元みたいなもんで、どことどこが関連しているのかということすらパッと見てわからないしね。
まあ、世の中には何百万行もあるプログラムでも簡単に目を通して全体像を把握できるような天才的な人もいるんだろうけど、私には無理だわ。
トシヨリガーとか、老害だとか言ってる割には旧来の手法に固執するんだな。
文字によるプログラムっていうのが結局いつまで経っても1.5次元みたいなもんで、どことどこが関連しているのかということすらパッと見てわからないしね。
まあ、世の中には何百万行もあるプログラムでも簡単に目を通して全体像を把握できるような天才的な人もいるんだろうけど、私には無理だわ。
トシヨリガーとか、老害だとか言ってる割には旧来の手法に固執するんだな。
117デフォルトの名無しさん
2021/10/25(月) 20:15:43.78ID:cubP7NbG >>116
グラフィカルなプログラミング環境とか、設計手法だけどUMLとかあるにも関わらず一般的なプログラミング言語を置き換えるには至ってないよね
旧来の手法を置き換えるには何かしらのブレークスルーが必要なんだと思う
現状プログラミングが主に言葉で書かれているのは、人間がプログラムを考えていることと、人間の考えを厳密にコンピューターに伝える必要があることに由来していると思う
人工知能が発達して人間の曖昧な指示に従ってコンピューターがプログラミングするとか、脳波読みとりなど言語化なしで人間の考えを伝える手段が現れれるなどすれば状況は変わるかも知れない
グラフィカルなプログラミング環境とか、設計手法だけどUMLとかあるにも関わらず一般的なプログラミング言語を置き換えるには至ってないよね
旧来の手法を置き換えるには何かしらのブレークスルーが必要なんだと思う
現状プログラミングが主に言葉で書かれているのは、人間がプログラムを考えていることと、人間の考えを厳密にコンピューターに伝える必要があることに由来していると思う
人工知能が発達して人間の曖昧な指示に従ってコンピューターがプログラミングするとか、脳波読みとりなど言語化なしで人間の考えを伝える手段が現れれるなどすれば状況は変わるかも知れない
118デフォルトの名無しさん
2021/10/25(月) 20:53:20.91ID:IG0eAPOa どの程度の複雑さをコンピュータ側に持って行っても、要求なり目的なりを記述する必要は残る。
いわゆる "プログラミング" では無いかもしれないが。
そこの記述はグラフィカルでどうのこうのと言っても汎用性を求めると結局はテキストになるんじゃないかな。
まあ要求記述のテキスト、というとSQLがその一つなんだけどさ。
いわゆる "プログラミング" では無いかもしれないが。
そこの記述はグラフィカルでどうのこうのと言っても汎用性を求めると結局はテキストになるんじゃないかな。
まあ要求記述のテキスト、というとSQLがその一つなんだけどさ。
119デフォルトの名無しさん
2021/10/28(木) 17:10:44.11ID:nJ3D7u2B >>118
で、現実にやってるのは、やれCだなんだと、それぞれの方言に合わせて人間が一生懸命翻訳作業をして文字列で書き起こしている。
客観的に見れば実に珍妙な記号とあるふぁべっの羅列でね。
そして、流行りの方言が出るたびにその方言を覚えては翻訳作業。
でも、結局のところコードが大幅に減るわけでもなく、肥大化するにつれて誰も正しい全体像を把握できなくなるのは同じこと。そして、いつまで経っても無くならない誤訳…バグの山。
やはりこのスタイル自体に無理がきているんだと思うわ。まあ、究極はコンピュータそのものの考え方から変えないとダメかもしれないけどね。
で、現実にやってるのは、やれCだなんだと、それぞれの方言に合わせて人間が一生懸命翻訳作業をして文字列で書き起こしている。
客観的に見れば実に珍妙な記号とあるふぁべっの羅列でね。
そして、流行りの方言が出るたびにその方言を覚えては翻訳作業。
でも、結局のところコードが大幅に減るわけでもなく、肥大化するにつれて誰も正しい全体像を把握できなくなるのは同じこと。そして、いつまで経っても無くならない誤訳…バグの山。
やはりこのスタイル自体に無理がきているんだと思うわ。まあ、究極はコンピュータそのものの考え方から変えないとダメかもしれないけどね。
120デフォルトの名無しさん
2021/10/28(木) 17:37:46.17ID:oV3TAAYO >>119
そのレベルの話だとコーディングと言うよりも設計の問題なのでは
そのレベルの話だとコーディングと言うよりも設計の問題なのでは
121デフォルトの名無しさん
2022/02/26(土) 07:53:14.27ID:BV4vpVpG 自分がどうしたいってことしか考えないから、言語が要らないなんて言い出す。
受けとる方を考えてみろ。
受けとる方を考えてみろ。
122デフォルトの名無しさん
2022/04/27(水) 15:55:20.74ID:1aIRuPS7 CとリリースモードのRustは、どちらも実行時間が最小限です。 Cは未定義の動作でそこに到達します。 Rustは、非常に堅牢な言語定義を使用して、コンパイラーが多くの危険なプラクティスを拒否し、多くの望ましい結果を安全で比較的便利にすることを可能にします。
しかし、Rustは、多くの人が望ましくないと考える特定の動作も許可します。許可されるように言語を定義するだけです。たとえば、整数のオーバーフローを考えてみましょう。デバッグモードでは、Rustは整数のオーバーフローでパニックになります。良い。リリースモードでは、2の補数としてラップします。悪い。つまり、それは言語定義に含まれているので、非常に優れていますが、私に関する限り、これは、符号付き整数のオーバーフローを未定義の動作として参照するCおよびC++言語定義とほぼ同じくらい悪いものです。
しかし、Rustは、多くの人が望ましくないと考える特定の動作も許可します。許可されるように言語を定義するだけです。たとえば、整数のオーバーフローを考えてみましょう。デバッグモードでは、Rustは整数のオーバーフローでパニックになります。良い。リリースモードでは、2の補数としてラップします。悪い。つまり、それは言語定義に含まれているので、非常に優れていますが、私に関する限り、これは、符号付き整数のオーバーフローを未定義の動作として参照するCおよびC++言語定義とほぼ同じくらい悪いものです。
123デフォルトの名無しさん
2022/04/27(水) 16:14:27.17ID:fXEX2s7j
あかんところ列挙
・コンパイル型言語らしいけど、C++の方が速い(GCC万歳)
・CPLから派生した言語とかなり系統が違う(習得しづらい)
・関数宣言でわざわざfnをつけないといけない(文脈で理解できないのかコンパイラ)
以下、C++のあかんところ
・最近のは遅い->STL使わんかったらいい、もしくは自作
・バッファオーバーランとか、危ないことが起こる->そんな阿保プログラムを書かなかったらいい
125デフォルトの名無しさん
2022/04/27(水) 18:45:52.15ID:kbMyQ47R126デフォルトの名無しさん
2022/04/27(水) 18:53:45.96ID:DngKLmNp >>123
そういうことを言いたいんじゃない。releaseとdebugで動きが異なることを言いたいのだ。例えばGoなどはどちらも動きはわからない。
Rustはどう考えても、プログラムの1つ1つを完全に知りえていなければプログラムを書いてはならず、安全な側へ倒すのではなく、releaseでオーバーフローを省略するのにそれで速いとゴマカしている。計算系のベンチマークテストなどまさにそう
また上のように「用意している」という表現も、限りなく敷居をわざと高くしているだけで、何の利点でもない。
そういうことを言いたいんじゃない。releaseとdebugで動きが異なることを言いたいのだ。例えばGoなどはどちらも動きはわからない。
Rustはどう考えても、プログラムの1つ1つを完全に知りえていなければプログラムを書いてはならず、安全な側へ倒すのではなく、releaseでオーバーフローを省略するのにそれで速いとゴマカしている。計算系のベンチマークテストなどまさにそう
また上のように「用意している」という表現も、限りなく敷居をわざと高くしているだけで、何の利点でもない。
127デフォルトの名無しさん
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を超えて溢れる寸前まで求まっている
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 このようにわざと貼り付けなくても良いことを書いて、不都合を指摘すると流すようにするのは本当に良くないコミュニティの態度
129デフォルトの名無しさん
2022/04/27(水) 19:00:24.43ID:QwtQyiYP >>127と同じ関数を他のプログラミング言語で書くとどんなコードになるの?
具体的にコードを比較して客観的に判断したい
具体的にコードを比較して客観的に判断したい
130デフォルトの名無しさん
2022/04/27(水) 22:32:13.33ID:Xa5DwGtB >>126
release buildでもチェック有効にできるよ
https://doc.rust-lang.org/cargo/reference/profiles.html#overflow-checks
プログラムの一つ一つを理解しなくても書ける言語ってどういうものだろう
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で書けばいい。
今どきのC++は遅いっていうけど、新しいC++の仕様を使うからである。
つまり、Better Cみたいな使い方をすればRustより速くなる(実際そういう結果もある)。
まあ、体感はどっちもかわんねえべってとこだから、RustよりJava,C#とかスクリプト言語をアンチすればいいと思う。Rustで慣れてる人はRustで書けばいい。
132デフォルトの名無しさん
2022/05/21(土) 23:22:45.63ID:zNzebGu9 C++が遅いってコンパイル時間の話ちゃうん
133デフォルトの名無しさん
2022/05/23(月) 00:46:57.32ID:Fl/zPM6P なんでJavaやC#がスクリプト言語に入ってんだ?
C#にはC#スクリプトがあるが実行時に中間言語にコンパイルするだけだろ
C#にはC#スクリプトがあるが実行時に中間言語にコンパイルするだけだろ
134デフォルトの名無しさん
2022/05/23(月) 00:55:18.95ID:Fl/zPM6P 一度だけ必要なメモリを確保して使い回せるものを
オブジェクトとして生成、消滅繰り返すようなプログラム組むと(普通にC++でかくとこっちになる)遅くなるよ
挙句の果てにメモリフラグメントが避けられない
普通にCで書くとよほどの馬鹿でも無い限り無駄なメモリ確保開放を繰り返すなんてことはしないから
オブジェクトとして生成、消滅繰り返すようなプログラム組むと(普通にC++でかくとこっちになる)遅くなるよ
挙句の果てにメモリフラグメントが避けられない
普通にCで書くとよほどの馬鹿でも無い限り無駄なメモリ確保開放を繰り返すなんてことはしないから
135デフォルトの名無しさん
2022/05/23(月) 01:27:08.69ID:aUQlcplw >>134
領域使い回せるってことは生成・解放するオブジェクトのサイズはだいたい一定なんだと思うけど
そうだとしたら最近の普通のmalloc実装ならそうそうフラグメント起こすことはない気がするけどどうなんだろ
ベンチマークとかあるの?
領域使い回せるってことは生成・解放するオブジェクトのサイズはだいたい一定なんだと思うけど
そうだとしたら最近の普通のmalloc実装ならそうそうフラグメント起こすことはない気がするけどどうなんだろ
ベンチマークとかあるの?
136デフォルトの名無しさん
2022/05/23(月) 01:35:14.45ID:Fl/zPM6P137デフォルトの名無しさん
2022/05/23(月) 01:45:51.46ID:Fl/zPM6P 誤送信
>>135
行列クラス考えてみろ
while(1)
E = A*B+C/D;
C++なら一行でかけるがテンポラリ領域を演算子の多重定義の中で確保開放繰り返さざるをえない
ETでなんとかなる部分もinverseがあるとそれもお手上げ
一時領域をwhileの外で確保してそれを使い回す方法と比べて早くしようがない。
>>135
行列クラス考えてみろ
while(1)
E = A*B+C/D;
C++なら一行でかけるがテンポラリ領域を演算子の多重定義の中で確保開放繰り返さざるをえない
ETでなんとかなる部分もinverseがあるとそれもお手上げ
一時領域をwhileの外で確保してそれを使い回す方法と比べて早くしようがない。
138デフォルトの名無しさん
2022/05/23(月) 01:48:39.79ID:Fl/zPM6P139デフォルトの名無しさん
2022/05/23(月) 02:08:18.18ID:aUQlcplw140デフォルトの名無しさん
2022/05/23(月) 02:25:01.02ID:Fl/zPM6P >>139
なんで同じ領域が確保されると保証されるのさ。今時のOSでww
そのエリアが外のタスクで割り当てられなかったことがなんで保証できるんだ?
とにかく動的確保、削除してフラグメント起こさないと思ってる方がどうかしてる。
そういう思い込みが通用するなら、所有権なんてもんは必要ないだろ。
あれはデフラグの対象にするかどうかが細大の目的
あと、普通のとか今時のとか、お前のあたのなかこっちは見られないんだから使うのやめろ
なんで同じ領域が確保されると保証されるのさ。今時のOSでww
そのエリアが外のタスクで割り当てられなかったことがなんで保証できるんだ?
とにかく動的確保、削除してフラグメント起こさないと思ってる方がどうかしてる。
そういう思い込みが通用するなら、所有権なんてもんは必要ないだろ。
あれはデフラグの対象にするかどうかが細大の目的
あと、普通のとか今時のとか、お前のあたのなかこっちは見られないんだから使うのやめろ
141デフォルトの名無しさん
2022/05/23(月) 02:44:22.59ID:Fl/zPM6P142デフォルトの名無しさん
2022/05/23(月) 08:16:07.89ID:aUQlcplw143デフォルトの名無しさん
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);
}
#[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);
}
144デフォルトの名無しさん
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の主張がおかしい
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の主張がおかしい
145デフォルトの名無しさん
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のようなケースでも最小限のメモリしか必要とせずに済む
なぜなら、一般的には「中間値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のようなケースでも最小限のメモリしか必要とせずに済む
146デフォルトの名無しさん
2022/05/23(月) 11:54:34.12ID:n+tkR/ue glibc mallocの仕様なのでCやC++でも同じです
147デフォルトの名無しさん
2022/05/23(月) 14:37:05.11ID:GiQn/B1E Rubyを長期間動かすとGCがメモリを
細分化してしまうという話かなんかと
混同してんのかな
細分化してしまうという話かなんかと
混同してんのかな
148デフォルトの名無しさん
2022/05/23(月) 15:10:34.13ID:K4XvBL00149デフォルトの名無しさん
2022/05/23(月) 15:44:46.83ID:dNJCbMGg たぶん1行目も0x55790623d9d0なのを見落としてる
150デフォルトの名無しさん
2022/05/23(月) 15:46:07.93ID:wWZ2mUik151デフォルトの名無しさん
2022/05/23(月) 15:51:35.00ID:K4XvBL00 >>149-150 あ、ほんとだありがとう。
152デフォルトの名無しさん
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つ使用に収まっているな
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つ使用に収まっているな
153デフォルトの名無しさん
2022/05/24(火) 10:09:58.38ID:PPYrRT7r154デフォルトの名無しさん
2022/05/30(月) 14:58:44.37ID:MKPVbFKD155デフォルトの名無しさん
2022/05/30(月) 15:12:27.13ID:MKPVbFKD >>145
>Rustでは消費し終えた変数や中間値が使用していたヒープ領域もすぐに再利用されて使い回されるため
変数が確保されるのは関数コールの度に毎回上書きされるスタックであてtヒープではない
そもそもヒープ領域の確保廃棄で何も問題なければメモリフラグメントなど発生するはずがない。
したがって長期間リブートを想定しないRTOSで、
予めメモリプールを確保してその中で固定的にメモリ割り当てなど行うこと自体全くの無意味ってことだが、
現実はそーじゃない。こんなもんエンベ試験あたりのイロハだろw
>Rustでは消費し終えた変数や中間値が使用していたヒープ領域もすぐに再利用されて使い回されるため
変数が確保されるのは関数コールの度に毎回上書きされるスタックであてtヒープではない
そもそもヒープ領域の確保廃棄で何も問題なければメモリフラグメントなど発生するはずがない。
したがって長期間リブートを想定しないRTOSで、
予めメモリプールを確保してその中で固定的にメモリ割り当てなど行うこと自体全くの無意味ってことだが、
現実はそーじゃない。こんなもんエンベ試験あたりのイロハだろw
156デフォルトの名無しさん
2022/05/30(月) 15:42:14.93ID:9QWL5Xmb >>154
マルチタスク、マルチユーザーOSというキーワードが出てくるのがよくわからないけど、
物理アドレスの話してるとしたらスタックだろうがヒープだろうがOSの都合で変わりうるんだからヒープのフラグメントの話とはなんら関係ないよね
仮想アドレスの話をしているなら、自プロセスの他スレッドの挙動によってフラグメントしうると言うのは正しいけど
だいたいのmalloc実装ではarenaはスレッドローカルになるからフラグメントは置きにくいと思うよ
というか、どういうシチュエーションで何を実験したときにどのような問題が起きたのか、前提を明確にしてよ
組み込みのRTOSとかいう特殊環境が当たり前のように語られると意見のすりあわせができぬ
マルチタスク、マルチユーザーOSというキーワードが出てくるのがよくわからないけど、
物理アドレスの話してるとしたらスタックだろうがヒープだろうがOSの都合で変わりうるんだからヒープのフラグメントの話とはなんら関係ないよね
仮想アドレスの話をしているなら、自プロセスの他スレッドの挙動によってフラグメントしうると言うのは正しいけど
だいたいのmalloc実装ではarenaはスレッドローカルになるからフラグメントは置きにくいと思うよ
というか、どういうシチュエーションで何を実験したときにどのような問題が起きたのか、前提を明確にしてよ
組み込みのRTOSとかいう特殊環境が当たり前のように語られると意見のすりあわせができぬ
157デフォルトの名無しさん
2022/05/30(月) 15:55:38.95ID:MKPVbFKD158デフォルトの名無しさん
2022/05/30(月) 15:57:12.40ID:MKPVbFKD159デフォルトの名無しさん
2022/05/30(月) 16:07:33.52ID:MKPVbFKD >>156
>マルチタスク、マルチユーザーOSというキーワードが出てくるのがよくわからないけど
汎用OSで自分の起動したタスクしか動いてないと思ってるわけ?
RTOSを持ち出したのは自分のタスクしか実行していなくても、フラグメントを起こす具体例として持ち出した。
そのRTOSでも細心の実装心掛けてるのに汎用OSなんでいわずもがなって話。
今時は、HWのメモリが大きくなってせいぜいページング時のプチフリーズ程度で気付いてない奴もいるだろうが、
やっぱりフラグメントは常時発生してる。
てか、メモリデフラグとか動かしたことないのか?
>マルチタスク、マルチユーザーOSというキーワードが出てくるのがよくわからないけど
汎用OSで自分の起動したタスクしか動いてないと思ってるわけ?
RTOSを持ち出したのは自分のタスクしか実行していなくても、フラグメントを起こす具体例として持ち出した。
そのRTOSでも細心の実装心掛けてるのに汎用OSなんでいわずもがなって話。
今時は、HWのメモリが大きくなってせいぜいページング時のプチフリーズ程度で気付いてない奴もいるだろうが、
やっぱりフラグメントは常時発生してる。
てか、メモリデフラグとか動かしたことないのか?
160デフォルトの名無しさん
2022/05/30(月) 16:23:56.84ID:S6YD6bxt それなんかRustと関係あるんすか?
161デフォルトの名無しさん
2022/05/30(月) 16:55:49.66ID:ccLFuKy8162デフォルトの名無しさん
2022/05/30(月) 18:21:04.97ID:9QWL5Xmb163デフォルトの名無しさん
2022/05/30(月) 22:33:20.68ID:SMH6yVl4 ページ単位で割り当てるのにどうやってフラグメンテーション起こすんだろう
164デフォルトの名無しさん
2022/05/31(火) 14:19:31.88ID:X/NoC31E じゃあなんでLinuxやBSD、Windowsはメモリコンパクション機能を実装してるの?
165デフォルトの名無しさん
2022/05/31(火) 14:23:20.93ID:5HfxTPdy >>164 LinuxやBSD、Windowsはメモリコンパクション機能を実装してるの?
166デフォルトの名無しさん
2022/05/31(火) 16:38:22.49ID:COFqsPBY なんで、mallocの話がOSの話とすり替わってたの?
167デフォルトの名無しさん
2022/05/31(火) 19:29:31.55ID:6cb4XAup >>140あたりでもう一緒くたにされてるからしょうがない
たぶん誰も問題意識を共有できてない
たぶん誰も問題意識を共有できてない
168デフォルトの名無しさん
2022/05/31(火) 20:07:12.82ID:qkI00F5r たぶんmallocとOSが密に関連するようなRTOS?が前提なんだと思うよ
>>140は業務で触ってるとかで特性をよく知っているがそのコンテキストが他の人と共有できていないのだろう
>>140は業務で触ってるとかで特性をよく知っているがそのコンテキストが他の人と共有できていないのだろう
169デフォルトの名無しさん
2022/05/31(火) 20:16:37.40ID:/PJVfDdU ずっと暴れている>>140だけが『所有権』と『OS』を同時に登場させていて二つの別レイヤのメモリ管理の話を区別できていない
ここはRustアンチスレなのにプログラミング言語Rustとは無関係な話で暴れていている
ここはRustアンチスレなのにプログラミング言語Rustとは無関係な話で暴れていている
170デフォルトの名無しさん
2022/05/31(火) 21:05:52.27ID:ycu/V5YM 便乗すんな複おじ
171デフォルトの名無しさん
2022/05/31(火) 22:22:41.63ID:qkI00F5r まあ所有権の話は唐突でよく分かんないけど彼の中では理屈的に繋がりがあるのではないのかな
もうちょっと丁寧に書いてくれれば分かりそうな気もするんだけど
もうちょっと丁寧に書いてくれれば分かりそうな気もするんだけど
172デフォルトの名無しさん
2022/07/07(木) 09:23:29.02ID:kCv7I/gK あーうぜー
1.61.0ビルドしてるけどなんだかいろいろとボコボコDLしてくる()
1.61.0なのに 1.60.0-xxx をDLしてくるし()
あーうぜー
1.61.0ビルドしてるけどなんだかいろいろとボコボコDLしてくる()
1.61.0なのに 1.60.0-xxx をDLしてくるし()
あーうぜー
173デフォルトの名無しさん
2022/07/09(土) 14:07:59.53ID:52J5yu6r いつのまにかpython module のビルドに入り込んでるのな
悪質
悪質
174デフォルトの名無しさん
2022/08/26(金) 16:38:04.30ID:IVLb+hqW 腐れ言語
早く外せよ
早く外せよ
175デフォルトの名無しさん
2022/09/04(日) 20:06:08.29ID:9yOWYxc4 なんか第二Javaという感じの臭いがする
非人間的な設計で人間を不幸にしていく悪しき文明というか
非人間的な設計で人間を不幸にしていく悪しき文明というか
176デフォルトの名無しさん
2022/09/07(水) 04:11:07.00ID:h5FYCJvl 確かに奴隷言語っぽいね
177デフォルトの名無しさん
2022/10/08(土) 07:50:08.22ID:fwLI4Y/X linus はこれがいいみたいだけどな()
git も Rust もゴミ
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
クズ言語
× Preparing metadata (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [64 lines of output]
こんなエラーが出た
すげーイラっとくる
> .toml
クズ言語
179デフォルトの名無しさん
2022/10/12(水) 21:08:34.50ID:BNoDz+WR >>177
重要な部分はRustで作らないと思うよ
重要な部分はRustで作らないと思うよ
180デフォルトの名無しさん
2022/10/20(木) 18:29:22.69ID:uCae9JR1 なんでこれ、こんなにコンパイル遅いの?
181デフォルトの名無しさん
2022/10/20(木) 18:33:14.88ID:sgmqUmRA >>177
俺もgitもgithubも使いにくいと思っていた。
俺もgitもgithubも使いにくいと思っていた。
182デフォルトの名無しさん
2022/10/20(木) 18:58:12.23ID:1LIQj8JQ git自体は悪いと思わんが、なんかgit奉行が色々言い出すのがうざいわ。
rustもそういう匂いがぷんぷんする。
rustもそういう匂いがぷんぷんする。
183デフォルトの名無しさん
2022/10/20(木) 19:21:40.91ID:LtHEChVu どのバージョン管理ソフトが良いの?
184デフォルトの名無しさん
2022/10/21(金) 01:23:53.55ID:sdgXBR6P185デフォルトの名無しさん
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 のあっち側の環境でコンパイルしてる) ってうざいよね
187デフォルトの名無しさん
2023/08/12(土) 00:05:38.13ID:qDONLKM9188デフォルトの名無しさん
2023/08/15(火) 08:53:12.04ID:ca01mENm firefox のビルドもrust が邪魔しまくりだよね()
189デフォルトの名無しさん
2023/10/02(月) 13:43:22.96ID:sFvf9xp1 RustとC++の相性は最悪だが
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もうちょっとがんがれ
C++カス
Rustもうちょっとがんがれ
192デフォルトの名無しさん
2024/04/21(日) 15:50:07.23ID:aDRU4sod Rust リファクタリングしてるときに
trait 境界が変わって
あれ?ってなることが多いな
trait 境界が変わって
あれ?ってなることが多いな
193デフォルトの名無しさん
2024/04/21(日) 18:44:44.75ID:GAd5jyBU >>192
trait境界を満たせなくなるとコンパイラが教えてくれるので安全にリファクタリングできて良いよね
trait境界を満たせなくなるとコンパイラが教えてくれるので安全にリファクタリングできて良いよね
194デフォルトの名無しさん
2024/04/23(火) 10:33:27.89ID:9zVe0TBb >>0185
お前はディストリ自分で組まないの?
情弱だな(プ
お前はディストリ自分で組まないの?
情弱だな(プ
195デフォルトの名無しさん
2024/04/23(火) 10:47:04.81ID:bJrnaJAq 創価
196デフォルトの名無しさん
2024/04/27(土) 21:26:16.94ID:+PotGQRe crates.io が死ぬと詰むな・・・
197デフォルトの名無しさん
2024/04/28(日) 14:02:08.42ID:e+80DOh2 なんなの vendoring とか stable channel とか
意識高そうですね()
意識高そうですね()
198デフォルトの名無しさん
2024/06/08(土) 09:22:59.84ID:Kcr3cAzI199デフォルトの名無しさん
2024/06/08(土) 10:03:29.15ID:9nPXIyFb >>198
Rustに該当する話が一つもないのにRustを批判?
Rustに該当する話が一つもないのにRustを批判?
200デフォルトの名無しさん
2024/06/09(日) 16:29:53.15ID:IIKkP3Jm 信者は信者スレに帰れ
201デフォルトの名無しさん
2024/09/21(土) 15:07:34.01ID:v+xBeerr おまいらホントRuby好きだな
202デフォルトの名無しさん
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 無敵で草
207デフォルトの名無しさん
2026/07/17(金) 22:09:03.64ID:UXQrWOLA 理由なんか不要
ゴミはゴミ
ゴミはゴミ
208デフォルトの名無しさん
2026/07/17(金) 22:14:33.19ID:Q+TSs/Rf 安全なんかどうでもいいから早く書かせろよ
国防総省がどうとかAIがどうとかうるさいんだよ
国防総省がどうとか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
213デフォルトの名無しさん
2026/07/17(金) 22:51:14.40ID:BtWvABvs >>211
そんな専門書読むほどRustに興味ないww
そんな専門書読むほど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でもわかる
219デフォルトの名無しさん
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と同じ道を辿ってる
223デフォルトの名無しさん
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
知識のない奴が好き勝手Rustをバカにできるのがこのスレのいいところなんだから、まともな意見とか求めてないんだよw
226デフォルトの名無しさん
2026/07/18(土) 13:38:26.00ID:+ckB6+Xf Rustスレのアンチコメントをまとめてくれているのか
227デフォルトの名無しさん
2026/07/18(土) 17:26:13.94ID:cuZAQY6Q RustはAIが無かったらワンチャンあったかもな
ご愁傷様
ご愁傷様
228デフォルトの名無しさん
2026/07/18(土) 17:26:26.14ID:cuZAQY6Q >>227
信者「いや、AIがあるからこそ!」
信者「いや、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
知識のない奴が好き勝手Rustをバカにできるのがこのスレのいいところなんだから、まともな意見とか求めてないんだよw
233デフォルトの名無しさん
2026/07/18(土) 18:48:06.15ID:kyAiijUy Rustはフールプルーフじゃない
234デフォルトの名無しさん
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++はコンパイルが速くなるように作られてるからコンパイルが速い
C++はコンパイルが速くなるように作られてるからコンパイルが速い
237デフォルトの名無しさん
2026/07/18(土) 19:07:47.97ID:EKD+uytH コンパイル時なんちゃらで今後遅くならんか
ゼロコスト抽象化の代償かな
ゼロコスト抽象化の代償かな
238デフォルトの名無しさん
2026/07/18(土) 19:08:14.48ID:jSJTkGuU C++は神
rustはゴミ
rustはゴミ
239デフォルトの名無しさん
2026/07/18(土) 19:11:22.27ID:6S6saVYI >>237
コンパイル時処理はC++が先にいってる
コンパイル時処理は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
信者乙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
お前さっきから古い投稿コピペしてるだろ
お前さっきから古い投稿コピペしてるだろ
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:NN9B91uE256デフォルトの名無しさん
2026/07/18(土) 21:42:18.61ID:MgxSurlY RustなんてしょせんMLのパクリ
257デフォルトの名無しさん
2026/07/18(土) 21:48:54.65ID:BSH6lf3K Rustスレまた荒れてて草
Rust信者は協調性ゼロの奴しかいない
Rust信者は協調性ゼロの奴しかいない
258デフォルトの名無しさん
2026/07/18(土) 21:56:13.50ID:2n3U21Ng 電燈がついてたら集まる虫だもんw
259デフォルトの名無しさん
2026/07/18(土) 21:57:34.53ID:EKD+uytH このスレダメじゃん。読んでると擁護したくなるわ
260デフォルトの名無しさん
2026/07/18(土) 22:01:22.38ID:9rjkGWEP >>256
Rustは関数型を一部壊してCっぽくしたやつだから
Rustは関数型を一部壊してCっぽくしたやつだから
261デフォルトの名無しさん
2026/07/18(土) 22:06:59.47ID:YvYxmk+3 205 デフォルトの名無しさん 2026/07/17(金) 21:59:09.13 ID:5FsOttRT
知識のない奴が好き勝手Rustをバカにできるのがこのスレのいいところなんだから、まともな意見とか求めてないんだよw
知識のない奴が好き勝手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 所詮メモリ管理ができない奴のひがみ
266デフォルトの名無しさん
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信者が嫌いなんだわ
282デフォルトの名無しさん
2026/07/19(日) 01:37:02.52ID:++MSQY7z >>267
golangでいいぞ
golangでいいぞ
283デフォルトの名無しさん
2026/07/19(日) 01:40:32.03ID:X+bwpXGU Goはいいぞ
284デフォルトの名無しさん
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() すら知らないくせにイキってるバカもこっちで隔離してほしい
289デフォルトの名無しさん
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
thread::spawn() を使う奴はRustアンチらしいぜw
292デフォルトの名無しさん
2026/07/19(日) 14:58:00.54ID:NUeWaq78 このスレより意味不明でおもろい
293デフォルトの名無しさん
2026/07/19(日) 15:06:40.37ID:/PLRXsY9 >>141
それならもうRustで書いた方が楽なん笑う
それならもうRustで書いた方が楽なん笑う
294デフォルトの名無しさん
2026/07/19(日) 15:10:31.02ID:iyXDuN3d 205 デフォルトの名無しさん 2026/07/17(金) 21:59:09.13 ID:5FsOttRT
知識のない奴が好き勝手Rustをバカにできるのがこのスレのいいところなんだから、まともな意見とか求めてないんだよw
知識のない奴が好き勝手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++完全に理解した
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をやらないと理解できない欠陥言語
313デフォルトの名無しさん
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わかってない
317デフォルトの名無しさん
2026/07/20(月) 18:59:15.91ID:oWvKpOBY Rustって言語仕様は他の言語と比べて大きいの?普通なの?
318デフォルトの名無しさん
2026/07/20(月) 21:41:29.80ID:9db3qguh C++より非常に小さくコンパクトにまとめられている
319デフォルトの名無しさん
2026/07/20(月) 23:17:03.47ID:5huwI3dF でもC++でよく使われてる機能はだいたいある
C++には使われていない/使わない方がいい機能が多すぎる
C++には使われていない/使わない方がいい機能が多すぎる
320デフォルトの名無しさん
2026/07/21(火) 00:28:16.63ID:qUihzTz0 Rustよく分かってないけどclaudeでインターフェイスだけ書いてcargo check満たしたコード書かせるだけでRustは爆速でメモリコスパも良い
スポットで使うつもりがどんどん拡大してるよ
スポットで使うつもりがどんどん拡大してるよ
321デフォルトの名無しさん
2026/07/21(火) 00:42:22.35ID:fnsh01Xx REST APIとDB使うくらいなら簡単そう
322デフォルトの名無しさん
2026/07/21(火) 01:20:23.46ID:+0l+yte5323デフォルトの名無しさん
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言語を使った方がいいんだよね
人が書くより時間をかけて繰り返しデバッグして作るよりはGoみたいなGC言語を使った方がいいんだよね
325デフォルトの名無しさん
2026/07/21(火) 03:12:26.31ID:kS3hNy3f わざわざ開発速度を落とすメリットがないことは多いしな
Rustで最高速・最軽量を徹底しなきゃいけない用途ってアプリケーション開発では少ない
Rustで最高速・最軽量を徹底しなきゃいけない用途ってアプリケーション開発では少ない
326デフォルトの名無しさん
2026/07/21(火) 03:13:03.02ID:1Ra4ldYa なんか建設的な話題になってて草
327デフォルトの名無しさん
2026/07/21(火) 03:33:28.14ID:RLsk6t2q ライバルが同じサービスやアプリなどをRustで軽量高速に作ったらライバルに負けてしまう
ライバルがいない間は安心
ライバルが出現する前にRustへ移行が建設的かも
ライバルがいない間は安心
ライバルが出現する前にRustへ移行が建設的かも
328デフォルトの名無しさん
2026/07/21(火) 07:56:53.26ID:fnsh01Xx 普通のスタートアップはパイソンで十分だと思うよ
ゲームや広告配信処理あたりは速度重要だろうけど
ゲームや広告配信処理あたりは速度重要だろうけど
329デフォルトの名無しさん
2026/07/21(火) 14:29:45.14ID:wR7mhuFj >>328
こうやってメンテナンスできないゴミを作って後で困るんですねw
こうやってメンテナンスできないゴミを作って後で困るんですねw
330デフォルトの名無しさん
2026/07/21(火) 14:32:59.65ID:W7Yo+B8f331デフォルトの名無しさん
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 こっちの方が治安よくて笑う
338デフォルトの名無しさん
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スレ荒れてて草
わからないのにイキりたがる信者が多いからだね
わからないのにイキりたがる信者が多いからだね
342デフォルトの名無しさん
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
AI時代にメモリ食って遅い人間向きの言語は不要になってきてる。さすがにCだとAIのトークンコスパが悪いから辞めたけどRustは良い
もう既に3桁はN+1みたいなクソコード書いてるだろうけど書いてはいけないコード、良いコードとルールを足してテストを増やせばコンパイルが遅いだけになった
ある程度開発〜運用できるプログラマが使う前提ならAI×Rust 可読性がどうしても必要ならGo
344デフォルトの名無しさん
2026/07/22(水) 10:33:36.77ID:IrgfcCyx Rustなんて何に使うんや?
Webでもゲームでも使い物にならんやろ
学生さんが夏休みに楽しく遊ぶのはええけどね
Webでもゲームでも使い物にならんやろ
学生さんが夏休みに楽しく遊ぶのはええけどね
345デフォルトの名無しさん
2026/07/22(水) 16:00:15.57ID:9kaHeq4d >>343
AIがそもそも何を書いてるのか理解してなさそう
AIがそもそも何を書いてるのか理解してなさそう
346デフォルトの名無しさん
2026/07/22(水) 16:00:59.82ID:eqr+Laji >>344Webとゲームしか思いつかないのが浅はか
大半のプログラムはそのどちらでもない
大半のプログラムはそのどちらでもない
347デフォルトの名無しさん
2026/07/22(水) 17:48:39.29ID:RDYzgqAX Webとゲームは学歴不問だったりするからな。Webは特にレベル低い。DDDとかなんじゃそりゃ
348デフォルトの名無しさん
2026/07/22(水) 18:58:34.65ID:XYz54jbC ドメイン駆動設計って頭悪すぎる言葉よな
そうじゃないソフトウェアを作るアホがいるのかって感じ
そうじゃないソフトウェアを作るアホがいるのかって感じ
349デフォルトの名無しさん
2026/07/22(水) 22:12:17.97ID:m5Bx0cS6 高速省メモリの分野はRustに任せて
我々は妥協してC言語を使おうぜ
Fil-Cプロジェクトは、コンパイラの修正とガベージコレクションを通じてCコードにメモリ安全性の計装を追加するもので、大規模な書き換えなしにレガシーなCコードベースを保護するためのパラダイムシフトの可能性を示している。
Fil-Cは、コンパイル時の計装と並行ガベージコレクタの組み合わせを通じて、空間的安全性(境界外アクセスの防止)と時間的安全性(解放後使用エラーの排除)の両方を提供する。
Fil-Cでコンパイルされたコードのパフォーマンスオーバーヘッド(推定1~4倍のサイクルと追加のメモリ使用量)は、議論の中心的なポイントとなっている。
ガベージコレクションの要件により、Fil-Cは決定論的メモリ管理が極めて重要であるカーネル開発や組み込みシステムには適さない。
このツールは、他の言語から呼び出されるCライブラリでも課題に直面しており、二重のガベージコレクションシナリオが複雑さを生み出す可能性がある。
我々は妥協してC言語を使おうぜ
Fil-Cプロジェクトは、コンパイラの修正とガベージコレクションを通じてCコードにメモリ安全性の計装を追加するもので、大規模な書き換えなしにレガシーなCコードベースを保護するためのパラダイムシフトの可能性を示している。
Fil-Cは、コンパイル時の計装と並行ガベージコレクタの組み合わせを通じて、空間的安全性(境界外アクセスの防止)と時間的安全性(解放後使用エラーの排除)の両方を提供する。
Fil-Cでコンパイルされたコードのパフォーマンスオーバーヘッド(推定1~4倍のサイクルと追加のメモリ使用量)は、議論の中心的なポイントとなっている。
ガベージコレクションの要件により、Fil-Cは決定論的メモリ管理が極めて重要であるカーネル開発や組み込みシステムには適さない。
このツールは、他の言語から呼び出されるCライブラリでも課題に直面しており、二重のガベージコレクションシナリオが複雑さを生み出す可能性がある。
350デフォルトの名無しさん
2026/07/22(水) 22:24:02.96ID:5JU65QqH C言語は高速省メモリの代表例だろ
Rustとの違いは安全性
Rustとの違いは安全性
351デフォルトの名無しさん
2026/07/22(水) 22:35:56.45ID:Z8BAwEa5352デフォルトの名無しさん
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 のメモリ安全性を脅かすものは一通りカバーされている。
Fil-Cを使うことで、C言語は高速省メモリを失う代わりに安全な言語になった。
Fil-Cのメモリ管理は並行ガベージコレクタで動作する。
free() はオブジェクトを「free 状態」にマークするだけで、実際のメモリ回収は GC が行う。
これにより use-after-free が原理的に攻撃に使えなくなる。
検査に違反した操作は全て「Fil-C panic」として捕捉され、プロセスが停止する。
ヒープ/スタックの範囲外アクセス、use-after-free、ポインタと非ポインタの型混同、va_list の誤用、システムコールに渡すバッファの検査など、C のメモリ安全性を脅かすものは一通りカバーされている。
353デフォルトの名無しさん
2026/07/22(水) 22:53:30.44ID:IrgfcCyx CプログラマはGCなどという気持ち悪いモノを使わない
そんなものに手を出すならRustの方がマシ
そんなものに手を出すならRustの方がマシ
354デフォルトの名無しさん
2026/07/22(水) 23:06:34.86ID:bnomj7G/ C言語の文法もライブラリもそのままだよ
コンパイラをFil-Cへ変更するだけでGC言語としてコンパイルされる
C言語の文法が好きな人にはピッタリだね
コンパイラをFil-Cへ変更するだけでGC言語としてコンパイルされる
C言語の文法が好きな人にはピッタリだね
355デフォルトの名無しさん
2026/07/23(木) 00:20:38.01ID:XWH+I+Dd 高速省メモリを失ったらC言語の意味がないのでは。。。
そんな捻くれた実装なんか乗せずにRustと同じレベルの厳格なコンパイルエラーモードを追加するだけでいいのに
そんな捻くれた実装なんか乗せずにRustと同じレベルの厳格なコンパイルエラーモードを追加するだけでいいのに
356デフォルトの名無しさん
2026/07/23(木) 02:58:08.04ID:7LGj3TN+ Fil-C実用で使う奴ってバカだよね、Go使った方が同じことができてより安全でより書きやすいんだから
そんな実験的に作られたものを例に出して「だからCは高速省メモリじゃない」というのはただのバカ
そんな実験的に作られたものを例に出して「だからCは高速省メモリじゃない」というのはただのバカ
357デフォルトの名無しさん
2026/07/23(木) 02:59:23.10ID:SWgo7kc/ >>355
C言語の仕様ではそもそもRustみたいな厳格なコンパイルエラーは検出できない
最近のGCCには標準で -fanalyzer が搭載されてるけど、これをもってしてもRustよりは弱い保護しかできない
C言語の仕様ではそもそもRustみたいな厳格なコンパイルエラーは検出できない
最近のGCCには標準で -fanalyzer が搭載されてるけど、これをもってしてもRustよりは弱い保護しかできない
358デフォルトの名無しさん
2026/07/23(木) 03:06:37.27ID:zCd/HWA3 実用出来ないでしょ
既存の.so使えなくなる制限が大きすぎる
CIに使えるかな
既存の.so使えなくなる制限が大きすぎる
CIに使えるかな
359デフォルトの名無しさん
2026/07/23(木) 07:22:34.09ID:UV/beDM3 -fanalyzer(静的解析)と-fsanitize(動的解析)なんてのがあったなんて知りませんでした。
gcc14以上みたいですね。
gcc14以上みたいですね。
360デフォルトの名無しさん
2026/07/23(木) 09:01:41.87ID:UC7DY8+s >>345
自然言語語も理解してなさそう
自然言語語も理解してなさそう
361デフォルトの名無しさん
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 周回おくれ
レスを投稿する
ニュース
- 【速報】福原遥&久保建英、結婚を発表 [爆笑ゴリラ★]
- 【速報】福原遥(まいんちゃん)とサッカー日本代表の久保建英が電撃結婚 [爆笑ゴリラ★]
- 【速報】福原遥(まいんちゃん)とサッカー日本代表の久保建英がまさかの電撃結婚★3 [爆笑ゴリラ★]
- 【電撃結婚】「チャラいんじゃないかと1、2年スルーしていた」と知人証言、“ド真面目”な福原遥の心を動かした久保建英の“猛アタック” [muffin★]
- 大阪・清風高校で「カンニング指導」後に生徒が自殺「無関係とは決して思っていない」両親が1億円余の損害賠償求める [七波羅探題★]
- 「日本中をまわった」1都10県で200件超空き巣繰り返し6900万円相当盗んだか ベトナム国籍の男(31)を逮捕 [♪♪♪★]
- まいんちゃんと久保建英結婚 [268244553]
- 【実況】博衣こよりのえちえちこんこよ高校3026-2年目春甲子園-🧪
- 【実況】博衣こよりのえちえちこんこよ高校3036-2年目春甲子園-🧪
- アセ顔ダブルピース✌😅✌の🏡
- あちちめらのえちちなおちちのおうち🏡
- 【悲報】まいんちゃん結婚