[HN Gopher] Companies that use Lisp extensively
       ___________________________________________________________________
        
       Companies that use Lisp extensively
        
       Author : tosh
       Score  : 163 points
       Date   : 2021-10-11 17:24 UTC (5 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | fernandotakai wrote:
       | does clojure count?
       | 
       | if so, nubank (brazilian fintech) would be one of the biggest
       | one.
       | 
       | they even bought cognitect
       | https://www.cognitect.com/blog/2020/07/23/Cognitect-Joins-Nu...
        
       | albrewer wrote:
       | Odd that AutoDesk isn't on here, since I got into programming
       | Lisp when trying to automate AutoCAD.
        
       | LocalH wrote:
       | Harmonix Music Systems uses a bespoke Lisp-ish language for their
       | game scripting that we call DataArray (or DTA for short) in the
       | Guitar Hero II modding community. It's very powerful to be able
       | to put script in almost any place where a variable or constant is
       | used.
        
       | agumonkey wrote:
       | maybe this https://nyxt.atlas.engineer/ could belong there ?
        
       | eatonphil wrote:
       | This isn't just some list someone created once and done. I've
       | been following it for a while and it gets updated regularly every
       | few months with new submissions.
       | 
       | I'd recommend you to follow the repo too if you want to keep up
       | to date.
        
       | bgorman wrote:
       | Is Clojure not considered a true lisp?
        
         | [deleted]
        
         | waffletower wrote:
         | Clojure is a lisp-1, but its design favors immutable data
         | structures and attendant functional forms. These design choices
         | do have detractors in the various lisp communities.
        
           | eatonphil wrote:
           | Scheme shares the attributes you mentioned.
        
             | Turing_Machine wrote:
             | Or even more so, Racket.
             | 
             | There are purists who don't consider Racket or even Scheme
             | to be Lisps, either. FWIW, I do not agree with them (I also
             | consider Clojure a Lisp), but they exist.
             | 
             | There's a certain highly vocal contingent of Lisp fans who
             | consider the Common Lisp spec to be some kind of sacred
             | document, and that anything that's been invented in the
             | past 37 (!) years is useless.
             | 
             | IMO, those people have done far more harm than good for
             | Lisp and Lisp-like languages.
             | 
             | And yeah, there's a lot of the same religion-like purity
             | around Rust nowadays.
        
               | Zababa wrote:
               | Same thing with Haskell, in the last month I had a few
               | people argue with me that if a language isn't Haskell,
               | it's not functional programming.
        
               | tephra wrote:
               | I've talked to several people who equate fp with
               | "advanced type system" and not "programming by function
               | composition" (which for me is the correct definition).
        
               | erik_seaberg wrote:
               | Composition is table stakes now, I'd say pure functions
               | (no side effects) are what make FP important with or
               | without types.
        
               | Zababa wrote:
               | I think the focus on "pure functions" is a bit Haskell-
               | centric, as those are the guarantees that Haskell gives
               | easily, but that's it. For example, Koka has total
               | functions (https://koka-
               | lang.github.io/koka/doc/book.html#why-effects), which
               | gives more guarantees that pure functions. Lack of side
               | effect is, I think, a side effect of searching for
               | greater function composition. The goal of purity is to
               | make functions easier to compose after all.
        
             | zerr wrote:
             | Most important distinction - out of all Lisps, only in
             | Clojure it is encouraged to use primitive types directly.
             | Higher level abstractions, "inventing your own languages"
             | are considered as a bad style.
        
         | vindarel wrote:
         | yeah but this list was started for CL. At that time we only had
         | http://pchristensen.com/blog/lisp-companies/, and people giving
         | the same 3 examples. Clojure always had good promotion and it
         | already has https://clojure.org/community/companies
        
       | jakear wrote:
       | Neat that the Roomba is written in a lisp. It has it's quirks and
       | hiccups, but on the whole is extraordinarily well designed,
       | standing head and shoulders above the usual slew of "home
       | automation" products I wouldn't touch with a 10' pole. The dog
       | definitely influences this opinion. :)
       | 
       | Is it relevant that it's written in a lisp? Probably not. But
       | then, maybe. Baseless speculation: mine pre-dates their internet
       | connected models, which means it's 100% plug and play. The only
       | possible config is the system clock and the startup schedule, and
       | I'm just using what the prior owner had already set. Had the OS
       | been written in a more traditional language perhaps the engineers
       | would have been tempted to include all the modern IOT features
       | from the start and the result would be the complex app-driven
       | network-needing mess that so many products tangle themselves up
       | in (including perhaps the modern Roombas).
       | 
       | Again, that's all baseless speculation, but I do see a potential
       | connection between folks who choose to code a robot in lisp and
       | folks who eschew "sugar" features in favor of the most pure "do
       | one thing and do it better than anything else" implementation.
        
         | brundolf wrote:
         | Something poetic about this is that Lisp was the original "AI
         | language", back when AI was more about reasoning and decision
         | trees.
         | 
         | One of the classical books - _Artificial Intelligence: A Modern
         | Approach_ - even uses a robot vacuum cleaner navigating a grid
         | as one of its toy scenarios :)
        
         | DonHopkins wrote:
         | Does the Roomba's Lisp use an incremental garbage collector?
        
           | bch wrote:
           | Mark and sweep
        
           | metagame wrote:
           | I saw a great paper on their dialect a while ago. Will try
           | and find it and edit this with a link.
           | 
           | Check out passage 3.4; it goes into detail on their garbage
           | collector.
           | 
           | L - A Common Lisp for Embedded Systems
           | 
           | Rodney A. Brooks and Charles Rosenberg
           | 
           | IS Robotics [now iRobot Corporation, the famous floor vacuum
           | company]
           | 
           | 1995
           | 
           | https://web.archive.org/web/20041031144839/http://www-2.cs.c.
           | ..
        
             | MengerSponge wrote:
             | Whoosh :)
        
               | metagame wrote:
               | I got the joke, but I still find the dialect fascinating
               | enough that I will pretend to take one of the many jokes
               | of Don Hopkins literally to get an excuse to post that
               | paper.
        
               | tephra wrote:
               | IIRC I saw a comment on lambda-the-ultimate years ago
               | that said that this paper was great but there are no
               | hints of any implementation or anything since it was
               | swept up by irobot.
        
               | metagame wrote:
               | It wasn't swept up ( _ha!_ ) by iRobot. IS Robotics
               | changed their name to iRobot. If you're skeptic, check
               | Wikipedia for the first author on that paper.
        
               | DonHopkins wrote:
               | That's the sound the garbage collector makes! ;)
        
         | lifeisstillgood wrote:
         | I (and it turns out a lot of other people) used to use "do they
         | code in Python?" as a heuristic for "are they a smart self
         | motivated programmer"
         | 
         | A similar metric you could apply to companies "are they
         | engineering influenced enough to pick a "weird" language". In
         | other words has the company chosen a language on the basis of
         | "we can hire more Java programmers easily" - an awful mindset
         | that suggests all other engineering decisions are a bust.
         | 
         | So yes I agree with your baseless speculation- it's probably
         | less baseless than you are worried about
        
           | vlunkr wrote:
           | Unless it is and will forever be a very small dev team,
           | choosing a language based on popularity is a great idea. But
           | maybe it depends on what you consider popular. I think Python
           | would qualify.
        
             | [deleted]
        
           | metagame wrote:
           | In which Paul Graham served to popularize the idea in August
           | of 2004: http://www.paulgraham.com/pypar.html
        
           | bmitc wrote:
           | > I (and it turns out a lot of other people) used to use "do
           | they code in Python?" as a heuristic for "are they a smart
           | self motivated programmer"
           | 
           | Really? It's like asking if something is in the middle of a
           | bell curve, getting an affirmative, and then treating that
           | like an outlier.
        
             | cultofmetatron wrote:
             | Thats where "used to" makes a huge difference. I remember
             | when the industry standard was to use c++ or java. Using a
             | language like python meant that you were "edgy" or "hip."
             | This was back when Paul Graham really started pushing for
             | acceptance of "hacker" languages (like common lisp or
             | python) when ycombinator was just getting started. He did A
             | lot to increase acceptance of languages outside c,c++, java
             | 
             | Now that python is mainstream, other languages stand in to
             | say "I like to learn languages for reasons other than
             | earning a paycheck" examples coming to my mind include
             | Haskell, rust or elixir.
        
             | bcrosby95 wrote:
             | This quote was from almost 20 years ago. Python wasn't that
             | popular in the early 00s, although it wasn't exactly
             | obscure.
             | 
             | At the very least, the school I went to in the early 00s
             | didn't have any classes that used Python. And none of my
             | friends learned it from their schools either. The language
             | exposure I got was Java, C, C++, Prolog, Scheme, Perl,
             | Fortran, and ASM. That includes AI and programming
             | paradigms classes.
             | 
             | Nowadays, Python wouldn't be the bar you use.
        
           | ithrow wrote:
           | _I (and it turns out a lot of other people) used to use "do
           | they code in Python?" as a heuristic for "are they a smart
           | self motivated programmer"_
           | 
           | Well Peter Norvig switch from lisp to Python.., as also
           | others googlers did when they saw that their teammates
           | writing python where as productive or more than themselves
           | using lisp.
        
             | lukashrb wrote:
             | > Peter Norvig here. I came to Python not because I thought
             | it was a better/acceptable/pragmatic Lisp, but because it
             | was better pseudocode.[0]
             | 
             | [0] https://news.ycombinator.com/item?id=1803815
        
               | [deleted]
        
               | X6S1x6Okd1st wrote:
               | Choosing python as your interview language seems like
               | just an unfair advantage at this point.
               | 
               | And then choosing python for complex high performance
               | work seems like asking for a headache at this point.
        
               | ithrow wrote:
               | and then:
               | 
               |  _In terms of programming-in-the-large, at Google and
               | elsewhere, I think that language choice is not as
               | important as all the other choices: if you have the right
               | overall architecture, the right team of programmers, the
               | right development process that allows for rapid
               | development with continuous improvement, then many
               | languages will work for you; if you don 't have those
               | things you're in trouble regardless of your language
               | choice._
        
           | wikibob wrote:
           | I strongly disagree.
           | 
           | Software engineering has changed dramatically over the past
           | 20 years.
           | 
           | Choosing a non-mainstream uses an innovation token on
           | something that does not contribute business value.
           | 
           | That's a huge red flag.
           | 
           | Software engineering is now a team sport.
           | 
           | Future maintainability and readability is now orders of
           | magnitude more important than nifty tricks when writing the
           | code.
           | 
           | See http://boringtechnology.club/
        
             | metagame wrote:
             | Software engineering has always been a team sport, even
             | though we've known since The Mythical Man Month that
             | throwing more programmers at a problem just slows the work
             | down.
             | 
             | Choosing a non-mainstream language can absolutely
             | contribute business value. For example, toy or tool, making
             | your creation extensible adds value. Multiple businesses
             | have spawned from this, and Lisp and Lua are prime
             | candidates of non-mainstream languages that billion dollar
             | companies have decided to choose to build substantial
             | portions of their products around so that users could
             | extend.
             | 
             | Even someone who doesn't know AutoLISP can look at an
             | AutoLISP script from decades ago and get it within an hour.
             | 
             | For another example, after being scolded for using Unicode
             | to write my overstrikes, I wanted to see how difficult it
             | would be to extend Arc's markdown to add DHTML overstrikes
             | (DHTML and Unicode both have their own ways of doing them).
             | This wasn't hard, despite not being intensely familiar with
             | Arc and pg's programming style being relatively off-beat
             | (Arc is essentially sillyScheme, and he takes full
             | advantage of writing things and defining them later, which
             | is normally easy to cope with but part of the design
             | philosophy of Arc was to minimize syntax, so it sometimes
             | takes longer than you would see in a less holistically-
             | cultivated Scheme). I checked                    (def
             | markdown          ... )
             | 
             | and figured out how to add to it pretty quickly.
        
             | [deleted]
        
             | dkarl wrote:
             | > Software engineering is now a team sport.
             | 
             | "Now" meaning since the 1960s (and probably before)?
             | 
             | > See http://boringtechnology.club/
             | 
             | There are plenty of "weird" (in the sense of the parent
             | comment) "boring" (in the sense of the essay you linked
             | [1]) languages out there. Common Lisp and Erlang spring to
             | mind. They are old technologies, and their capabilities and
             | failure modes are well-understood. Maybe not by me and you
             | and the average programmer off the street, but after
             | decades of use, the knowledge is available.
             | 
             | There's also an argument to be had about how much you
             | should value the personal familiarity your team and the
             | people you hire have with the technology. Certainly there's
             | a cost to using unfamiliar technology, and there's a trade-
             | off when choosing between an old, battle-tested, highly
             | capable, but unfamiliar technology and something that is
             | less capable but nearer to hand.
             | 
             | [1] "the capabilities of these things are well understood.
             | But more importantly, their failure modes are well
             | understood" https://mcfunley.com/choose-boring-technology
        
             | _pmf_ wrote:
             | > Future maintainability and readability is now orders of
             | magnitude more important than nifty tricks when writing the
             | code.
             | 
             | Explain npm, then.
        
         | varjag wrote:
         | The ex-MIT people who started the company were really good at
         | robotics, and with MIT being a Lisp powerhouse the choice was
         | perhaps natural.
         | 
         | But thing is if you are good at Lisp you can move really,
         | really fast. I also do embedded development (mostly with C) but
         | the last project I had an opportunity to do in Common Lisp. It
         | was a fantastic experience with perfect commercial outcome. It
         | feels like you move mountains.
        
           | lispm wrote:
           | > The ex-MIT people who started the company were really good
           | at robotics
           | 
           | and Lisp.
           | 
           | Rodney Brooks worked on S1 Lisp and Lucid Common Lisp. He was
           | a co-founder of Lucid, Inc. and wrote the book 'Programming
           | in Common Lisp' (Wiley, 1985).
           | 
           | See for example: "Design of an Optimizing, Dynamically
           | Retargetable Compiler for Common Lisp", 1986. The authors
           | (incl. Rodney Brooks) worked for Lucid, Inc.
           | 
           | https://www.researchgate.net/publication/221252387_Design_of.
           | ..
        
         | bmitc wrote:
         | I really don't get the feeling that iRobot uses Lisp anymore,
         | and espeically not _extensively_. Most of their robotics
         | software engineer jobs advertise C /C++. On the rare occasion
         | I've seen Lisp mentioned, it was for a junior role and sounded
         | like it was only to use the existing dialect (I'm assuming for
         | older robots).
         | 
         | My gut feeling is that they have a dialect but no longer
         | actively develop it and potentially no longer use it for newer
         | robots. Plus, it's probably more of a C-like Lisp.
         | 
         | A lot of these companies on this list do not actively use Lisp
         | or even exist anymore.
         | 
         | One company that is left off the list is 2Is Inc. They use
         | Common Lisp for everything and actively do so.
        
       | stelcodes wrote:
       | I feel like Clojure companies should be on here too as it is very
       | much a LISP
        
         | Zababa wrote:
         | > This list intended only for company with Common Lisp and
         | Scheme usage
         | 
         | I remember reading somewhere that user-generated tags were a
         | good idea, even if there are some "synonims", because people
         | that talk about "films" and people that talk about "cinema"
         | clearly don't want to spend time together. I think it's the
         | case here. People that want to exclude anything that's not
         | Scheme or Lisp aren't going to be convinced.
        
         | [deleted]
        
         | eatonphil wrote:
         | > This list intended only for company with Common Lisp and
         | Scheme usage
         | 
         | Debate aside, this group seems to be fairly explicit about
         | their intent.
         | 
         | Here's an issue where they discussed the decision recently:
         | https://github.com/azzamsa/awesome-lisp-companies/issues/43.
        
         | metagame wrote:
         | There are a lot of people who would debate that point. There
         | are even some fairly common macros that are used when this
         | comes up. My favorite is this one:
         | 
         | <<I find Clojure revolting.
         | 
         | It is the most explicit to date abandonment of the age-old
         | Lispers' Dream, "Lisp All The Way Down." Clojure is the
         | antithesis of the Lisp Machine. Instead of a crystalline
         | pyramid of comprehensible mutually-interlocking concepts,
         | behind every Clojure primitive there lurks Black Magic. The
         | Clojure user who is missing some routine or other will run
         | crying to Java for help, rather than implementing the feature
         | himself correctly - that is, as a natural part of the entire
         | language, built on the same concepts. Clojure pisses on
         | everything I've ever loved about Lisp.
         | 
         | Clojure is the False Lisp, which Reeketh of the Cube Farm. A
         | Lisp unworthy of the name; one which encourages users to pepper
         | their code with calls to opaque routines having no underlying
         | Lispiness. A Lisp which barfs Java stack traces. It promotes -
         | no, mandates - the use of undigestable foreign matter in Lisp
         | code: primitives on which you cannot pop the hood to reveal
         | intelligible innards.
         | 
         | The cult of Good Enough which seems to pervade all of modern
         | computing has finally chewed its way through to the Lisp
         | community, with Clojure as the result. I am tired of this
         | abomination being hailed as the future of Lisp. Aficionados of
         | real Lisps, such as myself, will keep hoping, dreaming, and
         | working on systems which do not betray the original virtues of
         | the language.>>
        
           | Blackthorn wrote:
           | How irritating, when people want to talk about things made in
           | Lisp-the-language, and people instead come around to debate
           | Lisp-the-religion.
        
             | metagame wrote:
             | I think it's hilarious, personally, and I'd disagree that
             | the two are meaningfully distinct.
             | 
             | Acting like any language that makes use of parentheses is a
             | Lisp is similar to the Diogenes plucked chicken allegory.
             | There are a lot of ways in which Clojure clucks like a
             | chicken, to put it in terms of the metaphor. There is
             | definitely room for a debate.
             | 
             | It's like calling Postscript meaningfully a Forth just
             | because the syntax is superficially the same. There's
             | certainly someone in this thread who could give a good
             | thousand word comment on that.
        
           | dang wrote:
           | All: please let's not do programming language flamewar here.
           | I realize this is just a quote, but such things are
           | activating and we all need to just not take the bait.
           | 
           | This sort of hyper-rant did years' worth of damage to the CL
           | community and I'd especially not like to see HN be a vehicle
           | for its return. As for Clojure, Rich knows at least as much
           | as the rest of us do about the design tradeoffs it took to
           | get a viable Lisp on the JVM.
        
             | metagame wrote:
             | Even pg participated in Lisp flaming; what he said about
             | newLISP on LtU, for example. It's tradition!
             | 
             | But yes, Lisp flamewar is not very productive. I do think
             | there's a debate to be had as to whether or not Clojure is
             | a Lisp, though, and the quote was offered to give a
             | humorous example of a macro posted by people who are
             | against Clojure in it, since stelcodes seemed to be
             | unaware.
        
           | lgrapenthin wrote:
           | This is exactly the kind of closed thinking that is luckily
           | absent from Clojure and the Clojure community and one of the
           | reasons I'd prefer it over any lisp.
        
             | [deleted]
        
             | Zababa wrote:
             | Sure https://news.ycombinator.com/item?id=28831243
        
           | neutronicus wrote:
           | Heh
           | 
           | The impression I gathered from last decade's flirtations with
           | Lisp is that the choice between Clojure and Common Lisp is
           | mostly a choice between whether the code you ultimately call
           | that Gets Stuff Done will be C or Java
        
           | nathell wrote:
           | Can you clarify what number you mean by "a lot" and/or cite
           | some research to corroborate this claim?
           | 
           | You quote one article [0], which has been received by the
           | Clojure community with almost unanimous disagreement, as the
           | author himself acknowledges (in less than friendly words).
           | 
           | That article in turn contains little factual information and
           | lots of expressive verbiage. In my experience, this opinion
           | is very much in the minority, albeit a vocal one.
           | 
           | [0]: http://www.loper-os.org/?p=42
        
             | metagame wrote:
             | I quoted a _macro_ that gets spammed on discussion forums.
             | Of course it isn 't popular with Clojurists, it mocks them.
             | The origin article is irrelevant. If you copy and paste
             | that paragraph into a search engine, you'll find it on
             | multiple discussion forums.
             | 
             | Go to just about any Lisp forum that isn't explicitly for
             | Clojure, and you'll find people hating on Clojure. Hating
             | on Clojure and hating on newLISP are the only two things
             | that Lisp users can agree on. I like both of them (though I
             | like Clojure a lot _less_ ), but I find the slander
             | hilarious and can understand why people disagree that
             | they're real dialects.
        
           | waffletower wrote:
           | Nice to see software language purists who are not assembly-
           | line stamped Haskellteers fresh out of college. But the fact
           | that they appear unable to see the beauty implied by
           | `/usr/bin/env bb` or `shadow-cljs publish`, suggests to me
           | that they don't recognize the implications of clojure and
           | deep, modern software ecosystem interoperability.
        
             | BeFlatXIII wrote:
             | You can't forget the evangelical Rustaceans
        
             | metagame wrote:
             | I think most of the people who spam the macro are Emacs
             | Lisp and CL users, so while in the Emacs case they might
             | not understand _modern_ software ecosystem
             | interoperability, they definitely understand deep software
             | ecosystems.
        
             | ithrow wrote:
             | _But the fact that they appear unable to see the beauty
             | implied by ` /usr/bin/env bb` or `shadow-cljs publish`_
             | 
             | lol, what beauty are you referring to with those two?
             | 
             | Sorry but you aren't any different.
        
         | varjag wrote:
         | If you hang around here long enough, you get to see people
         | insisting on pretty much anything being a Lisp.
        
       | vesinisa wrote:
       | I am pretty sure there is no "UmeAY=" or "UmeAY= University" in
       | Sweden. It does look like a _mojibake_ of Umea, which does have a
       | university.
        
       | ch33zer wrote:
       | Do people decide to go to work for a company based on the
       | language they'll be working in? Seems like something that should
       | be very far down the priority list?
        
         | capableweb wrote:
         | Yeah, I currently do. I only work with companies who can ensure
         | I get to write and maintain Clojure/ClojureScript projects, or
         | any other lisp-like languages.
         | 
         | Just like I'm sure many people would reject jobs that would
         | force you to write assembly code now when we have higher
         | abstraction languages, I reject jobs that are requiring me to
         | work with inferior languages and ecosystems like Rust, Go or
         | JavaScript. It's simply not worth the frustration anymore.
         | 
         | In the beginning of my career I didn't have the flexibility to
         | choose what languages to work with though, but nowadays I am
         | that lucky.
        
           | Keyframe wrote:
           | How are mentioned three inferior to Clojure and
           | Clojurescript? What if you need performance or a bit less of
           | maximalism in the community... Or even a community at all and
           | libraries and support?
        
             | capableweb wrote:
             | > How are mentioned three inferior to Clojure and
             | Clojurescript?
             | 
             | They are not lisps :)
             | 
             | > What if you need performance
             | 
             | Choose a lisp that gives you performance. Clojure gets you
             | about 80% on the way there, for the rest you can use Common
             | Lisp if you really require performance. I've found that
             | Clojure usually does the trick if you optimize it a bit.
             | 
             | > Or even a community at all
             | 
             | Clojure does have a community, not sure what you mean?
             | There are forums, chats, Q&A sites, blogs, people on
             | Twitter.
             | 
             | > libraries and support?
             | 
             | Plenty of battle-tested libraries with stable APIs, and
             | loads of companies that offer Clojure support (not to
             | mention the great public community that can also help with
             | most if not all questions).
             | 
             | Have you actually used Clojure in any capacity? These
             | points seems to be coming from someone who haven't actually
             | tried to get involved.
        
               | trenchgun wrote:
               | Do you ever miss static typing?
        
             | closeparen wrote:
             | Go and Lisp have polar opposite philosophies; it makes
             | sense that some developers who like one will be eager to
             | avoid the other.
        
             | waffletower wrote:
             | Clojure has a very strong software community, and find it
             | to be near an ideal size. Tooling is in flux at the moment
             | in the community, and so it has begun to show some of the
             | lack of uniformity that is easy to find in larger
             | ecosystems like python, java, and Appleland etc.
        
           | preseinger wrote:
           | > I reject jobs that are requiring me to work with inferior
           | languages and ecosystems like Rust, Go or JavaScript. It's
           | simply not worth the frustration anymore.
           | 
           | Interesting! I wasn't aware that there was an objective set
           | of criteria by which programming languages could be measured,
           | and judgments like "inferior" or "superior" delivered. Can
           | you link to it? I'm hugely intrigued and want to learn more.
        
             | capableweb wrote:
             | No, what language you like is often not based on objective
             | set of criteria. It's mostly personal preference and
             | emotions involved.
             | 
             | For example, the reason I like lisps is because they
             | usually offer interactive development, something most non-
             | lisps don't offer. That makes any non-lisps inferior _to
             | me_.
             | 
             | For the future, you could do with less snark. I never said
             | what I think is objective, and I'm pretty sure most of us
             | know that what languages you like is very much subjective.
             | The sarcasm in your comment just make this thread less
             | interesting, not more.
        
               | preseinger wrote:
               | Oh sorry! The adjective "inferior" usually does not refer
               | to a subjective measure. Usually you'd use "distasteful"
               | or something like that. My mistake.
        
           | low_common wrote:
           | How is Go an inferior language? You took some crazy pills
           | this morning buddy.
        
             | capableweb wrote:
             | I guess taste is like assholes, everyone has one :)
             | 
             | Go is inferior (to me) because it doesn't have
             | s-expressions, and it doesn't offer interactive development
             | (who in the world wants to re-compile/re-run a whole
             | program/tests on each change?).
             | 
             | Once you've got the taste for interactive development it's
             | really hard to go back to anything else. Ask any Smalltalk
             | developer what they think of other languages.
        
               | eointierney wrote:
               | Where are we at with the "language hierarchy" at the
               | moment? It's been a while since I've seen this game
               | played.
               | 
               | So my move.
               | 
               | 1. Common Lisp (well obviously) 2. Racket (gotta make
               | some noise) 3. Haskell (controversial, I know) 4. Rust
               | (trendy and deservedly) 5. APL (terseness) 6. Prolog
               | (made me think differently) 7. Fortran (come a long way)
               | 8. Forth (brevity) 9. Ada (correctness) 10. Lean (I
               | really like Lean) . . C . . C++ . . Python . Perl . Shell
               | . . ECMAscript
               | 
               | Is there anyone I haven't offended? Do let me know :)
        
             | metagame wrote:
             | I can answer this one! It manages to have significantly
             | less elegant syntax and behavior than both C and Common
             | Lisp, while also having drastically lower performance than
             | both. Alongside that, it's incredibly difficult to port to
             | new systems for little reason other than that the creator
             | decided to make it so. Its package management is also
             | significantly worse than Common Lisp's.
             | 
             | All of this without even getting into Rob Pike (the man
             | largely responsible for its origin, if you're not familiar)
             | saying explicitly it was for people who weren't capable of
             | understanding a better language:
             | 
             | <<The key point here is our programmers are Googlers,
             | they're not researchers. They're typically, fairly young,
             | fresh out of school, probably learned Java, maybe learned C
             | or C++, probably learned Python. _They're not capable of
             | understanding a brilliant language_ but we want to use them
             | to build good software. So, the language that we give them
             | has to be easy for them to understand and easy to adopt.>>
             | 
             | Rob Pike, 2014.
             | 
             | Go is a fine language, but let's not pretend, here. Rob
             | Pike certainly doesn't.
        
               | to11mtm wrote:
               | There's some truth to this.
               | 
               | As a C# developer, I get to deal with a lot more:
               | 
               | - Bikeshedding over LINQ
               | 
               | - Going back and optimizing LINQ
               | 
               | - Helping Developers understand someone else's LINQ,
               | Reflection/Attribute Abuse
               | 
               | - Helping developers understand new syntax in each
               | version of the language.
               | 
               | A large part of Go's philosophy is to more or less take
               | away all of those tools from the Developer and try to
               | force a style of code that is somewhat monotonous,
               | verbose (in a way very different from Java), yet
               | 'readable' by a developer with minimal experience.
        
           | ballpark wrote:
           | I also choose to work for companies that use
           | Clojure/Clojurescript. I'm not debating about languages that
           | are better or not, but I get annoyed working in most others.
        
           | c0balt wrote:
           | It may be true that for most high level development a high
           | level programming language will suffice but don't just write
           | off any other languges, because you don't like their
           | ecosystem and/ or design. Languges like C++ or Rust are in no
           | way competing with Clojure since their aims and target market
           | are vastly different. Nobody should write a kernel in
           | clojure, but maybe in rust (Redox) or C++ (Linux).
        
             | tialaramex wrote:
             | I don't understand why you gave the example of C++ (Linux)
             | 
             | Linux is written in C, and, perhaps someday, Rust.
             | 
             | Linus doesn't like C++ and has explicitly objected to,
             | among other things, its enthusiasm for implicit allocation.
             | Rust's implicit allocation all lives in libraries and so
             | the Rust for Linux project _ripped that out_.
        
             | capableweb wrote:
             | Please note I said "Clojure/ClojureScript projects, or any
             | other lisp-like languages". I'm in no way limiting myself
             | to just Clojure, any lisp-like language will do, say Common
             | Lisp if performance is needed, ulisp if it has to run on a
             | microcontroller, Babashka/Fennel/Janet if fast startup time
             | is required and so on.
             | 
             | As long as it's s-expressions and interactive development
             | oriented, I'm probably fine with it.
             | 
             | But for the last 4-5 years, I have literally not found a
             | single use case where I'm forced to use C++ or Rust since
             | multiple other (lisp-like) languages has the same target
             | market and the ergonomics are just so much better.
        
               | cjaybo wrote:
               | > I have literally not found a single use case where I'm
               | forced to use C++ or Rust
               | 
               | I use C++ to write realtime audio processing
               | applications, especially DAW plug-ins. This is hardly
               | C++'s primary market, but AFAIK there are no lisp-like
               | langauges that can compete with C++ here. I'd be happy to
               | learn something new if this isn't the case!
        
               | capableweb wrote:
               | Common Lisp performance can be about the same as C++, so
               | performance considerations won't stop you there at least.
               | Common. You can also call C and C++ functions from Common
               | Lisp, so the ecosystem shouldn't stop you either.
               | 
               | It would help if you outlined what's missing from for
               | example Common Lisp in order for it to compete with C++,
               | then maybe I'll be able to give more helpful suggestions
               | that will help you.
        
               | widdershins wrote:
               | The reason people use C/C++ for audio is because a kind
               | of 'soft realtime' performance is required. The thread
               | producing audio cannot block for an unbounded amount of
               | time, ever. If you are late to produce an audio buffer, a
               | nasty audible glitch will be the result. This means no
               | file access, no waiting for mutexes, and certainly no
               | garbage-collection pauses.
               | 
               | This is why managed languages like Lisps are rarely (if
               | ever) used for the DSP in audio applications. I am an
               | audio programmer who loves all things lispy, so believe
               | me, I wish this weren't the case.
        
           | boppo1 wrote:
           | Is lisp really that good? I'm a novice 'tutorials and duct
           | tape' programmer and I've been eyeing SICP lately as a way to
           | hopefully gain confidence in knowing wtf I'm doing.
        
             | vindarel wrote:
             | It's way better than Python (type warnings, speed,
             | expressivity, stability, ease of deployment...). You won't
             | build a web app as fast though. But if you plan to build a
             | software that lasts and is easy to maintain, I'd recommend
             | to give it a try.
        
             | ithrow wrote:
             | It won't give you any magic wand if that's what you expect
             | but SICP is highly recommended.
        
             | caleb-allen wrote:
             | The heart of it is that you can manipulate the AST as you
             | use it - the structure of the language is itself data which
             | can be acted upon. It makes for good metaprogramming which
             | some people really like.
        
           | waffletower wrote:
           | I haven chosen to work for companies where a significant
           | amount of my development output will, in theory, be in
           | Clojure. I do work on private projects where Clojure is less
           | ideal, and avail myself of the breadth available to the
           | python ecosystem for example, but when there the
           | multitudinous shortcomings do not take long to manifest.
        
         | AtNightWeCode wrote:
         | No, it is a warning sign if Lisp, VB6, Cobol or similar is
         | used. ;)
         | 
         | Edit: Just to clarify, the comment was a joke but yes, devs for
         | sure reject jobs at prominent workplaces because of tech. I
         | myself know a highly attractive workplace that want me to join
         | but I won't because I don't believe in their tech stack.
        
         | tombert wrote:
         | I seek out companies using niche languages not because I
         | necessarily care about that specific language, but because I
         | find that companies that are willing to work with niche tech
         | tend to be more fun to work for. Typically if you're a Haskell
         | or F# developer, then you probably are at least a little
         | interested in theory and mathematics. Since I'm also interested
         | in theory and math, there's a selection bias of "folks I am
         | extremely likely to get along with".
         | 
         | With a more mainstream language like Java, you're not
         | necessarily going to select for that trait. This isn't to knock
         | Java engineers, since I know a ton of Java engineers much
         | smarter than me, but that fact that Java
         | (JavaScript/Python/C#/any-other-mainstream-language) is popular
         | means that a lot of people learn it because there's a lot of
         | jobs in it and/or it pays well. There's nothing wrong with
         | using a language that makes you money obviously, and there's
         | nothing wrong with liking Java, but as a perpetual-geek I am
         | certainly less drawn to "Java Shops".
        
         | askonomm wrote:
         | Yes, people want to work with technologies they enjoy,
         | therefore doing work they enjoy.
        
         | Barrin92 wrote:
         | fairly high up the list for me. If there were more/any F# jobs
         | around here I'd happily apply. Come to like the language a lot.
        
         | jlg23 wrote:
         | Yes, I do. Just because I know how to speak/write some language
         | I don't have to love it. And I rather do something I enjoy than
         | dragging myself to work every day. Increased productivity is
         | just a corollary. (I'll still accept a java gig, but the salary
         | must make up for the daily misery).
        
         | EamonnMR wrote:
         | I may have passed up on an opportunity because a company used
         | Perforce instead of Git at some point, though memories that old
         | are unreliable at best.
        
         | MrBuddyCasino wrote:
         | What programming languages do you know? Do you prefer any one
         | of them?
        
         | alfiedotwtf wrote:
         | It's my only priority...
         | 
         | Every place I've worked at, I only applied after asking a) what
         | language do they use b) is it technically cool.
        
         | cletus wrote:
         | They certainly can decide where not to work based on this. Many
         | years ago I had a conversation with IMDB and ran for the hills
         | when I found out the used Perl.
        
         | gmadsen wrote:
         | many companies require certain expertise in a specific language
        
         | brundolf wrote:
         | I think there's a little-discussed connection between dev
         | happiness and motivation/productivity. I for one am much more
         | driven when I feel good about the thing I'm producing, and the
         | language it's written in has a big impact on that.
        
         | waynesonfire wrote:
         | yes. in fact, startups use this property to their advantage in
         | recruiting by adopting a niche technology stack to hire
         | talented engineers that want to solve problems using that tech
         | stack.
        
         | emidln wrote:
         | Why? The things people often list above language are table
         | stakes. I wouldn't give up a high salary to work in Clojure for
         | a low salary, but that's not a choice you have to make. I
         | wouldn't give up interesting problems, fully paid insurance, a
         | good team, 4+ weeks of vacation, etc but again I don't have to
         | give up any of those to work in Clojure. The choice isn't some
         | ideologically pure Clojure startup scraping by versus proper
         | pay + benefits at a large enterprise.
         | 
         | If you're doing application development, it's nice to have a
         | language that truly cares about backwards compatibility and
         | interoperability with a common platform. It means I can focus
         | on solving problems and not incidental complexity. I can easily
         | hack Clojure from the comfort of a pom.xml if necessary.
         | 
         | I'm not working in Clojure right now because I found
         | interesting work outside of application development, but when I
         | was last looking in 2018, I could get roughly all of the things
         | I wanted from a job and still hack Clojure from a CIDER REPL in
         | Emacs all day.
        
         | cheeze wrote:
         | Functional fanatics are totally the kind of people who seek out
         | teams or spaces for a specific language.
         | 
         | I stay away from those people, not going to lie.
        
         | beepbooptheory wrote:
         | just seems like a promising avenue to one day actually getting
         | a job!
        
         | AtlasBarfed wrote:
         | When you start a job, you are a noob from the perspective of
         | processes, frameworks, paradigms, and current codebase.
         | 
         | You're most susceptible to intellectual bullying in this stage.
         | It's really what makes switching jobs the worst part in
         | programming: you look like an idiot no matter what the first
         | week or two, and are completely at the mercy of your manager
         | and team culture to sink or swim.
         | 
         | Add a new language as ammunition to be intellectually bullied?
         | No thanks.
        
         | joshmn wrote:
         | I do. I'm trying to transition out of development and into
         | management. The last thing I want to do is leave behind the
         | place I've called home for the last 10 years, abandoning all
         | the headaches from the language's subtleties in the process.
         | I'm proficient in enough and have contributed (reasonably) to
         | production-level systems in many, but that doesn't mean I
         | enjoyed them as much as I do my mainstay.
        
         | outworlder wrote:
         | > Seems like something that should be very far down the
         | priority list?
         | 
         | Not entirely. It's a proxy - and a window - on the company
         | culture.
        
         | weavie wrote:
         | Yup, I applied to and worked for one of the companies on this
         | list purely because they were using Common Lisp.
        
         | jes wrote:
         | At 62, I'd probably work for free for a company that used
         | Common Lisp and had half a clue.
        
           | [deleted]
        
           | diskzero wrote:
           | I'll bite! Drop me a note. Let's find out if I have a clue.
        
         | [deleted]
        
         | yissp wrote:
         | If I was offered a job with great pay, benefits, and company
         | culture, but all of my programming would need to be done in
         | brainfuck, I'd probably turn it down.
        
           | eointierney wrote:
           | Eh, surely you'd just build a brainfuck transpiler in lisp
           | and coast
        
       | mucholove wrote:
       | Great idea! Would love to see a list of companies using Smalltalk
       | extensively. :)
        
         | the_only_law wrote:
         | I actually saw one of the few commercial Smalltalk vendors
         | hiring a while back. Though, it seemed like it was less writing
         | smalltalk and more building the underlying platform.
        
       | leoc wrote:
       | How much commercial use do Prolog or other logic programming
       | languages see these days? The impression I seem to get is that
       | Prolog, while never exactly mainstream, had a much more
       | significant commercial foothold 30 or even 20 years ago than it
       | does now; but I don't know if that's accurate.
        
       | medo-bear wrote:
       | HexstreamSoft probably shouldn't be there. I don't think it is a
       | registered company
        
         | johnlorentzson wrote:
         | HexstreamSoft is one guy who decided to piss off just about
         | everyone he could in the Lisp community, then his Twitter
         | account got locked and everyone stopped caring.
        
           | medo-bear wrote:
           | yes he engaged in some unwarranted personal attacks. i
           | actually hope he is ok though. he seemed like a passionate
           | guy just very misguided. my point about raising this is just
           | to have a high barrier for appearing in that list. i
           | otherwise enjoy the list alot
        
       ___________________________________________________________________
       (page generated 2021-10-11 23:00 UTC)