6 ms·
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
by diskzero 5y ago
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 5y ago3100 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 5y agoDon'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 https://www.jetbrains.com/store/#commercial?billing=yearly
- diskzero 5y agoGood 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.
- sitkack 5y agoI was going to ask about training and certification from LispWorks, so I went to the site and was tragically underwhelmed by the knowledgebase and anything else resembling Lisp training or certification. If the platform is as powerful as claimed, I do believe btw, then it will take some time. It is a learned skill. I guess where I am getting with this, if a company makes LispWorks and Common Lisp part of their long term tech strategy, I would think that LispWorks would be more of a strategic partner than just a tools vendor. And in that regard, they should be offering language training, tooling training as well as certification. This is the prototypical MS Dev playbook from the 90s and it worked amazingly well. Sheparding library standards is another thing that I would expect out of a company like LispWorks
- lispm 5y agoFranz (Allegro CL) has training & consulting: https://franz.com/services/classes/ https://franz.com/services/classes/ https://franz.com/services/consulting/ https://franz.com/services/consulting/
- diskzero 5y agoVery good point. I can only assume that their resources are so constrained that they don't have the ability to provide the level of training and support truly needed. There is a chasm that has developed, perhaps dating back to when many of the commercial Lisp vendors switch focus to Java, that needs to be closed. As you said, it is tragic in many ways.
- overgard 5y agoIntelliJ 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.
- diskzero 5y agoI 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 5y agoFor 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
- diskzero 5y agoMy 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.
- sitkack 5y ago
- robertlagrant 5y agoI think the OP already addressed everything you said.
- mark_l_watson 5y agoWhile I use SBCL, CCL, and CLisp for free I also paid for the $3100 professional LispWork license and pay the yearly maintenance fee. Recently, LispWorks stopped running when I updated my M1 MacBook so I had to just use other implementations for a short while until LispWorks gave me a custom built beta. They really do provide good service. If this seems expensive, in 1982 I got a Xerox 1108 Lisp Machine that cost $25K, which is about $72K in 2021 dollars. Sometimes good tools cost money.
- arethuza 5y agoAround 1990, my employer paid about £40,000 for a fully loaded Sun 4 for us to run LispWorks on...
- lispm 5y agoOur local AI lab paid that for a fully loaded (memory, disk, screen) Compaq PC with a Lisp license (GoldWorks).
- arethuza 5y agoI was particularly impressed when we upgraded the RAM someone flew up from London to personally deliver and install it. It was a Sun 4/330 - big VME based thing. Edit: I checked and the 4/330 had a maximum of 96MB of RAM so the upgrade was probably to add an additional 64MB.
- darkerside 5y agoI think people are willing to pay for IDEs. PyCharm is a great example. But Python is wisely considered a commercially viable language whereas Lisp is... generally not. Not to say it can't be or won't be, but most people won't pay for it for non-commercial projects, and it won't be used for commercial projects until there are many developers who consider it a good choice for commercial projects. Chicken and egg.
- chii 5y ago> won't be used for commercial projects until there are many developers this is the crux of "modern" software development. The implicit assumption by the stakeholder is that their engineers must be replaceable, and so will only choose a tech-stack which has existing engineers as a commodity. Whatever happened to specialized engineers - aka, craftsman - which you (as the stakeholder) hold on to for dear life, and pay _any_ price to keep? That is how you produce great products - talents that aren't bound by an ordinary, commodity language. https://en.wikipedia.org/wiki/Game_Oriented_Assembly_Lisp https://en.wikipedia.org/wiki/Game_Oriented_Assembly_Lisp for example, are used to produced some excellent games. But today, most AAA games are made via a commodity tech stack, and lacks the soul that would come from such a craftsman, using non-commodity stacks.
- lispm 5y agoThey early on used Allegro Common Lisp on SGIs for their game software development.
- MonkeyClub 5y ago> Whatever happened to specialized engineers - aka, craftsman - which you (as the stakeholder) hold on to for dear life, and pay _any_ price to keep? I'm not entirely certain about this, but I would say that management decided they didn't want to be "held hostage" by such craftsmen. Why pay ten times the price for a single developer, and be locked in to their presence and whims, while you can pay three times the price for three developers, and be able to manipulate them as desired? Of course, I'm not saying that's the ideal approach. It has rendered software a buggy and disposable commodity, one that both the creator and the user expect to be of limited life, aesthetic quality, and use. In software engineering, "survival of the fittest" rarely means what we would like it to mean, some beautifully crafted digital artifact that attains both immanence and permanence by the sheer force of pure virtue or something. It rather means "move fast and break things" on the back of a full stack of breakable and non-breakable things: from UX to, well, democracy, and including the well-being of the plug and play devs. Therefore Java is better than Lisp in this regard, design patterns are preferred over macros and DSLs, and a replaceable pool of fresh-out-of-school programmer are favored over an irreplaceable tenured craftsman. I (and you, and everyone of a similar bent) can certainly try and do "my bit", pour soul and art and craft into it to the limit of my abilities, and push these abilities to their next limits, by my deadlines are still going to be set by factors that don't consider craftsmanship a top driver, and I'll have to scrum alongside the other cogs to deliver and get paid on what is usually an internal proof of concept alpha christened a release on the basis of an arbitrarily chosen date. Occasionally, however, I get to brush up against the ideal for a few fleeting moments; either in code, or in thought and conversation. A glimpse of the sublime through the keyhole. But then it's time for a meeting, and a bunch of new tickets are -- ding-ding -- in my inbox. And, wouldn't you know it, that button now needs to be pink. Top priority, grab some coffee and get cracking, we need it yesterday.
- brundolf 5y agoThe problem remains getting people in the door. The masses need to be sold on Lisp first, and then maybe their employers will shell out for expensive environments. I also have to add that that's incredibly expensive even among the paid dev tools I'm familiar with.