Live data from Hacker News

Why is Common Lisp not the most popular programming language?

daninus14.github.io

261–270 of 339 posts

Re: Why is Common Lisp not the most popular programming language?

#261
post #198

Earlier quoted context omitted.

> Lifetimes on the other hand seem unnecessary in 99% cases where compiler forces you to use them - why can't it just assume that all the required parts have the 'a and complain if something violates that? Rust does that, this is lifetime elision. If the compiler complains about missing lifetime annotations, that means it can't infer the lifetime. Granted that it not-infrequently feels like it should be able to, and…

To the contrary I ran into cases pretty quickly that rust just wasn't useful for in my opinion. One of my use cases was something like a mutable borrow of an struct in a struct in a single threaded code path wasn't allowed because the entire struct was mutably borrowed or some nonsense. I believe the "idiomatic" way was to create some weird abstraction to appease the borrow checker that the thing being borrowed once…

Forbidding multiple mutable borrows is how Rust is able to prevent you from writing code with bugs like iterator invalidation. Has nothing to do with threading.

Re: Why is Common Lisp not the most popular programming language?

#262
post #13

It’s more of a toolbox to build languages than a language. So every commonlisp codebase has a different flavor, and anachronistic semantics. No matter how good you are, this is difficult to deal with. Sure, for config files or writing extensions for your favorite piece of software, you’d make the effort. But most software development is not in that category.

Is it actually that good of a toolbox for building languages? I don't think people really use it much for that either

It's not like you'd often create a named language, it's more like accidentally defining a DSL along with libraries when working on something in a lisp with a decent macro system.

As a result, all the client code looks like it's written in a bespoke language. This, while it's a lot of fun, creates write only code.

Re: Why is Common Lisp not the most popular programming language?

#263

Earlier quoted context omitted.

Lol. The final domino falls!

I doubt it :D https://gist.github.com/vindarel/15f4021baad4d22d334cb5ce2be...

There isn't a language where you can't find a ragequit file. The Common Lisp ones are absolutely savage.

Re: Why is Common Lisp not the most popular programming language?

#264

Earlier quoted context omitted.

> But idiomatic Lisp code really does use linked lists extensively, Idiomatic python code uses lists extensively. In my (somewhat limited) experience, they're the default data structure to use for a lot of algorithms. Slightly more accurately, a lot of stuff in python uses sequences extensively, which are implemented by a number of types - but the default sequence is a list. And strings are lists. Yeah, if a list doe…

People confuse code at the exploratory phase with final production code. Linked lists are a massively flexible data structure which can be great when you are still feeling your way around a problem domain. Once you have a good sense for the shape of your data it is relatively trivial to go back and update the codebase with performance optimized structures.

Linked lists in their basic form are essentially obsolete. Having small items linked by pointers on a modern computer means following the pointer, allocation and deallocation are all more expensive than using data.

This sounds like a backwards rationalization without a technical explanation. Why would a linked list be any better for 'exploratory' programming? The vast majority of data structures are arrays, hash maps and occasionally a sorted map for the times where you need to insert something in a specific place.

What scenario is a linked list valuable in 'exploratory' programming where it wouldn't make more sense to use a different basic data structure?

Re: Why is Common Lisp not the most popular programming language?

#265
post #190

Earlier quoted context omitted.

MacOS, with a slight help from MS, very, very nearly tipped the balance to Pascal in the 80s. I dare say that without C++ hitting mainstream around 1990, C would have languished.

Now you are rewriting history :) Turbo Pascal was responsible for the Pascal success. And then came delphi along and somehow lost against Visual Basic.

Early Mac Systems were written in pascal, well, Clascal as they called their Object Pascal system in those days, Clascal was developed internally at Apple with Wirth as a consultant. Think Pascal was the primary alternative to MPW until mid System 6 era. MacApp remained Apple's primary API until the mid 90s, and it was 100% written in Object Pascal (formerly Clascal).

Some chunks of Windows were also written in Pascal, using Microsoft Pascal which they'd been using since their CP/M days.

Re: Why is Common Lisp not the most popular programming language?

#266

Earlier quoted context omitted.

