[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)