James Watson
Posts: 2024
Nickname: watson
Registered: Sep, 2005
|
|
Re: Back at OOPSLA
|
Posted: Nov 1, 2006 8:45 AM
|
|
> Java/C#/C++ are examples of OO programming languages. > Messaging is more of an example of a technology or system > m (i.e middleware). Yet messaging is full of OO-like > abstractions and patterns. Examples of OO-like > abstractions are 'Topic', 'Channel', 'Publisher' and > 'Envelope'. Messaging also requires the use of > 'Contracts', 'Roles' and 'Responsibilities' which seems a > lot like OO analysis.
He's not talking about distributing messaging systems like JMS. He referring to the OO concept of messaging that was one of the core ideas of SmallTalk. He's saying that the function calls are more of a procedural concept. There's something to that, I guess but I think it's just a matter of semantics. A function call is a message in Java et al. it's just that a lot of people don't think of it that way. I'd say, however, that a lot of these same developers are also not really writing OO code in Java but procedural code that uses Objects i.e. missing the point. I don't think it's a problem with the language per se but more a people problem. I'm not convinced that if you gave squeek to these developers they would write code in a dramatically different way. People are drawn to squeek because they are OO geeks, it's not squeek that makes them this way (unless, perhaps, it's their first programming language.) People are drawn to Java because it's one of the most common platforms and that naturally leads to a more spotty understanding of OO in that community. It doesn't help that a lot of major Vendors (e.g. IBM) write some of the most atrocious procedural crap Java APIs.
|
|