3 ms·
I love C for system-level coding. As mentioned in OP, you don't need to study much about language implementation e.g. how GC works, the internal structure of ob
by kbumsik 9y ago
I love C for system-level coding. As mentioned in OP, you don't need to study much about language implementation e.g. how GC works, the internal structure of objects. You have the control of every espect of system and that's why Linus prefer C over C++.
But I have to admit that the biggest downside of programming in C is people make their projects complicated. I saw some projects that have compilcated Makefile build systems and have hidden definitions. The worst part is that they leave these hidden stuff UNDOCUMENTED. This is often very frustrating when contributing open source projects.
- pcwalton 9y agoYou absolutely do have to study a lot about the C language to understand when you slip into undefined behavior. There are even circumstances in which compiler developers don't agree on whether some code has defined behavior or not.
- kbumsik 9y agoYou are correct. But most cases are explicitly mentioned in compiler's documentations. I would say it's less efforts than getting to know about other language internals.
- pcwalton 9y agoI disagree. It is significantly easier to determine the semantics of arbitrary Java programs than C programs.