How Lisp is Going to Save the World
41–50 of 239 posts
Re: How Lisp is Going to Save the World
#42I am a intermediate programmer with just over one year experience. Everywhere I read about the power of lisp and really want to use it. If it is so good why ain't it is used more? It is very easy to get sites running using ASP .NET, wordpress, RoR or Django. I have worked on production sites using the first two. And personally tried on small projects on the last two. Is there a way to use Lisp professionally?
Re: How Lisp is Going to Save the World
#43Earlier quoted context omitted.
How to model a state is a meaningless question without asking state of what. Same is true for I/O. You must start from a protocol. Most of people probably underestimate how many brilliant people contribute to what we could call a modern Lisp. With all respect, Clojure is nowhere near in terms of sanity, consistency and uniformity. I don't event want to argue about Haskell. Seems like words "monad" is the same as word…
> With all respect, Closure is nowhere near in terms of sanity, consistency and uniformity. It's Clojure http://clojure.org/ Closure is Google's js library and tools https://developers.google.com/closure/
Re: How Lisp is Going to Save the World
#44Earlier quoted context omitted.
> If it is so good why ain't it is used more? * Weird syntax (for most people). * No free implementations existed during a key period (80s, 90s) so no initial traction, no useful libraries and killer apps which would pull the whole ecosystem. Implementations didnt even exist for commodity hardware. * The commercial implementations cost too much, so they suffocated the ecosystem. People preferred coding for free in C…
> No free implementations existed during a key period BS. CMUCL. AKCL. CLISP.
Re: How Lisp is Going to Save the World
#45Earlier quoted context omitted.
Lisp is a multi-paradigm language that's perfectly capable of representing state. Perhaps you're confusing it with some purely functional language like Haskell.
I'm not saying it can't represent state; I'm saying that it promotes avoidance of state as a virtue.
Mutable state in software is like moving parts in hardware. It's often necessary, but it makes everything a bit more fragile.
Re: How Lisp is Going to Save the World
#46Great intro. Any comments on "Land of Lisp" as a book for a "want to learn Lisp" journey?
Re: How Lisp is Going to Save the World
#47Earlier quoted context omitted.
> No free implementations existed during a key period BS. CMUCL. AKCL. CLISP.
I was paid to develop in Lisp (in a research environment) from '89 to '95 and from what I recall the commercial Lisp environments were way better than the free implementations - at least on the hardware we used (Sun 3s, Sun 4s and the DEC Alphas).
Re: How Lisp is Going to Save the World
#48Earlier quoted context omitted.
> If it is so good why ain't it is used more? * Weird syntax (for most people). * No free implementations existed during a key period (80s, 90s) so no initial traction, no useful libraries and killer apps which would pull the whole ecosystem. Implementations didnt even exist for commodity hardware. * The commercial implementations cost too much, so they suffocated the ecosystem. People preferred coding for free in C…
> No free implementations existed during a key period BS. CMUCL. AKCL. CLISP.
I did not intend to imply that nothing. existed. whatsoever. cmucl, gcl (akcl) and clisp even today are insignificant also-rans and basically unmaintained abandonware.
Re: How Lisp is Going to Save the World
#49Earlier quoted context omitted.
> No free implementations existed during a key period BS. CMUCL. AKCL. CLISP.
OK, let me correct myself: No competitive free implementation existed able to take a leading position and bootstrap the ecosystem, like gcc, cpython, perl and javac did for their respective language ecosystems. I did not intend to imply that nothing. existed. whatsoever. cmucl, gcl (akcl) and clisp even today are insignificant also-rans and basically unmaintained abandonware.
DEC Common Lisp was based on CMUCL. LispWorks was based on CMUCL. Scieneer Common Lisp is also based on CMUCL.
SBCL is a fork of CMUCL. SBCL is very popular in the 'free software' Lisp community - it's just a repackaged CMUCL.
Lot's of other Lisp implementations took and still are taking code from CMUCL, since it is 'Public Domain'. Free software.
Btw., CMUCL still has monthly releases.
AKCL spawned several implementations. Including GNU Common Lisp (GCL), which was widely used for some time - in combination with GCC.
GCL has been long used to run Maxima, the free version of Macsyma.
AKCL/GCL is nowadays ECL. Another fork. Which is maintained until today. Again ECL is possible because GCL was Free Software.
Re: How Lisp is Going to Save the World
#50I am a intermediate programmer with just over one year experience. Everywhere I read about the power of lisp and really want to use it. If it is so good why ain't it is used more? It is very easy to get sites running using ASP .NET, wordpress, RoR or Django. I have worked on production sites using the first two. And personally tried on small projects on the last two. Is there a way to use Lisp professionally?
> If it is so good why ain't it is used more? My guess is that it's hard to create well-gelled lisp programming teams. If you're using Java or C#, there are certain ways of going about things, and there's general consensus about this. You can pick up Java code that is written by someone you've never met and have a pretty good idea of being able to work out what's going on. Something similar with python: whitespace fo…
I've read a decent amount of Clojure source, since documentation is admittedly a problem with a lot of libraries, but it's the language I've found actually easiest to read. The Clojure way of going about things is to pass around and manipulate simple immutable data structures, which I find easier to understand than large class hierarchies. Macros are usually used for creating DSLs or removing simple boilerplate, which leads to smaller, easier to understand code bases in my experience, rather than implementing custom object systems or something like that.
I don't think Clojure really discourages recursion so much as it lets you avoid using it explicitly by providing a good standard library, but many of the standard lib functions are themselves written recursively.
Anyway this was all in response to why isn't it used more. I don't really have a good answer for that, but a lot of it comes to from people being weirded out from its simple syntax, and also not wanting to learn to think functionally. It is being used though, the most successful Clojure example I can think of off the top of my head is Storm, which is usually billed as a Hadoop for realtime processing, and it's being used at a lot of large companies: http://storm-project.net/