Live data from Hacker News

Common Lisp homepage

lisp-lang.org

211–220 of 313 posts

Re: Common Lisp homepage

#211

Earlier quoted context omitted.

You quoted two companies using Lisp when there are millions of Java devs. That's like a boxer with a record of 1-500. I love Lisp, but c'mon...I guarantee it has far more hobby users than professional users. ABCL, FRANZ, ALLEGRO, SBCL, CLISP, GNU CL, Clozure might all be common lisp, but they are different implementations with different tools that will confuse a new person and several cost money. Practical Common Lis…

"they are different implementations with different tools that will confuse a new person and several cost money." Right, just like all of these stop developers from learning Java: https://en.wikibooks.org/wiki/Java_Programming/Java_IDEs "SICP is great for a mind-opening experience, but not super useful on how to write modern software and is why the creators dropped it at MIT." Bullshit. Anyone who can understand and a…

How many times have you written a metacircular evaluator in production? How many people code just fine without knowing Maxwell's Laws of Software as one popular blog post describes? Peter Norvig's review on Amazon agrees with you, I just think it is a bit overrated with infinite respect to Norvig as he could probably force choke me with his mind from 5 miles away :)

Re: Common Lisp homepage

#212

Earlier quoted context omitted.

> If it doesn't have nil that is also false and the empty list, it is not a Lisp. Scheme is generally considered a Lisp.

{by whom} Not by me. I'm a skilled Lisp programmer, yet Scheme isn't usable to me a the rudimentary coding level using the core language. There are stumbling blocks at every turn against straightforward Lisp coding. How can it be a Lisp? I can't even rely on Scheme to evaluate the function arguments left to right. Many forms have an "undefined" return value; in Lisp, everything returns a defined value, as a fundament…

> "Lisp" has to do with the little design details, not superficial resemblance.

Would you consider LISP 1.5, MacLISP, InterLISP, etc. to be Lisps? They differ on different design details than Scheme does, but they differ significantly.

Related: does Lisp these days or in your community just mean Common Lisp?

Re: Common Lisp homepage

#213
post #206

Earlier quoted context omitted.

> To be pedantic, those aren't type declarations. They are values of optimization qualities and guide the compiler strategy. > More importantly, the (un)safety of type declaration isn't predicated on any specific safety/speed settings. The mere use of a type declaration implies that the programmer certifies their accuracy inside its scope; With an optimize quality 3 for SAFETY a compiler will not reduce safety, even…

Violation of a type declaration is UB in safe code. SBCL obviously makes use of that fact when inserting assertions.

Undefined behavior gives the implementation the freedom to insert any behavior whatsoever (like the proverbial demons flying out of the nose). An assertion isn't any behavior, it is a form of run-time error checking.

Run-time error checking is what the "safety" optimization option means!

From CLHS:

  Name               Meaning                            
  compilation-speed  speed of the compilation process   
  debug              ease of debugging                  
  safety             run-time error checking            
  space              both code size and run-time space  
  speed              speed of the object code  
(optimize (safety 3)) means "greatest possible run-time error checking". Why wouldn't the implementation insert error checking based on the user's type declaration, when asked to provide the greatest possible run-time error checking?

Re: Common Lisp homepage

#214

Earlier quoted context omitted.

You quoted two companies using Lisp when there are millions of Java devs. That's like a boxer with a record of 1-500. I love Lisp, but c'mon...I guarantee it has far more hobby users than professional users. ABCL, FRANZ, ALLEGRO, SBCL, CLISP, GNU CL, Clozure might all be common lisp, but they are different implementations with different tools that will confuse a new person and several cost money. Practical Common Lis…

>You quoted two companies using Lisp when there are millions of Java devs. So what? I was a Java dev myself. What does this mean? There are even more millions of Javascript users. What does this mean, really? >ABCL, FRANZ, ALLEGRO, SBCL, CLISP, GNU CL, Clozure might all be common lisp, but they are different implementations with different tools that will confuse a new person and several cost money. Fear, Uncertainty…

My point is simply that niche languages are harder to hire for and find a job in. Most people aren't okay with that. There is a feedback loop here as less people use it and less libraries are written. That doesn't mean the language is inferior to Java in any way, but a new developer has to stay relevant by learning languages and frameworks that people use in-house. This is a major reason it isn't popular. I have 300 people in my IT department. They've all heard of Java & C#, but I've never run into anyone who has even heard of Lisp (maybe that is marketing).

Re: Common Lisp homepage

#215
post #141
post #125

Earlier quoted context omitted.

Land of Lisp worked well for me. Can't remember any major issues. (That said, I think I also used racket for most of the work, so I had to change some things consciously.) Though, this is a bit of a hard problem for authors. Most code that can fit as snippets or short examples does not have what any code in real projects would have. To that end, the code is literally made mainly for you to try and simulate in your he…

