Monday, October 14, 2002

The C++ language is being ruined. I don't know what it is about C++ that encourages people to make things a whole lot more complicated than necessary. A good example is the latest addition to the Boost library. These are functions that the C++ community usually thinks should be added to the language. There is a Boost date/time library that has over 60 include files! If you just want the current time, it is extremely complicated. It also throw exceptions! So you need some tricky and unnecessary exception handling logic to do anything with dates.

The 1998 C++ standard has a new keyword called export. Apparently the idea was to make it possible to declare a template in a header file without giving the full definition. Unfortunately that is impossible, so any compiler that sees such a declaration has to find the template source code, whereever it is, and use that source whenever the template is instantiated. So the export keyword is completely useless. None of the major compiler vendors support it.

No comments: