Vision for the D language - stabilizing complexity?

Chris via Digitalmars-d digitalmars-d at puremagic.com
Thu Jul 14 08:28:45 PDT 2016


On Thursday, 14 July 2016 at 14:46:50 UTC, Ola Fosheim Grøstad 
wrote:
> On Thursday, 14 July 2016 at 14:11:25 UTC, Chris wrote:
>> On Thursday, 14 July 2016 at 13:39:48 UTC, Ola Fosheim Grøstad 
>> wrote:
>>> On Thursday, 14 July 2016 at 13:26:06 UTC, Chris wrote:
>>>> Such a language will never see the light of day.
>>>
>>> Many such languages exist.
>
> Didn't I say that I don't have time for a long rant? :-)
>
> Simula is a pretty good example. In it's first incarnation it 
> was a simulation language, then it was reformulated as a 
> general purpose language.
>
> Dart is a pretty good example. The extensions have been 
> primarily syntactical AFAIK.
>
> TypeScript is a pretty good example of a language that is both 
> stable and wildly expansive, as the core language is JavaScript 
> and TypeScript is a layer above the core language. It is 
> getting pretty good actually.

> Go is a reasonable example (despite the error handling 
> blunder). It has not changed much in terms of the core language 
> and IIRC it is based on earlier languages by the same authors.
>
> The JVM is also a decent example of a core language that is 
> fairly stable. It as based on the StrongTalk VM.
>
> I could go on for a while.

I'm not convinced.

Dart & TypeScript are scripting languages for the Internet and 
cannot be compared to D and C++.

Go is an Internet/server language, very bare bones and designed 
for Google's code mines.

All three languages above where designed by big companies with 
certain commercial goals in mind.

I don't know much about Simula (your patriotic choice :), but 
it's pure OOP and as such cannot be compared to D either (which 
is multi-paradigm).

>> ... and they're all usable as in I can write software with 
>> them right now.
>
> Plenty of languages are usable, both Pony and Pure are usable, 
> but they are not widely used. So it currently does not make 
> much sense for me to use them as they most likely would cause 
> more trouble than they would save me.

But you don't use them for a reason.

>> Examples?
>
> Slices etc.
>
>> Yes, exactly, they were never meant to be big languages, just 
>> scripting tools. Same happened to Python in a way. It should 
>> never have left the lab and infected millions of people.
>
> Python was informed by an educational language, but was 
> designed to appeal to professionals, so I don't think it 
> applies to Python as much.

But only in a "lab environment".

>> There's never _the_ perfect time to deploy a language, just 
>> like there's never _the_ perfect time to buy a computer, the 
>> moment you leave the shop it's out of date.
>
> Huh, I don't understand the comparison?

I.e you have to deploy it at some point, it will never be perfect 
before you deploy it - just as you have to buy a computer at some 
point. If you keep waiting for the next generation, you'll never 
buy a computer (has happened!).

> Anyhow, I don't upgrade until I hit some unacceptable 
> performance issues. I have a 4 year old computer and have no 
> performance issues with it yet. :-P
>
> There is very little advantage for me to have a faster computer 
> than where the software is deployed.
>
>
>> You're dreaming of a language that only exists in cloud cuckoo 
>> land and it will get you nowhere.
>
> Nope. Such languages exits, but they are not _system level_ 
> programming languages.

So they don't exist, because the perfect language is also a 
system level language.

>> But of course, it's much easier to criticize the players on 
>> the pitch from your comfy armchair than to actually go onto 
>> the pitch and play yourself.
>
> What makes you think that I am not playing? What you actually 
> are saying is that one should not make judgments about 
> programming languages or try to influence their direction.

I don't know whether I should be sad or angry to see someone with 
your knowledge and experience wasting his time endlessly ranting 
about D (while praising every other language under the sun). You 
could make valuable hands-on contributions to D, but choose to be 
the Statler & Waldorf of the community - only without the fun 
factor. It's tiresome and doesn't get us anywhere.

>> No language ever gets it 100% right, because there are 
>> conflicting demands, and it's trivial to point out flaws that 
>> are bound to arise out of conflicting demands.
>
> What conflicting demands do you suggest applies to D?
>
> I don't see them, so I hope you can inform me.

E.g. low-level control vs. safety (cf. the discussion about 
casting away immutable)


More information about the Digitalmars-d mailing list