- 12/08/2001. First release of D
- 04/08/2006. Tango was conceived
- 06/2006. First code commit of GDC
- 01/01/2007. Release of Tango, incompatible with Phobos, the standard library
- 01/02/2007. Release of D 1.00
- 03/05/2007. Release of GDC 0.23, probably the first 64-bit release of D1 compilers
- 06/17/2007. First release of D2
- 08/02/2007. First code commit of LDC
- 08/22/2007. Last release of the first generation of GDC
- 01/17/2008. Publication of “Learn to Tango with D“, writen by Kris Bell, Lars Ivar Igesund, Sean Kelly, and Michael Parker
- 02/06/2008. One of the several standard library debates over Phobos/Tango
- 07/2008. The initial developer of GDC left
- 10/2008. Sean Kelly, one of the three Tango organizers, left the Tango SVN
- 09/10/2009. GDC reloaded
- 06/12/2010. Publication of “The D Programming Language”
- 10/2010. The initial developer of LDC left
- 11/2010. Kris Bell, another Tango organizer, left the Tango SVN
- 02/17/2010. DMD2, the official compiler, supported 64-bit Linux
- 12/10/2011. Annoucement of the discontinuation of D1 on 12/31/2012
- 02/01/2012. Tango for D2 was finished, though not by the initial Tango contributors.
According to the TIOBE index, D quickly gained popularity around 2007, coicident with the release of D1, Tango, GDC and LDC. The popularity has receded since 2009, again coicident with the leave of several key D developers from the community. Looking back, I think the biggest mistake was made by the Tango developers who chose not to be compatible with the official standard library at the runtime level. I understand that the Tango runtime is probably more efficient, but asking developers to drop the official library is rare,
unreasonable and a little impolite. In my view, the incompatibility also made it much harder to port Tango to D2, which further frustrated D developers. On the other hand, my feeling is that Tango indeed played a key role in attracting C++ and Java programmers. D was probably flourishing with Tango. When Tango stopped evolving, the ranking of D according to the TIOBE index was back to the pre-Tango days. In addition, the tension between Tango and Phobos/DMD did not come without reasons. The closeness of Phobos and DMD at the beginning, the slow adoption of 64-bit platforms and the transition of D1 to D2 all led to complaints among developers. While I believe the D1 to D2 transition is unfortunately the right direction overall, the other interfering factors should and could be avoided. If these other factors could be resolved well, I am sure the D1 to D2 transition would have been made smoother as well, in the belief that we are more likely to find solutions in a friendly atmosphere.
Looking forward, I see D2 has got over some major obstacles but may also be faced with new challenges. On the up side, D2 and Phobos are more open. D2 is in many ways a better language than D1. The official 64-bit support has been finished (at least on Linux). Phobos is much more powerful. Tango has been just ported to D2 without the incompatibility with Phobos. On the down side, however, D2/Phobos is still fast moving. I do not know if a D program written today can still be compiled a year later. The Tango development team has shrunk considerably. D has probably frustrated quite a few early adopters. It is not easy to win them back.
As an outsider, I think the first priority for D is to quickly stabilize the compiler and the standard library to convince everyone that programs written now will still be compiled years later. Without this guarantee, D2 will remain as a niche/hobby language. As a rant, I think the core development team should at least make D2+Phobos easier to compile and to install. I am not bad at installing software, but it took me a couple of hours to figure out the relationship between source codes and how to install and configure without the root permission. Many newcomers will just leave without looking back.
I always think D is the most promising modern programming language, successfully combining extreme efficiency and expressiveness. I continue to hope D can take flight – I have been hoping so for 5 years. No matter whether D flourishes again or gradually fades away, its past history will become a worthy case to the open source community.