Difference between revisions of "Vision/2016H2"

From D Wiki
Jump to: navigation, search
(H2 2016 Priorities)
(H2 2016 Priorities)
Line 43: Line 43:
 
;Improve organization
 
;Improve organization
  
;More stable release model, better integration of fixes, maintaining LTS releases for professional users
+
:More stable release model, better integration of fixes, maintaining LTS releases for professional users
  
 
:Better management of language and phobos development, consensus on strategies, basic project management for bigger features, better administration of DIPs and module review queue.
 
:Better management of language and phobos development, consensus on strategies, basic project management for bigger features, better administration of DIPs and module review queue.
Line 69: Line 69:
 
:Improve C++ inter-operability: struct mangling, Windows exceptions. Improve Objective-C interoperability.
 
:Improve C++ inter-operability: struct mangling, Windows exceptions. Improve Objective-C interoperability.
  
:Quality
+
;Quality
  
 
:Improve CTFE
 
:Improve CTFE

Revision as of 19:53, 7 July 2016

Meta

This document discusses the high-level vision for D. It is revised every six months (January and July).

Note: This document focuses on goals the D leadership will personally enable or make happen, or strongly believes are important for the success of the D language. Other contributions are always welcome and do not need to be necessarily aligned with this document.

H1 2016 Review

The D Language Foundation
We failed to apply for nonprofit status before the end of H1. Currently the application has been drafted and is under review by a CPA and an attorney.
Raising participation
Participation during 2016H1 has been steady but has been below expectations. Of the 2000 PRs planned for H1 we achieved 1711.
Foster brand awareness
We have had good results in this area. DConf 2016 has been a success with over 140 participants, a solid program, and an enthusiastic atmosphere. D has been featured in talks at ACCU and NDC Oslo. A number of local meetups (Bay Area, Boston, Berlin etc) took place.
The official D Blog has been created under the care of Michael Parker and already has good content.
A formalization of the DIP process has been initiated by Dicebot.
Tooling

DUB will be deployed with dmd starting with the next release.

Other

Other topics from H1 underwent only little development and will be copied as ongoing topics for H2: safety, memory management, tooling, improve language stability and specification, C++ and Objective C integration, library additions, smartphone support.

H2 2016 Priorities

The D Language Foundation
The plan is to file for non-profit status before September 1, 2016.
The Foundation has initiated collaboration with Tech Lounge, an organization that helps finishing students and fresh graduates accumulate industrial experience working on high-impact projects.
The Foundation has in working a number of speaking engagements that will add funds to its coffers.
Improve organization
More stable release model, better integration of fixes, maintaining LTS releases for professional users
Better management of language and phobos development, consensus on strategies, basic project management for bigger features, better administration of DIPs and module review queue.
Raising participation
We continue to actively look for "promoting" contributors into top, heavy-hitting ranks: owners of important projects and responsibilities, code reviewers, designers, technical leaders.
Safety and Memory Management
Safety and making the GC optional remain important concerns through the end of this year. We are putting them together because the GC alternatives we endorse must address safety.
Usable/useful escape reference analysis (finished DIP25, scope methods to avoid escaping of this, in = const scope, D variadic arguments) to enable more efficient resource management (see example)
Improve the GC.
Eliminate Phobos dependency on GC (in other words, make GC opt out a viable and simple option).
Flesh out and solidify std.experimental.allocator
Improve compiler support so ref counting can be done @safely.
Interoperability
Improve C++ inter-operability: struct mangling, Windows exceptions. Improve Objective-C interoperability.
Quality
Improve CTFE
Fix problems with excessively long mangled names
Improve internal memory management of compiler
Continue improving DMD front end internals