HACKER Q&A
📣 m33k44

Which systems programming language(s) is/are beginner friendly?


Which systems programming language(s) is/are beginner friendly?


  👤 jtchang Accepted Answer ✓
C is not friendly but it sets you off on the right path.

Adding a bit of C to your tool belt will give you success wherever you go. The concepts it teaches are invaluable in understanding why things are built the way they are today. Everything from memory management, to trying to solve all these vulnerabilities, to why new languages have these crazy constructs.


👤 open-source-ux
Maybe Nim. It is not a small language, but the syntax is more beginner-friendly than Rust.

Unlike Rust, Nim has far fewer learning resources (tutorials, books, courses) which may or not be important to you.


👤 flamboyant_ride
Never done any professional systems programming. C is what comes to mind. But don't let the simplicity fool you. It's pretty easy to shoot yourself in the foot with C.

Recently I've been coming across ML family of languages. I see compiler books in OCaml. Atleast in the academic discussions I see the need to get away from C in terms of building reliable computer systems. Maybe it's a bit of a stretch to call it a systems programming language but maybe something to consider.


👤 PaulHoule
Depends a lot on what you call "system": do you want to program embedded systems? write device drivers? write a database server? compilers?

👤 ruben81adelaide
There are 3 types of programming languages you can learn: Modular programming, Object oriented, and Functional programming

Python- it has a very simple syntax and it’s easy to learn. It can be used for modular programming and object oriented and it is forgiving if you don’t strictly follow the best practices. Therefore it can help to make thing working while you’re learning


👤 markus_zhang
Disclaimer: Never did any sys programming

I think C is pretty friendly as long as you can get through the basics of arrays and pointers. It's friendly in the sense that there is not a lot of grammar to learn.

But each field of system programming requires a deep understanding of something other than the language itself so overall I'd say it's difficult to get in.


👤 qq4
Plain old C is pretty beginner friendly. Programming an Arduino is a good introduction (similar to C, forgive me I'm a bit ignorant here). A good systems project would be writing a simple shell.

👤 tbrownaw
Excel formulas probably have more beginner-level users than anything else.

👤 enduku
Num and C are very beginner friendly. Red may soon get there eventually.

👤 lolski
The first two things that come to mind are Python and Go.