Hacker News new | ask | show | jobs
by warabe 1215 days ago
I started learning some Rust, just begging of this yeae, and I am starting to think learning C might be the shortest path to fully understand the motivation of ownership model.

But at the same time, I don't want to invest so much time into learning a language which I probably am not going to use.

I am probably being disrespectful. I understand a lot of people use C, including Linux kernel devs, but I cannot imagine developing new apps with an old language such as C.

2 comments

Not wanting to invest time makes sense, but I think you'll definitely get return on investment by learning C. It's doesn't end with rust. Learning C's approach to memory will give you a much better understanding of pretty much all object oriented and imperative languages and give you a better understanding about how memory might be used under the hood in higher level languages in general.

It won't take you too long either! Compared to modern languages, C is very small and very simple and likely won't take as long as learning any other popular language in use today. You can learn all of C in the amount of time it takes most people to learn just the basics of a borrow checker. If you only focus on the aspects related to memory (stack, heap, sizing, arrays, pointers) it would likely only take half a day, if that.

Yeah, haste makes waste. I will give it a shot! Thanks for the tips!
Are you not interested in contributing to existing projects like Postgres, CPython... or being able to use the many libraries with C APIs?
Well, that sounds exciting, but I am a novice programmer from data science field. So, I am more like a user, rather than a developer.

Contributing to world class projects such as Postgres sounds cool, but doesn't it take years of experience?

Of course there are other benefit of learning C as you noted.