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.
