3 ms·
> There are still an enormous number of reasons why you must use C, but it should be a constraint imposed on you, and not a language you actively want to start
by krylon 11y ago
> There are still an enormous number of reasons why you must use C, but it should be a constraint imposed on you, and not a language you actively want to start a project in.
It's the same as with, say, goto or #ifdef's - one has to consider the alternatives and make an informed choice. Most of the time, the alternatives are preferable, but sometimes there either aren't any alternatives, or they are even worse.
Which is not to say that C can't be a whole lot of fun. I love it dearly. But I, too, tend to avoid it when I can. It's just too easy to shoot yourself in the foot.
- Roboprog 11y agoIt's what they paid me to do in the 90s. That was a compelling reason to use C. (of course, one employer appropriately used C as a portable assembler, and respected it as such, for the purposes of developing a cross compiler and tool emulations for an older minicomputer environment; the next was doing (batch) "business applications" and foolishly spent too little on hardware and too much wasted effort on application development) Pascal (Modula) did much the same, SAFELY, but the money wasn't put into compiler optimization :-( Interesting that the GNU compiler collection now includes a very efficient Ada compiler.
- krylon 11y ago> Interesting that the GNU compiler collection now includes a very efficient Ada compiler. GNAT has existed for ... at least ten years, I think. The DOD apparently paid for the development so there would be at least one open source/free software implementation. (According to Wikipedia, development started about twenty years ago, and it was merged into GCC in 2001.)