LCA: Lessons from 30 years of Sendmail
Posted Feb 4, 2011 2:51 UTC (Fri) by HelloWorld
In reply to: LCA: Lessons from 30 years of Sendmail
Parent article: LCA: Lessons from 30 years of Sendmail
I have a lot of experience with C and I like it. There's certainly something to be said for familiarity.
I don't mean to insult you, but this is exactly
the mindset I mean. It's just another way of saying "because I always did it that way", really.
C is old and well-tested.
Being well-tested helps against bugs. It doesn't help one bit against design mistakes (except if you change the design, but that never happened to a meaningful extent for the C language (I guess that's what you meant with "keeping C true to the original C spirit"))
There are many C libraries and tools available, far more than for newer languages.
Any decent language has a foreign function interface for calling C functions. And at least some of them, like D, make it absolutely trivial to create bindings.
In some cases, a 20% performance hit isn't worth it. An MTA on a busy mail system is one of those cases. While it's true that most mail systems are not that busy, MTA authors rightly attempt to make their MTA as fast and reliable as possible.
No, they don't. C won't give you the fastest possible result, assembly will (portability is not an excuse, use a portable assembly language like LLVM assmbly). Yet, people seem to think that C is somehow the be-all and end-all of programming languages when it comes to performance - it's preposterous!
to post comments)