I've read this story a couple times as it's popped up on the internet in different places. I've enjoyed it each time because it promises that lisp is an uber-powerful and easy (?) language.<p>I'm always curious though: what's the other side of the story? Why is lisp always rejected?<p>I started programming seriously (for money) in 2009, and when we needed a language we went with python because it had better math/science libraries than Java and much more libraries in general than clojure/lisp/ocaml. I confess I like the functional languages and like using some of their features in python.<p>Was the no-libraries dealbreaker for the "pure" functional languages also true in 1999, which led google to java? Or maybe there are complex meta-programming bugs you can generate in the functional languages (and elsewhere) that are the dealbreaker? Or what?
I really feel like they should teach LISP in elementary school. It has extremely simple rules to get started and helps people intuitively understand programming concepts. Maybe an updated The Little Schemer style curriculum:<p><a href="https://www.amazon.com/Little-Schemer-Daniel-P-Friedman/dp/0262560992" rel="nofollow">https://www.amazon.com/Little-Schemer-Daniel-P-Friedman/dp/0...</a>
LISP is weird - I used it a lot in the late 80s and enjoyed it a lot but then moved on and, looking back, never missed it. I think it has a hypnotizing effect on programmers brains, feeding the endorphin feedback cycle, but ultimately there are just too many damn parens.
> Well, not quite -- I did write the billing system, including a pretty wizzy security system that keeps the credit card numbers secure even against dishonest employees.<p>Are details of this publicly available?<p>The topic of storing credit card numbers is one of those for which searching returns a lot less information than one might expect. If you need to do this yourself, as opposed to using some third party vault/tokenization system, there doesn't seem to be a lot out there.
Running a REPL on a spacecraft that is 100 million miles away? I've seen some slow response times, but that probably takes the cake. Very cool, but <i>horrible</i> latency.
Java is COBOL of our era. Soulless, business, a lot of typing and searching. You just keep on fixing it. It did advance a bit but ... sigh. Clojure invented too late I supposed.<p>Sad it goes to such places.
Interesting article. No knock on the author, but paste this in the console to make it a bit easier to read:<p><pre><code> document.body.style.maxWidth = '50%';
document.body.style.margin = '5% auto';
document.body.style.fontSize = '120%';
document.body.style.lineHeight = '150%';</code></pre>
Here is another interesting article by Garret (i.e. Erann Gat): <a href="http://www.flownet.com/gat/papers/lisp-java.pdf" rel="nofollow">http://www.flownet.com/gat/papers/lisp-java.pdf</a>
<p><pre><code> Me: I'd like to talk to you about something...
Him: Let me guess - you want to use Smalltalk.
Me: Er, no...
Him: Lisp?
Me: Right.
Him: No way.
</code></pre>
Let's meet halfway and settle for smalltalk.
I think it is not so much a testament to Lisp as to a talents of a people who wrote the software. I've met some of those. Give them anything and they'll still produce stunning results. Those were real doers. Can't even call them programmers, they had something better: brains size of f..ng Manhattan.
Lisp aside, I found something tragic, or at least a terribly tragic phase to their career: They stayed at JPL because it was a more meaningful place to work and abhorred the possibility of Java drudgery. Fine, good.<p>Then they went to Google, as it appeared different from the corporate bureaucratic programmer = widget approach, only to be charged with implementing a massive Java project. So, irony.<p>But the real tragedy was that it was all for <i>Ad Tech</i>. Presumably tired of the same JPL work, they not only end up using a hated tool, but also working on something that seems on the opposite end of the "meaningful work" spectrum. Adding to the tragedy, they could have taken any number of development jobs that happened to use Java and yet pushed the needle forward on meaningful work.<p>I really regret the last 20 years of the best & brightest being drawn into the modern equivalent of Mad Men advertising firms. I do however take a fair bit of solace in the fact that these massive companies and massive systems <i>have</i> resulted, if only as a side effect, in excellent technology that allows corralling and orchestrating massive amounts computational power in a way I thought a bit too "utopian" when "utility computing" was being bandied about in the 90's. Just kind of wish some other monetization model had emerged. Freemium looked promising for a while, but it turned out there was still an infinity of user acquisition friction in between "free" and "extremely cheap". Oh well. I still have hope for the next decade or so.
I'm fascinated by two questions that both seem to suffer from a lack of data. What's the best way to introduce programming is one. There should be tons of studies and data on this, to end the discussion, no?<p>What to feed humans is the other.
> imperative languages with poorly defined semantics like C and C++<p>What does he mean by this? Is this related to the C "undefined behavior" or is the reference here to something which affects imperative languages in general?
This just reminds me of how many times I've been told things like "you can't use that java code that is open source and working and does exactly what we want - we're a python shop!" and other such nonsenses.<p>I'm always amazed at how people have strong feelings for the tools/languages, rather than what they do and how they can help you. Even in this example, the Google person didn't even ask what they wanted to use Lisp for.<p>People I guess just really like rewriting software in different languages?