If you want to Java-style classes, then program in Java !
He makes many conjectures in his article that are flat out wrong. In no particular order:
Compile time
This is not issue either. Assuming you have all operating
system headers and frequently used containers (STL) or math libraries
in precompiled headers, and assuming that if your program is really
huge, you have separated it into components as per above, the
remaining amount of code is absolutely negligible for a modern C++
compiler.
This is just wrong, and it shows that he has never worked on a large scale C++ program. Download any large open source C++ program, compile the program, and tell me if you want to wait that long every time you forget a semi-colon.
Declare before Use
There is a C++ feature very few programmers seem to know about (or at
least, have exploited): and that is that inside a class, declare
before use doesn't hold (!). Clearly Bjarne was aware of this legacy
problem in C++ and fixed it for the inside of classes, but couldn't do
the same for top-level declarations because of backwards compatibility
with C (why? there must be some intricacy I am missing here).
[...much much more, each line more painful than the last...]
Ok, first off, it is not a feature that "very few programmers seem to know about." Second, this is a complete misunderstanding of forward declaration and what it is used for. Google's coding style guide has a halfway decent introduction: http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Forward_Declarations
They're meant to simplify the compiler and they reduce compile time substantially.
struct Bin the example to a template and it compiled just fine.