Difference between revisions of "Vision/2015H1"

From D Wiki
Jump to: navigation, search
(Progress in H2 2014)
m (Use a definition list)
Line 15: Line 15:
 
== H1 2015 Priorities ==
 
== H1 2015 Priorities ==
  
* Improving our brand
+
; 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: [http://www.meetup.com/London-D-Programmers/ London], [http://www.meetup.com/Berlin-D-Programmers/ Berlin], [http://www.meetup.com/D-Lang-Sillicon-Valley Silicon Valley].
+
: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: [http://www.meetup.com/London-D-Programmers/ London], [http://www.meetup.com/Berlin-D-Programmers/ Berlin], [http://www.meetup.com/D-Lang-Sillicon-Valley Silicon Valley].
  
* Improving participation
+
; Improving participation
  
Closing related to brand improvement, we plan to foster broader participation in the use and improvement of D. Our aim is to top 2000 pull requests by June 30, 2015.
+
:Closing related to brand improvement, we plan to foster broader participation in the use and improvement of D. Our aim is to top 2000 pull requests by June 30, 2015.
  
* Create the D Language Foundation
+
; Create the D Language Foundation
  
We aim to create a foundation that promotes understanding and adoption of the D programming language.
+
:We aim to create a foundation that promotes understanding and adoption of the D programming language.
  
* Improve language stability
+
; Improve language stability
  
Define appropriately fuzzily-defined areas of the language (e.g. <tt>shared</tt> semantics, <tt>@property</tt>). Foster library additions over language changes, and raise the bar on language changes.
+
:Define appropriately fuzzily-defined areas of the language (e.g. <tt>shared</tt> semantics, <tt>@property</tt>). Foster library additions over language changes, and raise the bar on language changes.
  
* Emphasize [http://vibed.org vibe.d]
+
; Emphasize [http://vibed.org 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.
+
: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.
  
* Memory Management
+
; 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.
+
: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.
  
* Safety
+
; Safety
  
We believe safety is an important aspect of language design, and we plan to continue building on the @safe/@trusted/@system troika.
+
:We believe safety is an important aspect of language design, and we plan to continue building on the @safe/@trusted/@system troika.
  
* C++ integration
+
; C++ integration
  
Smooth 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.
+
:Smooth 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
  
Quality of implementation (both language, standard library, and ecosystem) remains an overall goal.
+
:Quality of implementation (both language, standard library, and ecosystem) remains an overall goal.
  
* Foster additions to the standard library and third-party libraries
+
; 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.
+
: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.

Revision as of 02:21, 1 February 2015

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 document.

Progress in H2 2014

  • We've improved the core language and standard library, with a focus on quality.
  • 1539 pull requests created (1472 closed, 67 still open). Compare with 1546 in H1 2014 (1516+30 respectively). The halves have been roughly equal in terms of github participation.
  • 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 in the use and improvement of D. Our aim is to top 2000 pull requests by June 30, 2015.
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.
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.
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
Smooth 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.