| | .... 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
- recommend
    - recs0
- share
- email
 - sent0
Give eProps or Post a Comment |