I have been thinking of learning some programming recently, but I don’t feel confident enough. Is there any point in beginning with something like Zig or Go, and switching to something more serious later?
Learing the bases of programming is language agnostic really. You can start even with pseudo code, then learn the language you will like to work with. Just choose any language that seems fun and enjoy the process.
Good luck!
The big parts are philosophy and libraries, learning a language is relatively easy.
Avoid BASIC though, never had much use of the hours I spent on it as a preteen.
I did learn alot of useful stuff when I was playind around with arduinos, and since then the market of fun microcontrollers have expandes quite a bit. Its great to see your code immediatly change stuff in the real world even if its just a basic display connected to a thermometer
Arduino programming is basically C++ with helpers so yeah you learn a lot!!
I question the suggestion that Zig and Go are not “serious” programming languages. They certainly weren’t designed to be “easy” beginner languages.
I don’t think it matters a whole lot which language you start with. Learning to program is largely separate from learning a particular language, and if you do programming for a while, you’ll probably learn several. I do think someone who wants to understand programming deeply should learn each of:
- A lisp, probably Racket, but others will do. This teaches a lot about how computation works, and is at least a local maximum for abstractive power.
- C, an assembly language, or something similar where the developer must manage memory manually and has the ability to mismanage it. This teaches how computers work.
- A statically typed functional language, probably Haskell. This makes programming more math-like and probably represents a local maximum for what can be proven about a program’s behavior without solving the halting problem.
- SQL. I wish there was something prettier with a modicum of popularity that does what it does (PRQL is my favorite recent attempt), but there isn’t. This teaches thinking about data in sets and relations, and you will almost certainly use it in practice.



