4 ms·
I don't qualify any languages as OO, their creators do. You can do OO in any language, with varying degrees of difficulty and success. The language merely tries
by terrywilcox 16y ago
I don't qualify any languages as OO, their creators do. You can do OO in any language, with varying degrees of difficulty and success. The language merely tries to provide mechanisms for encouraging object oriented design (or not).
You appear to need some strict boundaries between different classes of languages. Those boundaries rarely exist. Languages and the people that define them are influenced by what they've already learned. There's nothing to stop language designers from trying to combine elements from various different types of languages, nor should there be.
Languages evolve. Philosophies evolve. Terminology evolves. Expecting to find a rigid definition within so much change is naive. Your definition will be obsolete before you get it written down.
As for religious flame wars, whatever. Ideas don't cause flame wars, people do. The tone of your post is certainly slanted toward starting one, so I'm leaving before it happens.
I hope I've been of some assistance and I hope you find what you're looking for. I fear you'll be disappointed.
Personally, I prefer a more pragmatic than academic approach to software development.
- loup-vaillant 16y agoFirst and foremost: you have been of assistance. In http://news.ycombinator.com/item?id=1808634 http://news.ycombinator.com/item?id=1808634 I've already said what I mean when I qualify some language as OO. Now your acceptance or rejection of this definition is not important. What is important is that Ocaml and Haskell both strongly encourage the use of OO as you defined it, that they greatly facilitate it, and that they even make it the standard way of writing programs. I insist because that's definitely not what one would say at first, especially starting from the reasonable looking definition of OO you provided. I don't need strict boundaries between languages, I see them. Some languages have automatic currying, some do not. Some have duck typing, some have type inference… and so on. A single difference in two languages' core features can make them quite different. Of course, if you measure languages along a single given axis (like the OO/not OO axis), the boundaries appear much smoother. By the way, I don't see how the fact that language designers are influenced by the languages they learned support (or refute) the assertion that the boundaries between languages aren't strict. > Languages evolve. Philosophies evolve. Terminology evolves. Expecting to find a rigid definition within so much change is naive. Your definition will be obsolete before you get it written down. Beware. That, is very close to a semantic stop sign http://wiki.lesswrong.com/wiki/Semantic_stopsign http://wiki.lesswrong.com/wiki/Semantic_stopsign While true, (Languages, philosophies and terminology do evolve), it is suggesting that it makes any conversation whatsoever impossible. If you don't want to discuss further, just say so (saying "I'm leaving before [a flame war] happens" was perfectly fine). Now, if you do think that the meaning of the term "OO" evolve so fast that it's not worth writing down, then you'll agree that the term "OO" itself shouldn't be used at all.. I didn't say that Ideas cause flame wars. I said that using some terms,which aren't the ideas themselves, can cause flame wars. (I said «"OO"», not «OO».) One reason the term "OO" can cause flame wars is because it triggers cached thoughts http://wiki.lesswrong.com/wiki/Cached_thought http://wiki.lesswrong.com/wiki/Cached_thought which are difficult to de-construct without a clear, agreed upon definition. And I certainly don't want to start a flame war with you. You didn't attacked me personally, nor used any dark arts http://wiki.lesswrong.com/wiki/Dark_arts http://wiki.lesswrong.com/wiki/Dark_arts Many people can't say so.