[
Lists Home |
Date Index |
Thread Index
]
* Bob Foster <bob@objfac.com> [2005-08-25 13:06]:
> Dare Obasanjo wrote:
> >I think you are overanalyzing the issue. The fact is that developers using
> >object oriented programming languages like treating distributed
> >applications as distributed object applications.
> Yes <sigh> today's developers want everything to be objects. The
> list of useful entities that are not objects is quite long - XML,
> relational tables and records, higher-order functions, patterns,
> messages, etc. - but developers will have none of these unless
> they can see them through OOP-colored glasses, no matter how
> horribly awkward or inefficient the translation.
Web application programming, the client-side, scripting heavy
sort that people are flocking to today, is a path that forces
successful application developers to abandon objects.
JavaScript is a weak OO langauge, since it lacks inhertience,
and polymorphism. There are no namepsaces, so modular programing
is difficult. Reuse is already hard enough to coordinate, see
how far you get without package/unit/library facilities in the
host language.
Programmers will buy into the textbook notion that you can work
around this with JavaScripts prototypes, but soon find that they
have poorly organized, bloated classes.
And then, of course, the OO facilities in JavaScript are slow.
JavaScript handles many small objects, the natural direction of
OO programming, very poorly.
I've done some hacking on Mozile, a CSS editor that's built on
Gecko. It followed a familiar path in development.
In 0.6 they attempted to create an cross-browser abstraction
layer, so that the editor would work on IE, Mozilla, and Safari.
This never happens, and it didn't happen. The editor only ever
worked on Gecko, and because of the extra layer, it worked
slowly.
In 0.7 the editor is written directly to Gecko. It's functions
only, manipulating the DOM.
There is a natural direction from this realzation, is toward and
application that application uses closures to specify editor
behaviors, which, since they are used in all scripted event
handlers, are vetted, and perform quite well.
--
Alan Gutierrez - alan@engrm.com
- http://engrm.com/blogometer/index.html
- http://engrm.com/blogometer/rss.2.0.xml
|