4 ms·
I have programmed in C for a long time (for embedded before everything became ARM+Linux), and unless you have technical reasons to use C for a new project, I wo
by koffiezet 7y ago
I have programmed in C for a long time (for embedded before everything became ARM+Linux), and unless you have technical reasons to use C for a new project, I would skip it. I like tinkering with the low-levelness of C, but what applications really need that these days unless you're working with hardware/os level stuff?
There's also so much FUD about performance, but reality is that without numbers, you'll never know. Certainly for game development, unless you're working on a cutting-edge game engine, there's little reason to focus on performance first, and even then - most popular modern game engines offer interpreted paths for game logic.
Fear of garbage collectors is also bullshit in most cases. Many don't realise a simple call to free or malloc (or new/delete in C++) can result in just as much unpredictable hick-ups, which is why many games engines use specially tuned memory managers, some even specifically including garbage collectors (see the Unreal Engine for example).
Certainly in game development, flexibility to tune game mechanics is far more important to make a good game than performance, and creating such flexibility in a C application is a lot more complex/more work than in a higher-level language, and you'll end up building very high walls you really don't want to tear down and start over with.
- bsenftner 7y agoThe thing I find interesting about C is that everything and anything done in other languages can be done in C; after all, how does that language implement feature X? In some low level manner, and that is where C shines. C is not just the language, it is the entire ecosystem of all available source code written in C - compilers, browsers, you name it, it is there. Working in C is as much research and integration as one wants, with the results being any flavor of programming style you want - with all the foundation bits under your complete control. Plus the community of pure C developers is people that have been working in it for decades, with more practical programming wisdom than you'll find in shops with teams of high level developers releasing modern applications. The C teams release them too, but theirs is exponentially higher performance in exponentially smaller foot prints. Lots of software shops appear to be more into empire creation than quality software, but that's a result of decades of software industry propaganda too.
- koffiezet 7y ago> The thing I find interesting about C is that everything and anything done in other languages can be done in C With emphasis on "can". Not that you should. This is exactly what I mean, in many cases it's interesting for an intellectual exercise, but I would avoid it for new projects unless I really can't.