6 ms·
Explain to your boss the cost/benefit of using a higher level language over c. C's benefit historically has been performance. I think the case for performance
by dave_sullivan 14y ago
Explain to your boss the cost/benefit of using a higher level language over c.
C's benefit historically has been performance. I think the case for performance is becoming less compelling for 2 reasons:
1) The performance gap is closing, thanks in particular to projects like cython that let you write python code that gets converted over and compiled as c++ that's often more performant than the c++ code that devs might write themselves.
2) In general, the cost of hardware continues to drop while the cost of developers goes up. C takes longer to write than eg Python--I don't care who you are, it does. And if you're the god programmer of C, you probably cost a lot.
So what would be the benefit of c for your boss really? It will cost more to develop, and the performance gains may not be as noticeable. It would quite possibly be bad business.
- heretohelp 14y ago>The performance gap is closing, thanks in particular to projects like cython that let you write python code that gets converted over and compiled as c++ that's often more performant than the c++ code that devs might write themselves. Well it's obvious you haven't done any systems programming. >In general, the cost of hardware continues to drop while the cost of developers goes up. C takes longer to write than eg Python--I don't care who you are, it does. And if you're the god programmer of C, you probably cost a lot. That's not what experiments have borne out, time-to-develop generally has a lot more to do with proficiency in the language of choice and in the problem domain than the language itself. I will say, however, that it is generally slower to write things in C, but not so drastically that it merits abandonment. >So what would be the benefit of c for your boss really? A solution that would reliably fit within the real-time and maintainability requirements of the problem being solved, unlike a throughput-focused GC'd language like C#.
- MartinCron 14y agoWell it's obvious you haven't done any systems programming While it may be true in this case, this is the sort of insulting and dismissive argument that I don't like to see here.
- huhtenberg 14y agoI would take GP's comment over someone preaching on a subject that he has no direct experience with. Latter is far more damaging to the discussion. The insulting tone is well justified. Having done my share of kernel development I can assure you that anyone who brings up a topic of rewriting Linux kernel in (even) C++ gets laughed out of the room. When someone starts suggesting that there are plausible alternatives to C for kernel development, it is indeed a clear indication of no prior experience with the subject matter.
- MartinCron 14y agoThe insulting tone is well justified. No! No! A thousand times No! You can make the exact same point in a way that doesn't smell of the condescending dick-waving and "laughing people out of the room" that debases the level of discourse. I think that HN can and should be a more civil community than Linux kernel programmers. Here, let me take a stab at it: "In my experience with systems and kernel development, there are some scenarios where working with a higher level language than C simply isn't possible. This sure looks like one of those scenarios to me. If the manager in this example is mandating that it be written in C, it could be that the manager knows this from painful experience."
- heretohelp 14y agoI don't tell my lawyer, my accountant, or my doctor how to do their job. I'll get a second opinion where prudent, but other than that, I don't assume I know more than somebody who's spent a good chunk of their life specializing into that field. Extend the same professional courtesy to your fellow programmers who specialized in a different field than you. Get a second opinion if you like. But stop spreading your ignorance. I have about as much patience for mollycoddling your ego as a doctor would for Jenny McCarthy telling people how dangerous and pointless vaccines are.
- MartinCron 14y agoI totally agree with that. I respect people who know more than I do and I don't tell any specialist how to do their job. But I sure as hell don't like it if a doctor or lawyer or accountant rolls their eyes at me and speaks to me in a dismissive or condescending tone because I'm trying to have an informed opinion even though I don't have the same degree of expertise that they have. Here's an example: Me: "I've done some research and I think I should get a Roth IRA..." Accountant A: "Roth? Seriously? Sigh... You obviously don't know a damn thing about tax planning. Good thing I'm here to save your sorry ass. You need a traditional IRA" -or- Accountant B: "Actually, in this case, a traditional IRA would make a lot more sense than a Roth IRA. It's a common misunderstanding." Technically, they are both on the same page, but tonally, the difference is huge. Our industry has too many people who act like Accountant A.
- dave_sullivan 14y agoHaha, ok... Specifically what experiments have shown that people can write in C faster than python? You even admit yourself that it "generally" takes longer. I think it just plain takes longer. Of course that's anecdotal, but if you've got something non-anecdotal, I'd love to see it. And since you've been so steeped in systems programming, would you not agree that the performance gap is shrinking? I think that's hard to argue against. And who said anything about abandonment? There's a place for C, but there are fewer than there used to be. But hey man, sorry if I offended you, maybe you're having a bad day.