News for hackers. Stuff that matters.
Re:The German School of Lisp ("Fluchtpunkt Lisps") by tdrgabi on Tuesday May 03, 2011 @09:36AM (#2509875)
It depends who you ask. I'm also a beginner in lisp. Wrote some hobby projects in it but it felt like swimming against the current.

lisp appeared a long time ago, when non lisp languages were really primitive. So a lot of the arguments you might read on the net might be outdated (comparing it to C or FORTRAN).

Ruby and Python give you a lot of power that a lisp language has. I guess the only thing that lisp has, which the other languages don't, is the "macro". Which (in my opinion) is like a lisp "program" running before your lisp get compiled and changes the code. So several lines can be expanded to lots of dynamically generated code.

C guys will say they have #define & such, but this is a "program" with most of lisp syntax not just some primitive ifdefs. So you can do a lot of advanced stuff.

On the other side, python & ruby have a lot more libraries. I see that common lisp has picked up steam again, with stuff like quicklisp which can be seen as "ruby gem".

So to sum it up, lisp is a powerful language, it has constructs which are still not available in other languages but you don't get the free stuff you would have in big communities as python or ruby.

Re:The German School of Lisp ("Fluchtpunkt Lisps") by pavelludiq on Tuesday May 03, 2011 @10:44AM (#2510114)
Actually theres soo much in common lisp besides macros that i miss in addition to them when i have to work with python, like CLOS, the condition system, format, the lisp reader/printer(using JSON is only half a solution), good performance, and with paredit mode for emacs i can edit code a lot easier than with python.

Also your summary, python and ruby's libraries are not free, because you have to use python or ruby instead of common lisp. That is a cost of some kind, a trade off, is it not?

Re:The German School of Lisp ("Fluchtpunkt Lisps") by agentultra on Tuesday May 03, 2011 @03:04PM (#2511243)
Lisp has a lot more than just macros (also you might want to learn more about macros; your definition is a little off).

You also get CLOS; which is huge. Multi-methods. Generic functions. MOP. OO programming without generic functions is a huge pain for me now. It's a completely different world-view that lacks very artificial design patterns. You don't need a lot of the GoF design patterns because they're completely abstracted out by the language of CLOS.

You get conditions and restarts. I hate exceptions! You lose the entire stack and state of your application. It is next to impossible to recover from that and restart the failed computation using exceptions. You could emulate this in other languages... but it's already a part of the Common Lisp language itself. No code to write or libraries to import to make it happen.

And only tangentially related to the CL language itself, SLIME is another reason why programming with Lisp is a lot of fun.

So to sum it up, lisp is a powerful language, it has constructs which are still not available in other languages but you don't get the free stuff you would have in big communities as python or ruby.

You don't get anything for free.

Re:The German School of Lisp ("Fluchtpunkt Lisps") by tdrgabi on Thursday May 05, 2011 @03:57PM (#2518715)
I agree that my macros explanation was stretched. I simplified it too much.

Restarts are really nice, I first heard about them in "Practical Common Lisp" google talk: http://www.youtube.com/watch?v=VeAdryYZ7ak

Re:The German School of Lisp ("Fluchtpunkt Lisps") by gaius on Tuesday May 03, 2011 @09:47AM (#2509902)
50 years ago, Lisp was 30 years ahead of everyone else. But it grew complacent.