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)