However, when Java is promoted as the sole programming language, its flaws and limitations become serious.
The standard library saves programmers from having to reinvent the wheel.
My list of basic tools is a partial answer to the question about what has changed: Over the past few years, large numbers of programmers have come to depend on elaborate tools to interface code with systems facilities.
People who passionately want to believe that the world is basically simple react to this with a fury that goes beyond what I consider appropriate for discussing a programming language.
This evolution may compromise Java's claim of being simpler than C++, but my guess is that the effort will make Java a better language than it is today.
After all, C++ isn't a perfect match for Java's design aims either.
I find languages that support just one programming paradigm constraining.
Clearly, I reject the view that there is one way that is right for everyone and for every problem.
Personally, I look forward to better tools for analyzing C++ source code.
Thus, the standard library will serve as both a tool and as a teacher.
I would encourage nonproprietary standards for tools and libraries.
Certainly not every good program is object-oriented, and not every object-oriented program is good.
First, I'd like to see the basic tools such as compilers, debuggers, profilers, database interfaces, GUI builders, CAD tools, and so forth fully support the ISO standard.
Defining OO as based on the use of class hierarchies and virtual functions is also practical in that it provides some guidance as to where OO is likely to be successful.
It is easy to study the rules of overloading and of templates without noticing that together they are one of the keys to elegant and efficient type-safe containers.
For un-subscribe please check the mail footer.