Final by default?

Paulo Pinto pjmlp at progtools.org
Thu Mar 13 01:04:51 PDT 2014


On Thursday, 13 March 2014 at 05:51:05 UTC, Walter Bright wrote:
> I'd like to address, in general, the issue of, what I term, 
> "performance by default" which is part of the argument for 
> final by default.
>
> C, C++, and D are billed as languages for writing high 
> performance apps. And this is true. What is not true, or at 
> least has not been true in my experience, is that an 
> application is high performance merely because it is written in 
> C, C++ or D.
>
> Let me emphasize, code is not fast just because it is written 
> using a high performance language.
>
> High performance code does not happen by accident, it has to be 
> intentionally written that way. Furthermore, I can pretty much 
> guarantee you that if an application has never been profiled, 
> its speed can be doubled by using a profiler. And if you 
> really, really want high performance code, you're going to have 
> to spend time looking at the assembler dumps of the code and 
> tweaking the source code to get things right.
>
> High performance code is not going to emanate from those 
> programmers who are not skilled in the art, it is not going to 
> happen by accident, it is not going to happen by following best 
> practices, it is not going to happen just because you're 
> writing in C/C++/D.
>
> D certainly provides what is necessary to write code that blows 
> away conventional C or C++ code.
>
> It reminds me of when I worked in a machine shop in college. 
> I'd toil for hours cutting parts, and the parts were not round, 
> the holes were off center, heck, the surfaces weren't that 
> smooth. There was an older machinist there who'd take pity on 
> me. He'd look at what I was doing, cluck cluck, he'd touch the 
> bit with a grinder, he'd tweak the feed speed, he'd make arcane 
> adjustments to the machine tool, and out would come perfect 
> parts. I am an awe to this day of his skill - I still don't 
> know how he did it. The point is, he and I were using the same 
> tools. He knew how to make them sing, I didn't.
>
> I still cannot drill a goddam hole and get it where I measured 
> it should be.

Fully agree with you. That is how we get around writing 
distributed applications in JVM/.NET with comparable performance 
to the C++ ones being replaced.

--
Paulo


More information about the Digitalmars-d mailing list