From D Wiki
Revision as of 01:00, 1 February 2015 by AndreiAlexandrescu (talk | contribs) (Created page with "== Meta == This document discusses high-level vision for D. It is revised every six months (January and July of every year). This (2015H1) is the first instance of the vision...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


This document discusses high-level vision for D. It is revised every six months (January and July of every year). This (2015H1) is the first instance of the vision document.

Progress in H2 2014

  • We've improved the core language and standard library, with a focus on quality.
  • Adoption has continued to increase through H2. Daily 28-days moving average downloads: 524.393 on 2013/12/31, 700.54 on 2014/06/30, and 1226.64 on 2014/12/31. See chart.
  • DConf 2014 has been a success.

H1 2015 Priorities

  • Improving our brand

We aim to improve the brand of the D programming language. Part of that is raising the quality of all D-related materials: website, documentation, tutorials, reference, wiki, forums, etc. "This Week in D" is a related new initiative we plan to continue promoting. DConf 2015 is the premier event of the community. Regional meetups are also important for branding: London, Berlin, Silicon Valley.

  • Improving participation

Closing related to brand improvement, we plan to foster broader participation to the use and improvement of D.

  • Create the D Language Foundation

We aim to create a foundation that promotes understanding and adoption of the D programming language.

  • Improve language stability

Define appropriately fuzzily-defined areas of the language (e.g. shared semantics, @property). Foster library additions over language changes, and raise the bar on language changes.

  • Emphasize vibe.d

vibe.d is a comprehensive approach to Web development written in D that is approaching maturity. We aim to raise its importance and relevance to D development: offer bundled installation with dmd, release in lockstep, make working with vibe.d an acceptance criterion for dmd release. Essentially we aim at making vibe.d a major story of D and the leading sample application distributed with dmd.

  • Memory Management

We aim to improve D's handling of memory. That includes improving the garbage collector itself and also making D eminently usable with limited or no use of tracing garbage collection. We aim to make the standard library usable in its entirety without a garbage collector. Safe code should not require the presence of a garbage collector. Our aim is to top 2000 pull requests by June 30, 2015.

  • Safety

We believe safety is an important aspect of language design, and we plan to continue building on the @safe/@trusted/@system troika.

  • C++ integration

Seamless integration with C and C++ is an essential competitive advantage of D. We aim to support significant C++ standard library interoperability by mid-2015 and full interoperability on at least one platform by end of 2015.

  • Quality

Quality of implementation (both language, standard library, and ecosystem) remains an overall goal.

  • Foster additions to the standard library and third-party libraries

We prefer adding new components to the standard library over refactorings and reorganizations of those that work (barring bug fixes). Our vision is to foster a large standard library complemented by a strong battery of third-party libraries. Aspects like Networking, concurrent/parallel/distributed programming, and database connectivity are of interest to placing in the standard library.