Follow

I have no prior knowledge of low level programming.

My question to all.

Should I jump straight into Rust ?

or should I do C, C++ in order to fully understand the abstractions in rust?

@seb @freemo @jump_spider -- please help and do tag pro coders and builders like yourself (I don't wanna waste all my time here discussing politics, need to make friends with knowledgeable people).

ps - where do i donate to qoto

@Full_marx @freemo @jump_spider I say: Jump right into Rust. No need to punish yourself with lower level programming languages, unless you need to program very limited hardware.

@seb @freemo @jump_spider I wanna some day work in defence.

Cyber security specifically

They say was written in python and then in rust.

But I don’t want to miss out on the funamentals. But i also don’t wanna punish myself as you said.

If i pick a task too tough I might end up loosing interest.

@Full_marx

Yea its good to start where you have fun, sure. Just keep in mind in the long run not to become one of those one trick ponies. I know far too many coders who try to do everything in that one language they love and nothing else... They tend to be horrible programmers :( If you are a hammer everything starts looking like nails :)

@seb @jump_spider

@Full_marx @seb @freemo @jump_spider C++? Definitely not. C? Same abstractions you’ll see in Rust, but they look terrible and require infinitely more pickiness. Don’t torture yourself.

@tek @seb @freemo @jump_spider

There isn't much course material on Rust yet plus it's not that popular in the Industry either...yet.

But considering I am not in a hurry, I'll do Rust I guess. I can always come back to C, C++.

I think I'm getting the drift now.

@Full_marx

I'd say a good programmer should never be locked into a single language or even a small handful of languages. They all bring vital understanding to know even if you may work with one language at a time.

With that said if your looking to be a great programmer absolutely learn C, C++, even assembly, right along with Rust, Haskell, Lisp, Ruby, Java, learn it all. I picked that list of language because they each bring different paradigms to the coder that are very important to understanding and for thinking algorithmically as well as understanding the low level system and the abstractions we design on top of it.

@tek @seb @jump_spider

@freemo @tek @seb @jump_spider

Oh my this list is too long!! 😅

Yes most paradigms in most languages are the same.

But then somebody comes along and says C has memory pointers and I have no clue what that means but I start chasing it and dreaming of being this boss coder that codes only in Assembly😆

A while back, I bought a bunch of courses on algorithms and data structures. They are gathering dust now.

Must commit to a better study plan. Politics keeps distracting me.

I have this desperation within where I wanna learn a language that allows me to build something functional right away. Quickly. i am very near sighted that way.

But then again, programming is about patience. spending an entire day bug-fixing only to realise that you missed a semicolon somewhere is part of and parcel of this trade.

@Full_marx From my point of view rust is not a very good beginner language. It's aimed at eliminating a specific class of problems, that is useful for large projects with many collaborators, but hard to comprehend in context of small toy programs.

C++ on the other hand is very much opt-in in its features, so you can take baby steps with sophistication of your programs, encounter some of those problems rust solves, and decide for yourself if you like/want the solution.

@namark

This is exactly how I’m thinking right now.

But that whole, missing out on latest features thing is nagging me as well.

I’m gonna end up flipping a coin.

@Full_marx Rust has vocabulary and explicit guidance for concepts like ownership and thread-safety, which also exist in C, but informally.
Rust -> C will make you know what you're doing.
C -> Rust will require you to unlearn some habits.

@Full_marx @seb @freemo @jump_spider This is a tough question to answer. If you have experience in another object oriented language jumping into Rust might be the proper direction if you want to use the latest tech.

If you’ve never done any object oriented programming C could be a good start because the language is tiny. Only a few keywords. It could serve to help you understand memory management – you have to do it yourself – and pointers and memory addresses.

@fahrni @seb @freemo @jump_spider

I am working on web projects for now JS PHP.

I’m doing this on the side.

The main reason I’m doing it is because I want a fundamental understanding of how low level systems work. I don’t intend to code in C.

A bunch of people have told me it is very important to learn about memory pointers if you wanna get deep into pen testing, cybersecurity etc.

My question is. Does Rust assume prior fundamental understanding of memory management.

Because I believe Rust was built to solve security and other issues.

@Full_marx @seb @freemo @jump_spider I believe Rust is a very good choice if you’d like to avoid the thornier issues around memory management. 👍🏼

@Full_marx @seb @freemo @jump_spider Rust is a Very Cool and Good language. You'll save yourself a lot of unlearning if you jump right in, as long as you push through the beginning learning curve!

@restioson @seb @freemo @jump_spider

I’m up for the curve.

But wrt to having a grasp of fundamentals what would you advise? Suppose I learn C only to learn the fundamentals of low leve systems.

Is that a good decision?

@Full_marx @seb @freemo @jump_spider id say learn rust. The fundamentals will come. You don't need to know exactly how memory management works from the outset.

Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves. A STEM-oriented instance.

An inclusive free speech instance.
All cultures and opinions welcome.
Explicit hate speech and harassment strictly forbidden.
We federate with all servers: we don't block any servers.