February 01, 2015
On Sunday, 1 February 2015 at 22:40:49 UTC, Dicebot wrote:
>>> - Create the D Language Foundation
>
> btw I personally think this is single most important point in the list that is necessary to actually moved forward with others in focused manner. But it really depends on how it is defined.

Yes, a production language requires staffing the grunt work like release planning & management, soundness analysis, usability, documentation, bug fixing, testing, support, library development, tool development, and administration. (This must be a common issue for volunteer open-source projects.)

But first, people need to get on the same page about whether D is going to “cross the chasm” [1] to a production language with many more users than developers or remain what looks like a base for language experiments and hobby projects. I think a lot of grumpiness in the forums stems from this communication gap.


The other big thing missing from the Vision doc is picking a niche, *for example* a compelling destination for programmers & projects currently stuck in C++.
  * can call a wide range of C++ code [practical transition]
  * real-time, can run w/o GC pauses [projects that are OK with GC already moved off of C++]
  * familiar, multi-paradigm, fast builds, meta-programming, concurrency that doesn't kill you
  * simpler, predictable, few pitfalls, few special cases, few design quirks, orthogonal features
  * memory-safe, overflow-safe, reliable, secure, low maintenance costs

If you're up for that, it may require an incompatible transition (D3?) e.g. to make const non-transitive for C++ compatibility, to rethink memory management, and to change or remove incomplete features.

BTW a compiled language shines for fast startup (desktop apps) and predictable performance (real-time s/w). In contrast, JIT compilers and garbage collectors will continue improving program throughput (servers).

[1] http://smile.amazon.com/Crossing-Chasm-3rd-Geoffrey-Moore-ebook/dp/B00DB3D81G/ref=sr_1_1?s=books&ie=UTF8&qid=1422832418&sr=1-1&keywords=crossing+the+chasm
February 01, 2015
On 2/1/15 11:02 AM, Phil wrote:
> I think if a concrete number inspires people to commit loads of small
> fixes to docs, unittests, etc., then this is a good thing. It's not like
> anyone is going to give up on committing when the target's reached.

Nicely we already have 484 created in January: https://github.com/pulls?q=is%3Apr+user%3AD-Programming-Language+created%3A2015-01-01..2015-01-31

Andrei
February 02, 2015
On 2/1/15 1:46 PM, Andrej Mitrovic via Digitalmars-d-announce wrote:
> On 2/1/15, Andrei Alexandrescu via Digitalmars-d-announce
> <digitalmars-d-announce@puremagic.com> wrote:
>> http://wiki.dlang.org/Vision/2015H1
>
> - Create the D Language Foundation
>
> What exactly is this idea about, can you elaborate a bit?

Glad you asked. We currently have a few expenses associated with D operation. Walter and I prefer to be discreet about such, but some of them are fairly obvious and non-negligible - such as DConf.

Such expenses have been covered by the kickstarter campaign (for DConf 2013) and now are going out of Walter's and my pocket. We've increased expenditures lately, to good effect, and would like to continue to do so but of course without becoming homeless in the process :o). It's become clear to us that the best way to scale things up is a formal framework, and a foundation is a commonly-used mechanism for such.

A foundation would provide a fair and transparent way for us to accept contributions, small and large, from interested parties, and apply them to further understanding and adoption of D.


Andrei

February 02, 2015
On 2/1/15 2:40 PM, Dicebot wrote:
> On Sunday, 1 February 2015 at 22:31:47 UTC, bachmeier wrote:
>> On Sunday, 1 February 2015 at 22:12:41 UTC, Andrej Mitrovic wrote:
>>> On 2/1/15, Andrei Alexandrescu via Digitalmars-d-announce
>>> <digitalmars-d-announce@puremagic.com> wrote:
>>>> http://wiki.dlang.org/Vision/2015H1
>>>
>>> - Create the D Language Foundation
>>>
>>> What exactly is this idea about, can you elaborate a bit?
>>
>> I think it's a reference to this thread:
>>
>> http://forum.dlang.org/thread/m0q2hk$jj4$1@digitalmars.com
>
> Well the question is more like "what exactly are you going to do about
> it from all ideas mentioned?" :)

I don't understand this question. -- Andrei
February 02, 2015
On Monday, 2 February 2015 at 00:23:22 UTC, Andrei Alexandrescu wrote:
> On 2/1/15 2:40 PM, Dicebot wrote:
>> On Sunday, 1 February 2015 at 22:31:47 UTC, bachmeier wrote:
>>> On Sunday, 1 February 2015 at 22:12:41 UTC, Andrej Mitrovic wrote:
>>>> On 2/1/15, Andrei Alexandrescu via Digitalmars-d-announce
>>>> <digitalmars-d-announce@puremagic.com> wrote:
>>>>> http://wiki.dlang.org/Vision/2015H1
>>>>
>>>> - Create the D Language Foundation
>>>>
>>>> What exactly is this idea about, can you elaborate a bit?
>>>
>>> I think it's a reference to this thread:
>>>
>>> http://forum.dlang.org/thread/m0q2hk$jj4$1@digitalmars.com
>>
>> Well the question is more like "what exactly are you going to do about
>> it from all ideas mentioned?" :)
>
> I don't understand this question. -- Andrei

