[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)