in reply to Re: Re: Re: ^3 OT: JavaJunkies (Javamonks sorta)
in thread OT: JavaJunkies (Javamonks sorta)
n order for programming to progress to the next natural level ( i.e programs writing programs for programs ) rather than simply getting bogged down with delivery systems, content management, and business logic, the code itself must be capable of encapsulation in order to managage the complex relationships that need to exist.
You misunderstand. I was *never* debating "encapsulation". I myself work on "large scale" (URGH) enterprise management software for major OEM's. Very large scale. Mission critical. Yes, I can fry your data for you. Java apps of huge behemoth size.
Anyhow, 'encapsulation' isn't the end all beat all -- it's a subset and/or implementation of more important concepts 'abstraction', 'isolation', and 'modularity'. These abstractions need not be defined by classes, but rather, they can be defined by data, for after all, objects are but a way of grouping methods with data that applies to that data. This is often a mistake junior programmers make. They are taught 'encapsultion', 'inheritance', and so on as chief concepts (and can repeat the word verbatim), but they miss the aim of such concepts. Interfaces have been defined (albeit not cleanly) with function pointers and structures for a long time before OOD became more PC than other forms.
Do you really think the folks at Sun got up one day, smoked a dubie and said, "Whoa Dude.. Lets right a really complicated fat language that seems intense... cuz if its fat and complicated everybody will think its cool man...
No, I think they tried to commercialize a failed embedded language that also failed for browser applications. I've been using Java since 1.1.7. There is no grand vision....it's all tacked on. They hit gold with the app servers, IMHO.
n order for programming to progress to the next natural level ( i.e programs writing programs for programs )
Back to your original item, this is A.I. land, I'm not sure why it entered the discussion. Historically, A.I. has lent itself towards functional programming (Lisp, Scheme). O.O. is fine, I like it, and it can be used combined with A.I. concepts -- however, I should point out, 'programs writing programs' has little to do with a need for 'encapsulation'. Again, the "shotgun" metaphor can be brought up.
Once folks write getter and setter methods for everything, through in a few static accessors (cough...PC globals), or chain objects such that an entire object tree is accessible...essentially encapsulation is just an illusion. It's just harder to get what you want, but you can get it. And if you need it, you'll code in a way to get there. 'encapsulated' interfaces can still cause huge ripple affects with changes, they rarely get isolation & modularity correct -- which are concepts that are not OO specific.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: ^7 OT: JavaJunkies (Javamonks sorta)
by coreolyn (Parson) on Feb 06, 2004 at 00:58 UTC | |
by demerphq (Chancellor) on Feb 07, 2004 at 09:28 UTC |