You have already partially asked here http://forum.dlang.org/post/mamfhp$1den$1@digitalmars.com
February 02, 2015
*answered
February 02, 2015
On 2/1/15 3:52 PM, Jerry Morrison wrote:
> On Sunday, 1 February 2015 at 22:40:49 UTC, Dicebot wrote:
>>>> - Create the D Language Foundation
>>
>> btw I personally think this is single most important point in the list
>> that is necessary to actually moved forward with others in focused
>> manner. But it really depends on how it is defined.
>
> Yes, a production language requires staffing the grunt work like release
> planning & management, soundness analysis, usability, documentation, bug
> fixing, testing, support, library development, tool development, and
> administration. (This must be a common issue for volunteer open-source
> projects.)
>
> But first, people need to get on the same page about whether D is going
> to “cross the chasm” [1] to a production language with many more users
> than developers or remain what looks like a base for language
> experiments and hobby projects. I think a lot of grumpiness in the
> forums stems from this communication gap.

Well put.

> The other big thing missing from the Vision doc is picking a niche,

That may as well come later - or not at all. We don't think it is now time to commit to a particular niche.

> *for
> example* a compelling destination for programmers & projects currently
> stuck in C++.
>    * can call a wide range of C++ code [practical transition]
>    * real-time, can run w/o GC pauses [projects that are OK with GC
> already moved off of C++]
>    * familiar, multi-paradigm, fast builds, meta-programming,
> concurrency that doesn't kill you
>    * simpler, predictable, few pitfalls, few special cases, few design
> quirks, orthogonal features
>    * memory-safe, overflow-safe, reliable, secure, low maintenance costs
>
> If you're up for that, it may require an incompatible transition (D3?)
> e.g. to make const non-transitive for C++ compatibility, to rethink
> memory management, and to change or remove incomplete features.

We're not planning for an incompatible revision. I see const transitivity a small problem; good style C++ code enforces transitive const semantics, and guarantees of STL containers have improved in that direction in C++11 (STL containers don't need write locks for const methods).


Andrei

February 02, 2015
On Monday, 2 February 2015 at 00:58:53 UTC, Andrei Alexandrescu wrote:
> On 2/1/15 3:52 PM, Jerry Morrison wrote:
>> The other big thing missing from the Vision doc is picking a niche,
>
> That may as well come later - or not at all. We don't think it is now time to commit to a particular niche.

OK. Just keep in mind that if you want to “cross the chasm” from visionaries to pragmatics, it requires meeting 100% of the needs of at least one niche (whether that's real-time, bare-metal, desktop apps, web servers, data analysis, mobile apps, or whatever).

It does no good to meet 90% of the needs of many niches.

https://blogs.saphana.com/2013/02/04/the-end-of-the-beginning-sap-hana-has-crossed-the-chasm/
February 02, 2015
s/pragmatics/pragmatists/
February 02, 2015
On Monday, 2 February 2015 at 01:43:02 UTC, Jerry Morrison wrote:
> On Monday, 2 February 2015 at 00:58:53 UTC, Andrei Alexandrescu wrote:
>> On 2/1/15 3:52 PM, Jerry Morrison wrote:
>>> The other big thing missing from the Vision doc is picking a niche,
>>
>> That may as well come later - or not at all. We don't think it is now time to commit to a particular niche.
>
> OK. Just keep in mind that if you want to “cross the chasm” from visionaries to pragmatics, it requires meeting 100% of the needs of at least one niche (whether that's real-time, bare-metal, desktop apps, web servers, data analysis, mobile apps, or whatever).
>
> It does no good to meet 90% of the needs of many niches.
>
> https://blogs.saphana.com/2013/02/04/the-end-of-the-beginning-sap-hana-has-crossed-the-chasm/

What was the niche C++ aimed for a couple decades back, C with objects?  D is aiming for the same "niche" as C and C++, a general-purpose, native-compiled language that allows you to extract almost-maximal performance while still being relatively easy to use, at least compared to the alternatives.

Perhaps focusing on a smaller niche first would allow D to gain a larger following quicker, but that might box it in from becoming more general-purpose later, as early decisions optimize for that niche and might be tough to undo.  Go certainly seems stuck in a niche now, though I'm not sure how much of that is because they just don't want to add more general-purpose features like generics, ie they're happy in their niche.

C and C++ are very general-purpose, but they can still be considered as a "niche" of performance languages.  What's wrong with D aiming for that "niche?"