The Paradox of Choice

From: Marshall <marshall.spight_at_gmail.com>
Date: 6 Feb 2007 10:04:16 -0800
Message-ID: <1170785056.901561.232290_at_m58g2000cwm.googlegroups.com>



Vague thoughts:

Choice isn't all its cracked up to be. Often times people don't want a lot
of different ways of doing things to sort though, even if it means more
flexibility overall.

OOPLs give you basically one way of doing things. In general, the PLs with more choices of how to express relationships between classes have not been as successful as the ones that don't. Consider CLOS, which lets you do anything and everything; you can, if you want, make up your own object model with every different application. This is wildly popular with one extreme end of the programming community, but quite unpopular overall. You also have languages with prototype objects, per-object method binding, etc. Also popular with a narrow segment but generally low market share. On the other hand, Java has exactly one way to do inheritance. There is exactly one kind of object, no closures, no facilities for delegation, etc. It's very restricted. And it's the most popular programming language ever. Worse is better?

It occurs to me that, while many of us here have no trouble mastering the SQL schema patterns for things like Master/Detail etc., these patterns are not immediately accessible to newbies, or to the vast hordes of dilettante programmers. I wonder: might it be possible to provide these folks some training wheels? Might we come up with some approach that lets us encode patterns like master/detail or many-to-many so that they may be used directly? The idea being to have a facade over the unrestricted RM that provides the appearance of there being only one way to do things, to avoid scaring people with too many choices. I am thinking of some kind of macro system.

I realize there is a good counter argument about the importance of mastering ones' tools if one wants to be a master. However, not everyone wants to be a master. And we should also acknowledge that there is something to be said for the programmer being able to focus on the application domain and not on the toolset domain. I have found that handicapped accessibility features are useful to me, even though I don't require them.

Thoughts?

Marshall Received on Tue Feb 06 2007 - 19:04:16 CET

Original text of this message