Hacker News new | ask | show | jobs
by vocram 2297 days ago
Becoming proficient in a language usually involves: - writing code with it long enough, - collaborate in a project based on it, - reading code other people wrote, - keep yourself up to date by following the language evolution, - go more in depth in language internals, compilers, etc...

I wrote C for 10+ years (mostly bare metal FW), yet I am still amazed of how little I know about it. Recently for example I learnt of all the things the dynamic linker does in Linux, how symbols memory addresses are resolved at runtime using PLT, ....

The good point about C is that it can be used for very different kind of projects, so the choices are a lot.

1 comments

This was a pure satisfaction when I have first seen it :)

https://en.wikipedia.org/wiki/Duff%27s_device

(Please don't write code like this anymore)
Sure, duff device is obsolete due to cpu zero overhead looping but it is still nice to see, mind boggling piece of code. :)
(Please do write code like this anymore.)