Well I think "types of languages" can not be strict, unless a language is crafted to follow one-and-only-one paradigm. If you have types of languages, some languages will perfectly fit one type, but others (particularly C++) may allow several paradigms, I wouldn't give them only one type.
Then, think of such examples : a Java program using only static members (or singletons) vs a good POO C++ program. The former is closer to C-style modules than the latter. And there are examples of OO C programs (glib/gtk).
It can be tricky. I think your categories apply to actual programs rather than languages. Then some languages are designed to provide one paradigm, so programs in this language will probably end up in only one of your categories, but not all of them (badly designed ones or other exceptions). | [reply] [Watch: Dir/Any] |
The only problem I have with your argument (and it is a very good point) is that, in Java at least, you still must have an object which derives from Object. Even if all the methods are declared static, the object still must derive from Object. This is true even in Perl. As long as you bless a reference, you derive from UNIVERSAL.
In the case of C++, I think that you are more correct. C++ only encourages OO but I am still impressed by the way it only really encourages Abstract Data Types (remember you can over load how operators work) rather than Objects (which lack the ability to act like data types). I realize that I may have to think about the differences between Abstract Data Types and Objects.
| [reply] [Watch: Dir/Any] |
In Java you have int, and base types. That't exactly what you said in your initial post, but I fail to see why what is ok with Java (we can use Integer instead of int) is not ok with C++ (we can use Integer instead of int and DerivedFromObject instead of NotDerivedFromObject). Only user-defined types are Objects in Java, I would say it's not enough to fit your first category (at least, real OO languages are probably better examples).
| [reply] [Watch: Dir/Any] |
| [reply] [Watch: Dir/Any] |