4 ms·
C was a great language when it was created, considering the requirements and constraints of that time. In 2011, it is unexcusably unsafe and lacking in abstract
by blub 16y ago
C was a great language when it was created, considering the requirements and constraints of that time. In 2011, it is unexcusably unsafe and lacking in abstraction power - C99 included.
Almost every type of operation in C is predisposed to HUMAN error (the worst kind of error) - I/O, strings, creating a data structure, declaring a variable, calling a function even basic maths can fail in unintuitive ways. [1]
No matter how many glue languages you use, C is not going to become safer or easier to use. Furthermore, C's abstractions are inadequate for most things, even the things that it's traditionally known for,such as the Linux kernel. Take a look and see how many wheels have had to be reinvented for the kernel or any large C project.
But... you probably already know all of this. It's just that you're so comfortable with it that you're willing to forgive all of its sins.
[1] https://www.securecoding.cert.org/confluence/display/seccode/CERT+C+Secure+Coding+Standard https://www.securecoding.cert.org/confluence/display/seccode...
- tptacek 16y agoWe're not discussing C vs. Lisp. We're discussing C vs. C++.