Lisp is quite popular at my current workplace. A few popular open source projects published by our organization have been written in Clojure (a dialect of Lisp that runs on JVM and CLR). A few domain specific languages used internally in our organization are also inspired by Lisp. On a more personal front, I find Lisp to be simple, elegant, and expressive. I use Common Lisp (SBCL) for personal use. Working with Lisp…
> I sometimes wonder why Lisp has not been more popular in the technology industry. Is it the lack of sufficient marketing? Is it the lack of an extensive library ecosystem? Data-point of one here, but I was instantly turned off by the conflation of the empty-list, nil, and boolean-false. I could tell instantly that I'd have a hard time interfacing with data from other real-world systems, so I decided to skip CL and…
Common Lisp homepage
31–40 of 313 posts
Re: Common Lisp homepage
#32Often those who are curious to try Lisp are faced with a number of choices: Which dialect to choose? Which implementation to choose? Which book or tutorial should one follow? Is it necessary use Emacs? SLIME? Here are my recommendations: - Choose Common Lisp because it has been the most popular dialect of Lisp in the overall history of Lisp. It is more convenient than Scheme if one decides to develop serious software…
Also most tutorials/books I found don't guide you on how to build an application/structure your code – which is rather confusing for a beginner. You have to spend a lot of time and try and error to get things working using Quicklisp. I got often the impression, that since Lisp is so old, everyone using it knows how to do things and forgot to document for newcomers their knowledge.
Re: Common Lisp homepage
#33Earlier quoted context omitted.
> I sometimes wonder why Lisp has not been more popular in the technology industry. Is it the lack of sufficient marketing? Is it the lack of an extensive library ecosystem? Data-point of one here, but I was instantly turned off by the conflation of the empty-list, nil, and boolean-false. I could tell instantly that I'd have a hard time interfacing with data from other real-world systems, so I decided to skip CL and…
Isn't that true in Python too?
In [1]: [] is None
Out[1]: False
In [2]: [] is False
Out[2]: False
In [3]: [] == False
Out[3]: False
In [4]: [] == None
Out[4]: False
In [5]: False is None
Out[5]: False
In [6]: False == None
Out[6]: False
This kind of relatively fine-grained distinction between different types of data is essential for operation in a world where other systems presume that you can handle these distinctions.Re: Common Lisp homepage
#34Lisp is quite popular at my current workplace. A few popular open source projects published by our organization have been written in Clojure (a dialect of Lisp that runs on JVM and CLR). A few domain specific languages used internally in our organization are also inspired by Lisp. On a more personal front, I find Lisp to be simple, elegant, and expressive. I use Common Lisp (SBCL) for personal use. Working with Lisp…
Well, I think you've got your answer right there. Out of 100 people learning about newton's law of motions at university, how many are witnessing their intrinsinc beauty ? Maybe one or two ? And I feel like I'm being fairly generous; most just find it boring and just want to pass the test. They never feel that sense of wonder.
I certainly never felt it for Newtonian physics either, but I'll admit that the relationship between linear algebra and matrices made my heart pinch a bit at the time.
Likewise, most people (doing a programming job) are utterly bored by "how simple concepts can be composed elegantly" ; they just want to make the damn thing work, close their tickets and go back home. They don't read HN or LambdaTheUltimate any more than your average construction worker does read construction working forums, or your average accountant does read accounting forums.
Re: Common Lisp homepage
#35For those who want to use Lisp on the JVM, there is ABCL: https://abcl.org ABCL was originally used to write and extend an editor called J - but then morphed into a full implementation of Common Lisp. One can also develop with SBCL - since it has a great compiler - and then move the code to ABCL.
Re: Common Lisp homepage
#36Often those who are curious to try Lisp are faced with a number of choices: Which dialect to choose? Which implementation to choose? Which book or tutorial should one follow? Is it necessary use Emacs? SLIME? Here are my recommendations: - Choose Common Lisp because it has been the most popular dialect of Lisp in the overall history of Lisp. It is more convenient than Scheme if one decides to develop serious software…
Re: Common Lisp homepage
#37Re: Common Lisp homepage
#38Lisp is quite popular at my current workplace. A few popular open source projects published by our organization have been written in Clojure (a dialect of Lisp that runs on JVM and CLR). A few domain specific languages used internally in our organization are also inspired by Lisp. On a more personal front, I find Lisp to be simple, elegant, and expressive. I use Common Lisp (SBCL) for personal use. Working with Lisp…
One major reason was hardware.
Lisp might have started in IBM mainframes, but the development environment from Xerox and the Lisp Machines that followed up where quite expensive for single developers, back when the industry was heavily focused on bringing down the costs of time-sharing services, which where owned mostly by mainframes, VAX and UNIX systems.
So when the workstation market started, Lisp machines had to fight against UNIX workstations, while being quite expensive, they were still cheaper than Lisp ones.
So the price, coupled with misunderstanding from Lisp from more regular developers busy with Algol, Fortran, PL/I and such, and lots of management mistakes doomed it.
Also quite important, 8 and 16 bit home computers were not yet able to deal with the hardware requirements of Lisp enviroments.
Note that this also affected C++. Lucid pivoted from Lisp Machines to C++, offering a Lisp like development environment that only now we are getting back thanks to LLVM and efforts from the major IDE vendors.
Nowadays we have pocket computers more powerful than SGIs.
Re: Common Lisp homepage
#39Earlier quoted context omitted.
I liked clojure when I dived into it but lack of static typing is a pain especially once you have got used to the wonderful refactoring and code-intelligence abilities you get by adopting the tools of static typed programming languages like Java/Go/C#/F#. Also performance!
The lack of static typing does not explain why there are so many companies using Python, Ruby and Perl but very few using Lisp. If the lack of static typing was the real cause of the lack of popularity of Lisp then Python, Ruby and Perl also would have been unpopular.
Python today has the best numeric computing libraries (numpy and sisters) which make it the most widely adopted language for scientific computing, ML, etc.
Ruby had Rails - the web framework that trail-blazed convention over configuration and rapid productivity and was considered leading just a few years ago. Ruby's popularity has waned since then as performance and scalability has become far more critical than plain productivity alone.
Perl had the best regex features and reporting facilities fifteen+ years ago. It has lost its crown and is rapidly declining since Perl 6 took forever and is basically a completely different language.
Re: Common Lisp homepage
#40Often those who are curious to try Lisp are faced with a number of choices: Which dialect to choose? Which implementation to choose? Which book or tutorial should one follow? Is it necessary use Emacs? SLIME? Here are my recommendations: - Choose Common Lisp because it has been the most popular dialect of Lisp in the overall history of Lisp. It is more convenient than Scheme if one decides to develop serious software…
What confused me a lot is that nobody seems to give an example on how to build a binary out of a Lisp program/make it runnable from command-line. Also most tutorials/books I found don't guide you on how to build an application/structure your code – which is rather confusing for a beginner. You have to spend a lot of time and try and error to get things working using Quicklisp. I got often the impression, that since L…