I wonder if LoL was not referring instead to Let Over Lambda which I'd call more timeless... For Land of Lisp there is some implementation specific code the author uses, but he points that out, points out that there are libraries that make a de facto standard for the behavior, but didn't want to introduce quicklisp. (It's a fun book but not the best if your goal is getting productive in a work environment fast, in wh…

That form of stability is one that I really wish modern developers would aspire to. I love that I can still run code in some of the old books. Seems the newer my book, the less likely I am to be able to run its code. :(

Re: Common Lisp homepage

#216

Earlier quoted context omitted.

6 - what about https://common-lisp.net/project/bordeaux-threads/

... or STMX, which provides software transactional memory on Common Lisp in an ultra-easy-to-use way.

I'll definitely take a look at that, thank you!

Re: Common Lisp homepage

#217

Earlier quoted context omitted.

{by whom} Not by me. I'm a skilled Lisp programmer, yet Scheme isn't usable to me a the rudimentary coding level using the core language. There are stumbling blocks at every turn against straightforward Lisp coding. How can it be a Lisp? I can't even rely on Scheme to evaluate the function arguments left to right. Many forms have an "undefined" return value; in Lisp, everything returns a defined value, as a fundament…

Me (GP): Scheme is generally considered a Lisp. Me (now, after reading P and other responses): I was wrong (or at least half-wrong) about this being generally accepted. I was not aware that I've been in a "Scheme is a Lisp" bubble. EDIT: When I was working in Lisp (early to mid nineties), ANSI Common Lisp was relatively recent, and many of my co-workers[1] — a couple of whom in fact were members of the X3J13 committe…

Regarding that C2 page.

My view isn't that Lisp is a coveted brand name, but that it should have a reasonably precise meaning. Abusing "Lisp" has created confusion.

Here is one problem: people come across some language which are called some kind of Lisp. They have some sort of experience that didn't sit well with them. Then, because of a human reasoning process called "guilt by association", they attribute the bad experience to everything that is called "Lisp".

It must all be the same, right? It's called Lisp!

The result is that if I make a language that is some kind of Lisp, I can't just present it to the users to enjoy; I have to work at dislodging their preconceived notions about what that language is, based on what they believe "Lisp" to be from some prior experiences.

Please leave the "Lisp" word for those of who earnestly implement something that has the important attributes of the original, so that over time, the meaning of the word will be narrowed and sharpened, regaining some of its discerning power.

It should be the case that if someone uses a language that is some kind of Lisp, they should be able to program in it straight away, if they have experience with any other language that is some kind of Lisp.

They should be able to define an elementary function, such as a recursive Fibonacci or whatever, without having to study the reference manual of the different Lisp.

If someone comes to me saying they learned some kind of Lisp, but then they are confused by nil in my Lisp, that is unfortunate. I put a bona fide classic Lisp feature into my Lisp, which baffles someone who thinks they had previously studied some kind of "Lisp"! How stupid is that?

Unhelpful, to say the least, and confusing.

What is the take-away message for that person? How can it possibly be anything other than: "Lisp is fragmented! If I learn something completely rudimentary under one Lisp, like how Boolean conditions work, I have to un-learn and re-learn it differently under something else, also calling itself Lisp! This is like Linux distros, only 100X worse! Phooey!"

Re: Common Lisp homepage

#218
post #144

Earlier quoted context omitted.

Thing is, except for CS theory evolving, the programming language environment from 30 years ago is in my opinion irrelevant from a maturity perspective. The number of practitioners was probably 1 million or so worldwide, now there’s probably 20-40+ million programmers worldwide. We didn’t have widespread internet access, barely a handful of Open Source communities, compilers were generally commercial and extremely ex…

"And a programmer in your average mainstream language in 2018 could reasonably expect to be working in the same language in 2018." Pretty radical claim there, are you sure about that? :)

It’s simple math, really. Let’s say we had 1 million programmers in the 80’s, writing enteprise software costing 1m * 8h * 365d * 10y = too lazy to do the math, let’s say 30 billion dollars. A lot of that software died with the companies using it, so maybe 10 billions’ worth survived, needing today N C programmers, P Cobol programmers, etc. for maintenance.

How do you think the numbers and the timespans look from a time when we have 20-40+ million programmers, working with better tools on system which are even more tightly coupled with core business functions?

Java will outlive both Cobol and cockroaches :p

Re: Common Lisp homepage

#219

Earlier quoted context omitted.

Perl, ML, Fortran, Cobol has not faded. You might not like them, you might not use them. But there are tons of them out there and being used in the real world and production systems.

I think it's fair to say those languages have "faded" I would also say Python 2 has "faded" or started to. Faded doesn't mean it isn't used anymore. It mean it's retreated into a niche, and is no longer on the short list for new development, and no longer interesting to most developers.

Your average Python 2 programmers “becomes” a Python 3 programmers after 8 hours of practice. I find your argument invalid :)

Also, Python 2 sees and will probably see more production use than Lisp for at least a few more years :)

Re: Common Lisp homepage

#220
post #144

Earlier quoted context omitted.

Thing is, except for CS theory evolving, the programming language environment from 30 years ago is in my opinion irrelevant from a maturity perspective. The number of practitioners was probably 1 million or so worldwide, now there’s probably 20-40+ million programmers worldwide. We didn’t have widespread internet access, barely a handful of Open Source communities, compilers were generally commercial and extremely ex…

>Also, languages are a lot more similar to each other than they used to be, in terms of expressiveness and power. Lisp was a “lightsaber” to the “stones” of the 80’s, now it’s at most a slightly more powerful “machine-gun”, at best. Please elaborate more and explain.

How many features coming from Lisp, ML, Haskell and academic languages have made it into mainstream languages now? Many. How many were in mainstream languages in the 80’s? A few.

Memory management, generics, etc.

Post reply on HN