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

サムネイル
1 名前:匿名のゴリラ 投稿日時:2024/04/08(月) 01:15:54.335 ID:H0kRspgj0
C言語でよくね?
2 名前:匿名のゴリラ 投稿日時:2024/04/08(月) 01:17:21.877 ID:PF+zdJy20
メモリの安全性が保障されないじゃん
4 名前:匿名のゴリラ 投稿日時:2024/04/08(月) 01:18:29.702 ID:H0kRspgj0
>>2
変なコード書くとIDEが教えてくれるよ
freeも忘れずやればいいだけじゃん
3 名前:匿名のゴリラ 投稿日時:2024/04/08(月) 01:17:38.463 ID:/R/nzxb2M
C勉強してたら逆にRustのメリットしか感じなくないか…
5 名前:匿名のゴリラ 投稿日時:2024/04/08(月) 01:19:12.336 ID:H0kRspgj0
>>3
逆にめんどくね?ってなる
いらない機能が多すぎるじゃん
型クラスとかいらん
10 名前:匿名のゴリラ 投稿日時:2024/04/08(月) 01:22:05.860 ID:/R/nzxb2M
>>5
Rustは確かにちいさなコードなら邪魔かもしれないね
あれは大規模にコードを書くようになって初めて効果を発揮するものではある

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

15 名前:匿名のゴリラ 投稿日時:2024/04/08(月) 01:26:17.230 ID:H0kRspgj0
>>10
型クラスなくても全然困らんし、もっと言えば関数ポインタ使えば型クラスっぽいことCでも出来るよ
例えば沢山あるファイルシステムが同じように呼び出せるのは関数ポインタで抽象化してるからだし
6 名前:匿名のゴリラ 投稿日時:2024/04/08(月) 01:19:57.253 ID:H0kRspgj0
正直classとかもいらなくね?って思ってるからRustはリッチすぎる
11 名前:匿名のゴリラ 投稿日時:2024/04/08(月) 01:23:08.742 ID:/R/nzxb2M
>>6
Cもリッチすぎるしアセンブリ言語でいこう
16 名前:匿名のゴリラ 投稿日時:2024/04/08(月) 01:26:53.035 ID:H0kRspgj0
>>11
いや、それは無理だね
アセンブリでは無理
Cがちょうどいい
7 名前:匿名のゴリラ 投稿日時:2024/04/08(月) 01:21:19.267 ID:H0kRspgj0
所有権だっけ?
あれもうるせぇって思うよなぁ
8 名前:匿名のゴリラ 投稿日時:2024/04/08(月) 01:21:52.660 ID:H0kRspgj0
忘れずfreeしたらいいだけじゃん
9 名前:匿名のゴリラ 投稿日時:2024/04/08(月) 01:21:54.588 ID:PF+zdJy20
ある程度大規模な開発やれば有り難みが分かってくるよ
12 名前:匿名のゴリラ 投稿日時:2024/04/08(月) 01:23:58.881 ID:H0kRspgj0
>>9
Cでカーネルとかコンパイラとか作ってるけど全然困らん
てかgccもlinuxもCで書かれてる時点で、大規模なソフトウェアがCで書けるのは自明な気がするが…
17 名前:匿名のゴリラ 投稿日時:2024/04/08(月) 01:27:00.834 ID:/R/nzxb2M
>>12
Cでも大規模開発はできるがRustによる開発はunsafe出ない限り安全であることがかなり大きい
Linuxカーネルでも最近正式にRustのコードが入ったりしたね
なぜC++は入れなかったLinuxカーネルにRustが採用されたか考えたほうがいい
24 名前:匿名のゴリラ 投稿日時:2024/04/08(月) 01:34:54.687 ID:H0kRspgj0
>>17
そもそもLinuxのなかでRustが使われてるのってディバイスドライバーとかだろ?
メインの部分はほとんどCじゃね?
メモリ管理とかRustでやるとなるとunsafe多用して全く見通せないコードになる気がするけど
26 名前:匿名のゴリラ 投稿日時:2024/04/08(月) 01:39:20.762 ID:/R/nzxb2M
>>24
そりゃそうだ
最近やっと入ったんだから
うーん
書く人によるんじゃない
そんな見通しの悪いコードを入れるわけないし
30 名前:匿名のゴリラ 投稿日時:2024/04/08(月) 01:44:03.830 ID:H0kRspgj0
>>26
いや、そもそもRustの型推論によるメモリ安全性って、メモリ管理が立ち上がったあとにしか有効じゃなくね?
カーネルってちゃんとmalloc/freeが使えるようになる前に色んな処理をするわけじゃん
それが整う前はRustでもunsafeしつつfree打たなきゃだめじゃね?
だったらCでええやん
32 名前:匿名のゴリラ 投稿日時:2024/04/08(月) 01:45:38.425 ID:/R/nzxb2M
>>30
Rustは所有権がどこにあるかカウントしてるのでコンパイル時にすべてわかるよ
Unsafeじゃない限りコンパイル通ればぬるぽが出ることはない
18 名前:匿名のゴリラ 投稿日時:2024/04/08(月) 01:27:12.114 ID:PF+zdJy20
>>12
できないとは言ってない
管理が大変になったりうっかりミスで致命的なバグになりやすい

