I believe John Carmack would have something to say about this.
I believe John Carmack would have something to say about this.
I would say SQL or HTTP server or game or a word processor where you have to retain sizable chunks of data in memory for longer periods is a better example of big C project. And that's where lack of automatic memory management and data abstraction in C makes it hard.
And GIMP?
The author might be talking about consumer-oriented software, but still saying that C isn't suitable for large codebases is very presumptuous.
disingenuous was the wrong word
Like for instance, C compilers. Cripes that 10k figure is so absurd...
My point is, even having one Carmack level developer on a team is a bridge to far for most.
Yes, you can write huge projects using just C, but you honestly don't think most people would recommend it unless every little drop of performance was really that important or you had no other choice or you had a super guru with an amazing track record writing the software.
At the time Q3 was written (13 years ago), console games were still being written in assembly language.
But yes, N64 games were written in assembler.
However, I did eventually spot Julia, which is totally awesome for my own personal higher level needs.
I don't know what FLINT is or what Julia is used for (Wikipedia makes it sound like a functional language?) so Lua might not be the best fit, but it's designed from the ground up to mesh with C (to the point where the solution to many otherwise simple things is "write that bit in C")
One might think C sucks and still use it. You might think it sucks, but it's still less bad than everything else. Using something doesn't necessarily makes you blind towards its drawbacks. I think a lot of the things I use everyday sucks. But I still use them because there's nothing better... yet.
All those programs written in C that everyone is posting about (quake, linux, gimp etc). Were written before Go existed. So it's very plausible that the authors could agree that C sucks if they had the option to write in Go. Which is the point of the article.
MAKE QUAKE-C
Though for Doom3 and on, they did switch to C++, which makes absolutely minimal usage of the language features, heh. I guess old habits die hard.This is true of almost every C++ project I've ever worked on. Unfortunately they all used a slightly different minimal set of language features...