auto: useful, annoying or bad practice?
Neia Neutuladh
neia at ikeran.org
Sun May 20 18:00:28 UTC 2018
On Sunday, 20 May 2018 at 14:35:21 UTC, I love Ice Cream wrote:
> On Sunday, 20 May 2018 at 02:34:38 UTC, Neia Neutuladh wrote:
>> D is very hard to make an IDE for that would actually tell you
>> what type the return value is.
>
> This might sound a little hard, but that's probably a
> fundamental failure of the D language and explains some of the
> poor tooling around the language.
This is specifically when metaprogramming is going on.
Most programming languages these days fall into one of three
categories:
* They don't support metaprogramming.
* They support metaprogramming by reflection only, like Java and
Go. As soon as you use any metaprogramming, your IDE can't tell
you what types things are; you've got interface{} or Object and
you're calling Field.get() and Method.invoke().
* They support metaprogramming by merit of being a dynamic
language. As soon as you write a line of code, your IDE can't
tell you what types things are.
If you write D without any metaprogramming, it's as easy to write
an IDE for that as for Java.
The problem is that metaprogramming is useful, and in D it's not
that hard, so we use it a lot. There are proposals floating
around for "concepts" or "signatures" (basically, compile-time
interfaces) that would help out a lot, but nobody's driven one of
those proposals to completion, as far as I know.
More information about the Digitalmars-d
mailing list