Re: Why Lisp is not popular with average programmers



Greg Menke wrote:
"robbie.carlton@xxxxxxxxx" <robbie.carlton@xxxxxxxxx> writes:


Greg Menke wrote:


Really though, gui support is pretty far down the list of "important
features",

Not if you're a beggining programmer on a commercial os. I would say it's at the top of the list for those guys


Perhaps if all the programmer cares about is a couple forms w/ buttons-
on that basis nearly any language will do fine.  The reason Lisp is so
nice is because it makes software easier to write- and that is pretty
much independent of the interface.

If the program interacts with a user on anything with more of an interface than three buttons and a one line LCD, the program probably "needs" a GUI, in the sense that users will expect nothing less. I don't know what environment you've been cloistered in, but in the world I inhabit, command line interfaces just don't cut it for non-programmer end users. Further, for many non-trivial programs with user interfaces, the UI code is a non-trivial (indeed major) fraction of the program -- the ease of writing the software becomes very much dependent on the interface.


From a newbie perspective, I would view the relative simplicity of the
interface-free language as an advantage- less of a pile of stuff to wade
through.

I don't think this is true. What's more, I have a hard time even believing that YOU think it's true. To start: Let's agree that by 'newbie' we mean someone who has programmed in other languages, but is new to Lisp, since the fraction of contemporary newbies whose first language is Lisp is vanishingly small.


Our newbie is someone who knows that even if he doesn't want to do GUI stuff now, he wants a language with good support for GUI stuff, because he'll likely want to do it later. If our newbie doesn't do GUI, it'll be some other breakthrough in comp sci from the last five years, like networking or threads. Learning a feature-free language in order to avoid intellectual clutter at the outset is a clueless strategy.

Even languages like ruby and python, which don't have a gui in the spec
like java, still have canonical answers to the "where's the gui"
question.
....
Have you tried this search?
http://www.google.co.uk/search?q=lisp+gui

It suggests that people hear "Lisp is cool", don't do their homework,
and happen across this newsgroup and start asking questions that the
most trivial amount of legwork would answer.

Robbie wins the argument decisively with that Google search. What you apparently fail to grasp is that the first page of results from that search *IS* the answer to their homework. When someone with a modicum of experience programming looks at those results (an eight year old FAQ, packages whose most recent versions are eleven and twelve years old, a "working draft under construction" page about software which is "currently in a prerelease state") what conclusions do you think they will draw? You seem to think they're going to keep digging, rather than come to the obvious ("I'll either have to lash up a GUI myself, do without one, wait for the fairy or live with something from the eighties") conclusion.


You persist in comparing 1 implementation languages to a language with
at least half a dozen major implementations spread across quite a number
of architectures.  How can a gui interface be canonical in this
situation?

"Quite a number of architectures"? There are *FOUR* GUI architectures with perceptible marketshare: Windows, UNIX/X, Apple and "web browser." This has been true for more than a decade.


Java has an API that works on three of these, as does wxWidgets. And not by accident, either: They were created to satisfy programmers who wanted cross-platform GUIs, and number four has been evolving to compete in the same niche. Your "How can a GUI interface be canonical?" question is thus doubly flawed, for not only do you deny existence proofs, but you suggest that Lisp has multiple good GUI interfaces to choose from. If Lisp had one good GUI interface, it would be canonical right now.

You seem to want to include commercial vendors' GUI offerings, but they're not Lisp GUIs in the sense that they run on multiple Common Lisps. Even newbies (as defined above) know the difference between portable/standard GUI frameworks and vendor lock-in. I'm not denigrating proprietary products, but if you want to advocate them, you're no longer advocating for Lisp (and all the goodness that a standard with multiple implementations implies) but for a single-source solution which happens to have Lisp as a substrate.

.


Loading