At a crossroad

Sjoerd van Leent svanleent at gmail.com
Wed Jul 1 07:36:20 PDT 2009


Kagamin Wrote:

> Sjoerd van Leent Wrote:
> 
> > All of these environments have a stable language, and on top of that, ONE single main library. With C++ this is STL/IOStream, with .NET and Java it's their respective libraries. Similar for Python and Ruby. With D however, there are at least 2 main libraries (Phobos and Tango), whereof Tango doesn't support D2. It is unacceptable for the target audience to find this situation. Tools can't interoperate, libraries can't interoperate, etc.
> 
> You can think of Phobos as one single main library for D, Tango is 3rd-party. 3rd-party libraries exist for .net and java, because their standard libs are no silver bullet of course, and there are so many general-purpose libs for C++, that you have not enough fingers to count them, STL is still alive only due to support from die-hard c-plus-plusers. As to the languages, C# evolves, C++ evolves, Java doesn't for the very reason it will wreak the same troubles for backward compatibility D2 has now.

Yes, however, the runtime of C++ isn't dictated by STL, ATL, WTL, boost, and whatever else. So it is still possible to link the stuff together. Although naming conventions become a first class horror.

However, Tango and Phobos (D1) are simply incompatible. It's rather impossible to link both of them together.

What I want to say is that with the emergence of D2, and hopefully with the emergence of a singular runtime (druntime), this problem will be over with.

If library A is based on Tango and library B on Phobos, currently, it will not be possible to let them work together.

I would still like that we all focus on D2 development.




More information about the Digitalmars-d mailing list