Advertisement

What is the Lisp "Enlightenment"?

Started by May 28, 2010 01:07 AM
19 comments, last by DevFred 14 years, 5 months ago
The Lisp Enlightenment is when you realize that a language that is fundamentally beautiful and thought-provoking can also be idiosyncratic and ugly. Lisp has a lot it can teach us. It's also very very old.

Incidentally, the language I'm currently playing around with is Clojure. A nearly pure-functional Lisp-1 with STM, running on the JVM? Quite nice. (It's a pity about recur.)
Here is my standard response to the Lisp question.

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

Advertisement
Over seven(wow) years ago, I asked What is so great about Lisp?.

Taking advantage of the wave of lisp support, the great ambivalence bishop_pass voted that Lisp is King.

Not long after that, Tron3k posted a request for comments in the form of Silly/fun/cool Lisp code snippets!!.

About a year later, I saw the strangest thing - Lisp Pimpin'. Who could have guessed it would come to that?

Just a few years ago, I wished a Happy Birthday to Lisp. It was a sad and lonely occasion, and I don't wish to see such a situation soon again.

To sum it all up, no, nobody is using Common Lisp, but that doesn't make it ignorable.
"Walk not the trodden path, for it has borne it's burden." -John, Flying Monk
zyrolasting: Basically, try it. If you like it then continue to explore it's use. Don't get caught up in hype, both positive and negative. It's actually just reminding of marmite right now, you either love it or hate it. You are not going to find many that appreciate it on these boards.

As for the parenthesis block, I really don't see how this is ever an issue. C and its clones have caused many a headache for newbies with braces and semi-colons. And python, held up as a great beginner language, can also cause problems at the beginning with the significant tabbing. Every language has its on grammar and once you get used to it it is fine.

I'm sure C and C++ programmers would say the {} () ; , :: . are not a problem and a Lisp programmer would say () are not a problem. I personally use Emacs and Paredit and frankly never have a problem with missing parenthesis or reading them.

As for the size issue, yeah like .Net is small or the Java class libraries or the Python library collection. The fact that some things are builtin does not make it more difficult, and you can quite easily ignore lots of it until you have the time and inclination to dig a little deeper. And its not like you can selectively deploy aspects of the .Net framework or the JVM, it is there or it isn't.

And as for age; C (1972) and C++ (1983) are older than Common Lisp (1984).
Innovation not reiterationIf at any point I look as if I know what I'm doing don't worry it was probably an accident.
I'm pretty sure it's occurred to most people that today's popular high level languages are moving to functional languages if not something lisp-like. So I think that's part of the enlightenment.

For clarity some of the languages are: Java, C#, VB.NET and XML (see the arguments of xml vs s-expressions).

Beginner in Game Development?  Read here. And read here.

 

Quote: Original post by Alpha_ProgDes
I'm pretty sure it's occurred to most people that today's popular high level languages are moving to functional languages if not something lisp-like. So I think that's part of the enlightenment.

For clarity some of the languages are: Java, C#, VB.NET and XML (see the arguments of xml vs s-expressions).
What part of Java is functional?
Advertisement
Quote:
And as for age; C (1972) and C++ (1983) are older than Common Lisp (1984).

LISP has its origins in the 1950s, it is the second oldest high level programming language still used today.
Quote: Original post by Alpha_ProgDes
I'm pretty sure it's occurred to most people that today's popular high level languages are moving to functional languages if not something lisp-like. So I think that's part of the enlightenment.

For clarity some of the languages are: Java, C#, VB.NET and XML (see the arguments of xml vs s-expressions).


I fail to see the "functional" there. "Dynamic" would be more fitting.

And about XML and S-Expressions... I think XML syntax is too clumsy to formulate a programming language in it.
Quote: Original post by rip-off
Quote:
And as for age; C (1972) and C++ (1983) are older than Common Lisp (1984).

LISP has its origins in the 1950s, it is the second oldest high level programming language still used today.


I know, but LISP is not Common Lisp, besides s-exp and cons they are quite different languages. I'm sure if you said Scheme and Common Lisp were the same then a lot of people who use those languages would strongly disagree. And even if you said C and C++ were the same a lot of people would jump out and disagree. Its like saying C is Algol, influence by sure, but not the same.

So really LISP is not used today at all.

Also I don't know why functional style programming always gets mentioned, sure closures and first class functions are essential to the functional paradigm, but the most popular Lisp's today, Scheme and Common Lisp, are multi-paradigm languages and indeed rarely do any of CL libraries I use follow a strictly functional paradigm (I am hard pushed to think of any actually).

As Konfusius mentioned, dynamic is the more stand out element.
Innovation not reiterationIf at any point I look as if I know what I'm doing don't worry it was probably an accident.
Quote: Original post by Konfusius
And about XML and S-Expressions... I think XML syntax is too clumsy to formulate a programming language in it.


Depends on what kind of programming language you want. I've worked with a handful of declarative XML-based languages and they are very effective.

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

This topic is closed to new replies.

Advertisement