My choice to pick Go over D ( and Rust ), mostly non-technical
H. S. Teoh
hsteoh at quickfur.ath.cx
Sat Feb 3 08:18:57 UTC 2018
On Fri, Feb 02, 2018 at 08:16:25PM -0800, Walter Bright via Digitalmars-d wrote:
> On 2/2/2018 7:06 AM, Benny wrote:
> > Other languages have slogans, they have selling points.
> >
> > When i hear Go, you hear uniformal, fast, simple syntax language.
> > When i hear Rust, you hear safe, manual memory management.
> > When i hear D, you hear ... ... ... ...
>
> Fast code, fast
Frankly, that slogan makes me cringe. Makes D sound like a fast food
chain -- cheap code, fast. Would you like fa^Wfries with that?
If we're serious about being fast, we better get our act together and:
- Make the GC faster, preferably on par with Java's best;
- Make dmd's optimizer better, esp. with loop unrolling on par with
ldc/gdc, or better, so that we don't keep having to defend poor dmd
benchmarks with "use ldc/gdc instead";
- Replace commonly complained-about slow modules like std.json and
std.xml with faster (and better-designed) replacements;
- Make dub run faster -- I can't help feeling frustrated when every time
I invoke dub it takes 10-20 secs to scan the network for updates, then
another 5-10 seconds to resolve dependencies, and *then* build it,
when dmd itself is well capable of running an order of magnitude
faster than that on a comparable amount of code.
- Shorten PR waiting times on Github. Some trivial PRs sit for weeks
before even being noticed; kinda makes "fast code, fast" more of an
ironic statement than a proud banner, y'know? (I've been diving into
the deep end of the Phobos PR queue to declog old stuck PRs. Managed
to bump the queue size from 100+ down to about 89 or so, but more help
would be much appreciated. Sometimes I feel like a fast food janitor.
Or fast code janitor. :-P)
- Provide an option to turn on GC collection (or *any* memory
management, really) in dmd. I know it never frees memory because of
"performance" reasons. But performance ain't gonna mean squat on a low
memory system when you run out of memory and start swapping... or
worse, invoking the kernel OOM killer. Then "fast code, fast" becomes
"no code, killed". So much for fast. "How fast can you invoke the OOM
killer?" :-P I'd rather wait for a few more seconds and get an
executable, than to shave off a few seconds and get zilch.
T
--
"The whole problem with the world is that fools and fanatics are always so certain of themselves, but wiser people so full of doubts." -- Bertrand Russell.
"How come he didn't put 'I think' at the end of it?" -- Anonymous
More information about the Digitalmars-d
mailing list