Depends on what you are implementing and how. I find Lisp good if you have a rough top-down design and lots of bottom-up implementation details to suss-out. You can test each bit as you build and in passing you might implement a DSL for your domain. There are many compiled Lisps (both CL and Scheme) so performance can be quite good. Generally, it is hard to deploy Lisp on client systems (if that is a requirement) wit…
Ask HN: Why Shouldn’t I Use Lisp?
11–20 of 31 posts
Re: Ask HN: Why Shouldn’t I Use Lisp?
#12To paraphrase Ansel Adams (who was speaking of cameras), there is no one best language only the best language for the project you're doing. It may very well be that Lisp is the right language for your project. That depends largely on what the project is and what advantage you are seeking from Lisp (or another choice) that helps complete your project and, most importantly, reduces debugging time later since that's whe…
Sure, for values of "flexibility" approaching "the only darn way to make UI run in the browser".
Re: Ask HN: Why Shouldn’t I Use Lisp?
#13To paraphrase Ansel Adams (who was speaking of cameras), there is no one best language only the best language for the project you're doing. It may very well be that Lisp is the right language for your project. That depends largely on what the project is and what advantage you are seeking from Lisp (or another choice) that helps complete your project and, most importantly, reduces debugging time later since that's whe…
> because that language offers much more flexibility for UI design Sure, for values of "flexibility" approaching "the only darn way to make UI run in the browser".
Re: Ask HN: Why Shouldn’t I Use Lisp?
#14Depends on what you are implementing and how. I find Lisp good if you have a rough top-down design and lots of bottom-up implementation details to suss-out. You can test each bit as you build and in passing you might implement a DSL for your domain. There are many compiled Lisps (both CL and Scheme) so performance can be quite good. Generally, it is hard to deploy Lisp on client systems (if that is a requirement) wit…
Loko Scheme is certainly not an exception in producing a single executable with no dependencies. All major Common Lisp implementations do this. I shipped a program for Windows quite easily using Clozure Common Lisp ("CCL").
Probably he meant 'zero' dependencies. Like not depending on C libs. I see that Loko Scheme depends on running on Linux (unclear, which versions) and AMD64 cpu - it seems to be able to run on bare metal, too - but the dependencies on the hardware are unclear. To bootstrap, it might need another Scheme implementation.
Many Lisp systems can generate executables, some of which then may depend on some external libraries (maybe in specific versions), specific OS versions or even specific CPU variants (not unknown on ARM hardware which has a lot of CPU variants).
Re: Ask HN: Why Shouldn’t I Use Lisp?
#15Earlier quoted context omitted.
Loko Scheme is certainly not an exception in producing a single executable with no dependencies. All major Common Lisp implementations do this. I shipped a program for Windows quite easily using Clozure Common Lisp ("CCL").
Generally that's true. Loko Scheme is interesting, though - but probably not widely used. Check the documentation. Probably he meant 'zero' dependencies. Like not depending on C libs. I see that Loko Scheme depends on running on Linux (unclear, which versions) and AMD64 cpu - it seems to be able to run on bare metal, too - but the dependencies on the hardware are unclear. To bootstrap, it might need another Scheme im…
Re: Ask HN: Why Shouldn’t I Use Lisp?
#16Depends on what you are implementing and how. I find Lisp good if you have a rough top-down design and lots of bottom-up implementation details to suss-out. You can test each bit as you build and in passing you might implement a DSL for your domain. There are many compiled Lisps (both CL and Scheme) so performance can be quite good. Generally, it is hard to deploy Lisp on client systems (if that is a requirement) wit…
Some documentation about images in SBCL: http://www.sbcl.org/manual/#Saving-a-Core-Image
Re: Ask HN: Why Shouldn’t I Use Lisp?
#17Because static typing is important for working productively with medium-to-large programs, because the Lisps have decrepit ecosystems, and because they aren't even good dynamically typed languages either, with the possible exception of Clojure. There is nothing that Common Lisp has, that other languages don't have, that makes it necessary.
And I don‘t think „necessary“ is a good metric when comparing programming languages; „pleasant to use“ or „efficient to write“ strike me as more pertinent (as well as the obvious runtime efficiency questions).
Re: Ask HN: Why Shouldn’t I Use Lisp?
#18Because static typing is important for working productively with medium-to-large programs, because the Lisps have decrepit ecosystems, and because they aren't even good dynamically typed languages either, with the possible exception of Clojure. There is nothing that Common Lisp has, that other languages don't have, that makes it necessary.
That‘s a pretty opinionated statement... Could you elaborate on why you think the Lisps aren‘t „good dynamically typed languages?“ And I don‘t think „necessary“ is a good metric when comparing programming languages; „pleasant to use“ or „efficient to write“ strike me as more pertinent (as well as the obvious runtime efficiency questions).
I don't have a novel explanation of what makes Common Lisp and Scheme bad dynamically typed languages, just the ordinary obvious reasons, so there's no point in writing it out.
Re: Ask HN: Why Shouldn’t I Use Lisp?
#19Depends on what you are implementing and how. I find Lisp good if you have a rough top-down design and lots of bottom-up implementation details to suss-out. You can test each bit as you build and in passing you might implement a DSL for your domain. There are many compiled Lisps (both CL and Scheme) so performance can be quite good. Generally, it is hard to deploy Lisp on client systems (if that is a requirement) wit…