datahelperdata crunching
About this Entry
Posted by: datahelper

Original: 1/9/2007 2:23 PM
Views: 60
Comments: 2
eProps: 2

Read Comments
Post a Comment
Back to Your Xanga Site


Who gave the eProps?
2 eProps!2 eProps! 2 eProps from:
clevett

0 eProps - d'oh! 0 eProps from:
psycho8me


Tuesday, January 09, 2007

LISP Is For Losers .....

 .... It must be, right? If we use the groupthink (herd mentality) reasoning method that most of us do for most our lives, then languages such as Visual Basic, C, C++, and Java which have huge market share must be the best programming languages out there. Since LISP has such a tiny market share , it must be a lousy programming language.
So C++ and Java are for winners, for those who want a good paying job.
LISP, clearly, is for losers.

Just make the same choices that the majority of people make, follow the crowd.
Don't be intellectually curious.
For the job market, this does have benefits.

But groupthink, which is the way we all behave, myself included, can be very dangerous.
Remember the NASDAQ bubble, an entire country of people, all looking stupid at the same time?

The older I get, the more convinced I become that herd-mentality-reasoning-methods dominate the human mind (myself included). When an entire population chooses mass stupidity, groupthink is why. It's a human weakness. But, in fact, choosing to walk down a path that no one else wishes to trod, such a choice can carry a heavy price. Since no one travels that path, everyone thinks theres a good reason not to trod that path. So they expect anyone walking that path to find only failure.

I could go into the damage that groupthink has caused in fields as diverse as theoretical physics and the development of programming languages. The damage done in the field of economics is particularly huge. But I'm going off topic.

LISP is for losers.
Only a handful of programmers learn it, let alone use it.
People who actually make money coding in LISP, are there such people?

***************************

And yet.

LISP refuses to go away. LISP was invented in 1958. And people still use LISP. All fifteen of them.

LISP is the first of a family of languages - the functional programming languages ( ANSI Common LISP, Scheme ( another LISP dialect ), ML, Haskell). Haskell is notable because the current Perl 6 interpreter is implemented in Haskell, and some believe that rewriting the interpreter in C would be far more difficult.

Hey, Larry Wall, what do you think? I would appreciate your feedback.

So how do LISP and Haskell compare?

Can an expert LISP programmer solve practical problems in one tenth the time a Java programmer requires? Or is learning LISP a total waste of time? I don't know. Can functional programming languages be used to create an explosion of productivity in the domain of statistical programming, data preparation, and data crunching? Or is that just a pipe-dream?

**********************

A LISP program is a list. A data structure is a list. The output of a LISP program is also a list. So a LISP program can produce LISP programs. Should we care? I don't know.

But I am going to learn LISP.

At this very early stage, I can see some difficulties that can make LISP code harder to maintain.

First, all those parentheses, scattered all over the place.

But there's more:
A programmer must be careful about which lists in his program are transformed ( or evaluated ) and which lists are left untouched. That's a code maintenance cost.
If you write a list in your program, it is typically, by default, evaluated. So any list is automatically transformed into another list ( or a number or string ).
So (+ 3 5) becomes 8.
If you want the list of items to remain untouched, you need to do:
( quote (+ 3 5) )
or
'(+ 3 5)

The quote keyword ( with extra parentheses to boot) can quickly make your code very verbose. So the quote punctuation character, ' , is used. But then the quote punctuation character can take on a role even worse than the dreaded semicolon of legend. You have to keep track of all the quotes in your code. A single typed or missing quote punctuation character can completely mess up the entire program.

Do functional programming languages provide huge gains in productivity relative to more conventional programming languages, and if so, for what problem domains? Or are such claims just rubbish?




 Posted 1/9/2007 2:23 PM - 60 Views - 2 eProps - 2 comments

Give eProps or Post a Comment

2 Comments

Visit clevett's Xanga Site!
Hi there

Interesting comments - wait until you've been writing lisp for a bit and had some success with it - if you love it half as much as me you will understand why it is so fantastic.

1. Parentheses - people don't complain about XML and HTML all those < > signs, and anyway they are wonderful in terms of showing where the closure of things is.
2. I have a succesful software house based on Lisp - we developed our own artificially intelligent application server. What used to take us 6 months to develop we can do in about 4 days.
3. If you know of Lisp programmers near us they may well find we are up for hiring them.

Paul
Hyperstring.net
Posted 1/11/2007 2:42 AM by clevett - reply

Visit psycho8me's Xanga Site!
1. It's "Lisp" not "LISP".
2. The parens are good. Many languages have much more annoying syntax. The consistency of prefix notation is needed for macros and metaprogramming.
3. Programming is hard and so is trying to make meaningful assessments of languages and language features, but lisp has several fundamental advantages to non-lisp languages. Any language can offer a clever solution to a toy problem but lisp offers a whole different level of expression that is simply not available in lesserlanguages.
Posted 1/12/2007 10:30 AM by psycho8me - reply


Choose Identity
(?)
 
Give eProps (?)
Post a Comment
Add Link | Preview HTML comment help 
Profile Pic:
Default  |  Choose »  (?)



Back to datahelper's Xanga Site!
Note: your comment will appear in datahelper's local time zone:
GMT -05:00 (Eastern Standard - US, Canada)