Linked by MOS6510 on Thu 10th Jan 2013 23:25 UTC
General Development "For years I've tried my damnedest to get away from C. Too simple, too many details to manage, too old and crufty, too low level. I've had intense and torrid love affairs with Java, C++, and Erlang. I've built things I'm proud of with all of them, and yet each has broken my heart. They've made promises they couldn't keep, created cultures that focus on the wrong things, and made devastating tradeoffs that eventually make you suffer painfully. And I keep crawling back to C."
Permalink for comment 548384
To read all comments associated with this story, please click here.
It's all about design
by gpsnoopy on Fri 11th Jan 2013 14:37 UTC
gpsnoopy
Member since:
2007-04-17

To me, someone who claims C is superior to any other language, is someone that has an unstructured mind when it comes to software design.

C allows you to just code and not worry about anything but the hacker-friendly part. Contrary to what appeals to programmers, that is a bad thing.

When you're coding in C, your software still has a design, even if the language does not expose it as explicitly. How many C programs around are actually pure OO design in disguise with self-implemented vtable? It's not because you don't use C++ that your program does not have "exceptions" (as in error handling logic). Etc.

Software design is hard. It's harder than just coding. How many programmers claim to know OO yet truely understand its core foundations? What about the Liskov substitution principle (just to name one).

C is absolutely appalling at dealing with modern software design problems. For example take concurrency (and I don't mean just spawning a couple of threads). Read the rationale behind Boost.Thread, C++11 and lambdas, or watch Herb Sutter videos about concurrency in C# and C++ to get a taste of the complexity of the problems.

C vs C++, C vs C#, C vs Java, C vs OO, etc is an old debate that is slowly dying as a newer generation of programmers is replacing the old guard. And funnily enough, the quality of software has massively improved over the years.

Edited 2013-01-11 14:38 UTC

Reply Score: -1