My biggest regret in my programming career is not sticking to just C. I should have avoided OO / FP and all the framework snake oil that promise to cure everything. If you are a beginning programmer don’t waste time in any of that, develop knowledge about applications, databases, operating systems and games. C + Lua should be enough.
To date C is the only language with which you can have a complete stack
2. CLI / GUI Apps
4. Games (all 8bit, 16bit games)
5. Embedded controllers
without a single line of any other language.
Assembly too is wonderful!
Pointers > Lexical Scope
Function Pointers > Closures
Gotos > Exceptions
Tables > Objects
Co-routines > Monads
And because assembly instructions have a fixed format, it too is easy to parse – just like Lisp.