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?
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.
The need to have a good standard GUI toolkit is not so great
these days as users are moving away from Desktop applications.
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.
Regards
Dibyendu