Hacker News new | ask | show | jobs
by rmak 1178 days ago
By 2025, the entire WordPress library, including popular plugins, will be written in Rust/C, and it's inevitable that we'll be converging towards assembly language for all software, including web applications.
1 comments

Indeed - why stop at human-readable code? At some point in time we will be solely reliant on AI to understand our own codebase.
And after that we'll just stop being able to understand any code whatsoever, since it'll be written by AIs in a way no human could ever understand.

Not to mention that humans will stop learning how to program, since they won't need to as the AIs will be doing all the coding for them.

There'll be a general de-skilling of humans, as they offload the doing of virtually everything to robots and AIs.

Then Idiocracy will have truly arrived, only it'll be even worse.

I for one love Brawndo!
It's got electrolytes !
Anyone remember Dreamweaver or Microsoft Word HTML output? I imagine the AI generated code will be a lot like that - massively over-constrained and over-engineered to fit the impedance mismatch of a WYSIWYG (what you speak is what you get) editor.

You thought GUIs were bloated and slow before? Just you wait!

I've been experimenting with GPT-4 to see how it could be integrated in video games for NPC decision making. After trying a few different approaches to give it access to the world state for reasoning, I found that it seems to do best when given a bunch of table definitions and told to write SQL queries against them; for some reason, it navigates object graphs much worse. Here's an example schema and session (the game here is Mount & Blade 2: Bannerlord, which is convenient because it's written in C# and it's easy to access and dump the entire game state in whatever format):

https://gist.github.com/int19h/4f5b98bcb9fab124d308efc19e530...

Take a close look at the SQL queries it generated to answer the question. On one hand, it's very impressive that it can write a complex query like this as part of its reasoning in response to a question like "pick a bride for your son":

   SELECT name, age, clan_name FROM (SELECT * FROM people WHERE name IN ("Mesui", "Abagai", "Yana", "Korte", "Bolat", "Chagun", "Alijin", "Unagen", "Sechen")) AS potential_brides INNER JOIN clans ON potential_brides.clan_name = clans.name WHERE clans.tier = (SELECT MAX(tier) FROM clans WHERE kingdom_name = (SELECT kingdom_name FROM clans WHERE name="Oburit"))
On the other hand, this is clearly far from the optimal way to write such a query. But thing is - it works, and if there's no way to get it to write more performant queries, the problem can be "solved" by throwing more hardware at it.

So, yes, I think you're right. The more code out there will be written by AI, the more it will look like this - working, but suboptimal and harder to debug.

I'm always baffled that people complain that the code provided is not 'performant enough' or 'is too verbose', etc. It's usually providing a solution that is the most typical solution given by all programmers - but the beautiful thing about it is - you can ask it to adjust the code to match a given constraint. Just like your colleague. Only usually far, far better honestly - because you get a response in about 3 seconds, and iterate to the answer in about a total of t minutes, rather than receiving something (maybe it's good, maybe it's entirely missing the constraints) .. in 4 days.
Is there something in particular that leads you to that belief?
I thought that at first.

I think with LLMs we will start to see code with better and more descriptive comments, since there is significant advantage to be found when the code has as much information and context as possible.

Human programmers often hoard that for job security or out of laziness.