3 ms·
Relax. AI assisted programming is brand new. It's just the start. So if it gets things wrong, is missing features, annoys people, remain cool, gigantic leaps
by andrewstuart 4y ago
Relax.
AI assisted programming is brand new.
It's just the start. So if it gets things wrong, is missing features, annoys people, remain cool, gigantic leaps are coming far beyond your wildest dreams.
And there will be lots of people around right now showing how smart they are by making AI do wrong or silly things. Ignore them - none of these prove that AI is the wrong direction.
AI programming is the single most exciting thing to ever happen to programming - a permanent mentor and pair programmer at your side levels up every programmer in the world.
Even more exciting is innovations that are a direct outcome of AI assisted programming.
When the world wide web first came along, everyone made a website that was like a company brochure. That was Web 1.0 and that's all people had the imagination for. In time, the usages of the web started to arrive that leveraged the core values of the technology, such as interconnection between people. That's where AI programming is now.
We are at AI 1.0
Programming models will come out that are primarily oriented to the strengths of AI programming - but first someone needs to think them up. And they will not only be surprising but absolutely mind blowing. It's entirely possible that in the future the entire internet has an AI sublayer that does all the work of systems talking to systems and people simply don't have anything to do with it. It's possible that the nocode movement is the foundation of the next great innovations in programming. Existing programming models are like the company brochures of web 1.0 - our old, hard, human centric way of doing things.
Programming literally should be as easy as talking to the computer and telling it how to shapoe and change the software and it should happen right there in real time on your screen. It should be an iterative, interactive process that anyone can do. It should be more like painting and less like arcane wizardy that can be performed only by the programmer priests who have spent years learning. Even the most advanced software should be capable of being built this way.
In the 1980's I worked for a startup company run by a super smart guy Peter Dunai, who once said "a revolution in programming is coming". I thought I'd seen that revolution already with the Internet, modern programming languages and StackOverflow, but now I realise none of that many anything compared to what the true revolution is going to look like.
AI 2.0 will come and I can't wait.
- bombolo 4y ago> AI 2.0 will come and I can't wait. It might happen in a decade or more.
- jarjoura 4y agoI agree for the most part, but I am also intrigued how this will play out on the regulation side of things. Hollywood loves to treat AI as something that can go rogue, but these tools will have all kinds of safety locks on it and will only give you answers to things its allowed to. Plus, it will be logged and tracked just like everything else. You never want to openly allow anyone access to an AI bot that can spit out encryption cracking algorithms with ease. Or worse, something that can solve infrastructure bricking paths that could take down important systems. Or an AI bot that can interfere with real-life things, for example, find someone that doesn't want to be found. So yea, I cannot wait for this to get better and remove all the boilerplate I have to deal with, and let me focus on the parts of the job I actually love.
- Fellshard 4y agoHow will you know when it's actually working as intended? The issue is /strongly/ epistemological.
- nineteen999 4y agoI think this is the main thing that sticks out to me. I think Hillel Wayne is right to point out that it moves the main task of a developer from writing code to proofreading it (to a small degree now, perhaps to a larger degree in the future). Most programmers prefer to write their new code than to read someone else's. So if we are delegating our favourite parts to AI, how long before we ask it to write the unit tests as well? Who's going to validate that the unit tests it writes are correct? I forsee a bunch of frustrated QA teams at least in the (near) future being asked to test sloppy code which has passed a bunch of sloppy unit tests, but has had only minimal review from the developer(s) responsible for it. Perhaps I'm overthinking it.
- bqmjjx0kac 4y agoThe QA team composed of AIs says it looks OK — ship it!
- deleted 4y ago[deleted]
- fleddr 4y agoNothing you said relaxes me. I like my arcane wizard status.
- andrewstuart 4y agoMe too, but the future is coming to push the druids and the old gods into the shadows.
- deadbeeves 4y agoI think the opposite is true. The people who need to worry are those that know only the most popular technologies, for which documentation and examples are readily available. The people who know the stuff that's not written down anywhere are the ones who are safe. If all you do is crank out React code, you might want to start learning new things. If you know how to do RCE or are a networking wizard, on the other hand...
- fragmede 4y agoI already feel the edges of this. I can SSH to a server and fix it, is no longer a skill that's as in demand today, with everything running in a container on a kube pod. It's still useful here and there, but it's no longer the central focus it once was in my toolbox/grimore. That thread yesterday about two sticks of RAM making the computer faster made me feel like my knowledge is still relevant but those moments are fewer and further between.
- brobdingnagians 4y ago> web started to arrive that leveraged the core values of the technology, such as interconnection between people A lot of people blame the advanced social media products on the internet for a decline in mental well being and for increasing isolation and lack of human connection in society. That might not be the best example of something we want the AI path to emulate.
- notshift 4y agoAI development will not be using no-code technologies. Text is the best form of compression (of meaning/intent/information) for 99% of software and that isn't going to change. What AI will accomplish is creating an entire new package ecosystem from scratch, written at a low-level so that it can be extremely performant, while also being highly extensible, abstract, intuitive, interoperable with all languages, etc. Then the code will be able to take human prompts and translate them into business logic code that uses all those packages. For fuzzy domains with low correctness requirements, the AI will be able to make all the changes to the codebase without verification. For domains with higher correctness requirements, humans will review all the code, or you could have the AI first generate a formal specification based on the prompt, have the humans review that, and then have the AI generate code along with a proof of that code's correctness in conformance to the spec.
- goatlover 4y ago> Programming literally should be as easy as talking to the computer and telling it how to shapoe and change the software and it should happen right there in real time on your screen. Kind of like what the intention of Smalltalk was, minus the verbal part. You modify a live image like sculpting clay, except now you have an AI generating code for you. I wonder what Alan Kay thinks of this approach.
- rsaarsoo 4y ago> [programming] should be an iterative, interactive process that anyone can do. It should be more like painting... You mean like taking years of rigurous practice to master, requirering specialized equipment and expensive materials plus an education in color theory, composition and art history :)
- YeGoblynQueenne 4y ago>> AI assisted programming is brand new. The field that studies the automatic creation of computer programs is called "program synthesis". It is a field that straddles multiple sub-fields of computer science, including AI (where research is usually on inductive program synthesis, from examples). https://en.wikipedia.org/wiki/Program_synthesis https://en.wikipedia.org/wiki/Program_synthesis It is also a very old idea, as old as computer science itself- or even older. Here's wikipedia, again: *During the Summer Institute of Symbolic Logic at Cornell University in 1957, Alonzo Church defined the problem to synthesize a circuit from mathematical requirements.[2] Even though the work only refers to circuits and not programs, the work is considered to be one of the earliest descriptions of program synthesis and some researchers refer to program synthesis as "Church's Problem". https://en.wikipedia.org/wiki/Program_synthesis#Origin https://en.wikipedia.org/wiki/Program_synthesis#Origin Even program synthesis from a natural language specification is not brand new. For example, here is the first example of research work on the subject that I could find on duckduckgo in ~1 second: https://www.microsoft.com/en-us/research/wp-content/uploads/2016/07/NLPSynthesis.pdf https://www.microsoft.com/en-us/research/wp-content/uploads/... The fact that most people have never heard of all this before is not new, either. What is new is that OpenAI and Microsoft are marketing a program synthesis tool.
- andrewstuart 4y agoYes.
- mr_toad 4y ago> It should be more like painting So, something that takes natural talent, years of practice and a lot of time and patience? At least programming pays well.