“I do consider assignment statements and pointer variables to be among computer science’s most valuable treasures” – Don Knuth

My biggest regret in my programming career is not sticking to just C. I should have avoided OO / FP and all the framework bullshit that promise everything and deliver shambles. 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

1. OS
2. CLI / GUI Apps
3. Parsers
4. Games (all 8bit, 16bit games)
5. Embedded controllers
6. Networking

without a single line of any other language. Assembly too is wonderful! And because assembly instructions have a fixed format, it too is easy to parse – just like Lisp.

Myth – C can only be used in small teams.
Reality – Linux Kernel, FFmpeg …

Myth – C doesn’t have OO so it is not an “industrial” language.
Reality – C doesn’t force you to use objects for everything. You can do composition style OO trivially in C and there are multiple options to choose from. Blender, Gimp are complex GUI apps written in C not to mention Tk. C offers shared libraries aka modules which allows you to decompose teams along those lines.

Myth – C is not functional.
Reality – C has co-routines, const, pointers and function pointers which gives you all the advantages without abstract nonsense.

Myth – C is not secure.
Reality – Somewhat true. C programmers refuse mandatory bounds checking, secure libraries and gc but this can be fixed.

s
search
c
compose new post
r
reply
e
edit
t
go to top
j
go to the next post or comment
k
go to the previous post or comment
o
toggle comment visibility
esc
cancel edit post or comment
0
Would love your thoughts, please comment.x
()
x