Live data from Hacker News

How I lost my faith in Lisp (2002)

groups.google.com

31–40 of 67 posts

Re: How I lost my faith in Lisp (2002)

#31
My summary: he worked at Google in the early 2000's (when there were indeed many astonishingly productive progammers), and he saw them being super productive in languages like Python. And he himself became productive in such non-Lisp languages.

He uses the hash table as an example, and I think it's apt. Lisp does feel "old" to me with respect to having 10 different choices for hash tables in 10 different dialects. (I briefly worked with Julia's femtolisp a couple years ago and felt this.)

I also felt it when trying OCaml like 5 years ago. I loved the language, but having to "choose" which hash table to use felt odd.

Newer languages like Go and Rust (I think) both have Python/Perl-like hash tables built-in, or at least close to the core where all libraries can interchangeably use them. I think this is here to stay. Hash tables won :)

Re: How I lost my faith in Lisp (2002)

#32
post #22

> BTW, ignorant is not a pejorative term. If you think it is you are ignorant and you need to go look the word up in a dictionary. Did that. The Merriam-Webster, in fact. Here's what they said: > There are several meanings of ignorant, all of which are concerned with a lack of knowledge in some sense; some of these are more insulting than others, and care should be exercised before applying this word to people who yo…

Far too often people confuse dictionary definitions and colloquial usage. Dictionary definitions always lag colloquial usage. The meaning of words comes from their usage and the quote you referred to seems like someone being intentionally obdurate to linguistic changes. The person acknowledges that there are people who use the word ignorant in a pejorative way.

OK, I'll bite. Do you live or work in an environment where you could call someone ignorant and be understood to mean only that there is some specific bit of knowledge they don't posses, without making a larger accusation of intellectual incompetence?

Where?

I try to be sensitive to issues of usage like this because civility does not come easily to me, and I have to be careful of what I say lest I inadvertently offend. And I am confident that when I have heard the word used, it is almost invariably in the larger sense. Use in the narrow sense tends to be by foreigners, who seem to be looking for a translation into English, and could easily not know the broader implied meaning.

Re: How I lost my faith in Lisp (2002)

#33
A few questions for the Lisp fans out there:

1. The summary here seems to be "modern high-level languages, used, well, are just as productive as Lisp." Does that seem right?

2. One of the tensions for me in technology is between love of simplicity and love of complexity. An example of the latter is Enterprise Java, where the tendency toward a FactoryProxyBeanMutatorFactoryInterfaceImplementation is well known. Is the perceived superiority of Lisp perhaps because it attracts people with strong simplicity bias?

3. Every "Lisp is super-productive" story I hear is about a lone individual. Is Lisp's suite spot that of the solo programmer? Since the rise of the Internet, I think most software has shifted to be about teams, and I'm wondering if Lisp is less suited to team collective ownership or projects where many teams are involved.

Re: How I lost my faith in Lisp (2002)

#34
post #33

A few questions for the Lisp fans out there: 1. The summary here seems to be "modern high-level languages, used, well, are just as productive as Lisp." Does that seem right? 2. One of the tensions for me in technology is between love of simplicity and love of complexity. An example of the latter is Enterprise Java, where the tendency toward a FactoryProxyBeanMutatorFactoryInterfaceImplementation is well known. Is the…

re: 3.

I can't speak for anyone else, but some of the most productive research coding I have done was in lisp.

I do think it is difficult to work in large teams with lisps, their flexibility becomes a barrier to communication. The enterprise model of "100s of programmmers, all fungible" isn't quite right anywhere, but it really spectacularly falls apart in an environment like lisp.

I do think lisps are amongst, if not the, most productive languages for one programmer (or a very small team that works well together) to do novel, exploratory programming. This fits really well in some types of research.

On the other hand, if a lot of what you want to do is basically glue - lisp doesn't buy you too much.

For example, I don't thing python is a very productive language, but it is a very productive ecosystem - if that makes sense. Far more so that lisp(s) today for many problem domains.

If you really want to start something basically from scratch, it's still a very good match. But if you are going to spend a lot of time building 70-80% solutions for problems that in another environment would be one include away ... maybe you won't be so fast.

Re: How I lost my faith in Lisp (2002)

#35
"At this point I was seriously considering the possibility that there really was a thriving Lisp economy out there somewhere, and that I was being excluded from it for some reason, like maybe my reputation for being obnoxious. (But even that theory came unraveled when you showed up, Erik.)"

Ouch.

And in further posts, Erik responds,

"Sigh. Will you _ever_ get a clue? (For full credit, your answer must be 2000 words or longer.)

"A free hint for you: Cut your losses and just _move_on_. If Python is so great, enjoy it for what it is, and make it your new community. Pursue your happiness -- if it is to be found elsewhere, move accordingly. Hanging around here apparently makes you progressively more unhappy."

