A Software Library with No Code (www.dbreunig.com)
from codeinabox@programming.dev to programming@programming.dev on 06 Feb 04:02
https://programming.dev/post/45295811

#programming

threaded - newest

emerald@lemmy.blahaj.zone on 06 Feb 04:35 next collapse

Man, tough choice, use an existing library or boil the planet to generate one on demand 🤔🤔🤔

BrianTheeBiscuiteer@lemmy.world on 06 Feb 05:12 collapse

I hate this lazy coding approach. I see it at my work all the time where people keep proposing agents that do exactly what some of our tools already do, just slower, with more resources, and nondeterministic.

tocano@piefed.social on 06 Feb 05:34 next collapse

a relative time formatting library that contains no code

The library is two text files (code) that are processed by an LLM (interpreter) to generate code of another type. This is not that new in terms of workflow.

I think what makes this the worst is the fact that the author admits that you can’t be sure the library will work until you generate the code and test it. Even then you cannot guarantee the security of the generated code and as you do not understand the code you also cannot give support or patch it.

When Performance Matters

If performance of a datetime processor is not relevant, what is? The author mentions they would like a browser implementation to be fast, documentable, fixable. However, operative systems, browsers, and other complex systems are made of little utilities like this that have very well documented functionalities and side effects.

But the above isn’t fully baked. Our models will get better, our agents more capable.

The whole assumption is that instead of creating a good stable base that anyone can use we should be just shtting out code until it works.

Eventually the hardware will be good enough to support a shitty bloated browser so we don’t need to optimize it.

Eventually people will harden their PC enough so we shouldn’t care about security.

TehPers@beehaw.org on 06 Feb 09:08 collapse

The library is two text files (code) that are processed by an LLM (interpreter) to generate code of another type. This is not that new in terms of workflow.

I think what makes this the worst is the fact that the author admits that you can’t be sure the library will work until you generate the code and test it. Even then you cannot guarantee the security of the generated code and as you do not understand the code you also cannot give support or patch it.

I’ve tried explaining how LLMs are not equatable to compilers/interpreters in the past, and it’s usually to people who aren’t in software roles. What it usually comes down to when I try to explain it is determinism. A compiler or interpreter deterministically produces code with some kind of behavior (defined by the source code). They often are developed to a spec, and the output doing the wrong thing is a bug. LLMs producing the wrong output is a feature. It’s not something you try to fix, and something you often can’t fix.

This, of course, ignores a lot of “lower level” optimizations someone can make about specific algorithms or data structures. I use “lower level” in quotes, of course, because those are some of the most important decisions you can make while writing code, but turning off your brain and letting a LLM do it for you “abstracts” those decisions away to a random number generator.

tocano@piefed.social on 06 Feb 10:29 collapse

I agree that LLM are made to be more exploratory, this is good as it allows them to experiment with more different topic, as opposed to always saying the same. However, I do not agree it is a feature for code generation, as you would need it to follow strict ruleset (code syntax, specification, tests). Whatever errors it generates and people accept are little mistakes in the threshold of acceptance for the person and a tradeoff for the cost of fixing the problem. In some contexts we see people focusing almost only on short term which leads to a lot of errors being allowed.

Moreover, you cannot say compilers are deterministic. There are situations where they are not (at least for the user).

https://krystalgamer.github.io/high-level-game-patches/

GCC’s unwarranted behaviour

In order to keep the code as small as possible I was compiling the code with -Os. Everything was working fine until I started to remove some printfs and started to get some crashes. Moving function calls around also seemed to randomly fix the problem, this was an indication that somehow memory/stack corruption was happening. After a lot of testing, I figured out that if -O2/-O3/-Os were used then the problem would appear. The issue was caused by Interprocedural analysis or IPA. One of its functions is to determine whether registers are polluted across function calls and if not then re-use them.

thingsiplay@lemmy.ml on 06 Feb 05:54 next collapse

I thought this would be about the Ai generated games, that has no code and runs like a video. Can we speak about software, if there is no code?

inzen@lemmy.world on 06 Feb 10:52 collapse

I wonder how much it really costs to have claude opus implement simething like this, the real cost, not the “get hooked on ai” prices we have now.