Definition of D
D is a programming language which resulted from a reengineering of the C++ language. It is a multi-paradigm, imperative and object oriented programming language which has been influenced significantly by other programming languages like Ruby, Python, Java and C#.
The aim behind the creation of D was to create a language which possessed the safety and performance of compiled languages, as well as the power of expression which is common among modern dynamic languages. Code written in D is usually as fast as that written in C++, but is shorter and memory safe.
History of D
In 1999, Walter Bright started working in the creation of a new language. In December 2001, D was released for the first time and this was followed by a version 1.0 in the year 2007. The foundational version of the language, D1, was quite similar to C++ as it focused in imperative, metaprogramming and object oriented paradigms.
Members of the D community were not satisfied with Phobos, the official standard library of the language and created Tango, an unofficial standard library, announcing its release shortly afterwards that of the version 1.0 of D. Tango made use of an entirely different programming style involving OOP and high modularity. It progressed much more quickly than the official library as it was open to contributions. Tango and Phobos had different runtime support APIs and could not be run together, leading to much conflict.
The first edition of D2 was launched in June 2007, suggesting that the first version had become table. D2 brought many changes with itself, including features such as closures, support for functional and concurrent programming paradigms, as well as purity. The standard library issue was also resolved with the advent of D2 as it separated the runtime and the standard library. In February 2012, it was announced that a D2 Tango port had been completed.
The stabilization of D was confirmed by the publishing of the book ‘The D Programming Language’ written by Andrei Alexandrescu’s. It was published on 12th June 2010. Development of D shifted from a bugtracker/ patch submission basis to Github in January 2011. As a result, there has been a substantial increase in contributions to the standard library, runtime, as well as the compiler.
Andrei Alexandrescu announced in December 2011 that the discontinuation of D1 would be effective from 31st December 2012 – on the same date as the release of the last stable version of D1, D v1.076.