[HN Gopher] Some thoughts about raising the profile of Lisp
       ___________________________________________________________________
        
       Some thoughts about raising the profile of Lisp
        
       Author : AndrewDucker
       Score  : 45 points
       Date   : 2021-08-31 11:03 UTC (22 hours ago)
        
 (HTM) web link (liam-on-linux.livejournal.com)
 (TXT) w3m dump (liam-on-linux.livejournal.com)
        
       | na85 wrote:
       | I really think Lisp's strength is also its biggest weakness. It's
       | so flexible that it causes massive fragmentation. Everyone has
       | their own toy interpreter. There's a massive schism between Lisp
       | and Scheme. Nobody really seems to have rallied around Common
       | Lisp, and thus it's not actually very Common in any sense of the
       | word. On top of that there is no canonical implementation of
       | "Lisp".
       | 
       | Lispers love to say "Lisp is a family of related languages" which
       | is great but daunting to a beginner, and I think also deters
       | people from contributing to the ecosystem, which is where I feel
       | Lisp really falls down. There's just no ecosystem of reliable,
       | standard-ish packages.
       | 
       | There's Ironclad for crypto, but in the readme it explicitly says
       | not to consider it secure because there are trivial side-channel
       | attacks against arithmetic depending on your implementation
       | (again, fractured ecosystem)
       | 
       | There's lquery, CLSS, and plump for web scraping, but you can't
       | scrape anything modern with them and the author seems to have
       | abandoned the libraries
       | 
       | There's a GPIO library that simply doesn't work
       | 
       | Et cetera, et cetera, et cetera.
       | 
       | Compare that to something like Go or Python, where there are
       | rich, polished, full-featured libraries for nearly every
       | application you can think of.
       | 
       | I thought about writing a bot to scrape finance data in Common
       | Lisp, but I didn't want to have to write the scraping and DOM
       | traversal logic from scratch. I thought about using Lisp to have
       | my raspberry pi monitor my hobby garden, but the GPIO library
       | doesn't work at all and I didn't want to write my own.
       | 
       | I picked different languages and was immediately productive
       | thanks to wonderful community libraries.
        
         | taeric wrote:
         | This is a weakness that is talked about more than it actually
         | matters, to my mind.
         | 
         | In diving into libraries for Common Lisp, I'm finding more in
         | the realm of "basically works as I would expect" than I would
         | have expected based on how much this weakness comes up.
         | 
         | What is still jarring for me, is that image based development
         | is just not taught or cultured. The iterative based approach
         | that can be used in such an environment is just... so foreign
         | to everything I have ever seen/done before.
         | 
         | Oddly, jupyter notebook style build ups are getting there. With
         | the scary realization that a linear realization of the cells in
         | your notebook is something that simply takes effort. Not
         | something that is required for results.
        
         | Jach wrote:
         | I invite you to read https://www.dreamsongs.com/Files/Hopl2.pdf
         | which was submitted for the History of Programming Languages
         | conference in 1993. I don't see how you can say with a straight
         | face that no one rallied around Common Lisp given knowledge of
         | Lisp history. (Edit: Uncut version:
         | https://www.dreamsongs.com/Files/HOPL2-Uncut.pdf or you can
         | just read this from 2008 which is the main thrust of the uncut
         | content, mainly that there's a cycle of diversification and
         | consolidation with CL consolidating a lot https://www.dreamsong
         | s.com/Files/PatternOfLanguageEvolution....)
         | 
         | I'm not sure what you mean by "no canonical implementation" --
         | there's the ANSI Common Lisp standard, of which there are
         | multiple implementations. Is this somehow a bad thing to you?
         | 
         | > Lispers love to say "Lisp is a family of related languages"
         | 
         | Not really. I think it's slightly more common for Scheme or
         | Clojure programmers to claim Lisp relations, but it's just
         | advertising. If having s-expression-ish syntax (with nothing
         | being compatible to CL like a real Lisp dialect would be, and
         | was given how much code in pre-CL Lisps could be run in CL
         | unmodified) makes it part of the "Lisp family", then why not
         | speak of the ALGOL family? It's tiresome semantics and from
         | what I've read Common Lispers at least don't tend to do it.
         | 
         | > There's just no ecosystem of reliable, standard-ish packages.
         | 
         | Here's everything on Quicklisp:
         | https://sabracrolleton.github.io/short-descriptions and a
         | curated list: https://github.com/CodyReichert/awesome-cl
         | 
         | Yes, it's not as impressive as Maven. Yes, not everything is as
         | well-documented as, say, PyGame (http://www.pygame.org/docs/ --
         | though not every Python library you'll find with pip is,
         | either) or even the Common Lisp Hyperspec (http://www.lispworks
         | .com/documentation/HyperSpec/Front/Conte...). Yes, some things
         | are broken, or even abandoned, though in the latter case it may
         | just be that they're "done" pending anyone coming up with a new
         | issue or feature request. I've happily used web scraping libs
         | to save my HN comments with their context, there's a good
         | Twitter API lib I moved to when something broke the Python one
         | I was previously using, I've orchestrated Selenium, I generated
         | some FFI bindings to FMOD and had it working within a few
         | minutes... My point here is just that there is an ecosystem for
         | CL, and many things are reliable, when something works it's
         | rare to stop working. Sorry about your GPIO experience, it
         | happens, I had a bad experience trying to quickload a library
         | that depended on iolib which opaquely depends on a custom C
         | library the author also made and is not in my distro's package
         | manager.
         | 
         | I'm not sure what you mean by "standard-ish" -- is Python's
         | urllib3 "standard-ish"? What about urllib and urllib2? Do they
         | qualify merely by being part of the standard library, or is it
         | something else? My other guess is you mean something like "X is
         | a common area of development in the current year, are there any
         | packages dedicated to that area, what are they, and are they
         | any good?" But this is a shaky categorization and in other
         | languages changes all the time, not worthy of the attribute
         | "standard" or even "standard-ish".
         | 
         | You're right though that what does exist is small and limited,
         | and that's a natural limiting factor to growth, far more I
         | think that what editors are available or easy to use. Quicklisp
         | came about way too late. Yet the ecosystem continues to grow,
         | so maybe you'll be willing to give it another chance in another
         | 10 years.
        
           | robertlagrant wrote:
           | > My other guess is you mean something like "X is a common
           | area of development in the current year, are there any
           | packages dedicated to that area, what are they, and are they
           | any good?"
           | 
           | I think perhaps what Lisp lacks (or appears to lack) is
           | tentpole developers such as - from the Python world - Mike
           | Bayer (SQLAlchemy) or David Lord (Flask/Pallets), or the
           | Django community, or Kenneth Reitz (Requests) who keep high
           | quality 3rd party libraries going for a long period of time.
        
       | qPM9l3XJrF wrote:
       | Why not just use Clojure?
        
         | Jach wrote:
         | With what editor? (Rhetorical question, emacs and vim are
         | dominant there too, providing another data point for "it's not
         | the editor" that's somehow hindering Common Lisp's resurgence.)
        
           | LandR wrote:
           | Clojure with VSCode and Calva is the best development
           | experience I've ever used in any language.
        
         | nerdponx wrote:
         | This is like asking "why not use Haskell?" in a Kotlin thread.
        
       | taeric wrote:
       | I always feel these sorts of posts are misguided. They portray
       | VSCode gaining market share as something other than an marketing
       | investment by Microsoft. Similar vibes go for why Java rose to
       | popularity.
       | 
       | At some level, to build a market, you have to invest in
       | marketing.
        
         | p1necone wrote:
         | I don't give a shit about Microsoft but VS Code is _really_
         | good. It 's performant, easily customizable and has a healthy
         | extension ecosystem for most popular languages.
         | 
         | Microsoft doesn't exactly have a fantastic rap with developers,
         | especially OSS developers - do you really think it would have
         | become this widely used if it wasn't good?
        
           | taeric wrote:
           | I feel I can claim the same on emacs. Such that this rings
           | kinda hollow for me. :(
        
             | p1necone wrote:
             | I'll concede the healthy extension ecosystem is possibly a
             | result of the marketing budget ("Developer Outreach" being
             | the preferred euphemism).
             | 
             | I suspect the learning curve is probably a big part of
             | Emacs lack of mainstream success (same with Vim/Neovim).
        
               | taeric wrote:
               | Pretty much this. When called "developer outreach", it
               | doesn't trigger nearly the backlash as calling it
               | "marketing." But... these are the same things.
               | 
               | The learning curve on all software is stupid hard to pin
               | down. Consider, arduino has been a massive success in the
               | embedded hobby market. Why? Nothing really easy or clever
               | about it. Just cheap and clearly marketed for what it can
               | and intends to do.
        
         | AnimalMuppet wrote:
         | You need marketing. Someone has to know your language exists,
         | and is useful, and why it's useful. But to build a lasting
         | language, you need a language that solves real problems better
         | than other alternatives.
         | 
         | Java promised three things, and delivered two and a half. It
         | promised - and delivered - an end to manual memory management.
         | It promised and delivered a huge, thorough, useful library. And
         | it promised and kind of half-delivered "write once, run
         | anywhere". That worked well enough to be at least somewhat
         | useful, and failed enough to be really annoying.
         | 
         | Marketing can get you in the door. To stay there, though, you
         | need something that is actually useful.
        
           | taeric wrote:
           | I feel you are dodging my assertion. Java promised those,
           | with a stupid large marketing budget that shoved it down the
           | throats of anyone near computers at the time. VSCode probably
           | has more money going into developer reach out than I can
           | imagine. And I can imagine big numbers.
           | 
           | Am I claiming that intrinsic quality is fabricated? Not
           | intentionally. I am claiming that it only goes so far.
        
             | pjmlp wrote:
             | There was no "stupid large marketing budget" in 1996, when
             | the only thing available was the JDK, and we had to use
             | emacs/vi/Ultraedit to write our Java programms and rely on
             | makefiles to build the whole thing.
             | 
             | Yet our distributed computing department decided to move
             | right away into Java from C to teach distributed systems,
             | thanks RMI and a coherent toolchain across the platforms we
             | had on the labs. Similarly by 1998 the compiler development
             | classes had moved from C into Java, thanks tooling like
             | SableCC.
             | 
             | By 2000, IBM that used to be a big Smalltalk vendor, and
             | used Smalltalk as foundation for their Visual Age IDEs,
             | moved into Java, and from Visual Age ashes Eclipse was
             | born.
             | 
             | Borland added a Java IDE to their collection, while
             | Symantec not only did the same, they also created their own
             | Java implementation.
             | 
             | Ah, and then there was this fellow called Anders Hejlsberg
             | that left Borland to Microsoft, and joined Visual J++ team.
             | 
             | That is real work, and people paying real money for
             | products.
             | 
             | We didn't need someone shoving it down our throats to
             | appreciate what it brought into the 1996 - 2000 computing
             | landscape.
        
               | taeric wrote:
               | You are comparing the budget to push Java, the language,
               | with every other editor. My assertion is there wasn't a
               | journalist, college student, or product manager even
               | closely related to computers that wasn't courted with
               | regards to Java being the best language of all time.
               | 
               | You do hint at another angle I left out. Getting
               | Microsoft to pour money into this landscape, in the form
               | of Visual J++, was probably more key than makes sense. It
               | is very much like real estate, in that regard. You want
               | to spend where other people are spending, if you want the
               | best return.
        
           | robomartin wrote:
           | A tangent, yet I think it is in the same domain:
           | 
           | When I see a new movie advertised incessantly, I conclude it
           | must be bad-to-terrible. A good movie, product, language
           | needs little to no marketing.
        
             | taeric wrote:
             | Depends how much you trust the marketing channel. I recall
             | back in the day, if Penny Arcade promoted something, I
             | probably liked it. (Note, this may still be the case.)
             | 
             | Similar, if a few of the trusted artists and such I have on
             | Twitter recommend something, in willing to buy it near
             | instantly.
             | 
             | Otherwise, the marketing budget is merely correlated with
             | the product budget. And, to a large extent, big budget
             | productions are predictable. In that you can usually easily
             | predict if you will like it.
        
         | mixedCase wrote:
         | Not everything successful is due to marketing. VSCode is
         | extremely accessible, performant enough, has a huge ecosystem
         | tuned for a plug'n'play experience and is free, among other
         | graces.
         | 
         | It's just a great text editor for programmer's to get
         | productive fast, both beginners and experts.
        
           | taeric wrote:
           | I'm torn. I'm not meaning to claim that marketing is the sole
           | requirement for success. That said, when the topic is raising
           | the profile, I see profile as market share. Which... Needs a
           | marketing budget.
        
           | xvilka wrote:
           | If only it wasn't Electron...
        
             | p1necone wrote:
             | It may be an Electron app, but a lot of custom engineering
             | has gone into the core text editing stuff -
             | https://code.visualstudio.com/blogs/2018/03/23/text-
             | buffer-r...
        
             | evilduck wrote:
             | Why do you care? Serious question.
             | 
             | Have you ever compared the system resource demands of emacs
             | and vim or neovim when you add enough plugins or extensions
             | to reach feature parity with VS Code? They get to be just
             | about as demanding on your disk space, ram and idle cpu.
        
         | overgard wrote:
         | The only marketing I've ever seen for VSCode has been word of
         | mouth
        
           | mhh__ wrote:
           | I have never seen an official emacs Youtube Short, whereas
           | Microsoft are making some for VSCode
        
         | mbrodersen wrote:
         | What marketing? I use VSCode because it is really really good.
         | Better than anything else I have tried (including Emacs). Emacs
         | feels like it hasn't evolved for 50+ years. The kind of thing
         | that my grand dad might have appreciated but not something that
         | a modern person would use.
        
       | oscribinn wrote:
       | Has this guy heard of spacemacs? At least for people familiar
       | with vi bindings, it can get their foot in the door with a more
       | IDE-like experience quicker while retaining and emphasing the
       | unique advantages of emacs as a platform. I think for a lot of
       | users, getting that taste of the tool's capability early on is
       | what motivates them to embrace the platform as a whole, even if
       | they don't stick with a heavy, general purpose emacs
       | "distribution" in the long run.
        
         | pjmlp wrote:
         | Well, he doesn't seem to even be aware of Allegro, LispWorks
         | and Clozure CL.
        
       | smlckz wrote:
       | Try Racket and DrRacket.
        
         | TurboHaskal wrote:
         | I dare you to build a several thousand LOC project using
         | DrRacket.
        
         | diskzero wrote:
         | Racket and DrRacket are great, but Racket has a ways to go if
         | you want to package and ship desktop and mobile applications.
         | It can be done with a lot of work, but the result isn't great.
         | 
         | Racket continues to improve. I would love to see more energy
         | put into making it viable as a commercial application
         | development system.
        
       | PaulDavisThe1st wrote:
       | > I think hardcore Lispers see stuff like a Lisp GUI and
       | natively-graphical Lisp editors as pointless bells and whistles -
       | Emacs was good enough for John McCarthy and it still is for me! -
       | but they really are not in 2021.
       | 
       | That's almost the last line of the article, but it hasn't
       | established any credible argument about why "they really are not
       | in 2021" other than a much longer form of the same assertion.
       | 
       | > Summary: You have to get in there and compete with mainstream,
       | play their game by their rules, if you want to compete.
       | 
       | 1. Why does someone want to "compete" ?
       | 
       | 2. What would you be competing with?
       | 
       | Convincing people that they could & should use Lisp instead of
       | Python or Swift is facing stumbling blocks far, far larger than
       | the user-experience in an editor/IDE.
        
         | aidenn0 wrote:
         | > Convincing people that they could & should use Lisp instead
         | of Python or Swift is facing stumbling blocks far, far larger
         | than the user-experience in an editor/IDE.
         | 
         | It is a perennial complaint among those learning lisp that they
         | didn't want to have to learn a new editor too. It's certainly
         | possible that lots of other hurdles keep people from ever
         | getting far enough to complain, but given that growth begets
         | growth, fixing any hurdle would potentially have outsized
         | gains.
        
         | TurboHaskal wrote:
         | > I think hardcore Lispers see stuff like a Lisp GUI and
         | natively-graphical Lisp editors as pointless bells and
         | whistles.
         | 
         | It's a solved problem to be honest. Those that care about
         | building multi-platform GUIs simply pay for a LispWorks
         | license.
        
         | LAC-Tech wrote:
         | Emacs is a huge stumbling block for me. Everyone used emacs and
         | expected you to as well.
         | 
         | Common Lisp seems great - I'm so curious about CLOS - but I
         | cannot get along with emacs, and I have tried.
        
           | [deleted]
        
           | nerdponx wrote:
           | If you happen to already be a Vim/Neovim user, the Vlime
           | plugin + Parinfer (or at least Paredit) is pretty good.
           | 
           | If you don't use either Vim or Emacs... that's harder. You
           | can use the Lispworks IDE, although that's limited if you're
           | not paying for it.
           | 
           | I don't think the lack of tooling in Common Lisp is for lack
           | of trying, but for lack of person-hours dedicated to open-
           | source.
           | 
           | That said, there are a lot of gaps in the overall Lisp
           | experience:
           | 
           | - Quicklisp is very unusual, and while it's quite an
           | impressive effort (and definitely a good thing to have in the
           | world), it's a bit odd coming from other programming
           | languages.
           | 
           | - Roswell is great, but under-documented in some areas, and
           | appears to be outright missing features that are actually
           | specified in the docs.
           | 
           | - Qlot, like Roswell, is under-documented in some areas. In
           | particular, using it in conjunction with Roswell can be
           | unintuitive, and there's no guide out there (that I know of)
           | to help with this.
           | 
           | - ASDF itself has the weird restriction that all of your
           | source code has to be in one single directory. A lot of Lisp
           | users I've spoken to don't see this as a problem, but that in
           | and of itself I think is a problem and a reflection of the
           | problems with the Lisp world when seen from the outside. Of
           | course, Qlot alleviates this issue, but see above.
           | 
           | - There is a huge documentation discoverability gap in
           | general. Docs tend to have very trivial examples, and
           | hardcore reference material, with nothing in between.
           | Figuring out how to use even popular libraries like
           | Hunchentoot is not a trivial task.
           | 
           | - There's no actual spec for the SWANK protocol (that I know
           | of), which makes it difficult to build new tooling around it.
           | 
           | - Editing s-expressions efficiently requires special tooling.
           | Paredit is table stakes, but Parinfer is really what you need
           | once you learn the basics and you understand how indentation
           | works in Lisp code style.
           | 
           | Experienced programmers don't need a GUI IDE to get started.
           | But they do need a base of sensible tooling. There will
           | always be a push and pull between "harnessing the full power
           | of Lisp" and "making the power of Lisp accessible outside of
           | some very specific text editors".
        
             | TeMPOraL wrote:
             | I agree with your list, except for what I feel is the
             | implicit argument behind:
             | 
             | > _Editing s-expressions efficiently requires special
             | tooling._
             | 
             | In the interest of clarity to non-lispers: without
             | Paredit/Parinfer, editing S-expression is an experience
             | equivalent to writing C++/Java - you roughly have that many
             | delimiters to deal with when structuring code.
             | Paredit/Parinfer make this process much more efficient than
             | you can reasonably do for Algol-like languages, because of
             | the inherent simplicity of S-expression structure.
        
           | pjmlp wrote:
           | Here,
           | 
           | https://franz.com/products/allegro-common-lisp/acl_ide.lhtml
           | 
           | http://www.lispworks.com/products/lispworks.html
           | 
           | Emacs is a subset of the whole experience.
        
       | Mountain_Skies wrote:
       | Handing out Dale Carnegie books to Lisp evangelists would be a
       | good first step.
        
       | srcreigh wrote:
       | The point of Lisp is to use it to create good tooling. Whether
       | it's MOP or Racket's macro system or ELisp... the point has
       | always been maximal power and customizability.
       | 
       | Lisp is the system to create systems. It's not the endgame. It's
       | not a finished product. That is the point.
       | 
       | What is better tooling? What improvements can be made? How can it
       | be done?
       | 
       | These questions are wonderful questions to consider and
       | experiment with. Every lisper does - it's the entire point of
       | using lisp. Everybody has answers.
       | 
       | There are, however, some lispers who, never thinking they could
       | provide all the answers, spent countless days to create tools to
       | make it easier for other people to express their answers. Macro
       | systems... ELisp... MOP...
       | 
       | We shouldn't expect all the answers to be given to us. It's not
       | wrong, but it's so limiting.
       | 
       | (P.S. JavaScript is what happened when Brendan Eich was tasked
       | with adding Lisp to the browser, but was asked by the suits to
       | make it look like Java. The entire area of thought comparing
       | JavaScript tooling to Lisp tooling runs really deep. Are they
       | even different?)
        
         | overgard wrote:
         | That sounds kind of nice in a weekend tinkering project way,
         | but what about getting actual product made? If I'm using
         | something like typescript, I download a free IDE, optionally
         | install a couple plugins, and in ten minutes I'm productively
         | actually making something and I can easily share it with the
         | world for them to modify. The Lisp thing sounds like I spend
         | the rest of my adult life trying to build the perfect setup
         | instead of getting on with actually making something?
        
           | diskzero wrote:
           | It sounds like you have found a solution that works well for
           | you. I don't like to tinker around with my coding
           | environment, which is why I pay someone to do that for me.
           | The primary purpose of my software development efforts is to
           | ship products and generate revenue. Anything that I can do to
           | optimize this process, I will do. If I thought using VSCode
           | and Typescript would reduce costs and increase efficiency, I
           | would use it. This simply isn't the case for my use case.
           | 
           | If your primary use case is developing websites, then VSCode
           | and Typescript are perfectly good solutions.
        
             | overgard wrote:
             | I guess my main point though is that most other languages
             | don't require complex/expensive tooling though. Like, I
             | also use VSCode for writing C++ microcontroller code and
             | writing python scripts or writing C# game code for Unity.
             | And not just VSCode so I don't sound like a shill here, I'm
             | also able to use the same set of unix utilities, other
             | generic tools, etc. without having to adopt an entirely new
             | tool stack. I just look at the Lisp situation and it's
             | either something like Emacs which just does not appeal to
             | me, or proprietary and expensive tools where I worry if the
             | vendor will even be around in a few years
        
           | srcreigh wrote:
           | In March 2020, somebody asked PG what language/tech he would
           | recommend for competitive advantage, if they were willing
           | spent 1000 hours learning it ("Is it still LISP?"). He said
           | Clojure.
           | 
           | https://twitter.com/ndehouche/status/1240218141742878720
           | 
           | Personally, I like to imagine PG scoffing at the idea of
           | spending only 1000 hours (6 months, 40 hours per week)
           | learning Lisp, then sarcastically recommending Clojure aka
           | macro-less, continuation-less, Java-lisp.
           | 
           | You want to spend 10 minutes? Use Typescript! ;)
           | 
           | (I love Typescript too btw.)
        
             | TeMPOraL wrote:
             | > _Clojure aka macro-less (...) Java-lisp_
             | 
             | Unless something changed in the last ~2 years since I
             | worked with it, Clojure has macros.
        
       | pjmlp wrote:
       | Here are the colour versions of that screenshot.
       | 
       | https://franz.com/products/allegro-common-lisp/acl_ide.lhtml
       | 
       | http://www.lispworks.com/products/lispworks.html
       | 
       | https://ccl.clozure.com/docs/ccl.html
       | 
       | https://apps.apple.com/de/app/clozure-cl/id489900618?mt=12
        
         | overgard wrote:
         | Oof, screenshots that haven't been updated since the Windows XP
         | era do not inspire confidence.
        
           | pjmlp wrote:
           | Much better than the article one.
        
           | Jach wrote:
           | I feel you on your dismissiveness, I had the same reaction
           | years ago. Even using modern Windows UI (which it does)
           | doesn't improve things that much though. Of the two, I like
           | Allegro's UI a bit more, but it's still dated. I haven't
           | convinced myself to buy a license for either of them, and I
           | don't get the sense that for either of them their IDE is
           | anything close to a cash cow, and hence there's little
           | motivation to invest more effort into it or even updating the
           | screenshot.
           | 
           | But if I were running a business using Lisp, I'd cough up
           | licenses for employees if they wanted to use one (and
           | encourage them to try the free demos if they're new and
           | aren't sold on emacs or vim or one of the other newer plugins
           | for VS Code/Atom/Sublime). It's similar to how many Java
           | shops cough up licenses for IntelliJ, except JetBrains has a
           | sane business model that's not straight out of the 90s, you
           | can trust they'll continue to make improvements to it and not
           | drop a Big Update at some point that you have to debate
           | whether to pay for, and for both an organization or an
           | individual it's very affordable.
        
             | overgard wrote:
             | I don't think I'm being dismissive. Windows XP came out 20
             | years ago, and it's been practically out of use for a
             | decade. Things like that scream "unmaintained"
        
               | Jach wrote:
               | It takes a bit more than one screenshot for me to think
               | "unmaintained", like one click to the Support page and
               | another click for details on a bullet item takes me to
               | https://franz.com/support/apple_silicon.lhtml and I'm at
               | least assuaged that it isn't abandonware even though I'm
               | not an Apple user. But in any case I still get a bad
               | feeling from the ancient images and sympathize with
               | similar negative reactions, whatever they are in detail;
               | for you it's a sense of being unmaintained and for me
               | it's a sense that they don't care very much about the
               | product and aren't interested in attracting new
               | customers. And this is just from the window chrome,
               | looking at what the screenshots actually depict produces
               | another set of emotions that I don't think anyone at
               | either company cares about exploring. At least LispWorks'
               | has syntax highlighting... (In case any employee happens
               | to catch this, take a look at
               | https://www.jetbrains.com/idea/ and compare.)
        
               | TurboHaskal wrote:
               | I do feel the same but let's face it, no amount of PR
               | magic will make them attract new, young developers.
        
               | eschaton wrote:
               | Imagine a venerable tool in the late 1990s using a
               | screenshot of the tool in use in the late 1970s as part
               | of its marketing campaign.
        
               | pjmlp wrote:
               | This is commercial software, not something that a dev
               | dropped into github and left untouched.
               | 
               | Most likely their customers don't use the screenshots on
               | their buying decisions.
        
               | lispm wrote:
               | I use LispWorks on Apple's current OS (Big Sur) and on a
               | current Linux. The IDE picks up newer looks in many
               | respects, since it uses a native graphics backend (Cocoa,
               | Windows, GTK).
               | 
               | If a new OS would cause UI problems, they would fix that.
               | Usually just shipping tiny patches of compiled Lisp code.
        
           | TurboHaskal wrote:
           | It looks perfectly fine if you ask me:
           | 
           | https://i.imgur.com/ml4jlYB.png
           | https://i.imgur.com/qkgIXhE.png
        
       | tomlin wrote:
       | Is this what people want, though? Why wouldn't we push for more
       | open, expressive and semantic languages, instead of trying to
       | dust off older languages because of some abstract warm and fuzzy
       | feeling?
        
         | aidenn0 wrote:
         | TFA seemed neutral to me on this question. It was merely trying
         | to answer "why isn't Lisp more popular" not making a judgement
         | on whether or not doing so would be a good thing.
         | 
         | [edit]
         | 
         | And the source of the question of Lisp's popularity was here:
         | https://www.reddit.com/r/lisp/comments/pdpl5w/hell_is_other_...
         | 
         | [edit2]
         | 
         | And the fact that the author was reading comments in /r/lisp is
         | a pretty strong indication that they have positive thoughts
         | about lisp...
        
       | s17n wrote:
       | If you're worried that Emacs is what's holding Lisp back, the
       | answer is definitely to build first class VSCode support, not to
       | try to make a new modern Lisp environment.
        
       | linguae wrote:
       | I remember seeing this post on r/lisp earlier today, and the
       | thought that I had then was that perhaps the reason why Lisp
       | hasn't embraced "modernity" is because many Lisp programmers have
       | not only embraced Lisp the language, but also Lisp the
       | _ecosystem_ , one that came from a world completely different
       | from today's popular commercial systems. Lisp's heyday was during
       | the time of Lisp machines and interactive environments/operating
       | systems such as Xerox Interlisp and Symbolics Genera. While we
       | don't have these things today (though thankfully Interlisp Medley
       | was made open source), we still have Emacs as a surviving and
       | thriving vestige of that world. I see the same thing in the
       | Smalltalk community, except Smalltalk still has modern evolutions
       | of the Smalltalk-80 environment in the forms of Squeak (which is
       | more conservative) and Pharo (which has gone beyond Smalltalk-80
       | in terms of features). Many Smalltalkers relish the "other
       | world"-ness of Smalltalk environments. These Lispers and
       | Smalltalkers, among others, are still the keepers of the "the
       | right thing" (coined by Richard Gabriel of "Worse is Better"
       | fame) and "The Unix Haters Handbook" flames, and they want to
       | evangelize their world.
       | 
       | I disagree with the notion that in order for a programming
       | language (or any other software product, for that matter) to
       | thrive, it must conform to the "standards" of the most popular
       | platforms and tools. In fact, I argue that _providing a
       | compelling difference that is substantially better than the
       | competition_ is what makes a programming language or software
       | product thrive. Why are Lispers so attached to Emacs? Why are
       | Smalltalkers so attached to their environments? For them, they
       | feel that these things are compelling enough to provide an
       | advantage over  "standard" tools. I love vi, but I have great
       | respect for Emacs' extensibility through its own Lisp.
       | 
       | I also disagree with the notion that a tool needs to be "modern"
       | to be popular. Now, if modernity means running on current
       | operating systems and adhering to current protocols, then I
       | agree. However, if modernity means conforming to mainstream
       | expectations at the expense of a tool's identity, then I
       | disagree. Here on this forum we have a sizable, vocal segment who
       | speaks out against "modern" trends such as the flat UI aesthetic,
       | desktop environments that are designed for mobile computers
       | instead of workstations, Electron apps, Web framework churn, and
       | large siloed applications. Many people find Lisp, Smalltalk, Plan
       | 9, and the suckless (https://suckless.org/philosophy/) community
       | of traditional Unix users refuges from this type of "modernity,"
       | and they want to keep things the way that they are.
       | 
       | Now, this does not preclude Lispers (and Smalltalkers) from
       | embracing mainstream platforms and tools and building solutions
       | that will make Lisp a more attractive solution within these
       | worlds. After all, I love these "other world" environments, but
       | my livelihood relies on coding for mainstream platforms. However,
       | I wish the author had a better appreciation regarding why Lisp
       | programmers evangelize the Lisp world instead of making efforts
       | to have Lisp conform more to mainstream platforms.
        
         | pjmlp wrote:
         | They exist, but keep being ignored by FOSS devs, because "evil
         | commercial vendors" buuu.
         | 
         | https://franz.com/products/allegro-common-lisp/acl_ide.lhtml
         | 
         | http://www.lispworks.com/products/lispworks.html
        
           | linguae wrote:
           | I don't know....FOSS tools have their advantages, and I don't
           | think it's unreasonable for FOSS developers to ignore
           | proprietary tools, even high-quality ones. I think the advent
           | of affordable and later FOSS alternatives to Lisp and
           | Smalltalk during the 1990s when the cost of Lisp and
           | Smalltalk development tools were generally high helped hinder
           | the adoption of Lisp and Smalltalk, and these communities are
           | still dealing with the effects of this; while there are high-
           | quality FOSS implementations like SBCL and Pharo,
           | respectively, they have to compete with the likes of well-
           | funded languages like Java, C#, and Python. Even newer
           | languages such as Rust and Julia have had rather prodigious
           | growth. In addition, no major company is backing FOSS
           | implementations of Lisp and Smalltalk like how Python and
           | Rust are being backed.
           | 
           | Perhaps one of the big keys toward broader adoption of Lisp
           | is for a large corporation to embrace Lisp and to participate
           | in the FOSS development of the Lisp ecosystem. Unfortunately
           | it is hard for companies to solely focus on developer tools
           | since they have to compete against FOSS offerings.
        
           | nerdponx wrote:
           | The cheapest LispWorks hobby license is $500 USD in North
           | America [0].
           | 
           | The cheapest Allegro license is $599 USD [1].
           | 
           | If you're already a highly productive professional, this is
           | probably totally worth it. For everyone else, there's no way
           | you're going to get newbies to pay even close to that much,
           | while DrRacket and Thonny are both free-as-beer _and_ free-
           | as-in-freedom.
           | 
           | 0: http://www.lispworks.com/buy/prices-1h.html
           | 
           | 1: https://franz.com/products/packages/
        
       | brundolf wrote:
       | I've flirted with Lisp over the years. I appreciate its
       | simplicity, I'm always casting curious glances when lispers talk
       | about slinging code around, editing it live, this (alleged)
       | blissful nirvana of pure digital expression. I used to work at a
       | company that used lisp (I worked on other things, but I poked at
       | it occasionally), and I've done a couple of small projects in
       | Clojure, just to try it out. I've even made a couple
       | interpreters/transpilers of my own.
       | 
       | But advocates always seem to emphasize how _fun_ and _effortless_
       | lisp is, how that 's one of its biggest strengths. And frankly,
       | that has not been my experience. Mainly because of the tooling.
       | 
       | I don't have the dedication to dive into learning emacs for
       | something I'm merely curious about. Clojure's experience was less
       | esoteric in some ways, but the tooling was more complicated in
       | other, more Java-flavored ways.
       | 
       | If somebody made an all-in-one Lisp toolkit tomorrow, complete
       | with a modern editor experience that _just worked_ , I would
       | revisit Lisp in a heartbeat. Who knows, I might become a convert.
       | I doubt I'm the only one.
        
         | yourapostasy wrote:
         | Check out Portacle [1], or if you already are rocking Emacs and
         | SBCL and just want the bare minimum dot-emacs to kick around
         | Lisp, check out emacs4cl [2]. There is an older project called
         | "Lisp In A Box", but it hasn't been kept up to date so most
         | beginners start with Portacle these days.
         | 
         | [1] https://portacle.github.io/
         | 
         | [2] https://github.com/susam/emacs4cl
        
       | diskzero wrote:
       | There exists a product that meets most of the suggestions in this
       | article called LispWorks. It has an IDE runs on multiple platform
       | and has the features that a majority of Lisp programmers would
       | consider mandatory. There is a listener, editor, debugger,
       | various browsers and more. You can deploy stand-alone binaries
       | for the supported platforms. The user interface library uses
       | native widgets for each platform. There are iOS and Android
       | runtimes for core library code. There is FFI support for calling
       | code outside of Lisp. LispWorks is a high-quality, professional
       | product.
       | 
       | So what are the downsides? It isn't open source and you have to
       | pay for it. At some point developers decided that they wouldn't
       | pay for development tools. This has mostly been positive, but
       | languages on the edges have suffered because of it. Yes, you can
       | cobble something together using VSCode and various plugins, or
       | use an Emacs environment. To me, the ergonomics of these
       | solutions are inferior to an integrated solution like LispWorks
       | and perhaps some of the other commercial Lisps I haven't used.
       | 
       | Some of the examples the author mentions were also tightly
       | integrated environments. If you ever used Dylan, or Self, of any
       | of the other commercial Lisps that have come and gone over the
       | years you can see the allure of an integrated IDE.
       | 
       | LispWorks has been almost magical for me. It was expensive, $3100
       | for the 64-bit IDE and another $1000 for the mobile runtime, but
       | the ability to develop/debug the core engine code in Lisp with
       | the benefits of an integrated IDE, live code editing, REPL, etc.
       | is more than worth it. The mobile products have native UI for the
       | platform, but everything else is Lisp. You can most certainly
       | develop and ship modern applications for desktop and mobile using
       | LispWorks.
        
         | overgard wrote:
         | 3100 is absurdly expensive when the price of development tools
         | for pretty much every other language is zero. Even if it's that
         | much nicer (which I'm skeptical), to practically use it I'd
         | also have to convince other people its worth paying that much
         | since I want a community. And then it's proprietary on top of
         | all of that? Yikes.
        
           | nerdponx wrote:
           | Don't forget, that's an "enterprise" price and it's meant for
           | "enterprise" users. Individuals aren't going to be paying
           | that kind of money, unless they're independent Lisp
           | consultants.
           | 
           | By comparison, IntelliJ IDEA Ultimate is something like $3000
           | for an individual license over the course of _nine years_. If
           | you 're not strapped in for a decade or more of Lisp, then
           | the $3100 IDE probably isn't for you.
           | 
           | 0: https://www.jetbrains.com/store/#commercial?billing=yearly
        
             | diskzero wrote:
             | Good point. LispWorks has licenses for non-commercial usage
             | that are a third of the price of the enterprise licenses. I
             | wish the non-commericial licenses cost less, just to bring
             | more users to the platform, but once again, maintaining a
             | viable company selling developer tools is difficult.
        
             | overgard wrote:
             | IntelliJ community edition is free and modern and well
             | maintained, and if you're buying an enterprise edition you
             | probably got your feet wet with the free version first.
             | Lispworks for individuals is still close to a thousand
             | dollars and from the screenshots I could find anyway looks
             | ancient.
        
               | lispm wrote:
               | If you want to check out the look & feel of LispWorks,
               | there is a Personal Edition for that purpose:
               | 
               | http://www.lispworks.com/downloads/index.html
        
               | nerdponx wrote:
               | For what it's worth, IntelliJ CE has a lot fewer
               | restrictions than LispWorks PE.
               | 
               | This is fine for a software evaluation period / demo, but
               | it's not at all equivalent to the IntelliJ free
               | offerings:
               | 
               | > There is a heap size limit which, if exceeded, causes
               | the image to exit. A warning is provided when the limit
               | is approached.
               | 
               | > There is a time limit of 5 hours for each session,
               | after which LispWorks Personal exits, possibly without
               | saving your work or performing cleanups such as removing
               | temporary files. You are warned after 4 hours of use.
               | 
               | > The functions save-image, deliver, and load-all-patches
               | are not available.
               | 
               | > Initialization files are not loaded.
               | 
               | On the other hand, I do wish more "expensive" software
               | came with a demo mode like this (e.g. Mathematica).
        
               | lispm wrote:
               | > but it's not at all equivalent to the IntelliJ free
               | offerings
               | 
               | true, but for finding out the look & feel it's
               | sufficient.
               | 
               | Sometimes this also has been used in educational
               | settings.
               | 
               | For those who want to get a feeling for the full product,
               | LispWorks has full trial licenses.
        
           | diskzero wrote:
           | I understand your point of view, but absurdly expensive is a
           | very relative term. When I do a cost benefit analysis, I see
           | that the cost _for my use case_ is quite cheap. I have the
           | benefit of only having to convince myself. That being said, I
           | have worked at much larger companies who spent much more on
           | various software licenses and wouldn 't have blinked if I
           | submitted an expense report for $3100 for a piece of
           | software.
           | 
           | The IDE is proprietary, but the code is all Common Lisp. If
           | one had to leave the platform, or the platform went away, you
           | might have a problem with the native UI layer, but not with
           | any other code.
           | 
           | The price does reflect the difficulties a company has when
           | there has been a race to the bottom in pricing, or in the
           | case of Apple and Microsoft, the floor was removed for
           | development tools.
        
             | overgard wrote:
             | For a company, sure, it's nothing. But the problem is if
             | you want your community to grow you need to appeal to
             | hobbyist and beginners and students etc. That kind of
             | pricing model just guarantees stagnation, and who wants to
             | invest time in a stagnant technology? Lets say LispWorks is
             | like 50% more efficient to work in if you know it, but
             | javascript is free, has 50000x more users and jobs. Why
             | would any sane person go with LispWorks? Of course I'm
             | guessing most Lispers go with emacs etc. but those tools
             | are of course also a huge problem. I really agree with the
             | article, Lisp is a lovely language but it would be much
             | more accessible if I were using it in VSCode
        
               | TurboHaskal wrote:
               | It's mostly survival over stagnation. There were cheaper
               | Common Lisp vendors and where are they now?
               | 
               | In my case I pay for it because I can afford it and would
               | rather write Common Lisp than in Javascript.
        
               | diskzero wrote:
               | My issue with Lisp in VSCode is that it isn't really
               | Lisp. Yes, you are coding in Lisp, but the language is
               | just one element. I have tried the various plugins and
               | they have a long ways to go. Unless you have tried an
               | integrated Lisp environment, it is hard to completely
               | describe it.
               | 
               | I understand your point about the pricing, stagnation and
               | the job market. This is a problem any language outside of
               | the mainstream has, whether it is Lisp, Dylan, Erlang,
               | Clojure, etc. Someone can always come along and promote
               | Javascript or some other more popular language as a
               | solution.
        
           | robertlagrant wrote:
           | I think the OP already addressed everything you said.
        
       | mbrodersen wrote:
       | All good ideas. However nobody in the Lisp community seems to
       | actually want to do the work. Despite claims that Lisp is so much
       | more powerful than anything else that it should be "trivial" to
       | do. A bit like people introducing themselves as book writers,
       | without actually ever, you know, having written any books. They
       | are brilliant writers in their own heads but just can't seems to
       | actually deliver their masterpieces to the real world. While
       | dismissing the rest of us who actually deliver every day.
        
         | diskzero wrote:
         | It is hard for me to want to work on an open source Lisp IDE,
         | when I can pay a relatively small amount of money in return for
         | a professional and well-maintained commercial product. It just
         | doesn't make sense for me. If all of the commercial Lisp
         | vendors vanished one day, then it would become much more
         | important.
        
       | amatic wrote:
       | Apparently, there are some VS code extensions for Common Lisp,
       | e.g. Alive:
       | https://marketplace.visualstudio.com/items?itemName=rheller....
       | 
       | I will check it out.
        
       | mbrodersen wrote:
       | Lisp enthusiasts don't get why Lisp isn't popular. And they keep
       | repeating the same thing over and over again: that somehow it
       | isn't Lisp that's the problem but something else. Nope. The
       | problem is Lisp. I have written my own Lisp interpreters just for
       | fun. An it is nice how you can built a language from very little.
       | However it still doesn't make me want to use Lisp for real
       | projects. The same way I admire Lambda calculus but would never
       | use it for real programming.
        
         | amboo7 wrote:
         | Whenever I used Lisp for real projects over past two decades,
         | the development was an order of magnitude faster and powerful.
         | To stay on the positive.
        
         | pjmlp wrote:
         | I am yet to see a lambda calculus compiler.
        
       ___________________________________________________________________
       (page generated 2021-09-01 10:01 UTC)