Cだと5千行超えてくると辛くなってくると一般的に言われる

25 名前:匿名のゴリラ 投稿日時:2024/04/08(月) 01:36:21.298 ID:H0kRspgj0
>>18
うーん。
5000超えたらツライのはRustも一緒じゃね?
クリーンコード頑張ってますか?って話なだけでしょ
違うのか…
27 名前:匿名のゴリラ 投稿日時:2024/04/08(月) 01:39:59.577 ID:/R/nzxb2M
>>25
5000行超えると楽になってくるのがRustだ
その時点で辛いならそもそも設計が間違えてる
31 名前:匿名のゴリラ 投稿日時:2024/04/08(月) 01:44:55.053 ID:H0kRspgj0
>>27
それは何で楽になるの?
型推論?
19 名前:匿名のゴリラ 投稿日時:2024/04/08(月) 01:28:14.533 ID:PoRX7vKA0
>>12
カーネルやコンパイラなんて作るだけなら俺でもできるよ
キミの作ったそれは色んな人に使われているものなの?
そういうプログラムを書く時にRustは必要なものなんだよ
28 名前:匿名のゴリラ 投稿日時:2024/04/08(月) 01:40:27.101 ID:H0kRspgj0
>>19
いや、コンパイラをRustで書くのはあんまりおすすめしないよ
Rustはllvmの公式bindingないよ(Cは公式がある)
あとCにはbisonっていう実績のある化石みたいなパーサージェネレーターもある。
Cならこれとllvm組み合わせて簡単にコンパイラ作り始められるよ

カーネルもRustが活きる部分って少ないと思うけどなぁ
メモリ管理とかRustで書くの無理じゃねって思う

13 名前:匿名のゴリラ 投稿日時:2024/04/08(月) 01:24:22.062 ID:gsI0nTQ6d
よっぽどニッチに制御系とかやらん限りC言語を選ぶメリットがそもそも分からんやろ
C#とかjsの方がなんでもできるやろ
14 名前:匿名のゴリラ 投稿日時:2024/04/08(月) 01:25:54.100 ID:PoRX7vKA0
Rustは、どーしてもC言語で書かなきゃいけなかった分野の唯一代替になりうる言語だからな
その分野では仰々しい書き方をするのが好ましいんだよ
RustよりCの方がよくね~?と思う分野はそもそもC言語使う意味ないからjavascriptとかPythonとか使った方が良い
21 名前:匿名のゴリラ 投稿日時:2024/04/08(月) 01:32:32.433 ID:H0kRspgj0
>>14
どーしてもCで書かなきゃいけない時はRustよりCで書いたほうが楽だよ
例えばOSの立ち上がり直後で、様々を初期化するときとかは、Cで書いたほうが圧倒的にきれいだよ。Rustで書くとほとんどunsafeになる
20 名前:匿名のゴリラ 投稿日時:2024/04/08(月) 01:31:44.970 ID:5XXhw8Wn0
なんでRustだけを目の敵にしているのかわからん
Cで十分ならCで書けば良いじゃん
誰かにRustに変えろって強制されてるの?
29 名前:匿名のゴリラ 投稿日時:2024/04/08(月) 01:41:08.560 ID:H0kRspgj0
>>20
XでバカがRustはいいぞって言うからだよ
良くないぞって思うからだよ
22 名前:匿名のゴリラ 投稿日時:2024/04/08(月) 01:32:38.069 ID:gsI0nTQ6d
マジでCとRustだけを比較する前にもっと色んな言語(有名どころ三つくらい)を触って如何にCが開発効率が悪い言語かってのをまず理解するところから

そもそもRustなんて変態言語使うヤツなんて大概はそれ以前に10言語くらいは触ってると思う

34 名前:匿名のゴリラ 投稿日時:2024/04/08(月) 01:48:59.650 ID:H0kRspgj0
>>22
色々触ったけど俺の中でCは非常に開発効率が良い部類だわ
Javaは記述量多くてclassの設計むずくて最悪だった。Cppはきもすぎてそんなに触れてない
Haskellは他人が書いたコード読めないうんこだった
Goは良かったな
Pythonは便利なゴミ
js/tsは便利な神

Cはそこまで悪くないって印象

23 名前:匿名のゴリラ 投稿日時:2024/04/08(月) 01:32:53.565 ID:/R/nzxb2M
Rustに入門した学生がRust批判記事でもみたんじゃね

コメント一覧

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