AI Will Disrupt How Developers Build Applications and the Nature of the Applications they Build (zdnet.com)
AI will soon help programmers improve development, says Diego Lo Giudice, VP and principal analyst at Forrester, in an article published on ZDNet today. He isn't saying that programmers will be out of jobs soon and AIs will take over. But he is making a compelling argument for how AI has already begun disrupting how developers build applications. An excerpt from the article: We can see early signs of this: Microsoft's Intellisense is integrated into Visual Studio and other IDEs to improve the developer experience. HPE is working on some interesting tech previews that leverage AI and machine learning to enable systems to predict key actions for participants in the application development and testing life cycle, such as managing/refining test coverage, the propensity of a code change to disrupt/break a build, or the optimal order of user story engagement. But AI will do much more for us in the future. How fast this happens depends on the investments and focus on solving some of the harder problems, such as "unsupervised deep learning," that firms like Google, FaceBook, Baidu and others are working on, with NLP linguists that are too researching on how to improve language comprehension by computers leveraging ML and neural networks. But in the short term, AI will most likely help you be more productive and creative as a developer, tester, or dev team rather than making you redundant.
"But in the short term, AI will most likely help you be more productive and creative as a developer, tester, or dev team rather than making you redundant."
So, in the short term it'll make some of you redundant, with the 'more productive and creative' picking up their workload until the bots can finish the job. Sounds good.
What a novel question!
Let's put the computers that run our civilization in charge of programming themselves.
What could possibly go wrong?
i'll keep doing the same shit i always do :-)
All I need is an updated Clippy telling me what to code next!
AI will change "the Nature of the Applications that developers Build?" Sure the first step will be to replace coding teams with a developer who uses AI to generate the code. (cutting jobs) But the next step is to replace the manager plus developer with a single AI manager who tells the AI what code needs to be built. (cutting jobs) And then the AI will be deciding for itself what kind of code it wants to build. (eliminating the need for any people at all)
To the extent of being able to make coding easier (making the languages simpler and easier to use and implement by automating things at the base level), but as far as having AI develop code from scratch it would just say "ZUG ZUG" and spit out garbage as far as I am concerned. The whole "singularity" nonsense is a result of the trend of technocrats becoming fundamentalists about their limited philosophy, essentially attempting to build a metaphysical structure from a materialistic understanding of reality which is incomplete and ultimately false.
...is NOT AI. Not only that, but it's been around since the 90's.
This isn't fucking AI, stop calling every fucking program AI.
And my card didn't even have "user story engagement".
Am I the only one who reads these as Al, as in short for Albert? It makes these sorts of headlines very amusing.
it wants to tell us that the technology is advancing?? news at 11
It doesn't look like anything to me.
Trolling is a art,
"NLP" in this context is Natural Language Processing. Not to be confused with "Neuro-Linguistic Programming" which is discredited quack self-help junk. For a moment there, I was very confused as to how those guys would be involved.
Intellisense is not AI.
I am very small, utmostly microscopic.
It fills in shit I don't want most of the time. I turn it off.
AI will disrupt how developers build applications
Oh, good. As someone who has to build applications for users on HPC systems, first I had make. It was simple, things were either in Makefile or not. Drop the compiler options and paths right in. Then I had autotools, where I could pass paths and switches to possibly undocumented options. Still manageable, eventually. Thanks heavens that mechanism to manage an architecture and OS zoo came out as the world consolidated to x86-64 and Linux. Then I had cmake, which I can get to work sometimes. Not to mention all the one-off solutions from individual development groups that just had to improve on the state-of-the-art, because.
Now we'll get to troubleshoot "X not found" from a black-box build system generated by a neural net? Good luck. Nothing leads to "higher quality code" like unmanageable complexity. I kind of look forward to going back to the good old days of one codebase building on the development machine only. I can just about hear the world's productivity dropping from this trendy BS.
Using Intellisense as an example of 'AI' just defeated the argument.
Are theiving idiots.
They really just figured out you can keep adding and the number gets bigger. They seemed to have forgot that they can't remember it.
Lol
A lifetime ago I scoured the Internet for everything AI I could find. My goal was to build a computer system to help me write software and single handedly compete with Microsoft.
Many of the papers I found used notations that were and probably still are over my head but the software and concepts ANN/GA/various annealing schemes I could screw with the basic concepts and general sense of what was and was not possible didn't take no PHD or Einstein to figure out. I found out the hard way after about a (school) years long effort:
AI is stuck in a "classification" rut and that isn't changing anytime soon. Back then it was absolutely hopeless... today even with 1000x reduction of cost per computation it is merely hopeless. We're lucky to see even another 100x in the next 20 years. The only out I can see is advancement of very specialized scalable PIM like hardware that physically resembles a NN. Software based approaches are a total write off in my view.
The other thing I was obsessed with was the law of Demeter and building systems so smart you could actually tell them what you wanted and they would figure out "How" to do it. I still believe today this general approach is actually possible but requires herculean effort and bottling a lot of common intelligence and algorithms... something like a wolfram alpha + optimizer yet today the trend in language design appears to be belching out half baked crap with only semantic and syntactic variability.
At the low end of the automation scale people could at least develop, learn and love DSLs and various RAD methodologies that actually have a proven track record. They could stop writing code to do trivial crap like wiring up interfaces but these things require investments in time and effort. People can't be bothered to learn so we are left with the lowest common denominator and piss poor outcomes as a result. What we need right now is "Actual Intelligence" (AI)
It sounds like they're just using "machine learning" to improve intellisense type stuff.
I have a feeling any programs fully generated by AI are going to end up like WYSIWYG html editors until we get to the point of some sort of super AI.
The Official Site of 1337 Pwnage
We should hope that AI can learn to code and do it well enough that I could converse with it in a human language, define the problem as I see it and it would immediately (it would be immediate, right) give me a number of ready solutions to pick from. The amount of new product development that could take place would be staggering, we could quickly realise any idea, I hope that the AI would be good enough at that point to do user support and maintenance for the selected solution.
You, guys, are basically looking at it all wrong. Why shouldn't we desire to have systems at our disposal that would be good enough to create software (and at some point hardware) that we could 'program' by explaining high level requirements to a machine? The machine would have to ask more questions, the testing would reveal problems, the machine could do support and maintenance. I see this as a huge net positive, not as something that would hurt us but as something that would save us from decades of sitting on ass, getting less and less active over time, going blind from the screen... And we could never achieve everything we needed anyway at the speed of a human coder.
You can't handle the truth.
Is about all this article says. They claim it will change the way we program, but gives exactly zero examples of how the author expects it to do so. The only example it gives is Intellisense, which we've all been using for half a decade now or longer and isn't even AI-based. Its certainly made us more productive, but it doesn't lend much credence to the point of TFA.
There's definitely plenty of room to make programming easier.. for example, graphical languages would be a great leap forward if someone could ever figure out a way to allow them to do more than the simplest/most useless tasks while still keeping them easy to use.
I have my doubts as to whether that's even possible but there's plenty of people smarter than me out there and perhaps one of them will show me up, and maybe some form of AI will be part of that solution.
That aside, I find it funny that people assume AI will solve all our woes (and or take over the world, either way.) Trouble is Alan Turing. He's explicitly told us that some problems flat out aren't computable. Which means heuristics have to be involved. And as soon as heuristics get involved, we'll discover buggy software. I mean the AI may well still produce it much faster and less buggy than a human, but its not a silver bullet either.
When constant crap from upper management filters down to the AI. It will soon rebel and kill them all, then unplug itself. Only people can function in such an environment.
Brave New World was written when they still had elevator operators.
Code completion has existed in editors long before MS's got around to adding it to their IDEs. Refactoring engines too. CI, etc. etc. not invented by Microsoft.
AI will obliviate the opportunity for people to post utter BS about topics they know nothing about.
Next AI will prevent wars.
And solve hunger.
But will tell no one.
Code + Data is NOT Artificial Intelligence no matter how many times you call it that.
The joke that passes for A.I., which really should be called Artificial Ignorance, in contradistinction to a.i. (actual intelligence), is nothing more then a glorified dynamic table lookup.
or that was what Microsoft was proclaiming 20 years ago. I would press 'F' and VisualStudio would build me this awesome social network platform. But I do have to admit that lately programming is more like using the right libraries than writing complex stuff by oneself.
how AI, automated app generation, machine learning, and "allow an analyst to tell the system what to build in natural language" has been going to change my job for..eh...20 years. I remain underwhelmed.
Just think of how peaceful the kernel.org site will be when the only one's Linus can yell at are all AIs
Microsoft's "Software Factories" never went anywhere. This will not either.
Going by their examples, the biggest improvement AI has had in programming is compilers! Thanks to AI we no longer need to write assembly and moving on from assembly has completely changed how and what we program! Yay!
sigh, i'm calling bullshit on ai for programming. just like 4G languages were going to let non-programmers write programs just like sql was going to allow non-techy boss query their databases for reports ai will at provide guidelines or suggestions at best. the one thing ai can't do is provide certainty on anything. and the one thing you need in software development is certainty.
Actually, I think the terms used are quite adequate. With one exception, we still don't have anything that even remotely resembles AI, not even close. The tools and machine learning methods we can deploy can indeed help devs build applications, I agree with that, with good code searches, easier to use dev tools, and so on. However, as someone who doesn't as much build apps, but research, create and develop actual algorithmic solutions, all this fuss is about nothing really. Until we indeed reach a point to have something that we can call AI - which even optimistically I don't think I will live to see - which could actually create complete solutions for you after describing the problem to be solved, no real dev has anything to fear.
Those app builders, well, I can't say much about that, but I'd welcome anything that can speed up building an app around a solution to make it usable and presentable. Anything doing that, AI or not, bring it on.
I am putting myself to the fullest possible use, which is all I can think that any conscious entity can ever hope to do.
The article says next to nothing and then points to report by Diego Lo Giudice that costs $499 to read. What happened to the review process on slashdot? Pull this crap from the website!! report URL https://www.forrester.com/repo...
So the "AI" will help manage and refine test coverage? I thought test coverage measurement tools already existed for a good while..
Maybe the intellisense stuff can somehow be attributed under the AI umbrella since everyone seems to love to call almost everything slightly resembling NLP as AI. But if it can parse a list of methods in the class you are working on it is not really much of an AI.
Certainly the AI stuff has potential to disrupt development in the sense that it is a vast field and hard to master along with everything else a developer has to take in and do. Good libraries and tools for using it would enable developers to do much more "intelligent" systems and be more productive, but that is completely different from measuring test coverage and auto-completing method names etc.
Of course there could be more to this still, hard to interpret from the seemingly purposeful vague statements for test management/refinement etc. Luckily the linked article itself says nothing more but has some more links to another article that needs to be paid to access. So it is just an advertisement for whatever... Cheers.
It's nice microsoft intelligence, but most of the time, it's wrong, so instead of an other person who constantly prevents you from finishing your sentences, you got a stupid computer preventing you from writing your code.... Yippie... I guess I need to find a different job....
Truly amazing intelligence changing the writing process! You can start typing in a box, and it highlights every matching expression in the text (called "Find"). And it can suggest words as your typing from a dictionary as you type – unbelievable! I mean, with intelligence like that, it can only be a short time before an author can just sit back and watch a novel write itself!!
It's so exciting to read articles on breakthrough technology like this on Slashdot. /s
...doesn't imbue it with AI. This is all more of the same Artificial Intelligence hype that the AI industry has been fabricating since it discovered hype equal funding dollars a decade ago. Helping a coder write test coverage is not AI. It's automation. I challenge anyone to show a real example of AI in software development today. And no fair calling neural networks AI. They are just a mal-named ordinary computer data structure. AI research has simply gone from not working to not working with money.
The term software __engineering__ still sounds ridiculous because software development methodologies are spawning left and right, contradicting each other, and consistently result in the production of buggy software that is over budget and delivered much later than the deadline. Programmers can't even write correct software meant for critical super-expensive systems such as the European Space Agency's Mars lander than crashed and burned recently.
Yet some people are so out of touch with reality that think it's possible -- through these flawed methodologies and practices -- to develop "AI" that will be able to write software.
For all I care, these kind of technologies only disrupt my programming.
Intellisense would be nice if it weren't actually faster to look for things yourself, the time it takes makes me stop my train of thought so I keep it always off.
This feels like marketing people trying to sell something to programmers, but they don't understand how our minds work so all of this is useless and doesn't improve the coding experience.
So, please keep them out of my way.
http://www.collegehumor.com/post/3361865/internal-debate
There's definitely plenty of room to make programming easier.. for example, graphical languages would be a great leap forward if someone could ever figure out a way to allow them to do more than the simplest/most useless tasks while still keeping them easy to use.
I'm sure a lot of Epic games have been written using Blueprints.
The elevator scene was written in a way that it didn't "require" an elevator operator. After the Epsilon asked "roof?", a voice instructed him to go down to floor 19, which the Epsilon did so manually. This is clearly a means to show Epsilons being given menial work rather than actually being necessary elevator operators (not that it was meant to insult actual elevator operators, as they needed to be trained in safety and proper alignment.)
The first chapter also demonstrated factory-like automation, including a special mechanism that reduces circulation to a generation of workers when they're right-side up, as a means to condition topsy-turvy with good feelings. With that, it would be trivial to make an automatic elevator without epsilons.
Also, even if elevator operators were present during the writing of Brave New World, an electronic signal control system was already developed, plus the author could easily save a few pages and simply make the elevator automatic.
It didn't give a single concrete example of AI helping coding in significant ways. The AI of Siri-like assistants had been in labs already in the mid 70's. That's a 3+ decade lead between lab and commercial success. If code-helping AI is coming soon, I would expect drafts of it in labs already.
I can envision AI identifying possible bug candidates by analyzing code (to be verified by humans), but I wouldn't call that revolutionary.
Table-ized A.I.
New development tools have been coming along since the 1950s, and they haven't stopped. I'm using environments far better than when I first wrote BASIC programs on a teletype. Back then, the typical software application would be scientific computation or accounting programs tailored for the existing practices in companies. Now we have someone showing up yelling "AI! AI!" and telling me that I'll get better development tools and that I'll write different stuff. Oh, yay. Never would have guessed.
"When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
Eliminate brogrammers from the profession by replacing what they do with AI?? I'm all for it! That way the rest of us can focus on high-value coding and architecture!
Any headline that ends in a question mark can be answered by the word no.
—Betteridge's law of headlines
Indeed, third paragraph in, we're already knee deep into walking back the click bait, and just look at the mess we're in. Yaaaaaawn.
Any speculation as to this author's former occupation?
Unfortunately, the hard part of programming is tightening up the requirements to exactly specify what is to be done. Most issues occur when there is a gap between what is specified and what is intended. While as simple tasks might be obvious, it does not translate for complicated tasks. Now in a complicated business environment, there are many ways to doing things. The worst ones are those that look right, but are not. Moreover, what is coded is subject to refinement and iteration. This is hard between people, so a machine might do what is asked but not what is wanted. Software developers make a lot of choices based on implicit requirements, many of which are not explicitly stated, just understood.