
Arkadiy wrote:
Since the whole conversation started from Andy's statement that GUI is an important factor of Java's success, I just specified a few other areas where C++ and Boost, IMO, are far behind Java, the areas I consider far more important than GUI. I also couldn't resist to supply my understanding of _why_ the things are in such state. If I did this in inappropriately emotional way, I am sorry. I did not mean to offend anybody, and if I still did, I appologize once again.
I happen to agree with you, Arkadiy, and share what I think is your idea that C++ in itself is a much better tool for solving problems than bare bone Java. The problem is that Java does not come bare bone. So, what can Boost do in order to create, or encourage the creation of, a "Java-like" library for C++, perhaps without the GUI part, since that is intrinsically hard to make cross-platform, and is not needed for a lot of applications? The C++ Standard will probably never explode into Javaeqsque proportions. But remember that the Java library actually consists of a lot of interfaces as well, where it is up to vendors to implement them - this is especially true with Java 2 Enterprise Edition, obviously. Perhaps the C++ Standard, or at least Boost, could define such API's, but leave the implementation to others? I would definitely love to see proper interfaces for 1. XML Parsing & Output - and perhaps "sample" implementation based on Xerces? 2. Network - yep, it is scary that a language does not come with a proper TCP/IP implementation these days. Even toy languages like Lua do, with a total footprint of 300 kB... 3. Serialization - we have a quite good candidate "in-house", although it is a bit trickier without proper reflection in the language ;-) 4. Regular Expressions - also a good candidate "in-house" 5. Database Access - I personally like the style of DTL So, the Standard (be it C++ Standard or Boost) should define these interfaces, but skip implementations. Boost should, and could, become the Sun of C++ ;-) Some 15 years ago, I was excited to see the abstract streams of C++ and hoped they would provide for the foundation of a lot of "data transfer" applications, such as serialization and SGML. I.e., a realization of Abelson and Sussman's ubiquitous streams. That never came to be. Now we have even more abstract streams and without the type-coupling. Hopefully, we could do better this time. /David