> I think you might be on to something. Symbolics was very much in danger of making large software projects possible by one person or a small team of people. It seems as if the corporate world has responded to the proliferation of more powerful software development tools -- not only in Lisp, but certainly Lisp and Smalltalk had an outsized influence -- by lowering the skill ceiling to make devs more fungible, and cre…

> What world are you living in that corporations actively want their employees to work slowly or to have too many employees? Who does that benefit? 1) In the corporate world, a larger headcount under you means you get more funding for your initiatives. If you get things done with a team of five, that signals to upper management that that's all you need and your budget will be adjusted down accordingly. 2) When it com…

Your comments are describing two different things.

- Technical leaders choosing a language that's easy for developers to Grok to make them more fungible, and make onboarding easier. - Corporate managers purposefully choosing a language as a "Response" to Common Lisp, as you said, to tank the performance of a company for more funding.

One is actually happening, the other requires me to believe corporations even know what Common Lisp is, which would be amazing. You're lucky if management even knows what Python is.

The conspiracy theory I'm referencing is the fact that people think Corporations just hate developer proficiency and will actively fight against tools that make people more proficient. That is different from someone coming to a manager with, from the managers perspective, an idea that could increase efficiency but make them look bad. The first is not something a manager actively does, but the second is an insecure reaction to someone "Rocking the boat."

Common Lisp did not take the world over for lots of reasons beyond hand wringing PMs.

Re: Why is Common Lisp not the most popular programming language?

#267
post #7

It's the lists. No, not the prefix notation, parenthesis, what have you, although that doesn't help. The lists themselves. In Lisp, code is data, and data is lists. Yes, of course, there are hashmaps, arrays, strings. But idiomatic Lisp code really does use linked lists extensively, it's an entire style of programming. Even if you'd prefer to use different data structures (and again, Common Lisp does support this ),…

I don't think it's the lists. I think it's the cons cells. Lists are pretty ergonomic in most languages. As someone who loves Lisp (Scheme, specifically), cons cells are elegant for the compiler nerds and a complete nightmare for the programmer. Fuck `car`, `cdr`, `cdar`, `cddar`, `caar`, etc.. It's a horrible interface and every time I need to remember which variant gets me the value stored at the tail of a list I get a little more angry and want to write more Clojure and less Scheme.

Re: Why is Common Lisp not the most popular programming language?

#268
post #265

Earlier quoted context omitted.

Now you are rewriting history :) Turbo Pascal was responsible for the Pascal success. And then came delphi along and somehow lost against Visual Basic.

Early Mac Systems were written in pascal, well, Clascal as they called their Object Pascal system in those days, Clascal was developed internally at Apple with Wirth as a consultant. Think Pascal was the primary alternative to MPW until mid System 6 era. MacApp remained Apple's primary API until the mid 90s, and it was 100% written in Object Pascal (formerly Clascal). Some chunks of Windows were also written in Pasca…

This is very limited to mac, which was really tiny during that period.

The rest of the world looked very differently at that time, and compared to mac had much better development environment.

Re: Why is Common Lisp not the most popular programming language?

#269

I tried to learn lisp, and this may sound like a trite complaint, but I honestly just could not deal with all the parenthesis. Terrible ergonomics.

This is so often mentioned, it must be true. Or is it? To put numbers on it, I counted the occurrences of brackets, braces and parenthesis in Frank Busse's Arabesque cellular automata (just a small program for which I had the C version and a Common Lisp translation, which I happened to have looked at recently for no good reason). The C version had 86 of those characters, while the Common Lisp version 196. Yeah, more than twice as many, but can that truly be a chief reason to give up on a language?

Re: Why is Common Lisp not the most popular programming language?

#270

I tried to learn lisp, and this may sound like a trite complaint, but I honestly just could not deal with all the parenthesis. Terrible ergonomics.

This is so often mentioned, it must be true. Or is it? To put numbers on it, I counted the occurrences of brackets, braces and parenthesis in Frank Busse's Arabesque cellular automata (just a small program for which I had the C version and a Common Lisp translation, which I happened to have looked at recently for no good reason). The C version had 86 of those characters, while the Common Lisp version 196. Yeah, more…

It makes it very hard to, at a glance, parse what is happening.
Post reply on HN