Reasons to use D
via Digitalmars-d
digitalmars-d at puremagic.com
Fri Sep 11 08:37:43 PDT 2015
On Friday, 11 September 2015 at 15:14:55 UTC, Chris wrote:
> the way it is. If not implementing breaking changes is an issue
> in D, why do people put up with C++'s backward compatibility
> then?
Because of the lack of alternatives... But it is possible to do
both. It is possible to bring current D to a complete state and
maintain it, and also create a subset of it.
In the JavaScript world you have various versions of JavaScript,
TypeScript, TypeScript+React, TypeScript+Angular, they coexists.
So, as long as you can easily interface between languages it is
ok.
I think language designers should focus more on creating
languages for writing libraries to use with other languages than
creating host languages. I am very unlikely to use Rust and D as
host languages (Swift, Objective-C, Python etc are more likely).
> If D implemented breaking changes on a regular basis, the
> criticism would go along the lines of "One cannot use it,
> because the code breaks all the time, stay away from it until
> it's stable!". I've heard it all before.
Yes, sure. Getting what you have specced out and polished is
important, because as we can see with Rust the number of
contributors increase quite a lot when people sense that you are
"close to being done, this is it". I guess because it is easier
to defend investing "work time" then.
Then again it takes a looong time from you freeze to being
totally production ready in most people's eyes. Go has been
polished for 3 years and still need another year... But Go's
commercial uptake is impressive for a relatively simple language.
Rust needs a few more years, yep, I think so.
> At least this particular reviewer of D actually used it and he
> or she does have points to take home and work on. However, I
> can't help but think that it's only from D that people expect
> miracles.
All languages suck at one level or another, which is why it is
perhaps better to create smaller languages that interoperate with
other languages really well, but I guess that vision is not so
interesting, because adding a feature is easier and more fun than
polishing what you have.
Often the runtime become more of an issue than the language. You
don't want 4 big runtimes in the same executable.
There are good things about Perl 6 for instance, but it is just
TOO big to keep in your head if you don't use it frequently.
Which is a petty, because a focused string processing language
would be a nice "sublanguage" to integrate with other languages.
Same thing with Haskell. I'd love to use Haskell for some very
specific tasks, but not as main programming language for a
project.
I think the JavaScript world is doing much better at the
integration part than other platforms. There are now more and
more browser-compilers where you can write code for various
languages and have it compiled to JavaScript on the fly. Even
OCaml:
http://zhanghongbo.me/js-demo/
More information about the Digitalmars-d
mailing list