The other day I inherited a repo from someone that left the company. The first one to be almost fully vibe coded.
It's horrible. It's over engineered in every way. It follows a completely different pattern than the other repos. It adds 10 CLI options that don't have any use (why does Claude add --threads to everything). It's impossible to follow the flow of the code.
Of course, days after I inherited it, it broke so good luck to me fixing it I guess
That's not true at all. One thing is not understanding the language in which it was written and a completely different one is that even though it was coded in a language that I have proficiency in, the code doesn't make sense. It's just poorly engineered
You would be surprised to find out that people were telling exactly the same thing about e.g. C when they came from Assembler and saw what a "pile of shit" was produced by the compiler.
What could theoretically be an even higher level programming language?
Bytecode is obviously not human readable - lets make Assembly.
Assembly requires very specific skills - lets make a language that is more human readable.
This new language is way more readable but requires very specific skills like understanding computer memory. Lets make a language that takes care of it.
Lets make a language that is not compiled but interpreted. Lets make a language where you can just simply write 1 + 2 and computer would just give you an answer and you don't need to define anything.
Lets make the language that is simply a natural language and computer interprets it an writes the program you need itself.
We are comparing because any programming language is just a try to make programming easier.
Ironically, my first thought was how quickly this might be able to be re-written, in a sane way, …with the help of an LLM.
I find that if you pay a lot of human-in-the-loop attention to the design phase, LLMs can produce perfectly decent stuff.
They’re also good at writing tests. Lock in the (non-broken) behavior of the old app with tests. Then use those tests to re-create the app, except with a talented engineer (you) guiding the design this time.
I mean, I'm going to rebuild it. But with just a light AI usage. The point I'm trying to make is that. Ok, AI may have saved time coding it the first time. But building an unmaintainable codebase is going to make you pay that time back with interests
gonzalohm · · focus · HN ↗
It's horrible. It's over engineered in every way. It follows a completely different pattern than the other repos. It adds 10 CLI options that don't have any use (why does Claude add --threads to everything). It's impossible to follow the flow of the code. Of course, days after I inherited it, it broke so good luck to me fixing it I guess
AndrewThrowaway · · focus · HN ↗
You will not edit Assembly in this.
Claude will have to edit it and Claude will not whine.
gonzalohm · · focus · HN ↗
I refuse to keep adding shit to the pile
AndrewThrowaway · · focus · HN ↗
gonzalohm · · focus · HN ↗
Natural language is not a programming language and cannot be compiled
AndrewThrowaway · · focus · HN ↗
Bytecode is obviously not human readable - lets make Assembly. Assembly requires very specific skills - lets make a language that is more human readable. This new language is way more readable but requires very specific skills like understanding computer memory. Lets make a language that takes care of it. Lets make a language that is not compiled but interpreted. Lets make a language where you can just simply write 1 + 2 and computer would just give you an answer and you don't need to define anything.
Lets make the language that is simply a natural language and computer interprets it an writes the program you need itself.
We are comparing because any programming language is just a try to make programming easier.
JohnBooty · · focus · HN ↗
I find that if you pay a lot of human-in-the-loop attention to the design phase, LLMs can produce perfectly decent stuff.
They’re also good at writing tests. Lock in the (non-broken) behavior of the old app with tests. Then use those tests to re-create the app, except with a talented engineer (you) guiding the design this time.
vehemenz · · focus · HN ↗
gonzalohm · · focus · HN ↗