Can anybody explain the advantages of switching to a functional language when it is not a pure one? For example, how is it better than Javascript? Is the uniformity of the syntax (and perhaps implicit currying) the main benefit?
Lisp is not a functional language and should never be used as if it is somehow "functional".
Lisp is a homoiconicmeta-language, and this is the only thing that matters, not all that functional-schmunctional crap.
Back in 2012 when I was sure I wanted to master some dialect of Lisp but wasn't sure which one yet, I read about 80% of Practical Common Lisp before I noped the heck out of there. The whole reason I was drawn to Lisp was for its semantic and syntactic purity, simplicity, and consistency, and out of the three popular Lisps at the time, CL felt like it had these the least. Ultimately I ended up going with Clojure after…
FWIW, PicoLisp[0] is one of those lisp dialects that went way out of its way to be syntactically simple/pure/consistent. Whether this is a good idea, I don't know, but it is nevertheless an interesting example of a modern-made lisp that actually considers less data types (i.e. numbers, symbols and lists) to be a virtue.
I don't really think of Lisp as a functional language: it's really an imperative language with some functional features, and some OO features, and some aspect-oriented features and so forth. The advantage that I see in switching to Lisp is that it's a nice, pleasant, powerful language in which to work. The standard is well-thought-out. The abstraction capabilities are wonderful. Compared to JavaScript, there's no com…
>> The advantage of JavaScript over Lisp is .. more libraries, wider support. Clojure solves that.
It doesn't, really. Not all that much is written in Clojure. Clojure has a nice FFI, and it turns out that lisps are pretty good at calling into java code, but other lisps also have FFIs. The FFI support is inconsistent between implementations, but of course the same could be said of JVM Clojure and Clojurescript.
If you want to compare Lisp Live Coding and you know Python, then let me compare it like this: How much faster can you get things done using something like ipython vs. a compiled static language like C(++/#) or Java? I don't want to go into a flamewar against the other languages, of course. Yet, if you favor an ipython repl against the compile/build/test cycle, then Lisp gives you just about the same order of magnitu…
What are the bread-and-butter (aka not sexy and cutting edge, but mature and stable) lisps used for web development?
Well, I run my own companies, so I like the cutting edge - and we are using Clojure.
A good friend of mine works for one of those big consultancies, however, and they are currently rewriting the backend of the second biggest online retailer of the world and they are using Clojure, too^^
So either I'm getting too old for the sexy Startup business or Clojure is at the same time stable and fancy(;
If an HN post with 10 upvotes makes your site go down, do you really have the right to tell people how to write code?
Have you read the article? Its a guide to ASDF 3, a CL build system, and features that help with scripting. There's nothing "no code consultant" about it. Its not even a philosophy-methodology piece. The above comes across as outright dismissive.
No, I hadn't read the article. The site was down...
If an HN post with 10 upvotes makes your site go down, do you really have the right to tell people how to write code?
If you don't know the most common causes of a site going down, do you really have the right to ask people if they really have the right to tell people how to write code?
>> The advantage of JavaScript over Lisp is .. more libraries, wider support. Clojure solves that.
It doesn't, really. Not all that much is written in Clojure. Clojure has a nice FFI, and it turns out that lisps are pretty good at calling into java code, but other lisps also have FFIs. The FFI support is inconsistent between implementations, but of course the same could be said of JVM Clojure and Clojurescript.
> it turns out that lisps are pretty good at calling into java code
I think that gives the design of Clojure too little credit. I can imagine MUCH worse ways to do it than Clojure's well-designed Java interop.
Can anybody explain the advantages of switching to a functional language when it is not a pure one? For example, how is it better than Javascript? Is the uniformity of the syntax (and perhaps implicit currying) the main benefit?
Lisp is not a functional programming language. Lisp is a multi-paradigm programming language. Functional programming, although awesome, is not the optimal choice for everything. Designers of Lisp understood this, so the language tries to get out of your way as much as possible. No programming language is perfect sadly, and Lisp too has its warts, but programming in Lisp compared to any other mainstream programming language, once you master it, is like walking up a hill after losing 200 pounds of weight.
If you want to compare Lisp Live Coding and you know Python, then let me compare it like this: How much faster can you get things done using something like ipython vs. a compiled static language like C(++/#) or Java? I don't want to go into a flamewar against the other languages, of course. Yet, if you favor an ipython repl against the compile/build/test cycle, then Lisp gives you just about the same order of magnitu…
What are the bread-and-butter (aka not sexy and cutting edge, but mature and stable) lisps used for web development?
SBCL (free), Allegro ($), probably some folks are still using clisp (which is a pretty cool Lisp, but almost defunct).
If you don't know the most common causes of a site going down, do you really have the right to ask people if they really have the right to tell people how to write code?