C言語勉強したけど、Rustのメリットがマジでわからん

satokitchen_wpjをフォローする
C言語
1 : 2024/04/08(月)01:15:54 ID:H0kRspgj0
C言語でよくね?
"

2 : 2024/04/08(月)01:17:21 ID:PF+zdJy20
メモリの安全性が保障されないじゃん

 

3 : 2024/04/08(月)01:17:38 ID:/R/nzxb2M
C勉強してたら逆にRustのメリットしか感じなくないか...

 

5 : 2024/04/08(月)01:19:12 ID:H0kRspgj0
>>3
逆にめんどくね?ってなる
いらない機能が多すぎるじゃん
型クラスとかいらん

 

10 : 2024/04/08(月)01:22:05 ID:/R/nzxb2M
>>5
Rustは確かにちいさなコードなら邪魔かもしれないね
あれは大規模にコードを書くようになって初めて効果を発揮するものではある

型クラスがないと普通に言語として終わりだと思う
OOPが要らないというのなら何も言わない

 

15 : 2024/04/08(月)01:26:17 ID:H0kRspgj0
>>10
型クラスなくても全然困らんし、もっと言えば関数ポインタ使えば型クラスっぽいことCでも出来るよ
例えば沢山あるファイルシステムが同じように呼び出せるのは関数ポインタで抽象化してるからだし

 

6 : 2024/04/08(月)01:19:57 ID:H0kRspgj0
正直classとかもいらなくね?って思ってるからRustはリッチすぎる

 

11 : 2024/04/08(月)01:23:08 ID:/R/nzxb2M
>>6
Cもリッチすぎるしアセンブリ言語でいこう

 

16 : 2024/04/08(月)01:26:53 ID:H0kRspgj0
>>11
いや、それは無理だね
アセンブリでは無理
Cがちょうどいい

 

7 : 2024/04/08(月)01:21:19 ID:H0kRspgj0
所有権だっけ?
あれもうるせぇって思うよなぁ

 

8 : 2024/04/08(月)01:21:52 ID:H0kRspgj0
忘れずfreeしたらいいだけじゃん

 

9 : 2024/04/08(月)01:21:54 ID:PF+zdJy20
ある程度大規模な開発やれば有り難みが分かってくるよ

 

12 : 2024/04/08(月)01:23:58 ID:H0kRspgj0
>>9
Cでカーネルとかコンパイラとか作ってるけど全然困らん
てかgccもlinuxもCで書かれてる時点で、大規模なソフトウェアがCで書けるのは自明な気がするが…

 

17 : 2024/04/08(月)01:27:00 ID:/R/nzxb2M
>>12
Cでも大規模開発はできるがRustによる開発はunsafe出ない限り安全であることがかなり大きい
Linuxカーネルでも最近正式にRustのコードが入ったりしたね
なぜC++は入れなかったLinuxカーネルにRustが採用されたか考えたほうがいい

 

24 : 2024/04/08(月)01:34:54 ID:H0kRspgj0
>>17
そもそもLinuxのなかでRustが使われてるのってディバイスドライバーとかだろ?
メインの部分はほとんどCじゃね?
メモリ管理とかRustでやるとなるとunsafe多用して全く見通せないコードになる気がするけど

 

26 : 2024/04/08(月)01:39:20 ID:/R/nzxb2M
>>24
そりゃそうだ
最近やっと入ったんだから
うーん
書く人によるんじゃない
そんな見通しの悪いコードを入れるわけないし

 

30 : 2024/04/08(月)01:44:03 ID:H0kRspgj0
>>26
いや、そもそもRustの型推論によるメモリ安全性って、メモリ管理が立ち上がったあとにしか有効じゃなくね?
カーネルってちゃんとmalloc/freeが使えるようになる前に色んな処理をするわけじゃん
それが整う前はRustでもunsafeしつつfree打たなきゃだめじゃね?
だったらCでええやん

 

