Iterators and Ranges: Comparing C++ to D to Rust

Dukc ajieskola at gmail.com
Wed Jun 16 10:20:05 UTC 2021


On Wednesday, 16 June 2021 at 07:47:18 UTC, Ola Fosheim Grostad 
wrote:
> On Tuesday, 15 June 2021 at 16:21:07 UTC, Petar Kirov 
> [ZombineDev] wrote:
>> real-world cases. For example, how is it possible, that e.g. 
>> on the same computer switching between two Slack channels 
>> takes 3-4 seconds, but at the same time runs demanding AAA 
>> games from from 2-3 years ago just fine? Unless we're living 
>> in different
>
> This trend has been true since the 1980s where people wrote key 
> routines in assembly. Meaning, most projects aim for usable at 
> lowest price. More capable computers means less efficient 
> programming...

That would explain it if the programs were as slow as before, but 
Petar also complained about programs that are even slower. There 
has to me more.

It could be survivourmanship bias. Perhaps we just don't remember 
the slower programs from the old days.

I think that computers (and internet connections) differ in power 
more than they used to. The alternative explanation might be that 
developers with powerful computers don't notice as easily how 
slow stuff they are making.

Then again, it also might be more competition as industry gets 
bigger => tighter deadlines and less slack => software getting 
done worse and worse.

>
> Walter says D is for systems programming. Well, then it follows 
> that everything in the standard library should be designed for 
> that purpose.

Not everything. You're certainly familiar with the D principle 
for being BOTH a systems programming and application programming 
language. It follows that the standard library should cater for 
both cases, so large parts of the standard library should be 
handy for systems programming but not everything, because that 
would drive application programmers away.

And Phobos is on the right track. There are shortcomings, but 
nothing is fundamentally wrong from systems programming 
perspective. D ranges are totally usable at system level. I've 
used them myself when compiling to WebAssembly, where the D 
ecosystem is (currently) just as primitive as on some 
microcontroller.


More information about the Digitalmars-d mailing list