Live data from Hacker News

Ask HN: About all this Lisp fuzz

news.ycombinator.com

11–20 of 40 posts

Re: Ask HN: About all this Lisp fuzz

#11
post #8
post #4

Earlier quoted context omitted.

Common Lisp was an effort to create an unified, "industrial strength" version of Lisp, because at the time there were many. For this reason the resulting standard is very large and complex. Scheme has been designed with a different agenda (cleanliness, elegance, etc.) and it is more used in the academia ; for example, scheme is the dialect used in the famous SICP book. If you choose CL, the choice of implementation i…

And even though Scheme was designed to be clean and elegant, CL has to be backward compatible and thus cannot be 'cleaned', right?. Is there any 'cleaner' CL standard, or at least a 'best practices' guide to code in a cleaner way, avoiding the worse pits that had to be kept in the standard due to backward compatibility? I can give you a simple C++ example of what I mean. In C, you had those *parameters that had to be…

The "backward compatibility issue" means simply that the Common Lisp is a very large language, so it is slightly more scaring at first. Also, some things are strangely named for historical reasons.

Regarding scheme vs CL, I don't want to start a flame war, I like both languages. It seems to me that CL is more dirty-hands, product-oriented and agnostic, while Scheme is sort of a beautiful thought experiment, meant to teach things. [Yes, I know you can code practical things in scheme too]

CL gives you more rope to hang yourself with macros. Which is a things that most hackers appreciate, anyway.

There aren't many style guides on CL, but Peter Seibel's book is a good start. But in the end I think you should try to play more with code and worry less about lisp theology :)

Re: Ask HN: About all this Lisp fuzz

#12
post #11
post #8

Earlier quoted context omitted.

And even though Scheme was designed to be clean and elegant, CL has to be backward compatible and thus cannot be 'cleaned', right?. Is there any 'cleaner' CL standard, or at least a 'best practices' guide to code in a cleaner way, avoiding the worse pits that had to be kept in the standard due to backward compatibility? I can give you a simple C++ example of what I mean. In C, you had those *parameters that had to be…

The "backward compatibility issue" means simply that the Common Lisp is a very large language, so it is slightly more scaring at first. Also, some things are strangely named for historical reasons. Regarding scheme vs CL, I don't want to start a flame war, I like both languages. It seems to me that CL is more dirty-hands, product-oriented and agnostic, while Scheme is sort of a beautiful thought experiment, meant to…

That's exactly what I am trying to do. but I am hearing all those omens about Lisp but I sense I need to understand it better before I dive myself into it. There is absolutely NO market for it where I live so, if I would learn it, it would be for personal gain. Not that it is a problem, but without a market compass, I feel like I need a map.

Thanks for your answers.

Re: Ask HN: About all this Lisp fuzz

#13
post #10
post #6

Speaking of one who has four "distros" in the shop (ubuntu, freebsd, openbsd, osx) each of these has its strength and making our stuff work on them is not a big deal. I don't get confused at all, and there isn't all that much "noise". Similarly, for the very high performance stuff, i use SBCL which generates native code on all the above platforms. I recently have started to do CCL because a client wants a true mac ap…

It may not be for you, but it was for me in the beggining. I already went through 3 distros - Kurumin, Suse and Ubuntu, and the only reason I still have a Windows partition is to play some games that I couldn't (or didn't bother to) make work under Linux. I can tell you, the bar is very high to start. Ubuntu made it lower (and lower at each version) but it is still too high for mainstream. And it need not be. The who…

1. choose your lisp dialect: do you want to learn CL, Scheme, Arc, ...?

2. randomly pick an implementation of your chosen lisp. It really makes no difference as a beginner. I speak from experience. You can always switch later in a painless way.

regarding CL, choose an open source implementation if you don't fear things like emacs. If you prefer a more polished IDE, choose a commercial implementation.

Re: Ask HN: About all this Lisp fuzz

#14
post #13
post #10

Earlier quoted context omitted.

It may not be for you, but it was for me in the beggining. I already went through 3 distros - Kurumin, Suse and Ubuntu, and the only reason I still have a Windows partition is to play some games that I couldn't (or didn't bother to) make work under Linux. I can tell you, the bar is very high to start. Ubuntu made it lower (and lower at each version) but it is still too high for mainstream. And it need not be. The who…

1. choose your lisp dialect: do you want to learn CL, Scheme, Arc, ...? 2. randomly pick an implementation of your chosen lisp. It really makes no difference as a beginner. I speak from experience. You can always switch later in a painless way. regarding CL, choose an open source implementation if you don't fear things like emacs. If you prefer a more polished IDE, choose a commercial implementation.

CL on Lispbox is what I have now. Which means I use (use being a overstatement) e-Macs with a Lisp extension.

Re: Ask HN: About all this Lisp fuzz

#16

You should also look into Clojure, especially if you're interested in getting into concurrency and functional programming. I recommend using Enclojure+Netbeans for a user friendly introduction to a very powerful new Lisp.

Java is not really my field. However, I have half a mind to learn F#.

Re: Ask HN: About all this Lisp fuzz

#17
post #16

You should also look into Clojure, especially if you're interested in getting into concurrency and functional programming. I recommend using Enclojure+Netbeans for a user friendly introduction to a very powerful new Lisp.

Java is not really my field. However, I have half a mind to learn F#.

I think we need a linkbait article about whether or not F# is an acceptable Lisp before I seriously consider it.

Re: Ask HN: About all this Lisp fuzz

#18
"If this is true and everything on the language are built atop of those, or atop of stuff built atop of those (in n-levels), how can different implementations possible be incompatible?" You cannot build i/o atop of axioms. It would always be a foreign thing that you have to deal with, incompatibly of using a long spec.

Re: Ask HN: About all this Lisp fuzz

#19
When you write C, you can be reasonably sure it will compile with a decent C compiler. There is no way to write 'Lisp'. Each Lisp dialect has different goals. A person might as well think of them as completely different languages belonging to the Lisp family. It might be analogous to think of Perl, Python and Ruby as being high-level dynamically typed interpreted languages as being part of the same family, but having completely different ways of going about things.

As an aside, I really like clojure. Their attitude towards concurrency and transactions (ie: they actually thought about it) is refreshing. Add to that great library support and good performance and I'm a pretty happy guy.

Re: Ask HN: About all this Lisp fuzz

#20
post #16

Earlier quoted context omitted.

Java is not really my field. However, I have half a mind to learn F#.

I think we need a linkbait article about whether or not F# is an acceptable Lisp before I seriously consider it.

I don't really care if it is an acceptable Lisp when I decide if I will or will not learn something. :P

BUT, I will use that excuse on my teacher on the Calculus class.

Post reply on HN