[HN Gopher] The Rise and Fall of Lisp at JPL ___________________________________________________________________ The Rise and Fall of Lisp at JPL Author : sandinmyjoints Score : 84 points Date : 2020-01-18 21:34 UTC (1 hours ago) (HTM) web link (flownet.com) (TXT) w3m dump (flownet.com) | FpUser wrote: | 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. | AceJohnny2 wrote: | (2002) | | Author is @lisper around here. They've mentioned this story a few | times. | Rochus wrote: | Here is another interesting article by Garret (i.e. Erann Gat): | http://www.flownet.com/gat/papers/lisp-java.pdf | [deleted] | proximitysauce wrote: | 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: | | https://www.amazon.com/Little-Schemer-Daniel-P-Friedman/dp/0... | SkyMarshal wrote: | On the subject of education, pg links to a great story on | Scheme (a Lisp 1) in education [1] from his essay "Beating the | Averages" [2]. The story references a book, "A Schemer's Guide" | that is a good Scheme/Lisp or programming learning reference | [3]. | | If you know folks learning programming for the first time and | maybe struggling with Java or whatever they're using, these | references may help. Sometimes you just need to see things like | recursion or currying in a different way for it to click. | | [1]:http://www.trollope.org/scheme.html | | [2]:http://www.paulgraham.com/avg.html | | [3]:https://www.worldcat.org/title/schemers-guide/oclc/24430531 | | [4]:https://schemers.org/Documents/ (more Scheme resources) | | [5]:https://en.wikipedia.org/wiki/Lisp-1 | SomeHacker44 wrote: | I did teach my son Racket at age 8, as his first programming | language. He was able to make a number guessing game in it. I | think we used "Realm of Racket," but I don't recall, as it was | some years ago. He's now midway through high school and not a | single course at his STEM middle school or high school has come | close to teaching him as much as he learned at age 8. | gowld wrote: | That difference is more because classes are designed to be | extremely slow and low paced so the worst student can pass. | Learning anything with a personal tutor is much more | efficient. | cocktailpeanuts wrote: | You don't understand why kids would want to learn programming. | At least those who do, want to learn because they can build | cool things they can show off to friends. | | It's not about whether a programming language is simple or not. | (I actually think LISP is not as simple to understand as | imperative languages, unlike most nerds think) It's about what | you can build with it. | | For example, my first experience with programming was to build | a game. If someone had tried to force-teach me LISP, it would | have actually had opposite effect on me because then it would | be no different from someone trying to force teach me some | boring subject I have no interest in. The best way to teach | something is to provide gratification. LISP is only gratifying | to nerds who marvel at its "elegance", but it has no ecosystem | which has tons of cool projects like fancy graphic engine or | fancy game engine. It's just a "cool" language to nerds. | | DON'T teach your kids LISP if you want them to love | programming. Teach them JavaScript or Python, or anything they | can build something tangible with which they can show off to | their friends. | serf wrote: | >You don't understand why kids would want to learn | programming. At least those who do, want to learn because | they can build cool things they can show off to friends. | | I mean, this isn't true for everyone of course, but I began | learning to code at around 8 or 9 years old because I was | heavily interested in math and numbers, and _precisely | because_ I didn 't have many friends (or brothers or sisters) | to occupy my time with when I was very young. | | I had a second-hand IBM XT from my fathers' shop at first, | and I wanted to learn how to do things with it. | | I agree with the premise that the majority of folks learn | better with a practical goal in mind, but I disagree with you | that there exists only one kind of curious child. | | My first project as an 8 or 9 year old was a prime number | generator (a naive sieve). I had read a book about patterns, | and primes had been mentioned. I took a trip to the city | library (another rarity statistically?) and picked up a guide | to Pascal that was written towards small business owners and | non-CS college students to help them with simple automation, | and got to work looking up terms. | | A week or two later I had a CLI program that spat out primes | as fast as my computer (or my poor implementation..) could | make them. | | I then tried to use those primes to draw trippy pictures, | which began another foray into programming topic that were | new to me, necessitating more work looking up terms and | generally haunting the library. | | Years later, when I was a teenager, when I ran into like- | minded computer folks and we'd get to talking, that same | prime generator got spun into a small benchmarking suite that | my friends and I toyed with before the multi-core trends. | | so.. I guess that the "show it off to friends" thing still | happened, but knowing myself and how I learn, I doubt that | i'd have ever been interested in a hobby that was pushed | towards me by authority figures as being useful. | | I have a hard time conceiving how I would become a 'computer | person' now-a-days, in fact. I was so anti-social and | actively hostile towards teachers that the idea that one of | them could have tutored me in the hobby , quite counter- | intuitively, may have been the exact reason I would have | avoided it as a child. | | really, my grand tl;dr : "There is no one teaching method." | bgorman wrote: | Why not Clojurescript? It has access to the whole JS | ecosystem. | Scarbutt wrote: | Too much friction an incidental complexity for a kid, they | will have to be familiar with JS anyway. | Oreb wrote: | Why? Even as a professional developer, it's extremely | unusual that my cljs work requires any JS familiarity. I | don't see why a complete beginner would even need to know | that JS exists. | [deleted] | invalidOrTaken wrote: | This really is true. I learned Logo in middle school, didn't | want to be a programmer, took a Java class in college because | it was required for actuarial science, then read some PG | essays. | | Lisp should be forbidden to young programmers, precisely so | they'll go seek it out. | mdtusz wrote: | I'd argue that racket's ecosystem is ideal for getting young | people interested. You can build gui tools and do graphics | programming out of the box, very easily. | | My go to language to refer people who want to learn is | Processing though. Easy to use, and the documentation is | fantastic (and Dan Shiffman is IMO the best programming | educator out there for kids and adults alike, whether or not | you like his high-energy style). | WalterBright wrote: | > You don't understand why kids would want to learn | programming. | | I started by typing in listings from a book (101 Basic | Games). Then I'd start modifying the games. Then I'd write my | own. It's how people learn. | | For a famous example, look at the Beatles. They started by | copying other tunes. Then they modified the copies. Then they | wrote their own. | kick wrote: | John Carmack seems to disagree. | | https://twitter.com/id_aa_carmack/status/569688211158511616?. | .. | | https://groups.google.com/forum/#!topic/racket- | users/yjRuIxy... (Make sure to look around in this thread; he | has a few comments.) | | https://twitter.com/id_aa_carmack/status/635839636754038784?. | .. | cocktailpeanuts wrote: | This is because people who are really great at something | have already forgotten what they used to be like when they | first started out. They just tend to think everybody would | be excited about the cool thing they themselves are excited | about. | | In most cases, people who are masters at something tend to | be the worst teachers because by becoming the master they | have forgotten how to sympathize with complete newbies. | kick wrote: | He successfully taught his child Lisp, in a way that | caused that child to release a video game. He didn't | forget anything. | Oreb wrote: | Lisp (especially Common Lisp) works just fine as an | imperative language, even if it's not the most common style. | And there are entire books written about using Lisp for game | development. | | If the goal is for a beginner (whether child or adult) to be | able to make cool things fast, Lisp is a great choice. The | interactivity and the simple syntax makes it very easy to get | up and running compared to more mainstream languages. | cocktailpeanuts wrote: | When was the last time you saw a kid who made a cool game | or software and made money using LISP? | | The best motivator is recognition. Kids don't care if a | language has books and whether there "exists" a game | development kit. They only care about how much satisfaction | they will get by learning something and building something | with it. | | If you want your kid to learn programming, the best | approach is to teach them Swift or Java, or Javascript, so | they can build a mobile app or web app and show off to | their friends. And they will get the joy of building | something that is actually used by others. That's how you | get people to be interested. | | LISP won't get you anywhere in that sense. Sure you may | learn some programming concepts, but the ROI is not worth | it. Kids might as well spend a bit more effort to learn | languages with more exposure and actually feel the | satisfaction of having real users. | __s wrote: | Yep. From age 12 to 15 I messed around in Game Maker, didn't | need anything else | dnautics wrote: | I learned lisp (edscheme) in elementary school. Wrote a | language interpreter in 4 weeks. Interestingly, 2 of my 3 my | favorite languages are very lisp-inspired (but of course, | without the parentheses) | Impossible wrote: | Which languages? JavaScript and Lua? | haolez wrote: | I would prefer Forth. It's simple and yet manages to be close | to the hardware. | agumonkey wrote: | the first who makes his 7yo write a scheme in Forth gets my | grid laptop | kick wrote: | This isn't at all implausible: one of you should take | 'agumonkey up on this! I wrote my first Scheme interpreter | at 11, and an older friend of mine taught me Forth a bit | before that. I wrote my interpreter with a bootleg (and | ancient) APL2 copy, though. | | With parental guidance, a 7 year old could totally do this. | Figuring out how to handle the stack will be the trickiest | part, and there are a few examples online of this, so if | you nudge them in the direction of others' work, they | should be able to get it pretty quickly. They'd finish it | by the time they're 8, at least. | proximitysauce wrote: | Forth would be great too. I think there's value in learning a | stack based language. That being said I suspect LISP is more | practical. | jes5199 wrote: | they're practically two sides of the same coin. I keep | thinking it should be possible to build a toy language that | has both a forth-like mode and a lisp-like mode, that use | the same standard library | jhbadger wrote: | In a way they did. in the 1980s, Logo was popularly taught in | elementary schools, and while lacking sexps, it was clearly | inspired by Lisp in the way it was a functional language in the | way the other popular teaching language BASIC clearly wasn't. | bitwalker wrote: | Yeah, I learned Logo in elementary school and it was | something that stuck with me until I actually started | programming later on in school. I particularly remember | having to write a program to navigate a maze, it was a blast! | gowld wrote: | Scratch is a better introduction and wildly popular. Scheme is | good middle school math classes -- it's smart but doesn't get | things done easily. Python is great for getting cool stuff | built once kids can handle syntax. | zerr wrote: | I'm glad that Lisp is not used in spacecraft control system. | exdsq wrote: | Why? | dboreham wrote: | Leave out one parenthesis and...you miss Venus? | exdsq wrote: | I've read that they use Matlab which suffers from the same | issues | ken wrote: | Leave out one parenthesis and your program doesn't compile, | i.e., exactly the same failure mode as almost any other | language. | coldtea wrote: | This isn't even worthy of Reddit | [deleted] | GhettoMaestro wrote: | Why? (Legitimately asking) | coldtea wrote: | Yes, they only mentioned several wild successes, why would they | want to continue having them? | cbanek wrote: | 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. | | 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. | | People I guess just really like rewriting software in different | languages? | zxcmx wrote: | It's situation dependent right? | | As an engineering manager, you _could_ support every team or | even every individual using whatever they like - but you then | have other tradeoffs to make. | | It's now not possible to run security tooling over everything | or use a common artifact repository or follow common coding | guidelines or linter settings and you'll get islands of | language culture and endless internal reinvention and | rewriting. | pritovido wrote: | For me it makes lots of sense, it is not "nonsense". | | Java is a gigantic dependency. Any project that depends on it | adds all this dependency with it. In many cases this dependency | could be bad or toxic for the project. | | It depends of what you do for a living. Personally I will never | let anyone include java as a dependency in my company's | projects, because for what we do, java is slow and linked to | Oracle. | | Lisp is a different story. You can create c ,Python, Lua,c++ or | whatever code from Lisp easily. | rb808 wrote: | Ugh, you haven't experience pain until you've worked on a | project which has a bunch of different languages because Johnny | wanted to use Scala, Freddy loved PERL and Sally was learning | Elixir on the side. They all left and the new team has to | figure out how all these stupid languages even build. ___________________________________________________________________ (page generated 2020-01-18 23:00 UTC)