Oop Has Ruined Gui Standards

Yeah, I know, this is an "aggressive" and ranty title. Let's just go with it and maybe tame it in the future.

There is a huge need for a standardized cross-language GUI engine/interface that is http-friendly. Even though the techniques of GUI's themselves matured to near pinnacle more or less around 1994, we still don't have a decent cross-language standard after almost 15 years.

I believe that OOP carries the main fault for this. Cross language OOP API's are notoriously difficult and messy. Nobody has figured out how to do it right. Thus, instead they reinvent GUI engines for each and every language just about.

I believe the solution would be to use a more declarative attribute-based approach with procedural events, not unlike DBMS stored procedures (but perhaps more dynamic).

The closest we have is JS+DOM, which is messy and still language-specific more or less.

Let the counter-rants begin...

--top

Any Gui Standard is inherently a Language plus a Communications Protocol. I agree we could use a better one than HTML+JS+DOM+AJAX... something designed from the start both for more efficient latency, component caching, and streaming throughput would be very nice. (And such optimization, built into the language or protocol, IS necessary if we are to make such a standard acceptable to a broad enough audience for it to be adopted.)

But I don't see how "OOP carries the main fault for this". The real problem seems to be that "nobody has figured out how to do it right" in a far more general sense, which is why people feel obligated to reinvent it with slight variations.

Yeah, we seem to be stuck to the incremental improvements on the Xerox/Parkplace-MVC style. Time for a revolution perhaps. Time to stir the pot of complacency. Maybe non-XPMVC OOP is also a way out, or at least a big step up even if we stay with OOP engines. --top

I suppose it's attempted to be a joke, but, what is XPMVC OOP? Name me one GUI environment other than Smalltalk that actually uses it? I cannot think of even a single example. Every GUI toolkit made since the Apple Macintosh has most emphatically not used the MVC framework, and attempts to shoehorn MVC on top of a non-MVC GUI architecture results in an ImpedanceMismatch that manifests itself as framework complexity. I particularly enjoy the whole "web-MVC framework" BullShido?. MVC requires nothing less than immediate-mode graphical interaction at its core -- under no circumstances does web-based "request/reply" technology permit this; thus, MVC is utterly impossible with web-based applications. DocumentView makes a bit more sense (where the view and the controller are unified into a single View object) in this environment, if and only if you consider AJAX functionality, but even DocumentView is a molestation of the original MVC concept.

Nonetheless, divesting the software responsible for maintaining a visual representation of something from also maintaining said something's state can only be considered utter common sense. Whether you use OOP or not is irrelevant here -- factor, factor, and factor again.

Of course, there are plenty of other methods of organizing code in a GUI environment. However, blaming MVC for faults that are unequivocally the fault of a proven non-MVC architecture seems shallow and unethical to me. --Samuel A. Falvo II

JavaSwing is allegedly influenced by MVC. Whether its "true" MVC or not is probably a definitional issue.

Because MVC has definitional issues, let's not over-focus on it, but rather traits of OO GUI kits in general regardless of whether they are defined under or tied to MVC. (Related: WhatsaControllerAnyway)

--top


AugustZeroEight


EditText of this page (last edited August 12, 2008) or FindPage with title or text search