Re: How I lost my faith in Lisp (2002)

#36
post #22

Earlier quoted context omitted.

Far too often people confuse dictionary definitions and colloquial usage. Dictionary definitions always lag colloquial usage. The meaning of words comes from their usage and the quote you referred to seems like someone being intentionally obdurate to linguistic changes. The person acknowledges that there are people who use the word ignorant in a pejorative way.

OK, I'll bite. Do you live or work in an environment where you could call someone ignorant and be understood to mean only that there is some specific bit of knowledge they don't posses, without making a larger accusation of intellectual incompetence? Where? I try to be sensitive to issues of usage like this because civility does not come easily to me, and I have to be careful of what I say lest I inadvertently offend…

I think you misunderstand my post. The person who was quoted as saying that “ignorant” isn’t pejorative since the dictionary definition of the word isn’t pejorative is being an ass. Colloquial usage trumps dictionary definitions when it comes to interpreting speech.

Re: How I lost my faith in Lisp (2002)

#37
post #33

A few questions for the Lisp fans out there: 1. The summary here seems to be "modern high-level languages, used, well, are just as productive as Lisp." Does that seem right? 2. One of the tensions for me in technology is between love of simplicity and love of complexity. An example of the latter is Enterprise Java, where the tendency toward a FactoryProxyBeanMutatorFactoryInterfaceImplementation is well known. Is the…

My answers only reflect my own opinions as a long time Lisper and Scheme user. Other's mileage may differ.

1. Yes, more or less. LISP used to be superior to everything else but modern languages have caught up in most areas. LISP still has a few special tricks like MOP in CL, macros, dynamic loading of code, resumable exceptions, but these are rarely needed in everyday programming.

2. No, not at all. Neither CL nor Racket nor any other mature LISP and Scheme dialects are simple to use and easy to learn. They have long-steep learning curves, especially idiomatic CL. The syntax is somewhat simple if you ignore special reader extensions, but that's irrelevant. CL is a large language, you need to learn both imperative and functional programming techniques, and then there are tons of libraries and conventions to learn.

3. Yes, I would say. LISP is incredibly powerful in the hand of one hacker who really knows the system. You will get awesome results very fast and can do things that would be really hard in other languages. It also encourages high level abstractions like no other language I've ever seen. But the main disadvantage of LISP is maintainability. It may be hard to even understand your own code a year or two later, let alone that by other people. Everybody has his own stile and every larger program will create a DSL you have to learn in order to understand what it does.

Re: How I lost my faith in Lisp (2002)

#38

Earlier quoted context omitted.

On one of these I like the comment "You sound like an English speaker claiming that English is easier for people to understand than other languages. " well yeah of course english is easier, else there wouldn't be these kind of tables : https://www.effectivelanguagelearning.com/language-guide/lan... There's no equality amongst languages. Japanese students have to get up and do one hour of kanji learning every year fro…

That table is ranking languages by how easy they are for an English speaker to learn -- that is, how much commonality they have with English. It doesn't make any claim about English having some fundamental property that makes it easier to learn.

From the first paragraph:

"The Foreign Service Institute (FSI) has created a list to show the approximate time you need to learn a specific language as an English speaker."

Re: How I lost my faith in Lisp (2002)

#39
After 35 years of programming, I discovered Common Lisp and programming is enjoyable again. I wish I'd discovered it earlier.

With what I've learned in the last five years I've (1) written a Common Lisp compiler that interoperates with C++ and uses LLVM as the backend (github.com/cando-developers/clasp); (2) I've used it as the basis of a programming environment for designing new molecules and materials; (3) we've developed a Jupyterlab kernel and ported Jupyter widgets to Common Lisp as the graphical user interface for the programming environment.

I say "I've" and then "we've" because while I started this myself - several people have joined me and we are now turning it into products.

Common Lisp is great - no other language is as rich and expressive and fun to program in. Real macros (code that writes code!), multiple dispatch, conditions and restarts - it goes on and on. There are lots of features in Common Lisp that haven't made it into other languages.

[edit]

Oh - and then there is this: http://greenlab.di.uminho.pt/wp-content/uploads/2017/09/pape... Of all the dynamic languages (and who doesn't like dynamic languages?) Common Lisp is the most energy efficient by a long shot.

Re: How I lost my faith in Lisp (2002)

#40
post #35

" At this point I was seriously considering the possibility that there really was a thriving Lisp economy out there somewhere, and that I was being excluded from it for some reason, like maybe my reputation for being obnoxious. (But even that theory came unraveled when you showed up, Erik.) " Ouch. And in further posts, Erik responds, " Sigh. Will you _ever_ get a clue? (For full credit, your answer must be 2000 word…

I saw that too...ouch. What's the beef about here?
Post reply on HN