> If you really consider it, what 95% of people write these days is glue between various services, and the parts that do matter, where you need the most performance, are already written in C.
I think that is absolutely on the money?... but what if you are building one of those components?... or what if you are writing a very thin wrapper on one of those components, and it is brand new and only has C bindings?... or what if you need to be portable to dozens of different platforms, many of which don't share much toolchain overlap except for gcc?
> but I guarantee I'll probably leave a buffer overflow exploit open when trying to parse GET variables.
It's pretty easy to avoid that if you are worried about it. There are buffer/blob abstractions that give you "safe" interfaces with 0 risk of buffer overflow. Really, there is no good reason to have those unless you really are trading safety for performance.
> Or I can just do it in Java, and get all the performance and almost all the advantages of doing it in C.
Sometimes you can, sometimes you can't. It depends on the problem... and your levels of skill with both Java & C.
I think that is absolutely on the money?... but what if you are building one of those components?... or what if you are writing a very thin wrapper on one of those components, and it is brand new and only has C bindings?... or what if you need to be portable to dozens of different platforms, many of which don't share much toolchain overlap except for gcc?
> but I guarantee I'll probably leave a buffer overflow exploit open when trying to parse GET variables.
It's pretty easy to avoid that if you are worried about it. There are buffer/blob abstractions that give you "safe" interfaces with 0 risk of buffer overflow. Really, there is no good reason to have those unless you really are trading safety for performance.
> Or I can just do it in Java, and get all the performance and almost all the advantages of doing it in C.
Sometimes you can, sometimes you can't. It depends on the problem... and your levels of skill with both Java & C.