Page 1 of 1 [ 7 posts ] 

chever
Veteran
Veteran

User avatar

Joined: 21 Aug 2008
Age: 37
Gender: Male
Posts: 1,291
Location: Earth

23 Aug 2008, 9:30 pm

Someone mentioned in the xkcd thread that Lisp/Scheme are the greatest.

For those of you who have used some kind of Lisp, what do you think? (Preferably Common Lisp or Scheme, but bringing up Lush or even a canker sore like Emacs Lisp is acceptable.)

Personally, I feel that lazy functional languages such as Haskell are the best of all and I want to do my doctorate dissertation on lazy FP, but I'm going to hold off on Haskell until I have more knowledge of the mathematical topics involved in it (mainly category theory and the lambda calculus—Haskell is very hardcore).

So, for now at least, I will use Lisp, specifically Common Lisp. I've used it on again off again experimentally and very sporadically since—Jesus—when I was in middle school.

Scheme is a bit too minimal for my tastes. One of its original features, the concept of continuation, is very interesting, but Scheme is difficult to use practically IMO. Not least of all because of all the balkanization.

Common Lisp, although it is full of legacy crap and has a terrible community, is fairly close to being ideal. It balances power with ease of use very well in my opinion. It's challenging, but still fun and not mind-wracking. I'm up to Chapter 15 of Common Lisp: An Interactive Approach (on recursion), where it finally starts to become interesting. I'll let you know how it goes.


_________________
"You can take me, but you cannot take my bunghole! For I have no bunghole! I am the Great Cornholio!"


Orwell
Veteran
Veteran

User avatar

Joined: 8 Aug 2007
Age: 35
Gender: Male
Posts: 12,518
Location: Room 101

23 Aug 2008, 9:49 pm

I have no programming experience. Is Lisp easy to get started on? What can you do with it? What's the best way to start learning?


_________________
WAR IS PEACE
FREEDOM IS SLAVERY
IGNORANCE IS STRENGTH


Fuzzy
Veteran
Veteran

User avatar

Joined: 30 Mar 2006
Age: 52
Gender: Male
Posts: 5,223
Location: Alberta Canada

23 Aug 2008, 9:50 pm

The thing about the lisps is that they make a programmer think in a completely new way. When I was introduced to it, shortly before I started with linux, it felt ALIEN. An amazing adventure.

and yet, its intuitive in a way.


_________________
davidred wrote...
I installed Ubuntu once and it completely destroyed my paying relationship with Microsoft.


NeantHumain
Veteran
Veteran

User avatar

Joined: 24 Jun 2004
Age: 45
Gender: Male
Posts: 4,837
Location: St. Louis, Missouri

23 Aug 2008, 10:15 pm

We used Standard ML of New Jersey and Scheme in a computer science class back in college. The functional languages were an interesting intellectual curiosity since they require a very different approach from C, C++, Java, and the like. I find the sequential, procedural programming languages a bit easier to program in because it is less natural to rethink everything into stateless recursive algorithms. I'm more into programming for its practical applications than for abstract computer science, so I haven't really used any of them since college (at work there'd be zero use for them). I downloaded a Haskell 98 interpreter while at work and started reading a tutorial for a bit because I was bored, though.



NeantHumain
Veteran
Veteran

User avatar

Joined: 24 Jun 2004
Age: 45
Gender: Male
Posts: 4,837
Location: St. Louis, Missouri

23 Aug 2008, 10:21 pm

Orwell wrote:
I have no programming experience. Is Lisp easy to get started on? What can you do with it? What's the best way to start learning?

With Lisp (or Scheme at least), you end up writing code like this:
Code:
((lambda (x y)
  (let (z 5))
    (+ x (+ y z))))
4 3)

I took that out of a textbook, and it really doesn't do much spectacular despite all the parantheses (Lisp-family languages aren't the most readable).



chever
Veteran
Veteran

User avatar

Joined: 21 Aug 2008
Age: 37
Gender: Male
Posts: 1,291
Location: Earth

23 Aug 2008, 10:31 pm

NeantHumain wrote:
Orwell wrote:
I have no programming experience. Is Lisp easy to get started on? What can you do with it? What's the best way to start learning?

With Lisp (or Scheme at least), you end up writing code like this:
Code:
((lambda (x y)
  (let (z 5))
    (+ x (+ y z))))
4 3)

I took that out of a textbook, and it really doesn't do much spectacular despite all the parantheses (Lisp-family languages aren't the most readable).


That's simply not true

http://www.paulgraham.com/diff.html

The article doesn't mention lexical closure, which is available in Common Lisp and Scheme and is both easy to use and powerful. Plus Lisp variants do a decent job of supporting stateless programming, as you mentioned, though not quite as well as lazy FP tools.

Cambridge prefix notation is very easy to read when you indent properly.


_________________
"You can take me, but you cannot take my bunghole! For I have no bunghole! I am the Great Cornholio!"


Drakilor
Pileated woodpecker
Pileated woodpecker

User avatar

Joined: 14 Sep 2006
Age: 178
Gender: Female
Posts: 186

25 Aug 2008, 6:57 am

Lisp is a crappy language. It's right here in the name: Lisp. Who the hell would want to have a lisp while programming?


_________________
"Love looks not with the eyes, but with the mind; And therefore is winged Cupid painted blind."