Skip to content

Comment on A Road to Common Lisp

Comments

In Freenode's #mercurial, sjl said this about common lisp:

   <sjl_>	CL code from the early 90's runs just fine on SBCL from a month ago
   <sjl_>	But trying to run five-year-old python/ruby/scala makes me hate life.
This echoes his earlier blog post, volatile software:

http://stevelosh.com/blog/2012/04/volatile-software/

I kind of have the feeling that fighting bitrot is sjl's main motivation for CL.

I don't know that I'd go so far as to call it my main motivation, but it is absolutely one of the strongest motivators, yes.

Running decades-old code on modern implementations is also a characteristic shared by other languages (e.g. QBasic with FreeBASIC) so I'd hope it's not anyone's main motivation for Lisp. Still, it's a big plus. This is a great writeup to see how to start tackling the elephant that is CL...

Elephant? Bit of a mixed metaphor, almost a malaphor, no? I'd say "tackle the behemoth" or "slay the dragon" instead. Elephants aren't usually tackled, they merely reside in rooms.

The phrase I was probably looking for was "eating the elephant", from Creighton Abrams' "When eating an elephant take one bite at a time."

Maybe "wrestling the alien" would work best for CL. Nose-against-arm.

Put the elephant to bed? "How the elephant got in my pajamas, I'll never know!"

It's a worthy effort. It really tires you after a while with languages that constantly break the language, the libraries, the ecosystem and the tooling in the ao called "minor versions". Ain't nobody got time to deal with that stuff. Then they are surprised that people still run "ancient" versions of compilers or libraries. Yes scala it's about you.

I stopped using Hugo for this reason. Some point release broke my ability to rebuild my site, and I was just donezo. Better to write like 100 lines of go to write the files myself.

I'm curious about python being on that list. I worked with python on multiple applications, some fairly large (500kloc), over 10+ years with multiple version upgrades without issue. I always considered python's backwards compatibility to be one of its strengths. That was why the python-3 was such a big deal, it would break backwards compatibility which had always been a top priority.

I am missing something?

I think the Python problem is mostly about

https://xkcd.com/1987/

Which is to say, core Python may be fairly backwards compatible, but once you pip anything, well...

Yep. Yep. Yep.

I once rewrote a Python program into Java just to avoid those problems. 10/10 would do again.

It's all much better now, especially since pip can (and does) install per-user. Of course, for anything non-trivial, you'd want a virtualenv anyway, and then you're dealing with a single place for all dependencies, and (usually) pinned version numbers.

I'm afraid I must disagree: Python packaging is as bad as its ever been; but now with more nuances to trip one up and occasionally work.

Gez, they should try running Swift from a few months ago

I don't know if I should laugh or cry

I feel the same...

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.