8 ms·
It's the reason Aaron Swartz gave for rewriting reddit in python: >The others knew Lisp (they wrote their whole site in it) and they knew Python (they rewrote
by crdoconnor 8y ago
It's the reason Aaron Swartz gave for rewriting reddit in python:
>The others knew Lisp (they wrote their whole site in it) and they knew Python (they rewrote their whole site in it) and yet they decided liked Python better for this project. The Python version had less code that ran faster and was far easier to read and maintain.
http://www.aaronsw.com/weblog/rewritingreddit http://www.aaronsw.com/weblog/rewritingreddit
I suspect the problem is that LISP is too powerful. Language power is inversely related to maintainability/readability, as per the greatly underrated rule of least power: https://en.wikipedia.org/wiki/Rule_of_least_power https://en.wikipedia.org/wiki/Rule_of_least_power
- vnorilo 8y agoThis. I find Lisp optimal for the small band of coder heroes scenario. They must align on cs philosophy, and taste. Grow the team, or have divergent approaches: the efficacy of Lisp quickly disappears and problems appear.
- lispm 8y agoIs that hearsay, experience or a guess? There have been a few projects with 10 to 100+ Lisp programmers. What was their experience?
- oblio 8y agoWell, at some point we have to face reality. There have been hundreds if not thousands of successful projects with teams of hundreds if not thousands of developers working on them, at the same time or over time. These projects have been generally in Cobol (ok, we can chalk that up to brute forcing a tech from they didn't know any better), C, C++, Java, C#. There seems to be a connection between scaling a project regarding developer numbers and programming language "power". Having a smaller, shared vocabulary seems to greatly outweigh programming language "power" as the number of programmers goes up greatly. Lisp had 60 years to prove its human scaling capabilities. So far it hasn't convinced.
- thaumasiotes 8y ago> Lisp had 60 years to prove its human scaling capabilities. So far it hasn't convinced. It can take more than you might expect to "convince". > In 1601, an English sea captain did a controlled experiment to test whether lemon juice could prevent scurvy. He had four ships, three control and one experimental. The experimental group got three teaspoons of lemon juice a day while the control group received none. No one in the experimental group developed scurvy while 110 out of 278 in the control group died of scurvy. Nevertheless, citrus juice was not fully adopted to prevent scurvy until 1865. ( https://www.johndcook.com/blog/2008/03/25/innovation-ii/ https://www.johndcook.com/blog/2008/03/25/innovation-ii/ )
- oblio 8y agoI know about that the whole lime - lemon thing. Two things: 1. That was before the scientific age. They didn't know about vitamin C at the time, they couldn't even see it, even if they'd somehow believe in it. 2. There is no scientific proof, 0, none, that Lisp is superior. And it's almost impossible to prove it, since it requires controlled studies at a large scale - good luck with taking away hundreds of productive programmers for that study :) All we have is hearsay and personal opinions.
- pjmlp 8y agoAnd all managed languages that still provide halfway solutions for what was the Interlisp-D/Lisp Machines developer experience.
- oblio 8y agoI love how I'm being downvoted for saying that there's no scientific proof that Lisp is superior. Come on, show it, I want to see it. I want to see thorough, statistically representative studies that show Lisp's superiority :)
- pjmlp 8y ago"How the strengths of Lisp-family languages facilitate building complex and flexible bioinformatics applications." https://www.ncbi.nlm.nih.gov/pubmed/28040748 https://www.ncbi.nlm.nih.gov/pubmed/28040748 -- US National Library of Medicine National Institutes of Health "Clasp: Common Lisp using LLVM and C++ for Designing Molecules" https://www.youtube.com/watch?v=0rSMt1pAlbE https://www.youtube.com/watch?v=0rSMt1pAlbE -- GoogleTechTalks
- vnorilo 8y agoI have experience of great success and productivity in small teams with Common Lisp and Clojure. I don't have direct experience of dysfunction in a larger Lisp team. That was a guess based on how being a senior dev in a 50 man C# shop felt :)
- regularfry 8y agoIt strikes me as a matter of structure. Lisp provides almost none, whereas python provides more. Anything not provided by the language and environment must be provided by the team. If they can, that's great, but it's going to be easier to get a small team to agree on a structure than a large one.
- varjag 8y agoWouldn't say so, there are plenty of conventions and common practices shared by overwhelming majority of Lisp developers. Project structure, system definition, development environment, naming conventions, idiomatic use of data structures and object system, all that is established across the board.
- collyw 8y ago> Language power is inversely related to maintainability/readability, Is that really True? Having worked on VB6 codebases in the past, the less powerful nature of the language just meant a LOT more code which is definitely harder to maintain.
- crdoconnor 8y agoIt's inversely proportional to length too. Maintainability is about maintaining a delicate a balancing act between several competing fundamental concerns - two of which are expressiveness and verbosity. I think python's popularity is partly because it found a sweet spot that was neither too expressive nor too verbose. It's certainly possible to dial up the expressiveness (LISP, Perl) or dial it down (Golang, VB) and get something that is harder to maintain both ways.
- dpwm 8y agoPython derives a fair amount of expressiveness from the power it gives to library authors. A lot of this in turn comes from its dynamic implementation. As a library author you can write effective python at different levels. Some involve quite heavy meta-programming (jinja2, collections.namedtuple, django's ORM) and most users would never find this out.
- pjmlp 8y agoPython has C++/Lisp level of power, but since many just do toy scripts they don't realize it.
- collyw 8y agoAgain I think Perl / Python are a perfect example of why post I was responding to is not true. > Language power is inversely related to maintainability/readability, Perl and Python are both considered equally powerful languages, yet Perl is a fair bit more expressive and as a result is often harder to maintain.
- rboyd 8y agoNo, it’s not, and even if it were true it wouldn’t disqualify lisp, since you can quite happily wield lisp in a context which lets you express logic in simpler/constrained forms. Consider hiccup, datalog DSLs, etc.
- varjag 8y agoWell I don't find mature Python codebases (e.g. Homeassistant) particularly easy to inspect or change. Guess that's where me and 2005 Aaron Swartz would disagree.
- mark_l_watson 8y agoWhen I talked with Alexis Ohanian he told me that the Lisp version was difficult to keep running. I think the term he used was that it often fell down.