5 ms·
Ask HK: How would a world where AI is able to write any software be?
I was just wondering, I always have a lot of ideas to write software, but never had any skills beyond writing some simple scripts in python. And I was wondering how would a world where you can just say to GPT 20 or so "Hey, port this software to linux" or "Hey write me a whole new OS in the style of Windows 7 but with dark mode"
I have no idea about how hard would this be, or even if we would need an AGI to achieve this sort of capability, maybe it would be something so hard that, if we have such skill, the perspective of porting a little software to other OS would be child's play compared to what we would be able to do with that AI which is able to really understand human language and create any software just following a prompt.
Anyway, I was just curious about your thoughts on this, how such scenario would look like?
- PaulHoule 3y agoLess different than you might think. A huge amount of the work in developing software comes down to determining what is to be built and precisely specifying it enough that somebody can build it. An idea person could already convince investors to supply $X and pay $X to a team of developers to develop it but they need to have a vision and articulate that vision sufficiently. Alternately you are going to pay $Y in resources to run an A.I., if $Y < $X than it may be worth it. Many software projects fail because of poor vision, inadequately articulated vision, lack of empathy for users, etc. Fred Brooks, in this essay http://worrydream.com/refs/Brooks-NoSilverBullet.pdf http://worrydream.com/refs/Brooks-NoSilverBullet.pdf makes a strong case that there are enough different kinds of activities around software development that simply reducing coding and design time to zero still leaves a lot of work. For instance you might want to solve a problem like "build a spreadsheet written in Typescript that runs inside the web browser with all the features of Microsoft Excel but much easier to use and with all of the footguns removed" but you're going to have to specify exactly what that is and that's a lot of work, maybe it is 20% of the work to develop the project. Somebody is going to have to test it, not least to determine that it is really is easy to use that all the footguns (specified!) are really removed, that it did not add more, etc, the testing might be another 20% of the work (companies like Microsoft often hire an equal number of testers as coders) so you might still have 40% of the work left to do. Note if you want to "port this software to Linux" or something specified like that your best bet is something like https://en.wikipedia.org/wiki/Proton_(software) https://en.wikipedia.org/wiki/Proton_(software)
- p1esk 3y agodetermining what is to be built and precisely specifying it Interesting. What makes you think this is more difficult than writing code?
- bruce511 3y agoIt's not more difficult, assuming your language is precise enough. English is not ideal, it's too wordy and ambiguous. Computer languages exist, and we call them languages, because they allow you to write a specification each is complete, specific, and unambiguous. Since I began programming people have been showing the "next big thing", the thing that would allow "everyman" to program a computer. These approaches make it easier, but at the same time have to make decisions for you. They reduce edge cases by making the choices for you. The thing is, writing code is not the hard part. That part has gotten a lot easier over the years. I started out writing c in a plain text editor. We had no Internet, no Google search, no IDE, no color syntaxing, no auto complete, none of the other things a programmer today uses. AI is the next step along. It's good for small bits of raw code. The hard part of programing has not changed. Deciding what the program must do, in every possible circumstance, with every possible input. How to make something generically useful to lots of customers. How to cater for their differences while still maintaining a sane UI. The mistake the author of this thread makes is conflating -programing- with -code-. AI makes the act of typing code easier, it is the next step in a long, long line of tools to assist programmers. But fundamentally it doesn't move the needle, because fundamentally writing code is not the "hard part" of programming.
- PaulHoule 3y agoI wouldn't say it is more or less difficult, it is just a lot of work that somebody or something has to do. Just to take an example, that Excel clone is going to need a whole lot of icons which have to come from somewhere. If you're not picky about what they look like you can find some icon set like https://icons.getbootstrap.com/ https://icons.getbootstrap.com/ which I picked for my RSS reader because I am using Bootstrap CSS already which itself is a low-effort choice because I use Reactstrap at work. Somebody pickier could look at free and paid icon sets or hire a graphic designer which would involve a significant amount of talking about how you want it made. I am mainly a coder but my exact responsibilities have varied a lot from place to place. YOShInOn, my RSS reader and intelligent agent, is a one-man show which eliminates the overhead of communicating about things but means I don't get the benefit of other people's insight. I worked at an academic library where my first assignment was to take a very detailed Photoshop comp and make HTML that looked exactly like it. In other places nobody told me how it was supposed to look, or it was obvious from the get-go that I was supposed to add a new field to this form and it is going to have look like the rest of the form. I worked at a web development company where I worked on about 70 web sites in 8 months and we did projects very fast and cheap and forms that we made from scratch always followed a style guide we called "spider forms" which meant we could get better-than-average results without spending much time thinking. Where I work now I don't make decisions about the database schema except when I do, other places I was basically a DBA. So the point is a "coder" can have varying levels of responsibility for UX, business rules: they can get very vague descriptions of what it supposed to happen and they figure it out, or I can get very detailed storyboards for everything. One way or another a lot of design and planning work has to get done. A "low code" or "no code" system, whatever technology it is based on, is going to have to have a lot of decisions already made for you within some particular domain. Most of the worlds' business applications involve filling out forms and updating a database. But you might want a toolkit for making games that look like The Legend of Zelda with very little coding, or maybe something for making applications that put objects into your space with a Hololens or Apple Vision. You could bust out apps really quickly if you take the defaults in a domain but if you want to make something really special the sky is the limit for the talent involved. Take a look at the credits for a major video game for instance.
- NoZebra120vClip 3y agoI think it'd be a short hop, skip and jump to AI writing DNA sequences, AI design and build artificial womb, then humanity just sort of steps aside while Arnold Schwarzenegger and James Cameron say "we told you so"
- ilaksh 3y agoGPT-4 can already write a lot of useful software based on a prompt. There are multiple startups doing it. It definitely has significant limitations at this stage as far as the size of the source code and knowing about up-to-date APIs. But the core capability to create software from a prompt is well documented. It's a matter of degree of capability at this point, not 16 versions away. I built multiple versions of that already. Previous version: https://aidev.codes/ https://aidev.codes/ Limited scope and somewhat unreliable if you are hoping to one-shot something without iterating, but still able to produce basic live web applications from a few prompts a fair amount of the time. But I didn't have a marketing budget and people didn't want to pay for the VMs. So I am working on a version 3 that has more focused scope in terms of the types of web applications and also has templates built in so they look better by default. But this type of thing is underway, it's not some science fiction concept at this point.
- muzani 3y agowould be similar even if they do 100% of the programming, design, and testing. I proposed a system that could basically write all the code in the way we'd write it. Just dump it test cases and API specs. A colleague said, "That sounds like a framework. It's like Laravel." You do want AI to be building better tools, better IDEs, less boilerplate, and maybe doing the PRs. Maybe doing documentation too. Much more than that and we risk creating a system that brings all the problems of frameworks - basically bringing in engineers who don't know how to diagnose and fix memory leaks, having higher learning curves, spending more time fixing/hacking the glue to the higher levels rather than just working on the low levels.
- reportgunner 3y agoWe can only wonder my friend. Similarly how we can wonder how "a world where all air is replaced by water and humans no longer need to breathe" would look like. There already are solutions to run non-linux software there, AI would probably just tell you how to use it. Windows 7 already had dark mode, all you had to do was to switch to the pre-aero theme and set your color palette to a dark one. Getting an idea is the easiest part - if you get an idea and wonder why nobody has done it before it's most likely because they have and you just don't know much about it.
- vasili111 3y agoI think it is not about AI is capable of writing any software or not. I think it is more about explaining well AI what exactly you want AI to write.
- simne 3y agoYou are wrong, thinking that skills are main limiting factor. In reality, to create PRODUCT for MARKET economy, you need something more: 1. Idea. 2. Must admit, some guy who have skills, to implement idea (for simpleness I prefer to call this man-hours). 3. Some money, to pay for marketing. 4. Strong will, to spend your time and money for all this things running. So, why I said, skills are not main limiting factor? Because you could simply hire somebody, who have skills (buy man-hours). You could buy idea. Even if you have no money at the moment, you could do some work and make savings. But you cannot buy will. And unfortunately, most people don't have will to make anything more than satisfy basic needs. So what changes AI able to write software? Not much. Just appear more species on market, who could sell you man-hours, and from market equation, you may conclude, that man-hour will become cheaper, nothing more.