30000 is not that big in very old projects with many contributors. There are always one or two files that no one wants to take the time and responsibility to clean up. And 30000 is not a big number for RAM. The fact that you find it choking is more and of an indication of how bad our tools have become than anything else.
For example, until recently the main file for donet runtime GC was more than 50000 lines (it has since been split).
The line between vibe coding and just coding has now moved. Vibe coding is specifically when the output is not understood by the prompter. Even in the back in the days of the earlier models i used the models to do my basic typing because it was easier than me typing it out…
Additionally, if this is true companies that have replaced all their software engineers will discover that they themself can be completely replaced by AI by their former customers.
What narrative has changed ? I just see an experiment with a very perfectible result and some reflections about what capacity are currently missing to have better results.
> There is no point to have an LLM do what can be done faster and deterministically by standard algorithms
I think using the word "deterministically" in the context of decompilation is not a particularly good idea.
The code generated by a compiler can be arbitrarily complex and arbitrarily varied even before you take into account willful attempts at obfuscation to protect against reverse-engineering (for example, try futzing with compiler optimization flags to see how much the ASM changes).
The "high-level code to assembly" operator is thus not even really a function (same high level code can generate infinite variation of functionally equivalent assembly code) and any attempt at producing an inverse of this operator ... this really does not strike me as an environment where the word "deterministic" seems appropriate.
Many of these decompilers can infer what optimizations occurred by hints/patterns that are left behind.
This can be fundamentally different at times from LLMs, which have shown a degradation on unique architectures. I still believe the best approach will be a mixed method. Get 80% of the way there with traditional methods, and take the last 20% (which is the hardest) home with LLMs.
For example, until recently the main file for donet runtime GC was more than 50000 lines (it has since been split).
reply