|
Prev: Deriving - .NET example
Next: Polymorphism Downsides (was: what's the future of Object Oriented Programming)
From: VV on 8 Sep 2006 10:41 I am interested in hearing everyone's opinion on what they think the future is of Object Oriented programming. I have spend most of my career with object oriented concepts (12+ years ) but recently with AJAX and the free tools, I really wonder what the future of OO is. I recently launched a business written completely with free tools like php and AJAX. I worked hard to give everything a structure like we OO programmers are so particular about but honestly there was minimal dependence on OO. The extend of my reusability might have been include pages, constants etc. Are many of you finding widespread use of OO in the web world? Vibi Varghese www.problima.com A place to bring problems ...and to get paid to solve them
From: Phlip on 8 Sep 2006 11:03 VV wrote: > I have spend most of my career with object oriented concepts (12+ years > ) but recently with AJAX and the free tools, I really wonder what the > future of OO is. > > I recently launched a business written completely with free tools like > php and AJAX. I worked hard to give everything a structure like we OO > programmers are so particular about but honestly there was minimal > dependence on OO. That makes me wonder what you think OO is, if you didn't see it all over your project. > The extend of my reusability might have been include pages, constants > etc. Re-use is a happy side-effect of good designs. The primary goal is managing dependencies between modules, by making them more pluggable. Your web page can work in any browser, so the HTTP and HTML are like adapter layers. The actual browser gives alternate behaviors to the common inputs. For example, AJAX is a data stream to an Object - any web browser. The data stream is a Message, where the JavaScript in the web page in the browser is the Method that responds to that Message. Pure OO. So the future of OO is ... you are soaking in it! -- Phlip http://www.greencheese.us/ZeekLand <-- NOT a blog!!!
From: VV on 8 Sep 2006 14:41 > That makes me wonder what you think OO is, if you didn't see it all over > your project. Interesting comment. After 12 years in the industry and 4 startups later, you would think I would know something about OO. I understand that the operating system and the browser uses OO to expose a variety of functionality. My question was simply. How much of OO is really needed in todays web based technology environment. How much OO concepts do sites like amazon.com, eBay, myspace and Google use. I personally found that the web based stateless environment is not that conducive to taking advantage of OO. We ended up borrowing a lot of benefits exposed by procedural languages but minimal from OO. I am wondering if others have a similar experience? If so, where does OO fit in with high level applications (not system based) on the web. Vibi Phlip wrote: > VV wrote: > > > I have spend most of my career with object oriented concepts (12+ years > > ) but recently with AJAX and the free tools, I really wonder what the > > future of OO is. > > > > I recently launched a business written completely with free tools like > > php and AJAX. I worked hard to give everything a structure like we OO > > programmers are so particular about but honestly there was minimal > > dependence on OO. > > That makes me wonder what you think OO is, if you didn't see it all over > your project. > > > The extend of my reusability might have been include pages, constants > > etc. > > Re-use is a happy side-effect of good designs. The primary goal is managing > dependencies between modules, by making them more pluggable. Your web page > can work in any browser, so the HTTP and HTML are like adapter layers. The > actual browser gives alternate behaviors to the common inputs. > > For example, AJAX is a data stream to an Object - any web browser. The data > stream is a Message, where the JavaScript in the web page in the browser is > the Method that responds to that Message. Pure OO. > > So the future of OO is ... you are soaking in it! > > -- > Phlip > http://www.greencheese.us/ZeekLand <-- NOT a blog!!!
From: Phlip on 8 Sep 2006 15:18 VV wrote: > How much of OO is really needed in todays web based technology > environment. All of it. You need OO each time you see code that use 'if' or 'switch' flagged by some value that is a type, not a scalar. Common example: Your users come in two types, Guest and Premium. So you store the boolean isPremium in the database, and then all over your project, from the data layer to the JavaScript, you write "if (isPremium) (whatever} else {whateverElse}" everywhere. You need polymorphic types there. You should instead have a user type with two sub-classes. User.whatever() will call one behavior for the Guests, and another for the Premiums. > How much OO concepts do sites like amazon.com, eBay, > myspace and Google use. All of it. Those guys generally resolve the types like I suggested. -- Phlip http://www.greencheese.us/ZeekLand <-- NOT a blog!!!
From: Greg Bittar on 8 Sep 2006 15:49
Hi Vibi, I know you're concentrating upon the threat to OO from other programming paradigms, but I have a different set of concerns. When I look back on my projects, the one which was thoroughly OO used GemStone. With a fully OO enterprise application server/database which allows callbacks (unlike EJB), it was natural to apply the OO paradigm to the modeling of business rules. Outside of that, I've seen applications that access data from several sources concurrently. For this, again, it was wise to have the application act as arbiter, by specifying business rules. However, what about the case where database transactions reference one relational database at a time? In this case, I think there's a strong argument that 'the methods go with the data', i.e. in stored procedures. This is a good way to meet the ACID test and ensure reusability. (Of course, sometimes there are contraints which prevent an application from making multiple queries to the database, so business rules must reside in the application.) If it weren't for the flexibility of SQL, I would imagine that OO would have proliferated onto the server, database side, a long time ago. So, this is the limiter, in my experience. But let me say something else: I've seen applications built with Java that weren't OO in the slightest, and the reality, I think, is that in the Java community, there isn't often as much of a warm embrace of OO as I would like. - Greg VV wrote: > I am interested in hearing everyone's opinion on what they think the > future is of Object Oriented programming. |