lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

Isn't this whole "multi-OO" debate a tad overblown?

Some points made so far, IIUIC:
  - OO is trivial, use whatever suits you
  - OO is not important
  - multiple OO models are incompatible
  - multiple OO models cause bloat
  - without a blessed OO model, newbies are lost

The Tcl community has debated these exact same issues for ages and ages. As with Lua, Tcl makes it trivial to create small OO façades for encapsulation. FWIW, Tcl appears to be moving towards a "base" OO system in the core, with which other OO models can be implemented well - not unlike what Lua's metatables and notation currently provide.

Ignoring both ends of the spectrum ("OO is bad" and "a dozen OO systems in one app"), it seems to me that the current debate boils down to:

	How to deal with code using different OO systems.

This can happen when you adopt extensions written by others (or if you're on a team which doesn't make a policy choice).

Multi-OO is similar to using multiple programming languages in one project, an issue for which various solutions have evolved over time:
  1.  don't do it
  2.  mix and match, with a bit of wrapper/glue code
  3.  rewrite code from one lang in the other
  4.  use general-purpose bridges
  5.  (partly) automatic translation
  6.  embed one in the other
  7.  engage in endless discussions ;)
(I tend to use 2, 4, or 6 - i.e. whatever gets the job done)

SoooOO... are there *specific* Lua extensions which cause OO problems when combined? In the real world that is, not in some contrived example.

Now back to the first Q: isn't this whole "multi-OO" debate a tad overblown?

(Note: if you answer "no", be prepared for a few more years of it...)