31 ms·
The End of Programming
- whoopdeepoo 4y agoI use copilot pretty much religiously at this point and would be shocked if what the author is claiming happens in my professional lifetime. It just seems so far away. But I wouldn't mind if it did happen, I am much better at my job because of AI.
- xet7 4y agoI wish AI would just fix all bugs in all FOSS software, and implement all feature requests. I don't know is that possible at all.
- barathr 4y agoFWIW, I'm not convinced that this piece will be right for more than a few years into the future. I think it's an interesting discussion piece, though. Context matters a ton and a lot of programming is understanding context and requirements and goals and needs and economics and those, while trainable, will suffer from the slowness and lack of richness of the I/O between the real world and the model (this interface is not improving nearly as fast as the models themselves).
- hellisothers 4y agoThey make the (common) mistake of equating “programming” to implementing some algorithms, sure AI probably has down sooner than later. This is a small part of what “programming” has come to be though.
- proc0 4y agoThere's always going to be a programming layer, at least until AIs can self-improve, and at that point it's basically AGI. In other words, programmers will be needed until the "singularity" and then we have no idea what happens.
- lofaszvanitt 4y agoI tell you what will happen. Masses of people will worship it, just like people worship large companies and Tesla. The company will create a nice, lovable mascot for their AI, while it sucks the marrow out of people, but they will not care about it all, because it has an overwhelming smile, therefore it cannot be evil. :D or A committee is formed whose only purpose is to hit the AIs that have become too big with an oversized wrench and kick it back into a madmax style desert, so it can evolve in a different way.
- imtringued 4y agoNo it will be simpler. We will simply sell the rights to earth to the AI.
- amar-laksh 4y agoAt the bottom of the article is the blurb about the author: > Matt Welsh (mdw@mdw.la) is the CEO and co-founder of Fixie.ai, a recently founded startup developing AI capabilities to support software development teams. He was previously a professor of computer science at Harvard University, a director of engineering at Google, an engineering lead at Apple, and the SVP of Engineering at OctoML. He received his Ph.D. from UC Berkeley back in the days when AI was still not playing chess very well.
- alexchantavy 4y agoOh neat, I really enjoyed reading his blog years ago: http://matt-welsh.blogspot.com/ http://matt-welsh.blogspot.com/
- InsaneOstrich 4y agoI took that article a lot less seriously after seeing that the author just founded an AI startup
- dinkumthinkum 4y agoI felt like it was fairly irresponsible hand-waving in the ACM.
- tasuki 4y agoWhy? Perhaps the author's opinion was the reason they founded the startup? Don't the arguments stand on their own, independent of who made them?
- InsaneOstrich 4y agoIt's still a definite conflict of interest; the author is making an argument that they have a financial interest to advance regardless of how true it is
- DryLabRebel 4y agoWould you prefer an article about the future of AI written by a chef, or a tinfoil hat conspiracy theorist?
- bluetwo 4y agoIt would be nice if the AI was used to build libraries for targeted purposes. That would actually be pretty handy. And then it would also be handy for it to design a programming language for both readability and writability that leveraged those libraries.
- kraig911 4y agoAs it stands I think this will entirely won't work. We can't still to this day define what we want a program to do. So much in successful software development happens in the journey of making it. The constant shaping and add features and product and engineering finding users do unexpected things so we then try and capitalize that.
- idiocrat 4y agoWaiting for Monty PAIthon, when AI will develop a true sense of humor and we all will laugh about the programming bloopers which it will invent. But there is also a great danger of the Killer Joke, which results in instant death of anyone, who hears that joke. A malicious AI can re-invent the Killer Joke, and exterminate the humanity.
- ent101 4y agoWhat you're referring to seems to be 'software engineering' and 'product development' rather than programming.
- throwawayfear 4y agoThis will be the case eventually, but not for a while yet. There are still so many useful and interesting applications that can be built until then.
- type0 4y agoUnless we get a good brain-computer interface you won't be communicating precisely and clearly to AI what program it needs to write. It would be like ordering a SmartPhone online and receiving PhoneSmart Teaching Telephone.
- ram_rar 4y ago> Fast-forward to today, and I am willing to bet good money that 99% of people who are writing software have almost no clue how a CPU actually works, let alone the physics underlying transistor design. I dont fully agree with this. A lot of folks in systems land have mechanical sympathy and deeply think about memory, IO and processors. Things are mostly built upon underlying abstractions. With AI becoming mainstream, some of the abstractions will be pushed down and some might evolve further.
- foobarbecue 4y agoYeah, definitely not 99%. I'd guess 50%.
- onlyrealcuzzo 4y ago> let alone the physics underlying transistor design. You think 50% of SWEs understand the physics of transistor design???
- foobarbecue 4y agoHm. I mean at the level of "you sandwich some doped semiconductors so that charge at one point controls the current through two other points" I was sort of thinking yes... but I do have a tendency to overestimate what people know and upon further reflection you're right, 50% is way too high. Can haz 30%?
- tstout 4y agoIn my opinion likely only 10%
- BlueTemplar 4y agoThis % goes waaay down if you're talking actual physics : just how quantum physics result in a semiconductor band gap, and what equations you need to write down to explain the electric behaviour of that sandwich. I can do that, at least for the basic layouts, but my own lack of (clear) understanding would be in the "middle" of the stack : starting up from logic gates, and bottom from scripting programming languages.
- amelius 4y agoI bet we will see lawyers losing their jobs first.
- zelphirkalt 4y agoLaws are very open to interpretation by a judge. Basically any adjective, unless defined elsewhere in the law text, is open to be interpreted. Judges use thick books of example cases from the past. I think it will take a long time before their skills of interpretation of the law and considering past example cases can be replaced.
- anon7725 4y agoMost lawyers are not judges. A language model tuned to writing contracts, doing discovery, etc seems feasible.
- thedorkknight 4y agoI see my lawyer friends going through hell working 80+ hrs a week thanklessly doing those things. I just hope that it doesn't replace good lawyers, but rather actually allow them to have sane lives instead of burning out less than five years after graduation
- sidibe 4y agoFirst are jobs doing art, writing, and music. I never would have thought that a few years ago, but now they seem feasible and they stand out as fields where correctness isn't important and anyone can judge whether something feels right.
- jkoudys 4y agoPlain English is a terrible way to express ourselves clearly and unambiguously. That's why programming languages exist.
- seydor 4y agosure, thats why those systems take natural language and produce code. But the language is used to tell the system What the program does , not How to do it. AI systems tend to be good at filling the blanks with sane default behavior.
- profstasiak 4y agoyou are the person that translated Plain English into programming language. I think what the author suggests, soon AI will be able to do it.
- dinkumthinkum 4y agoDo you think we should probably use Miller Syntax as an alternative? It seems just as logical as what people are saying about AI now.
- layer8 4y agoIf this prediction is true (I’m skeptical), it could be a boost for personal computing, assuming everyone could run (or rent) such a model, because it then would become easy to design your own software or user interface by merely explaining what you want to the AI.
- lofaszvanitt 4y agoMy greatest fear that used to be programmers will become babysitters for the nocode people.
- pram 4y agoThis is already the case if you work with business analysts and such lol
- imtringued 4y agoI worry more about people who think they won't need to learn programming. You know, kind of like those who said you won't need to know what a relational database is if you use ORMs.
- janee 4y agoIf anything it's rather the start of programming in my opinion, or rather the start of a new era. We build endless higher level abstractions ontop of each other in programming, this is just another one. I'm not bullish on AI actually understanding something in the near future and it'll rather continue to be something more akin to mimickery, albeit amazingly expressive and accurate. I think this is rather going to become an amazing tool to help reduce repeating already solved problems. But humans would still be needed to plumb it together and adjust it to meet some final need. If the AI can do the whole thing then whatever you're trying to create probably already exists and there's unlikely to be a need for it in my opinion.
- rnk 4y agoIf we do go to more ai contributed code fragments, we still need to test them for correctness. Given that we already see compelling looking but bug ridden solutions from chatgpt as well as from humans, I still see the test as crucial. If an ai writes the test, I'll skeptical. I'm skeptical of tests written by humans too. Maybe the key is testing and coding can be seen as adversarial actions, and there is benefit in separating them. If the ai or code generator or whatever you want to call it writes the code and test, I'm even less likely to trust it.
- bradenb 4y agoCan someone that understands ML better than I tell me if there is a point where the AI can indefinitely train on data generated by other AI? If AI is trained on human development work product and then it eliminates human developers, will the capabilities of the AI be stuck indefinitely at the level of the software from which the models were trained? Not sure if I'm making sense, but the crux of my question is: can AI effectively generate their own training data sets? If not, then I don't see how it could replace an industry.
- bagels 4y agoSelf supervised learning is an attempt at this idea. https://en.m.wikipedia.org/wiki/Self-supervised_learning https://en.m.wikipedia.org/wiki/Self-supervised_learning
- BlueTemplar 4y agoYes, this has been how programs (not necessarily neural network-based) have been breaking records for a while now : https://arstechnica.com/gaming/2011/01/skynet-meets-the-swarm-how-the-berkeley-overmind-won-the-2010-starcraft-ai-competition/ https://arstechnica.com/gaming/2011/01/skynet-meets-the-swar... > [Ben Weber] set about organizing a tournament for StarCraft AI agents to compete against each other, hoping to kick-start progress and raise interest. > The announcement for the tournament was made in November of 2009, and the word soon went out on gaming websites and blogs: the 2010 Artificial Intelligence and Interactive Digital Entertainment (AIIDE) Conference, to be held in October 2010 at Stanford University, would host the first ever StarCraft AI competition. [...] > the only way to really test and improve the agent would be to play against skilled human players. Flush with pride that the agent could defeat the built-in AI, we played a game during the class against John Blitzer, a post-doc in Dan’s group who played ranked ladder matches on International Cyber Cup (iCCup). > It was a disaster. [...] > Manually iterating through parameters and making adjustments would take far too long, however. > Instead, we let the Overmind learn to fight on its own. > In Norse mythology, Valhalla is a paradise where warriors’ souls engage in eternal battle. Using StarCraft’s map editor, we built Valhalla for the Overmind, where it could repeatedly and automatically run through different combat scenarios. By running repeated trials in Valhalla and varying the potential field strengths, the agent learned the best combination of parameters for each kind of engagement. [...] > Recruiting Oriol as our “coach” helped us apply the final touches. Oriol had played StarCraft at the pro level before retiring and turning to a life of science, and he joined the team as our coach, designated opponent, and in-house StarCraft expert. > With a high-level human expert to test against and all of the algorithms in place, the agent progressed rapidly in the last few weeks, culminating in that first victory against Oriol mere days before the final submission. [...] https://www.theverge.com/2019/10/30/20939147/deepmind-google-alphastar-starcraft-2-research-grandmaster-level https://www.theverge.com/2019/10/30/20939147/deepmind-google... > Like OpenAI, DeepMind trains its AI agents against versions of themselves and at an accelerated pace, so that the agents can clock hundreds of years of play time in the span of a few months. That has allowed this type of software to stand on equal footing with some of the most talented human players of Go and, now, much more sophisticated games like Starcraft [2] and Dota [2]. Note that they are lucky there to have a controlled environment, meaning that experimentation is cheap, with clear goals - something that is not always the case in "real" life !
- seydor 4y agoWell, where is that future? Are people still going to be writing programs in 2023?
- vsareto 4y ago>Yet I think it is time to accept that this is a very likely future, and evolve our thinking accordingly, rather than just sit here waiting for the meteor to hit. You know, I would love for all business app development to die in a wretched fire of scum and villainy. Not that it’s bad, but it’s probably some of the most mundane work that programmers could do. The people giving out busy work or bullshit jobs won’t be able to affect actual people. They’ll just have AI do it, which is great!
- zamalek 4y agoAn AI that is intelligent enough to create a full program without supervision could rather just be asked to do the task instead.
- lolinder 4y agoA language model can generate a computer program but will never be able to turn a dial on its own.
- zamalek 4y agoNeither can a program that it creates?
- lolinder 4y agoFair, I was less thinking a physical dial and more a metaphorical one. It wouldn't be able to do the computation that is required to do the right thing, even if it can produce a program that can do the computation. You could hook the program up to a python interpreter and approximate that, but then you're still generating code, not doing the task directly. In order to have an AI that will do the task directly, we would need to train a different model, not just plug the one we have directly in to the task.
- zamalek 4y agoI am arguing that if it can't do the computation required to turn the dial, then it is highly unlikely to be able to make a program that does so.
- imtringued 4y agoThis is actually why this whole topic is overblown. The AI can manipulate text, ergo it can replace programmer's because they can only manipulate text. It won't replace a janitor because it has no hands but then again, if the model's only claim to replacing programmers is that it produces text, then the article is pretty weak.
- elifmax 4y agoEven the people who created AIs could be made redundant as well by their own creation.
- Waterluvian 4y agoI’ve always felt that the actual code writing is the least interesting part of coding. It find it fun, but feel that the real engineering is largely the stuff that comes before (and some after) the code is written. I’m not yet sold on the idea that it will replace coding. It’s like autonomous cars. 99% is far far too low. But it’s also not to be dismissed. A brilliant tool with many use cases. I think we have invented the Enterprise “ship’s computer.” It won’t answer “how do I solve this problem?” But it probably will answer things like, “if X and Y and Z, what might W be?” We get to be the big brains standing around a terminal! I can’t wait to have a holodeck where I can construct a world just by asking for things.
- valenterry 4y agoYes, but I think writing code is more important than people make it sound. Because, writing something that is executed correctly is easy. But writing it so that others can understand it later, change it easily and safely, having a compiler to make sure nothing goes wrong - while still having the computer execute it correctly - THAT is the real challenge. Which is also the problem with any AI. If the AI can program, then not only does it have to write code; it will also have to read existing code and make adjustments to it, based on request. This is the real challenge. "Hey, I have this 1MM line software, please change feature X to do A on top of B but keep C working". If the AI can do THAT, well THEN that's the end of programming by humans and then I'm gonna escape to a small island ASAP because the singularity will be soon after.
- ilaksh 4y agoI have done some experiments with text-davinci-003 that given a program update and directory list can select the files, then do the requested update. Its not a million lines.
- Waterluvian 4y agoI generally agree. I think that today it’s a brilliant tool for throwaway code. Like when you just want the output. Especially if the output can be verifiable or is okay to be fuzzy.
- 4y ago
- BlueTemplar 4y agohttps://youtu.be/-aUcvswVJ58?t=2962 https://youtu.be/-aUcvswVJ58?t=2962 "We are no longer particularly in the business of writing software to perform specific tasks. We now teach the software how to learn, and in the primary bonding process it molds itself around the task to be performed. The feedback loop never really ends, so a tenth year polysentience can be a priceless jewel or a psychotic wreck, but it is the primary bonding process--the childhood, if you will--that has the most far-reaching repercussions." Bad'l Ron, Wakener, Morgan Polysoft Accompanies the Digital Sentience technology Bonus : https://www.youtube.com/watch?v=-aUcvswVJ58&t=3852s https://www.youtube.com/watch?v=-aUcvswVJ58&t=3852s "'Abort, Retry, Fail?' was the phrase some wormdog scrawled next to the door of the Edit Universe project room. And when the new dataspinners started working, fabricating their worlds on the huge organic comp systems, we'd remind them: if you see this message, always choose 'Retry.'" Bad'l Ron, Wakener, Morgan Polysoft Accompanies the Matter Editation technology
- _gmax0 4y agoI will wax a touch philosophical here, but I believe perfect systems do not exist unless they are purely within thought. Implementations will experience failure due to both its physical and logical components, logical in the sense due to unforeseen n-th degree effects. This is when expert knowledge is needed, unless you have already designed such a generalized model that captures, taxonomizes, reacts, and optimizes for all events until the end of time. From an educational standpoint, who cares if you know how to add a node to a binary tree using C++. It's not the technical details but the struggle to understand recursion until it finally clicks. It's the sculpting of the computational mind. Until the essence of controlling and directing computation by computational machines themselves is satisfactorily solved (for then you've become god), then no, expert humans will always be needed, just not in abundance. Throwback to Keynes forecasting that we'd all be working 15 hour work weeks.
- dinkumthinkum 4y agoBut if you can’t understand how to add a node to a binary tree that what does having a “computational mind” even mean. It sounds like feel-good happy-talk nonsense.
- _gmax0 4y agoApologies, I didn't proofread my comment. The point I'm trying to make is that for certain technical concepts (mathematics, programming, etc.), it's not the technical detail that must be remembered. Sure, you forget exactly the syntactical details of implementation, but you do remember (assuming you understood it at the start): 1 - How do I traverse the tree? 2 - Is there any ordering required among the nodes so that my traversal is 'correct'? 3 - How do I maintain such an ordering and establish correctness after my new node is added? 4 - Can I make any improvements so that locating the position of the to-be-added node doesn't take forever? You don't begin to touch on these higher level "computationally minded" ideas until you can understand the primitive action of adding a node. And once you've grasped it, you forget the primitive details, only the essential concept remains. The author seems to suggest that the next generation doesn't need to make an attempt to understand the fundamentals. I argue that unless you're a genius, you need to first add a node to a binary tree before labeling yourself a computational thinker.
- antiquark 4y agoTo quote the great Donald Knuth, when asked about AI code... "but how do we know if it's right?"
- taocoyote 4y agoWhen electronic calculators replaced slide rules it wasn't the end of math.
- codehalo 4y agoHumans are the ones that need electronic calculators and slide rules, not math.
- chasing 4y agoNah, these tools will empower programming. Almost no one writes assembly any more. We've got high-powered tools that already abstract away a ton of software engineering complexity so people can do what they want to do quickly and inexpensively. But I have a very hard time believing that "programming" — the act of writing out precise textual instructions in a file for a computer to read and execute — is going anywhere. It's a very elegant and powerful means of interacting with a machine. Similar to how the written word remains one of the most powerful mechanisms for interpersonal communication despite the massive and powerful media tools at our disposal.
- ChrisMarshallNY 4y agoSomeone, somewhere, needs to write requirements. These requirements need to be precise, unambiguous, and complete. The AI could help the requirements writer to “fill in the gaps,” but the main onus is still on the author of the requirements. As mentioned, we don’t program in machine code, anymore. Maybe the result of an AI-assisted construction would be machine code, but it would take an AI to test, debug, and maintain it. I know that every C-Suite denizen has been dreaming of getting rid of “annoying engineers,” for my entire career, but that won’t happen, as those requirements will look a lot like … code … and I guarantee that the C-Suiters will have zero patience for writing it.
- Uehreka 4y agoAI will write the requirements. In fact, I wouldn’t be surprised if AI comes for high cost centers like programming and high information decision-making (the C-Suite) at roughly the same time. We could spend years in a lopsided state where groups of investors fund an AI that operates on an investment thesis, delivers commands to humans who manage physical labor in areas that have been tough to automate (like the remaining Amazon warehouse jobs), and handles on its own all of the work that would normally be done by office employees.
- kmoser 4y agoWith any project, the first step is the customer describing their business needs. Analysts turn those requirements into a complete set of specs, then programmers write code that performs the specs. There's no way AI is going to take the place of the customer, since the AI doesn't know what the customer needs, nor will it take the place of the analyst since even the smartest AI can't deal with a customer who is unable to clearly articulate their requirements. Hence the need for human analysts. The AI might be able to help the programmer turn the specs into code (see Copilot) but it will always be hamstrung by not fully understanding (as a human would) the actual requirements.
- smackeyacky 4y agoI can definitely see this being useful in some contexts i.e. where the problem can be easily defined. A good example is a bit of glue or plumbing code where one system with a defined interface has to talk to another one. I also see it failing a lot. There were lots of promises made about 4GL languages that didn't turn out to be true. They made for great demonstrations but as soon as you push past the boundaries a bit things get tough and you need an actual programmer to make things work. The guys that came and demonstrated PowerBuilder[0] back in the nineties had an absolutely stellar demo, but the devs who were given PowerBuilder to work on at my workplace quickly got mired in details that brought them undone. I feel like the same thing will happen with anything non-trivial that AI generates. The re-work will be more effort than just building whatever it was from scratch. [0]https://en.wikipedia.org/wiki/PowerBuilder https://en.wikipedia.org/wiki/PowerBuilder
- beders 4y agoThe author seems to forget that while an AI can create text that looks like code, it can never prove the code is working correctly (see halting problem). As with many things, AI will excel at the simple tasks that just require pattern matching and generation to work. Nothing more but also nothing less. People get carried away by how great AIs are at spitting out complex sentences from a huge training set that look like a human would have written them. Winter v2 is coming. Besides, there's no training set for the specific domain problem I'm currently solving. It is - by definition - not generic. The problem domain is not bubble sort or fizzbuzz.
- roywiggins 4y ago> it can never prove the code is working correctly (see halting problem). The halting problem doesn't say anything about whether a program could prove things about another program, just that it can't do it for all programs. Lots of programs obviously do or don't halt, and you can prove it in a couple lines ("there's an infinite loop here and every execution will enter it" or "all the loops are bounded by constants" etc). There's nothing stopping an AI from noticing things like that just as much as humans can. For more complex programs it obviously gets much harder, but it's very hard for humans to prove things about programs too!
- srcreigh 4y agoThe AI can also read our proofs
- beders 4y agoNo it doesn't, but that is essentially what a coding AI would have to do for correctness. Unless we are not talking about correctness. And we are not talking about trivial cases either.
- roywiggins 4y agoAn AI could correctly prove some things about some programs, and for the rest of them shrug and say it doesn't know.
- NHQ 4y agoAi generated programs are not cool. You know what would be cool? Ai generated unit tests.
- lIl-IIIl 4y agoTry it in ChatGpt. It can already do that.
- stephc_int13 4y agoI remember what my boss told me a few days after I started working, just out of school. "If you want a career you should move away from programming as soon as possible, those days are over, we're already testing automatic programming systems, it's a matter of months before we use them in production." It was 23 years ago. I think that the current state of AI will be sufficient to build excellent assistant tools, and I can see some productivity increase in some areas. But for anything more advanced, let's say I am not worried.
- sciolist 4y agoI'd agree that "the current state of AI" will be assistants, abeit powerful ones. With that being said, we've seen incredible increases in the ability of AI, even in the last 5 years. We're approaching human-level ability in NLP quite fast - and will surpass it soon. I (personally) don't believe that the past 23 years will be a great indicator for the next 23 in terms of AI. Some of the driving forces in the past 10/15 years are: hardware (we started using GPUs), Transformers, and massive - and I mean massive - increases in training data, fueling a nonlinear progression.
- dinkumthinkum 4y agoWhy do you say we will surpass human level abilities in NLP soon? Humans that literally use diapers can process quite complex language abs consumer far less watts of power than AI to date and do not requiring consuming an Internet amount of data to do it. Human “training” consists largely of hearing a tiny amount of other humans engage a very limited amount of conversations and nursery rhymes / songs. I’m not sure how this displays anything like human level ability.
- devmunchies 4y agoIs AI doomed to always be a version behind the target framework/language? If a framework API is updated or if a new hardware feature is launched, it will take a little time for the AI to catch-up right? I imagine it’s not just about having API examples, you would want real codebases and use cases for training.
- wilsonnb3 4y agoDoesn’t google or someone have an ML model that lets you tweak something like stable diffusion with a small amount of specific pictures to train it on something not in its data set? Presumably the same type of thing could work for code.
- lostmsu 4y agoCan probably be accounted for by training AI to conditionally reverse lowering of the new constructs.
- ilaksh 4y agoI am currently building tools for programming and modifying programs with natural language using the OpenAI API and their relevant models (similar to ChatGPT). Especially if you combine the text/instruct model with the coding model and then give specific instructions, it is able to complete many simple coding tasks without me opening an editor. Right now I am focused on something like Codepen but with English specifications only. I believe that I should immediately start leveraging this type of tool in my other projects. Similar to the way you would use a calculator or Google Translate. I believe over the next few years the models will continue to get better and also start to incorporate visual understanding and better reasoning. The point at which it I would consider it poor software engineering to write programs manually is rapidly approaching for many domains.
- BlueTemplar 4y agoI'd guess when the "AI hallucinating" issue becomes better than "human mistakes: issue ? It will take longer in the fields where neural networks are banned, like government-related software.
- ynab4 4y agoNah. The author is living in a fantasy world.
- snshn 4y agoClickbait again
- lliamander 4y agoI'm not saying this vision won't eventually happen, but I see some barriers here: - We'll want human engineers reviewing and testing the code generated by the AI. - We'll want human engineers building a better, higher quality training sets - I suspect AI will run into the same issues that humans do when making changes to complex existing code bases. - We'll want better languages and libraries for the AI to program in - This may all be well and good for standard types of applications, but I wonder how well it will work for novel types of computing - None of this will solve the problem of needing to clarify our ideas (https://xkcd.com/568/ https://xkcd.com/568/)
- chx 4y agoDaniel Kahneman Thinking Fast And Slow describes some cognitive biases... these AI tools churn out text (ChatGPT) or code which look convincing so we think highly of them but in reality, there's nothing. No, AI tools won't take away our jobs any time soon, because we are paid to think even if the end result happens to be code, that's not the point. Especially in debugging, AI is hopeless. Consider this toot as well https://phpc.social/@andrewfeeney/109466122845775778 https://phpc.social/@andrewfeeney/109466122845775778
- profstasiak 4y ago>A service that instantly generates vaguely plausible sounding yet totally fabricated and baseless lectures in an instant with unflagging confidence in its own correctness on any topic, without concern, regard or even awareness of the level of expertise of its audience. tbh sounds like a lot of people, myself included
- chx 4y agoDid... did you just admit the audience of Hacker News is prone to mansplaining? :)
- daxfohl 4y agoWriting code for what? Instead of writing code for e-commerce or whatever sites, why not just have AI tickle our pleasure centers directly and do just enough to keep us alive. Seems easier, and so much more efficient than writing code to make things and then ship those things out to us for a few hours of mediocre enjoyment.
- streetcat1 4y agoSo let say that the AI will generate (not sure how) 100K app. Now there is req change (new feature), who will add it ? the AI? I would extrapolate from copilot, since software does not scale linearly. 100LOC << 1000LOC << 100000 LOC. The AI would probably stop at the range of 100-500 LOC.
- steve76 4y ago[dead]
- armchairhacker 4y agoI highly doubt programming will ever "end". In the past "programmers" used to write raw assembly. Now the compilers do this, and programmers write source code for the compiler. In the future AI may write the source code, but we will still need to write higher-level specifications, which will likely be much more detailed than "develop a mail client app" or "develop an FPS". Even today, business managers who have programmers to do all of the actual coding, need to write detailed specifications (and when they write bad specifications, they get bad products); those specifications are in a sense, "code". But even those specifications are not detailed enough: when refinement is fast and cheap (with AI doing the coding) you really want to be able to customize the UI, add various features, properly handle various edge cases, etc.
- mark_l_watson 4y agoAfter using CoPilot for about 8 months, I still find it useful. I still think it is worth $100/year. I have experimented a little with coding and ChatGPT and it seems impressive at first looks. I had a funny social interaction while on a hike this morning with three friends who are all semi-retired videographers. They seemed enthusiastic enough to hear about automation for software development but when I brought up my continued joy at automatic photo/video/added-music mixups in Apple Photos (‘memories’) they didn’t like that. One friend categorically stated that AIs will never be able to adequately edit video, etc. in postproduction. I think he is wrong but I let it slide. I travel a lot and have a ton of digital media assets and I so very much appreciate the automatically created mixups. I watch every mixup and flag about half to keep forever.
- anon7725 4y agoThe world in which a LLM has destroyed the job market for software development is one in which most other knowledge work is in a similar state. The only safe knowledge workers will be those with a defensible regulatory moat (law, medicine, etc), and even then their jobs will be profoundly changed.
- jacknews 4y agoProgramming is one of the more complex and exacting mental activities, so if this is true, it is not only the end of programing. AI progress is astounding and the results impressive, but they still seem to be 'fuzzy', almost like an instantiated dream generated by the input. Sure, as an assistant it, is powerful, but it still seems to be missing something to be able to provide a complete abstraction between people and code.
- lamontcg 4y agoSo far I'm not impressed. If you ask these chatbots for something simple it usually gives you wikipedia/stackoverflow levels of answers with lots of edge conditions because they've been trained on so much garbage. And if you try to ask it for something difficult then it doesn't know how to produce it. And I've tried to make ChatGPT do physics and it keeps on failing on basic dimensional analysis.
- vivegi 4y agoThese computational advances in AI are good. However, I am still waiting for AI to "synthesize" knowledge that is as yet undiscovered through a combination of theorem proving, reasoning, AI search techniques and so on. It is not just AI "explainability" but techniques for exploration and fact-finding. For eg: could an AI system prove or disprove P=NP. It is a little premature to dismiss human endeavor while such large gaps in our epistemic knowledge exist.
- lamontcg 4y ago> Programming will be obsolete. I believe the conventional idea of "writing a program" is headed for extinction, and indeed, for all but very specialized applications, most software, as we know it, will be replaced by AI systems that are trained rather than programmed. In situations where one needs a "simple" program (after all, not everything should require a model of hundreds of billions of parameters running on a cluster of GPUs), those programs will, themselves, be generated by an AI rather than coded by hand. What is impossible to do then is something like convex optimization models for guidance of rockets. You need to be able to mathematically prove that the output of the program will always converge to the solution. You have to assume that the inputs to the algorithm could get scrambled by ionizing radiation on one cycle and that the next cycle it'll recover completely. You want hard mathematical proofs. You don't want a black box that has been trained a whole bunch and might have some sharp hidden edge condition that you'll never know exists until just the right input hits it.
- deleted 4y ago[deleted]
- makz 4y agoProgramming as we know it. I believe the future will be to write or design program specifications and the AI will write the code. We will be more like program architects.
- nowherebeen 4y agoPeople have a been trying to do this for CRUD apps for years. Now they want to use AI to do the same thing. Somehow, I am not convinced developing an AI to do this is as simple as it sounds.
- ibobev 4y agoThis article makes me think of two other articles which discuss the matter. One by Bartosz Milewski[1] and one by Eli Bendersky[2]. The main idea of both is that programming can change significantly from what we do today but never will be obsolete. It just will be on an upper step on the meta ladder. [1] https://bartoszmilewski.com/2020/02/24/math-is-your-insurance-policy/ https://bartoszmilewski.com/2020/02/24/math-is-your-insuranc... [2] https://eli.thegreenplace.net/2022/asimov-programming-and-the-meta-ladder/ https://eli.thegreenplace.net/2022/asimov-programming-and-th...
- thyrsus 4y agoThis paper coomparing code developed without copilot to code developed with it feels relevant: https://arxiv.org/abs/2211.03622 https://arxiv.org/abs/2211.03622
- fellellor 4y agoThat article portrays a very bleak future. I can’t imagine programming will be generally useful if it needs a massive AI model that can only run on machines that cost an enormous amount of money, or cost you some cents for every word it generates using an API.
- vicentwu 4y agoIn the short term(2-3 years), I think, the hybrid(programmers give high level designs and instructions + AI models implements them) way of programming will become increaseingly popular. Nowaday's LLMs have shown some suprisingly abilities of reasoning, remembering, and imitating, but, for now, they are still not good enough to write competent code alone, especially when it comes to complex fields like system design. Things like system design need a lot more sophisicated thinking process than implementing some specific functions.
- craftoman 4y agoThe moment he clarifies about his position on the AI market makes him another seller deeply trying to sell his product. It’s like those articles from 90’s and 00’s speculating the end of the C language with titles like “C is dead” or “C is going to be replaced in the near Future”. The year will be 2060 and C will still dominate the market.
- paphillips 4y agoNew technology taking my job is the least of my concerns here. In my opinion there is simply a bifurcation of software underway: traditional programming on one side, and training/learning-based technologies on the other. Traditional software will continue to be chosen when we want predictable, unbiased, mechanical execution of instructions. There are many areas where this is preferred, and I don't see that changing. Mechanical and later silicon calculation devices are invaluable for their speed, but the greatest benefit is that they are predictable and consistent: they do not make errors unless the design is in error. AI, machine learning, and other training/learning-based technologies also have many useful and tantalizing applications. For applications such as those that enhance productivity, provide entertainment (e.g. art and music), or autonomously perform tasks where mistakes can be tolerated, these training/learning-based technologies will reap great things. However, for many applications we don't want a complex device, whose behavior, while it can be ostensibly tested, cannot be completely understood and examined to be provably correct. Or, whose faulty action cannot be definitively reproduced and root-caused after a mishap. Or, whose 'black-box' can be infected or influenced by bad actors in a manner that is undetectable. I don't ever want to see a radiation dosing machine that is clever, an industrial control process that is expected to be trained to infer its own decisions where injury or life is at stake, nor do I wish to argue with a machine to open my pod bay door. Alternatively, perhaps legal precedent will just establish the degree to which machines are allowed to make mistakes, and if they make fewer than a human, we will just accept the cost/benefit of injury, loss of life, or evil as 'practical', and move on. 'Actuary Shrugged'? The most ominous prospect is if humanity fails to evolve past war and conflict faster than this technology's destructive capability. Maybe Fermi will get his answer.
- mawadev 4y agoWhen I started programming as an intern 7 years ago, I asked simple questions around the office and they told me to just google it. My approach was to understand every single bit that goes on, but it seemed like nobody truly knew what they were doing. Fast forward to today, the new programmers I meet don't truly understand what the code does. If a problem pops up, the first action is googling it for hours. Very few people have this high level structured thinking ability to filter out the noise to distill a problem. I believe Ai will accelerate this, where programmers will know even less about what goes on in the program and struggle more when stuff doesn't go as expected. Over the years, google became less useful as all the SEO spam took over. I noticed how people couldn't come up with solutions on their own, as a google search yielded no results. Now I read these articles every other month about another tool, framework or article announcing the end of programming as we know it. Nothing ever happened and truly experienced developers became even more valuable. If we cross this fine line between aiding and replacing developers, we set ourselves and the next generation up for a bad time in my opinion...