5 ms·
How's the state of Lisp in production these days?
by stevenwliao 6y ago
How's the state of Lisp in production these days?
- lisper 6y agoMy one-man company uses a bespoke e-commerce system written in Lisp. It uses Stripe and Easypost on the back end and gives me a completely seamless fulfillment process that lets me ship anywhere in the world with essentially zero effort. I also consult for a major chip developer to help them maintain an internal design tool written in Common Lisp which they consider to be a major source of their competitive advantage. So it's not widely used, but where it is used it's a big win.
- klipt 6y agoSounds like lisp is good for a team of size 1, but are there any larger teams using lisp successfully? I've heard theories that lisp teams don't scale well because the language is so customisable that team members have trouble reading each other's code.
- JoeAltmaier 6y agoHell I have trouble reading my own code. Dense, arcane, not descriptive of what's going on. FWIW
- kazinator 6y agoI love my code. Whether it's 6 months old or 20 years, I can readily understand it, and prefer it other people's code by a wide margin.
- JoeAltmaier 6y agoMust not be learning? My code changes because I learn and change.
- deleted 6y ago[deleted]
- kazinator 6y agoErratum: It's too late to edit the comment, but what I was trying to say is that my code doesn't change because I don't learn. Alas, my wording somehow doesn't convey that at all. Credits to the clairvoyance of JoeAltmeier for the kind correction!
- JoeAltmaier 6y agoSorry didn't mean to be catty. Just that, our 20-year old code for most people seems naïve and clumsy.
- lisper 6y agoThat depends on what counts as a team. I use a lot of other people's code in my own projects. So although the people who wrote much of the code that I use didn't work for me, it's not exactly a solo effort either. But yes, managing Lispers can be a challenge. That's one of the reasons Java is used so much more.
- kazinator 6y agoSomeone with no actual experience in a team environment using Lisp just made that up, wrote it up into a glib article and that turned into a famous meme that gets trotted out about semi-monthly on HN.
- AlchemistCamp 6y agoWhat do you think of Stripe's docs? As an Elixir dev I'm somewhat dismayed at their trend towards assuming everyone is using one of their blessed handful of languages. I mean, it's great that they've made a few official integration libraries, but if all the docs assume you're using one of them then the docs leave out crucial information about how to work with their systems for everyone else. I suspect the information is all there somewhere but at least since SCA, it's buried. At least for me, the dev experience using Stripe has deteriorated quite a bit in the past 2 years.
- lisper 6y agoStripe's documentation is excellent. All you really need is a REST API.
- AlchemistCamp 6y agoThere's definitely more to it than that. I wrote a very lengthy comment about my experience working through their payment intents docs with basic REST requests and hit quite a few errors due to requirements not mentioned either here or any linked page: https://stripe.com/docs/payments/accept-a-payment https://stripe.com/docs/payments/accept-a-payment It's worthy of a whole blog post, though, so I'll share it that way.
- lisper 6y agoWhat can I say? I had no problems. But maybe you were trying to do something more complicated than I was.
- AlchemistCamp 6y agoOk, here's the short version: My experience going through the payment intents was that sending POSTs exactly as described was an immediate error for not sending a version in the request header. Nowhere in the doc was this requirement mentioned: https://stripe.com/docs/payments/accept-a-payment https://stripe.com/docs/payments/accept-a-payment The problem is step 1: "Use our official libraries for access to the Stripe API from your application" Similarly the link on this page regarding webhooks leads to another page with similarly insufficient docs: https://stripe.com/docs/payments/handling-payment-events#build-your-own-webhook https://stripe.com/docs/payments/handling-payment-events#bui... If you're not using their library, there's no info about how to parse the webhook signatures and verify them. There isn't on this page either: https://stripe.com/docs/api/webhook_endpoints/ https://stripe.com/docs/api/webhook_endpoints/ It ended up taking me half an hour to find a page that actually explained (with no examples) how to actually do it. "Use the official library (and we have no plans to support more languages)" is not excellent documentation. TBH, it was one of the more frustrating experiences I've had with anyone's API docs in the past 2 years.