HACKER Q&A
📣 _448

Which systems programming language is beginner/student friendly?


Which systems programming language is beginner/student friendly?


  👤 radomdude Accepted Answer ✓
From a self-taught programer coming from a law background: you should try python as a first language.

The community is huge, you can do tons of fun automation with small code (automatically send emails, manipulate files, keep track of your favorite websites...), all of which hopefully get you hooked.

Then you can transition to web/frontend with html/css/javascript if it interests you. Or you can go deeper on backend / databases / networking with C#, Java, C++ and so on.


👤 cb321
Nim, D, or possibly Python with Cython/Pythran/Nuitka/etc. acceleration (maaaaybe Go). These all have shallow learning curves and easy FFIs to C. That allows you can do easy things first and worry about hard things later/gradually.

Of course, you really need to be more precise than "systems prog.lang" as I would say there isn't great agreement on what that means. Giving a set of task categories would be better. E.g., if you want to write kernel modules for OS? then you should learn whatever language OS? is written in.


👤 tomcam
Your best bet would be C# because of Microsoft's documentation. I personally find C89 and onward to be beginner/student friendly for the serious student but YMMV. Both of these choices are high-performance languages with excellent systems support, and of course C is the best embedded systems language as well.

Others here recommend Rust or D. They're very strong languages on their own merits and would be incredible learning vehicles. My only caution is that if you also want to get a job, the C/C# families would probably be better.

I am omitting C++ from the list because you specified beginner/student friendly.


👤 garmaine
Rust. The documentation is incredible.

👤 goodpoint
Nim!