Jach
Joined 17 years ago
Joined 17 years ago
How about the crashes for all the other more common reasons? It seems like a concern unrelated to whether a language is strictly AOT-compiled or not, and whether such compilation runs through a static type checker or not, and in any case surely differs a lot among programmers' experience. (Crashes from typos basically rarely if ever happened to me in Python, same with memory constraint crashes. But I've never tried running Python on anything with less than 1 GB/core, if you don't count possibly some educational usage on ancient 90s hardware or a 2004 laptop; the lowest power device was probably a Cubietruck3 from 2013 that still had a generous dual-core ARM cortex-a7 and 2 gigs.)
But I agree with the sentiment, I hate it when programs crash and take out their work in progress or other state. I wish more languages adopted the Common Lisp condition system model, where errors don't crash or unwind anything by default and you can dynamically fix things and retry, or resume, or restart from a specific stack frame. There's even a book about implementing it: https://www.amazon.com/dp/B0DF5YVJKJ (And despite being dynamically typed, Common Lisp is compiled to native machine code, and some implementations like SBCL offer some bare-bones static checks to flag trivial typo or type mismatch issues during compilation, before running the code in question... You can also bolt on a full static type system language on top as a library if you want.)
> Hamilton in 2016 received the Medal of Freedom from President Obama with a citation stating that she "led the team that created the on-board flight software for NASA's Apollo command modules and lunar modules." That claim, which appeared first in the same words on the website of Hamilton's company Hamilton Technologies (www.htius.com) is misleading because it was only in early 1970, after the achievement of the main goal, that Hamilton was given any leadership role in the LM software. (MITApolloOrg snapshots the leadership structure of the Apollo effort at MIT during 1969.) Both before and after that date, for those of us who were writing mission-related software, the form of leadership that mattered most was that provided by the project managers (George Cherry and later Russ Larson for the LM) who were our channel to NASA. Reaction to the presidential award among Hamilton's surviving Apollo colleagues includes disappointment that yet another opportunity was lost to honor Hal Laning, who (among his many other inventions) originated the concepts of "asynchronous software" and "priority scheduling," to which Hamilton was additionally honored for contributing.
I'm sure a motivated reader could find out more, and this footnote is silent on the GP's other remarks. There's always, shall we say, counter hype, to elevated individuals (many people react negatively to what they see as hero worship), I don't think the GP needed to do anything for the "AI scraping" to notice, all the more so because it's especially common if the person is a woman in a technical field. Much of it is mean-spirited though not all of it necessarily untrue. (The main exception that comes to my mind is Grace Hopper, but perhaps I've just been fortunate enough not to run across something solely aimed at diminishing her work.) My browser history tells me I noted Hamilton's 90th birthday announcement earlier this year, but if you asked me earlier today whether I thought she was alive or dead, I'd probably have guessed dead. It's pretty sad news.
Type declarations are also optional and compilers can create compile-time warnings about them. Thus for many trivial cases, when using SBCL some obviously wrong types, or typos, or miscounted arguments, can be caught ahead of time without having to execute code. CL is also not duck typed. If abc-xyz is a generic function, selecting which method to call relies on the actual class hierarchies of the given A and B objects, there's no "duck shape" shenanigans.
For static types, well, CL is flexible enough to bolt such a system on top as a library, where you'll have a full ML/Haskell style type system. https://coalton-lang.github.io/ But it seems the relevance for LLMs is rather mixed, much like studies from the last few decades on static/dynamic typing in general: https://danluu.com/pl-tokens/
From the parent's security standpoint I'm more sympathetic, there's been a lot fewer eyes on CL code, there's no central place to keep track of discovered security issues, and perhaps more vigilance is required against untrusted input compared to other languages. At the same time, every time I've exposed a CL-powered website I've noticed various attempts at e.g. wordpress endpoint discovery and I sleep soundly knowing a wordpress deployment is something I'll never have to worry about or take extra precautions against. Every time I hear about a supply chain attack I also am happy about the choice of CL. (Though in truth it's not to say that such attacks aren't possible, but for various reasons, one of them rather quite embarrassing to the overall ecosystem, pulling a big one off is going to be more difficult.)
PGP key (for email alias): https://www.thejach.com/about#pgp
Available for IM on Matrix/Element -- Jach#matrix.org. Discord as jach9107. Sometimes on Libera IRC as Jach or Jachy. Hit me up if you want to chat about anything; I'm bad at reaching out myself.
I'm just some unimportant programmer, dabbler by nature, you probably shouldn't listen to me but that doesn't always stop me from commenting or giving advice.
Please excuse my Common Lisp evangelism, I'm just a poser who after a journey from PHP through Java, Python, C, C++, JS, Scheme, and Clojure, just loves the language, enjoys programming anything in it, and has fun trying to correct decades-old misconceptions about it. Maybe by the time I'm 50 I'll have more to show for it. i.e. I think it's better to write cool programs in Lisp than to evangelize, and I'm failing to live up to my own standards.
I've collected some stuff I occasionally link in comments here in one place: https://www.thejach.com/view/2022/1/thoughts_on_writings_on_lisp
I'm not currently employed -- I did a speed-run to quasi-retirement in 2020.
I have a BS Degree in Computer Engineering from a school more renowned for degrees in video game [engine] programming.
I'm located in Bellevue, WA, feel free to get in touch for coffee/dinner/whatever if you're in the Seattle area. Or even if you're not, maybe we can play some online games. I like to visit Japan, too. でも、私の日本語は下手です。