A betterC base

Benny benny.luypaert at rhysoft.com
Fri Feb 9 01:55:10 UTC 2018


On Friday, 9 February 2018 at 00:08:56 UTC, Adam D. Ruppe wrote:
> On Thursday, 8 February 2018 at 23:50:29 UTC, Ali wrote:
>> But D, unlike many other languages, promotes itself as 
>> primarily a system programming language
>
> I think that's a mistake too. I'd rebrand it as a "general 
> purpose" programming language. One language you can use 
> everywhere. It worked for node.js and electron...

Plenty of "general purpose" programming languages. The issue 
being that very few offer classes, no GC, easy syntax, good 
tooling and editor support, ...

I noticed a trend with languages with so many going to functional 
programming or semi-class based.

 From the outside D looks good but there are so many strange 
things in the D design, that just infuriate.

- GC ... sure, if only it did not allocate so much on startup. It 
makes any other languages look better, by simply having a lower 
memory footprint on first comparison.  C 0.1MB, C++ 0.2MB, Rust 
0.4MB, D 1.4MB, ... Looks inefficient when its simply the whole 
1MB allocation. But perception matters!


- import ... really, we are 2018 and people are still wasting our 
time to have standard libraries as imports. Its even more fun 
when you split, only to need import the array library.

Look how ridiculous C++ like "import std.algorithm, std.conv, 
std.functional, std.math, std.regex, std.stdio;" some of the 
example on the front page look like.

I see people on Reddit sh*t all over PHP all the time and yet, 
its so darn easy and comfortable to not think about writing 
import all over the code, just to get default functionality!! 
Reddit is full of people who love to hate languages that simply 
work.


- Tooling. I will say it again and again until i die, it simply 
sucks for Windows users.

How fun is it to see dcd-server taking up between 90 to 120MB and 
seeing 10, 12, 15 instances loading into memory eating away 2GB 
memory.

Or seeing VSC work with some of the plugins for 5 minutes and 
then break again, forcing you to constantly restart VSC. Or how 
competing languages seem to provide more cleaner and better 
working plugins, with cleaner tool tips ( source documentation )

- Even the example on the front page are so typical "scare away 
the newbies". It looks like a cleaner version of C++.


D has always been a love/hate relationship for me. One can see 
the work that has gone into it but it feels like a Frankenstein's 
monster. Small details, big details, the lack of clear focus.

BetterC just moves resources away from actually implementing a 
permanent solution. Instead of maintain one system, you deal with 
two. While default D still deals with regressions and issue, 
BetterC being incomplete is pushed as the next big thing.

The library has design choices that date back a long time and 
nobody dares to touch. The whole constant GC debate is linked to 
those design choices. D can do a lot but the layer between both 
is so thin that at times you wonder if your dealing with compile 
or runtime features. CTFE or not. Talking about CTFE .. Stephan 
vanished for a long time busy with work and yet it feels reading 
the topics that very few people noticed him missing, despite 
working a year on the whole new CTFE engine. Not exactly 
motivating for people.

I can talk until i turn blue. I already wrote "a wall of text" as 
some say, in the Go topic and that was not even technical issues.

People talk about the need for a clear design focus, leadership 
and ... things go on as before. That is D in a nutshell. People 
doing what they want, whenever and things stay the same. New 
features ( that is always fun ), a few people doing to grunt work 
and all the rest comes down to people complaining because they 
see no reason to put effort into D, as it feels like a wast of 
time. << want to bet that this is the only thing people will 
quote, instead of the rest.

But on-topic again:

No GC, yay. Always a win because it makes a language stand out. 
Possible for D. NO! Too much design choices that limit the 
language. Another D3 rewrite will simply kill D.

D is so tiring. Its the main reason for going with Go, simply 
tired of waiting. In this one+ year time watching D, i have seen 
blogs, betterC half finished being promoted when D is already 
overloaded with features and has already a higher learning curve. 
More regressions and bug fix releases because the new features 
keep breaking stuff. Some more examples on the front pages. Some 
nice external packages that only limited amount of people care 
about. And very few things to improving the issues people 
mentioned the year before and the year before and the year before.

So again, why do people need to bother? The momentum D build up 
in 2016, seem to according tiobe really lost. I remember D 
hitting (23) 1% a year ago, now its ranking (29) 0.5%.

Great another wall of text at 2.50 in the morning. Frankly, i can 
write a book about D issues, justified or not. It will probably 
read like gibberish again and ... some people will cut parts to 
quote, complain ... but things will stay the same.

Everything feels so 90% finished, like the effort to finalyse 
things is always lacking. You see it everywhere in D. That is my 
view... disagree, fine but it does not change the outside 
perception of D. D needs a massive cleanup, a focus, probably a 
name change to get rid of the reputation...

D, D never changes ( fallout reference ).


More information about the Digitalmars-d mailing list