Vision for the first semester of 2016

Joakim via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Mon Jan 25 11:10:47 PST 2016


On Monday, 25 January 2016 at 18:11:24 UTC, Dibyendu Majumdar 
wrote:
> On Monday, 25 January 2016 at 02:37:40 UTC, Andrei Alexandrescu 
> wrote:
>> Hot off the press! http://wiki.dlang.org/Vision/2016H1 -- 
>> Andrei
>
> Hi,
>
> I am new to D, and having my own language implementation (based 
> off Lua) - therefore I think I can appreciate some of the 
> difficulties around getting more contributors to D. For what 
> its worth below are some thoughts on the H1 2016 priorities.
>
> I am a would be D user - D is a tool that should help me get my 
> job done. I guess the vast majority of potential users are in 
> this bracket. To become a contributor requires one of the 
> following - a) it must be your day job, i.e. someone paying you 
> to work on the language, or b) you happen to have lots of free 
> time and deeply interested in D's development, plus have the 
> skills needed to contribute to D. I think that getting 
> contributors to the core of D is going to be difficult. Most 
> other languages/compilers that have big list of contributors 
> usually have one or more large organisations funding the people 
> working on the language. Rust, Go, Gcc, Clang, Java, C#, all 
> fall into this category. I am not sure about Python, but I 
> suspect companies like Google sponsored a lot of the work done 
> in Python.
>
> Assuming that above is correct and that you will only have a 
> handful of people who can contribute to core D - then it seems 
> to me that the effort needs to be a) least wasteful, and b) 
> highly focused. Right now, there are multiple implementations 
> of D compiler - DMD, GDC, LDC, SDC - here you have a bunch of 
> people who obviously have the time, the knowledge and the 
> desire to develop D. Yet the effort is spread out into several 
> different implementations, and therefore wasteful. Why not form 
> a core group and settle on one implementation and everyone 
> focus on that? I know this is very hard as no one would be 
> willing to give up their creation, but for the greater good of 
> D? Perhaps you could assess each implementation and settle on 
> the one that has the most technical merit and future proofing?

dmd, gdc, and ldc already share a common frontend.  Walter, the 
main dmd developer, will never look at the llvm or gcc backends 
for legal reasons; the gcc devs likely won't touch anything 
that's not GPL; and the ldc devs likely prefer the license or 
implementation of llvm.  I'm not sure what motivates the sdc 
devs, but it's likely having a frontend written in D itself that 
is focused on being easily used as a library, which dmd's 
recently translated D frontend isn't.  Other than sdc, I doubt 
there's actually much code duplication going on, so I don't think 
this redundancy hurts.

> As a D user who wishes to use D as a better C / C++ - my 
> personal needs are following:
>
> a) D should work on the three major platforms - Windows, Linux 
> and OSX.
> b) It should be possible to write code in D that one would have 
> written in C / C++ - i.e. let the programmer have full control.
> c) A good debugger on all supported platforms is essential for 
> any complex language.
> d) A good IDE is essential to attract users accustomed to 
> Eclipse, IntelliJ, Visual Studio.
> e) A core library that handles the most basic stuff.
> f) Ability to easily import C libraries. I struggled with htod 
> - haven't tried dstep yet - but implementing tooling based on 
> Clang seems sensible.

I don't think there has ever been a language that would fulfill 
all these requirements, let alone an OSS one that was available 
free of charge.  D gets you some of the way, but it cannot grant 
you all your wishes.

> The need to have a good standard GUI toolkit is not so great 
> these days as users are moving away from Desktop applications.

Yeah, a couple toolkits in dub is fine.

> I realise that interfacing with C++ seems like a big goal - but 
> to be honest this isn't important to me. C++ isn't the standard 
> for cross language interfacing ... C is.

Which is why D long didn't support interfacing with C++.  But the 
leadership feels there is some untapped market out there that 
will warm to D once it can interface with C++ better, and I avoid 
C++ like the plague so I can't say if that's true or not.  I know 
that I personally don't care for such C++ integration- nor do 
many in the D community, or they wouldn't be using D already- but 
those who do seem to have their ear for now.


More information about the Digitalmars-d-announce mailing list