Linked by Thom Holwerda on Mon 7th May 2007 15:39 UTC, submitted by Kelly Rush
SkyOS After months of work, there is now a new complete C++ API for SkyOS, which replaces the old C API. The C++ API consists of more than 150 classes, including support for thread and process information, full GUI support, and gesture support, to name a few. Additionally, news about the LiveCD and some of the technology behind it has been updated, including a few screenshots of the LiveCD in action.
Permalink for comment 237998
To read all comments associated with this story, please click here.
RE[3]: Colour me unconvinced
by BrianH on Mon 7th May 2007 17:14 UTC in reply to "RE[2]: Colour me unconvinced"
BrianH
Member since:
2005-07-06

Aren't most languages nowadays Cplusplus-like, anyways?

No, particularly not at a binary level. On many platforms C++ code isn't even compatible with that generated by other C++ compilers on the same platform.

The object model of most OO languages nowadays is single inheritance with interfaces, not multiple inheritance like C++. Many of the newer languages are even more interesting than that, but in completely different ways than C++ on a semantic level. Even on a syntax level most languages that supposedly are derived from C++ have more in common with each other than they do with C++, having fixed many of the glaring mistakes of the C++ syntax in similar ways.

Still, the C language is so semantically weak that it really is a poor foundation for an API. C has mostly been used as a least-common-denominator language, both its strength and its weakness. A strength, because its semantics can be a subset of most languages, so it can be possible to write code to interface to C libraries. A weakness, because the language is so limited and unsafe that you have to write lots of wrapper code around those libraries just to be able to use them safely and easily.

At least with C++ you can write a powerful API that does most of the work for you, as long as you are careful in the design of that API. If you are careful enough the API can even be designed with easy interoperability in mind. We'll have to see if that is the case here.

Reply Parent Score: 5