But other languages can.
1. Every feature in C implemented without hacks and kludges, natively.
2. Every feature more advanced than C stdlib.
3. Built-in security checks at compile time.
Name:
Anonymous2010-07-19 5:35
For some reason every fucker on the internet is piping in on the merits / flaws of C / C++ in the past couple weeks. Comes and goes in cycles, just like it has for the past ten years.
C is a goddamn systems programming language. You want to write enterprise software for crappy clients in a dead-end overtime job? You go do that in whatever language they like these days. But you're not escaping from C.
Take, for instance, Java. They said it was free from buffer overruns and dangling pointers and bad aliases and the like. Well, that's more or less true. But you can't write the Java runtime in Java, because the runtime is supposed to do exactly the things Java's supposed to prevent like pointer arithmetic. So the Java runtime is written in C. Guess what? There were buffer overruns and dangling pointers in the Java runtime which they had to patch.
The other reason people use C is because it's the lingua franca of computers these days. (Look it up, I can wait.) You write a library in C and you can call it from whatever fucking language you want, given a little bit of glue code. This does NOT apply to C++... you ever see someone "import boost" in Python? Hell no. But things like SQLite and PCRE and a craptonne of other C libraries work in Python just fine.
Get that? People use C for things that are either impossible or just a total pain in higher level languages. Here is your assignment. Complete all tasks in a language with a strict type system, run time array bounds checking, and garbage collection. Find out just how rarely these tasks are done in anything but C.
1. Write an OS kernel.
2. Write a language runtime.
3. Write a high performance database. (It's been done in Java, but C is usually preferred).
4. Write a web accelerator (caching reverse proxy).
5. Write drivers for some new hardware.
6. Write code for an embedded system.
Just because Linus Torvalds and Zed Shaw posted new rants about C++ this month doesn't mean that anyone gives a fuck about the two bits you have to say on the matter, it's not like we really care what Torvalds or Shaw says anyway.
P.S. No language has built-in security checks. Such a thing does not exist. It is equally easy to write insecure software in any language.