32 : 2024/04/08(月)01:45:38 ID:/R/nzxb2M
>>30
Rustは所有権がどこにあるかカウントしてるのでコンパイル時にすべてわかるよ
Unsafeじゃない限りコンパイル通ればぬるぽが出ることはない

 

35 : 2024/04/08(月)01:51:08 ID:H0kRspgj0
>>32
いや、だからそれってOSが起動して初期化が終わってmalloc/freeとかがちゃんと動くようになったあとの話でしょ?
メモリ管理とかを実装するのには使えないじゃんか

 

37 : 2024/04/08(月)01:54:40 ID:/R/nzxb2M
>>35
あー
すまんがそこはよくわからない
Cで書いたほうがいい部分はあるだろうしそもそも安定している部分を書き換える必要はないってスタンスだよ
AndroidもLinuxも
あと採用された理由にCとのFFIが楽ってのもあったね

 

13 : 2024/04/08(月)01:24:22 ID:gsI0nTQ6d
よっぽどニッチに制御系とかやらん限りC言語を選ぶメリットがそもそも分からんやろ
C#とかjsの方がなんでもできるやろ

 

20 : 2024/04/08(月)01:31:44 ID:5XXhw8Wn0
なんでRustだけを目の敵にしているのかわからん
Cで十分ならCで書けば良いじゃん
誰かにRustに変えろって強制されてるの?

 

29 : 2024/04/08(月)01:41:08 ID:H0kRspgj0
>>20
XでバカがRustはいいぞって言うからだよ
良くないぞって思うからだよ

 

33 : 2024/04/08(月)01:47:53 ID:5XXhw8Wn0
>>29
なんだそんなことか・・・なら
CよりC#の方がいいぞ
Cよりアセンブラの方がいいぞ
CよりPythonの方がいいぞ
Cよりひまわりの方がいいぞ
CよりHaskellの方がいいぞ
だからCなんかやめて他の言語に乗り換えな

・・・このくらいで中和されるか?w

 

23 : 2024/04/08(月)01:32:53 ID:/R/nzxb2M
Rustに入門した学生がRust批判記事でもみたんじゃね

 

36 : 2024/04/08(月)01:52:26 ID:/R/nzxb2M
OOPに苦手意識持ってる...?

 

38 : 2024/04/08(月)01:56:49 ID:H0kRspgj0
>>36
まあそうだね
classが嫌い
特にinterfaceとかいうのが嫌い
あと型クラスもな!

 

41 : 2024/04/08(月)02:00:04 ID:/R/nzxb2M
>>38
インターフェイスほど便利な機能はないと思うんだけどなぁ

 

44 : 2024/04/08(月)02:01:59 ID:H0kRspgj0
>>41
interfaceで抽象化を多用してるコードは大抵読みにくい

 

47 : 2024/04/08(月)02:03:34 ID:/R/nzxb2M
>>44
多分意識してないんだろうけどイテレータとかインターフェイスないと不便極まりないよ

 

48 : 2024/04/08(月)02:05:18 ID:H0kRspgj0
>>47
そうなの?

 

39 : 2024/04/08(月)01:58:33 ID:/R/nzxb2M
Haskellは中置記法を見た時点で気持ち悪くなったので同意できる
Javaは俺は書きやすいと思うな
バージョン管理ゴミなだけで

 

43 : 2024/04/08(月)02:01:28 ID:I9UPew2Z0
フリージアでよくね?

 

45 : 2024/04/08(月)02:02:21 ID:PoRX7vKA0
なんかそれっぽい事言ってるかと思えば急に知識が初心者レベルまで落ちるのなんなんだこいつ
誰かの受け売りか?

 

49 : 2024/04/08(月)02:28:00 ID:kfObzfUa0
それはお前が規模の大きいプロジェクトをやったことないから
勉強しただけサンプル作っただけでは分からない

 

引用元: C言語勉強したけど、Rustのメリットがマジでわからん

タイトルとURLをコピーしました