11 ms·
In my long journey to make computers do what I want spanning several decades, systems, languages and trends, I've come across a certain class of geeks. This gr
by magic_hamster 3y ago
In my long journey to make computers do what I want spanning several decades, systems, languages and trends, I've come across a certain class of geeks.
This group would swear by Lisp. And by that I mean, they would treat Lisp as the gold standard. Sometimes, the only standard that matters. They would go to unimaginable lengths to explain why Lisp is really the purest form of computer science expression; how it sharpens your mind and elevates your skill; how it is akin to poetry, only better, because it's poetry in code.
And after all this was done, and repeated several times over, I would gently nod at this exalted madman who had been blessed by the touch of the Lisp God. And then we'd both go back to whatever language we were actually using at the time.
- KRAKRISMOTT 3y agoBut other than a Skyscanner predecessor (VIA), a computer algebra engine, and Grammarly, are there any other modern high profile lisp powered products?
- jb1991 3y agoI’ve heard that CircleCI uses clojure extensively, not sure if that counts as a true lisp. There’s also Metabase, also written in it.
- benrutter 3y agoThe big one that I always remember is Crash Bandicoot - Naughty Dog I think had their own version of Scheme and then switched to Racket at some point. Nubank are also a semi-high profile company who use a lot of Clojure. Of course, if you ditch the "modern" requirements, I'm sure there is more web infrastructure and scripts supported by Common Lisp than people would want to admit. . .
- crabmusket 3y agoTo clarify, Naughty Dog has still been using LISP-based scripting and asset definitions in their recent games[1]. (Though I count The Last Of Us as recent so I guess that shows how often I play games.) [1] https://www.youtube.com/watch?v=gpINOFQ32o0 https://www.youtube.com/watch?v=gpINOFQ32o0
- r9550684 3y agoaccording to any Andy Gavin, the cofounder of Naughty Dog and a MIT AI lab alumni, crash 1, 2 and 3 were written on GOOL/GOAL[0] which was a home-brewed lisp. According to Franz themselves, the language was hosted on allegro common lisp[1]. the language gave him an ability to push ps1 platform to its limits by leveraging the kind of thinking that's part of lisp lore: incremental recompilation of a running ps1 instance using a remote little language written in and hosted on a Common Lisp dynamic environment. the previous sentence describes a poorly understood practice that of a dynamic environment leveraged development that was part of lisp machine and smalltalk machine and a handful of other now forgotten approaches. in a sense crash was not just "written in lisp", it was written leveraging lisp machine like thinking, that Gavin would've been familiar with from his MIT AI days. when naughty dog got sold, all the remaining Gavin lisp systems were eventually stripped, so that the company for all intents and purposes became a standard c++ shop. some time later some hipsters wired plt scheme[2] as a scripting language for the Naughty Engine 2.0. unlike the original Gavin approach this is not some deep leveraged architectural decision, and it being lisp is pretty irrelevant to the sort of capabilities it provides. imho scripting language for a game engine selection is a lipstick on a pig kind of process, as demonstrated by various basic-like potato languages that came with legendary triple-As. [0]https://all-things-andy-gavin.com/2011/03/12/making-crash-bandicoot-gool-part-9/ https://all-things-andy-gavin.com/2011/03/12/making-crash-ba... [1]https://franz.com/success/customer_apps/animation_graphics/naughtydog.lhtml https://franz.com/success/customer_apps/animation_graphics/n... [2]https://www.gameenginebook.com/resources/gdc09-statescripting-uncharted2.pdf https://www.gameenginebook.com/resources/gdc09-statescriptin...
- hajile 3y agoIt's the Reddit story all over. Lisp devs know Lisp + X, but everyone else only knows X, so we'll use X instead -- even if it's inferior and causes issues down the line. This isn't really limited to Lisp though. It applies to quite a few languages with the excuse of "market forces" where "market forces" really means "we want to makes sure our devs are easily replaceable cogs" (using a niche language actually pressures both sides to stick together because the dev can't easily find a new job and the company can't easily find a new dev).
- cpach 3y agoHacker News. Emacs.
- Paul-Craft 3y ago+1 for Emacs. Some people do not realize this, but the thing you build when you compile an Emacs distribution is not a text editor. It's just a specialized lisp interpreter that has primitives for handling things like frames, buffers, and other UI-type stuff like detecting key chords, plus some math and stringy stuff, and a few other bits and bobs. The editor itself is written in Elisp. To illustrate, this is what I get when I run `sloccount` on the source download of Emacs 28.2 from gnu.org: Totals grouped by language (dominant language first): lisp: 1253948 (75.66%) ansic: 368126 (22.21%) objc: 17115 (1.03%) sh: 7261 (0.44%) cpp: 1851 (0.11%) yacc: 1566 (0.09%) perl: 1442 (0.09%) php: 1035 (0.06%) pascal: 1011 (0.06%) python: 993 (0.06%) awk: 781 (0.05%) cs: 770 (0.05%) ada: 725 (0.04%) ruby: 405 (0.02%) erlang: 153 (0.01%) java: 65 (0.00%) tcl: 16 (0.00%) It's basically 75% elisp, 25% C, and more or less all of that C code is either implementing the lisp interpreter itself, or interfacing to system libraries. Using Emacs is really the closest you can get these days to working on one of the old LISP machines from the 80s, except it's more fun.
- Joker_vD 3y ago> It's just a specialized lisp interpreter that has primitives for handling things like frames, buffers, and other UI-type stuff like detecting key chords, plus some math and stringy stuff, and a few other bits and bobs. One day, it may actually include a decent text editor too! But for now, it's the end-luser's responsibility to cobble one together from the provided parts.
- Paul-Craft 3y agoYep. As the saying goes: great operating system, just needs a decent text editor :P
- fathyb 3y agoMight not count as modern, but the original Reddit and HackerNews codebases: - https://github.com/reddit-archive/reddit1.0 https://github.com/reddit-archive/reddit1.0 - https://github.com/wting/hackernews https://github.com/wting/hackernews
- kirubakaran 3y agoOkay, other than Skyscanner, Grammarly, HackerNews, Emacs, CircleCI, Metabase, Crash Bandicoot, Nubank, other Clojure projects etc, what has Lisp done for us?
- thesuperbigfrog 3y agoSpace probes: https://corecursive.com/lisp-in-space-with-ron-garret/ https://corecursive.com/lisp-in-space-with-ron-garret/
- coldtea 3y agoOr, to lose the Monty Python snark, "Aside from the same handfuls of projects, counted on the digits of two hands, and always reiterated anytime somebody asks for high profile Lisp projects, what other high profile code is there from a language whose proponents always advertise its huge productivity gains?" "Oh, there's also Crash Bandicoot". "Wow, color me impressed".
- DonHopkins 3y ago[flagged]
- stnmtn 3y agoAs a diehard liberal, this is an extremely strong assertion and downright conspiratorial tone. What is the associate of Lambda to gay rights? Also, LISP is almost always pitched as "the real programmers language". Your comment is such a completely ridiculous-on-its-face assertion.
- DonHopkins 3y agoSeriously, you really aren't aware of the association of Lambda with gay rights? Are you a native English speaker or an American? It's easy to google, widely known, and well documented. I'm glad for the opportunity to educate you! I've also heard conservatives try to implausibly deny they ever heard of such a thing as the "gay lisp", too, but that ignorance-based excuse doesn't hold any water, either. But I suppose there are some home-schooled Fred Flintstone conservatives living under a rock in Bedrock (or Florida or Texas) who have carefully cultivated their ignorance about gay history and culture, and who have never met any gay people (or are so openly homophobic that most gay people refuse to come out to them out of fear), and that their deep ignorance untainted by the facts is part of the basis for their rampant homophobia and terrified moral panic. Lambda Legal Defense and Education Fund: https://en.wikipedia.org/wiki/Lambda_Legal https://en.wikipedia.org/wiki/Lambda_Legal >The Lambda Legal Defense and Education Fund, better known as Lambda Legal, is an American civil rights organization that focuses on lesbian, gay, bisexual, and transgender (LGBT) communities as well as people living with HIV/AIDS (PWAs) through impact litigation, societal education, and public policy work. LGBT Symbols: Lambda https://en.wikipedia.org/wiki/LGBT_symbols#Lambda https://en.wikipedia.org/wiki/LGBT_symbols#Lambda >Lambda: In 1970, graphic designer Tom Doerr selected the lower-case Greek letter lambda (λ) to be the symbol of the New York chapter of the Gay Activists Alliance.[5][6] The alliance's literature states that Doerr chose the symbol specifically for its denotative meaning in the context of chemistry and physics: "a complete exchange of energy–that moment or span of time witness to absolute activity".[5] >The lambda became associated with Gay Liberation,[7][8] and in December 1974, it was officially declared the international symbol for gay and lesbian rights by the International Gay Rights Congress in Edinburgh, Scotland.[9] The gay rights organization Lambda Legal and the American Lambda Literary Foundation derive their names from this symbol. Lambda as a symbol of gay/lesbian rights: https://www.cs.cmu.edu/afs/cs/user/scotts/ftp/bulgarians/lambda.html https://www.cs.cmu.edu/afs/cs/user/scotts/ftp/bulgarians/lam... >The Encyclopedia of Homosexuality has the following entry on Lambda: >In the early 1970s, in the wake of the Stonewall Rebellion, New York City's Gay Activists Alliance selected the Greek letter lambda, which member Tom Doerr suggested from its scientific use to designate kinetic potential, as its emblem. (Curiously, in some ancient Greek graffiti the capital lambda appears with the meaning fellate, representing the first letter of either lambazein or laikazein.) Because of its militant associations, the lambda symbol has spread throughout the world. It sometimes appears in the form of an amulet hung round the neck as a subtle sign of recognition which can pass among unknowing heterosexuals as a mere ornament. Such emblems may reflect a tendency among homosexuals toward tribalization as a distinct segment of society, one conceived as a quasi-ethnic group. >In More Man Than You'll Ever Be by Joseph P. Goodwin (Indiana University Press:Bloomington, 1989) on page 26, Goodwin writes: >The lowercase Greek letter lambda carries several meanings. First of all, it represents scales, and thus balance. The Greeks considered balance to be the constant adjustment necessary to keep opposing forces from overcoming each other. The hook at the bottom of the right leg of the lambda represents the action required to reach and maintain a balance. To the Spartans, the lambda meant unity. They felt that society should never infringe on anyone's individuality and freedom. The Romans adopted the letter to represent "the light of knowledge shed into the darkness of ignorance." Finally, in physics the symbol designates and energy change. Thus the lambda, with all its meanings, is an especially apt symbol for the gay liberation movement, which energetically seeks a balance in society and which strives through enlightenment to secure equal rights for homosexual people. Sterling Silver Lambda Gay Pride Symbol Charm: https://www.amazon.com/Sterling-Silver-Lambda-Pride-Symbol/dp/B005KT3S8M https://www.amazon.com/Sterling-Silver-Lambda-Pride-Symbol/d... And then of course there's the purple (another classic gay color) cover of Structure and Interpretation of Computer Programs, with the two magic dudes dressed in drag with a lambda symbol floating between them. https://en.wikipedia.org/wiki/Structure_and_Interpretation_of_Computer_Programs https://en.wikipedia.org/wiki/Structure_and_Interpretation_o...
- lincpa 3y ago[dead]
- Barrin92 3y agoFairly certain Raytheon uses CL in their signal processing pipeline for simulating ICBM missile defense so if you not melt down in WW3 you got lisp to think for that, at least partially. Fully expect the first HN thread while we climb out of the ruins to be though 'what has lisp ever done for us, it doesn't even run my web app'
- ducktective 3y ago>it doesn't even run my web app By that time, it would be: "It doesn't even run my magic sauce prompt for GPT42"
- lispm 3y agoThe first multi-user combat training system (SIMNET) had a Lisp system creating the virtual training worlds. https://news.ycombinator.com/item?id=12040601 https://news.ycombinator.com/item?id=12040601 https://en.wikipedia.org/wiki/SIMNET https://en.wikipedia.org/wiki/SIMNET
- stanislavb 3y agoIn my long journey in following the cult of Lisp, I haven't seen a better description in the situation.
- pjc50 3y agoSame for FORTH. I don't think I've ever seen a FORTH programmer and a LISP programmer in the same room; I can't imagine the discussion terminating. Over the years, as a left-handed person, I've come to see this as evidence of underlying diversity in thought patterns that can't simply be learned/trained around. Certain people find certain metaphors and modes of computing much easier to work with than others. Few people on either side can see this. The result is that you have people who, having feeling like they were fighting scissors all their lives suddenly discovering that a different sort of scissor exists that gives better results, start evangelizing it to everyone. The rest of the world tries it, finds it impossible to use, and concludes the weird scissor advocates are mad. Neither the LH people holding LH scissors nor the RH people holding RH scissors are "wrong". It's just the RH people trying to use LH scissors who are having a bad time. (The limit case of this is a few people who are using languages which are uniquely tailored to themselves and absolutely nobody else; colorforth, the late author of TempleOS, Urbit, etc)
- agumonkey 3y agothe discussion would indeed recurse over whether to reimplement lisp over forth or forth on top of lisp
- mjburgess 3y agoI like this explanation. Every year, or so, I'll design a programming language on paper to work through my "latest thoughts" as impacted by languages and ideas I've picked-up since. Each time the design is different, with different priorities etc. I think what I'm doing is exactly what you describe: clarifying my mental model of programming languages -- so that I arrive at something which "feels right". I can then come back to actually-existing languages and express my "prelinguistic" ideas using whatever syntax they make available. Absent this activity, I think I gradually end up too conceptually confused -- blending a mixture of whatever languges i'm working in. The power of a single radical paradigm solves this problem for people, like me, who require a theory to feel comfortable; but without all the effort i go to. (Though for me, of course, it's a hobby --- I like to see how close I can get to designing a language which, at that moment, is the one I'd wish to program in).
- hoosieree 3y agoThe blub paradox strikes the lispers hardest, for they have been reassured by PG and each other that there is no language better than lisp. Those of us using more powerful languages should learn from their hubris.
- Paul-Craft 3y agoYeah. All languages other than LISP are Blub. :( Relatedly, I was just looking at this, mostly to see what the fuck possessed someone to do it: https://macropy3.readthedocs.io/en/latest/index.html https://macropy3.readthedocs.io/en/latest/index.html Origin of the phrase "Blub Paradox": http://www.paulgraham.com/avg.html http://www.paulgraham.com/avg.html
- JonChesterfield 3y agoI can see a lot of axes for better that involve removing capability from lisp. Lisp abstracts over data representation, lifetime, code layout where other languages force you to make choices which may fit the domain better. There are also a lot around programmer ergonomics - compile time detection of various error prone constructs. The only one that comes to mind for more powerful is abstraction over control flow. Instead of delimited continuations, one can go with unification and implict control flow. What are the increases in power you consider lisp users blind to? (p.s. first class environments, first class macros are missing from common lisp and scheme, but not from all lisps)
- slavapestov 3y ago> What are the increases in power you consider lisp users blind to? Static typing, mutable values with unique ownership.
- JonChesterfield 3y agoStatic typing is a _decrease_ in expressive power in exchange for compiler diagnostics. Linear types are probably not representable in lisp (bad interaction with reified continuations, not great interaction with environment capture), that is something I miss.
- nomilk 3y ago> then we'd both go back to whatever language we were actually using at the time. Which well known projects do use lisp? I think Google Flights uses lisp [1]; there must be more? [1] https://www.youtube.com/watch?v=mbdXeRBbgDM&t=835s https://www.youtube.com/watch?v=mbdXeRBbgDM&t=835s
- giancarlostoro 3y agoThis very site does as well.
- vindarel 3y agoA few more that we know of, using CL today: https://github.com/azzamsa/awesome-lisp-companies/ https://github.com/azzamsa/awesome-lisp-companies/ Others: https://lisp-lang.org/success/ https://lisp-lang.org/success/
- teamonkey 3y agoI like Lisp a lot, especially Scheme. It's simple, it's pure, it's expressive, it's powerful, and it's fun to write. If I could, I would use it for most things. I can't convince anyone to use it. They just don't like the look of it, they stumble at the brackets. I know that I can't write something in it and expect other people to use it, build it or maintain it. So I don't use it. And nor does anyone else.
- Capricorn2481 3y agoIf they had an actually good IDE for it that was LispWorks I would give it a go. Forcing the overhead of learning CommonLisp, which is actually a fairly big language despite the syntax, on top of learning how to use emacs is a big ask.
- vindarel 3y agoToday, Atom/Pulsar, Vim, Jetbrains (new in 2023), Sublime, even VSCode and Lem work fine for CL: https://lispcookbook.github.io/cl-cookbook/editor-support.html https://lispcookbook.github.io/cl-cookbook/editor-support.ht...
- User23 3y agoVS Code appears to have serviceable support now too.
- Capricorn2481 3y agoI'll check it out. It half worked last time I did it
- pjc50 3y agoLisp advocates think that "everything looks the same" is an advantage, whereas most people strive desperately to make things look different in informative ways with syntactic features (e.g. different brackets) and syntax highlighting.
- 3y ago
- reikonomusha 3y agoLispers get a mildly bad rap for some historical, unpersuasive "holier than thou" evangelism, but the truth is, almost all programming languages du jour have louder and fiercer evangelists. In fact, you can be paid to evangelize Rust, Python, and other languages. As far as the last decade is concerned, the most productive open-source and professional Lispers have done some advertising of Lisp, but mostly through a combination of technical blog posts and actually making things.
- TurboHaskal 3y agoThankfully ADHD for adults is being taken more seriously now.
- f1shy 3y agoHonest question: have you ever done something more than trivial in Lisp? In my experience, people who used many languages have some favorite at the end. Sometimes depends on the task what they think is the best for task X.
- taeric 3y agoI've come across several classes. Sadly, a thing most have in common is derision towards any other class. Be it language choice, agnosticism, editor choice, paradigm choice, toolchain, whatever. It is frustrating, as so many of us seek to find where and how we disagree with each other, when we'd get far more mileage out of understanding where we agree.
- alentred 3y agoIn all fairness we need to note that it speaks of the most vocal followers. There are likely many others who are evangelizing it much less, but that's exactly the source of the bias: we don't "see" them. I in fact agree with the observation, but I also think that the same can often said of many passionate people. Scala? Blockchain? Continuing the observations, mainstream approaches seem to have less passionate followers. Very few people are evangelizing Java as passionately as others do Lisp. I wonder what makes mainstream less attractive in this sense.
- tiffanyg 3y agoPoetic. I am a big fan of "functional programming languages", including Lisp to an extent. That said, I appreciate the teachings they can impart - abstract structures, design sense / "design patterns", and ways of thinking etc. - more than any sort of dogma associated with "their way". Although, to be fair, I did go through my own period of foolishness in ... say, "venerating" this particular "methodology". Your comment did prompt thought of Pratchett's book "Interesting Times". Specifically, passages like "... It had come as a revelation to Lord Hong when he looked at the problem the Ankh-Morpork way and realized that it might just possibly be better to give the job of Auspicious Dog-maker to some peasant with a fair idea about metal and explosive earths than to some clerk who'd got the highest marks in an examination to find the best poem about iron. In Ankh-Morpork, people did things." The tricky bit in everything, and the difference between the true expert and not quite is often found in forms of "executive function" ... Knowing what to apply and when ... when to change up strategies, what the value is in some methodology and how to bring that into what you are doing ... all these sorts of things. I always know when I'm at more of an "advanced intermediate" level (a sort of "first black belt" level) when I know too many ways to go about doing something but have no idea which is likely to produce solid progress in a relatively time-efficient way. So, bit of a digression off of your comment, but stimulating from my perspective and hopefully of some use to anyone who might read this.
- jjtheblunt 3y agospanning several decades too, i have a version of your observation: i think the class of geeks is reminiscing, because "back in the day" common lisp was (like everything now) a world in which there were libraries for all the hip (at the time) buzzwords.