top | item 35339034

(no title)

lasagna_coder | 2 years ago

Faster code writing still requires people who know what the code should do, what it should look like, etc, like you if it's true what you say you're capable of. It sounds like you sharpened the right skills: how the code should work, and didn't waste time, ie. practicing being faster with a keyboard. Now you're more a developer, and less a typist, that's all. We still use engineers to design bridges, despite much of the actual building being done by machinery, process, and unskilled labor, because we don't trust a cement mixer to tell us how the bridge should function.

discuss

order

loudmax|2 years ago

I think the next phase will be to train GPT-type AIs to forego the compiler entirely and just write binary rather than C or code that's designed to be understood by humans. You should be able to point the AI to a binary executable file and tell it to produce a version with a slightly different behavior. Point the AI to say, /usr/bin/chromium, and tell it you'd like a version that displays tabs at the bottom of the page instead of the top. Or port it to RISC-V, or optimize for speed rather than memory use.

Obviously, ChatGPT can't do this today, but I don't see any fundamental reason AI won't be able to do this in the decade or so.

Even in this context I don't know that there won't be demand for humans that have the mental rigor to program computers. I do think we will need to adapt.

endigma|2 years ago

In compiled code? Just moving assembly around to move tabs from one part of the screen to another? This seems nonsensical, you'd have to have your magic AI bullshit not only understand the abstractions at play in, say, chromium, i.e. skia and xorg or wayland or whatever, but also be able to surgically affect not the code from skia, but specific instructions that (dynamically) position elements.

This abstraction, compiled away, into machine code that does one thing. Compilers also tend to take all kinds of shortcuts to make programs a lot faster, and therefore changing them might not be as straightforward as you think.

If you think I'm wrong, I'd like to see what "fundamental reasons" you've considered and how you've reasoned that they aren't an issue for this sort of system.

lasagna_coder|2 years ago

What reasoning is this based on? I haven't seen any research into this area. My understanding would be that it would be more efficient to produce its own language-like abstractions and compilers to assembly/C, which would be faster for it to write with as well.

jillesvangurp|2 years ago

Exactly. There is also the notion that making certain things easier/cheaper, will simply raise the ambition level for everyone. And you get to spend more time directing what the best outcome should look like rather than building it very slowly over a long period of time. It will be the kind of stuff you'd previously thought would be beyond your skills to do. But now you can.

People expecting that their jobs never change would have a rough time surviving for decades in IT anyway. Automate all the drudgery away, new drudgery always comes back in its place.

lasagna_coder|2 years ago

Exactly, look ahead and automate the new drudgery.

cudgy|2 years ago

Most developers trust and use libraries that they do not understand or bother perusing, so most will likely accept the ai generated code for the most part without much inspection too.

michlim|2 years ago

I agree with this take. Moreover, it takes a seasoned software architect to verify that the code generated is correct, clean, and idiomatic. Someone still needs to shepherd the machine.