Post B6va6ec874zud0j5BA by civodul@toot.aquilenet.fr
 (DIR) More posts by civodul@toot.aquilenet.fr
 (DIR) Post #B6tT2o3Bzyick1gOTQ by zwol@masto.hackers.town
       0 likes, 0 repeats
       
       A Take Related To L'Affaire Rsync:It is a disgrace upon the entire free software community *and* the entire software development profession that nobody has ever written a tool that can ingest a pile of shell scripts and excrete a pile of functionally equivalent Python scriptsor the same for any other pair of languages of roughly the same "height"
       
 (DIR) Post #B6tT2oH1AZmHQu9R1U by zwol@masto.hackers.town
       0 likes, 0 repeats
       
       Look: my attitude to LLMs starts with "I already spend all day every day arguing with computers, having the argument in English would not improve the experience" and passes through "my masters' degree in cognitive science says you aren't checking that chatbot's output anywhere near as thoroughly as you think you are" on the way to "these companies are cartoonishly evil, engaging in _any way_ with them strikes me as a bad business decision"but that doesn't mean I don't grok the temptation
       
 (DIR) Post #B6tT2oYO7zfkImHJ68 by zwol@masto.hackers.town
       0 likes, 0 repeats
       
       in particular, there have been many times in my career when the task at hand could *nearly* but not *entirely* be reduced to a sequence of sed commands, and so I had to gird up my loins and embark on a week of unmitigated tediumand you know what, it *should* be possible to automate such taskssource-to-source transformers are not a new idea, they don't need stochastic models of any size, they work very reliably when they existbut very few people have been inspired to write them. why?
       
 (DIR) Post #B6tT2onzC09J59ZlPU by zwol@masto.hackers.town
       0 likes, 0 repeats
       
       I've been Online long enough to remember that Guile was supposed to be this. It was supposed to have front ends for every "scripting" language that was popular at the time, so you would need only the one interpreter, and it wouldn't have been much more of a stretch to make it spit back out code in your notation of choice.But only the Scheme freaks got excited about Guile, therefore none of the alternative front ends got off the drawing board, and I think that points at a chunk of why.
       
 (DIR) Post #B6tT2p02TBn3gXDOCG by civodul@toot.aquilenet.fr
       0 likes, 0 repeats
       
       @zwol It did get reasonable Elisp and Lua frontends (not to mention Brainfuck) in the past decade or two. :-)But yeah, the language is one thing, the collection of libraries people expect around the language are an entirely different thing.And there’s network effect anyway: even Python is single-implementation despite the availability of great alternatives to CPython, so why would one use Guile instead of the “official” implementation of language X?
       
 (DIR) Post #B6tT2rvtZ3G4mYIcee by zwol@masto.hackers.town
       0 likes, 0 repeats
       
       Another chunk of why is probably just that smoothing over the semantic mismatches between each pair of languages would be an endless tedium mine in itself. Just imagine how much work you'd have to do to recreate Python's stdlib, or the "core" shell utilities, on top of Lua's wretched excuse for a runtime.Still, the utility would be so high that it's surprising, in a "there's a research paper here" kind of way, that no one has ever latched onto the project and made it theirs.
       
 (DIR) Post #B6tT2suruM1zpepJh2 by zwol@masto.hackers.town
       0 likes, 0 repeats
       
       Coccinelle is a step in the right direction, but it's not nearly powerful or flexible enough. tree-sitter is a step in the right direction, but it's infrastructure. LSP completion and refactoring engines are playing in the same ballpark but they solve a different problem.Coccinelle also never got nearly as much interest, or follow-up, as it ought to have ... maybe because it was marketed as mostly of interest to kernel freaks? idk.
       
 (DIR) Post #B6tT2twg574Z1YgH9U by zwol@masto.hackers.town
       0 likes, 0 repeats
       
       Are there things in this space that I don't know about? Probably. Please tell me about them.
       
 (DIR) Post #B6tTVsE9Y4Ce5qfajo by civodul@toot.aquilenet.fr
       0 likes, 0 repeats
       
       @zwol Great that you mention LSP, Coccinelle, and similar development tools (once could cite IDE factorization facilities too as found in Eclipse back in the day, etc.).There are many things that these tools do that many people would now just outsource to an LLM.Which, if taken to the extreme, is a form of nihilism: why develop Coccinelle when the LLM can approximate it? why develop a new PL when you can translate plain English into whatever the interpreter expects?
       
 (DIR) Post #B6tzGI64nKxmE7VOpE by zwol@masto.hackers.town
       0 likes, 0 repeats
       
       @civodul The _pitch_ for LLMs, the thing they're being marketed as capable of -- to everyone, not just programmers -- is very much that the machine will handle the tedium so you can concentrate on the interesting part.This offer is a mirage but I do very much get why people want that. And I think the offer would be less tempting if the programming community had, over the past 30 years, put more effort into removing tedium.
       
 (DIR) Post #B6tzGIZV1wUzhNGtge by civodul@toot.aquilenet.fr
       0 likes, 0 repeats
       
       @zwol Well, as someone who writes free software in part because I enjoy the process of writing code, I find it baffling that fellow hackers would want to let the machine handle that.Where’s the joy gone once you’ve done that?
       
 (DIR) Post #B6va6eOevADpxEQKBM by zwol@masto.hackers.town
       0 likes, 0 repeats
       
       @civodul So you're saying you would _enjoy_ taking a big pile of shell scripts, with very repetitive (but not _perfectly_ repetitive) internal structure, and manually rewriting them all in Guile?
       
 (DIR) Post #B6va6ec874zud0j5BA by civodul@toot.aquilenet.fr
       0 likes, 0 repeats
       
       @zwol No no no.  I would enjoy automating the process—that’s what programming is about.