4 ms·
This. 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:
by vnorilo 8y ago
This. 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
- oblio 8y agoThat's nowhere near something like medical clinical trials, though. Think of studies where you: a) have statistically representative sample size (100+ developers) b) actual numbers and compare them (the average development time needed for the Java/C++/etc. applications was Y and the average development time needed for Lisp applications was Y - Z, where Z > 0, etc.; the average execution time for Java/C++/etc. applications, etc., you get the idea) Computer Science studies are still in their infancy. All this Lisp hype is just hype and gut feelings.
- lispm 8y ago> 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. That goes against evidence from current enterprise software experience. The Java eco-system has the absolute largest programming vocabulary ever (J2EE, JEE, ...) and is widely used. AT&T/Lucent once wrote the software for a telephony switch in Lisp - I think the project ran over a decade and created more than one generation of working/shipping hard&software. The team was easily 100+ people. I heard a talk of the responsible manager years ago. They wrote basically the same functionality as a ten times larger C++ project and the Lisp team lead was extremely satisfied with what they wrote. AT&T Management favored the C++ project for mostly non-technical reasons - C++ being an 'industry language' with a larger supply of developers. Not surprising for AT&T - Ericsson made a similar decision at some point in time with their (later lifted) 'Erlang ban'.
- fnordsensei 8y agoWe have to decide what's enough to convince (and convince whom) I guess. Just to throw out a couple of examples: One of the larger businesses I'm aware of that's using a Lisp is Nubank in São Paulo. Valued at $1bn+ and 4 million paying customers[1]. Finance is a fairly complex domain. King in Stockholm has also fairly recently rewritten their main game creation tooling in Clojure[2]. 1: https://www.reuters.com/article/nubank-creditcards/brazilian-online-firm-nubank-reaches-4-million-credit-card-clients-idUSL2N1ST1KK https://www.reuters.com/article/nubank-creditcards/brazilian... 2: https://techblog.king.com/how-we-use-clojure-at-king-to-write-a-game-engine-editor/ https://techblog.king.com/how-we-use-clojure-at-king-to-writ...
- 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.