If we are just talking about deep learning, it will be a while until computers can not only abstract but use abstractions without having them hard coded into the network. Given that most programming work is more about abstract thinking, deep learning isn't going to be very useful. For the programming problems where deep learning works well, like speech recognition, life will be good.
If you mean the promise of AI in general, once the singularity hits its all over for programmers; computers can not only write the programs but figure out what programs need to be written. But there will be many augmented programming steps before that happens (if it even happens in our lifetime, I hope not!)...where programming will become more conversational (is this what you want? no. Ok, how about this? still not right. Ah...now? Yes!). I have no idea what that will look like however, and we are still in the wilderness on how to use DNNs in programming (e.g. for better code completion? who knows!). Just envisioning these experiences is difficult, let alone implementing them.
If we are just talking about deep learning, it will be a while until computers can not only abstract but use abstractions without having them hard coded into the network. Given that most programming work is more about abstract thinking, deep learning isn't going to be very useful. For the programming problems where deep learning works well, like speech recognition, life will be good.
If you mean the promise of AI in general, once the singularity hits its all over for programmers; computers can not only write the programs but figure out what programs need to be written. But there will be many augmented programming steps before that happens (if it even happens in our lifetime, I hope not!)...where programming will become more conversational (is this what you want? no. Ok, how about this? still not right. Ah...now? Yes!). I have no idea what that will look like however, and we are still in the wilderness on how to use DNNs in programming (e.g. for better code completion? who knows!). Just envisioning these experiences is difficult, let alone implementing them.
From: augmented-programming@googlegroups.com <augmented-programming@googlegroups.com> on behalf of John Carlson <yott...@gmail.com>
Sent: Wednesday, March 1, 2017 6:16 PM
Cc: Don Brutzman; Roy Walmsley
Subject: Programming after Deep Learning
How will programming look after Deep Learning has fulfilled its promise? Will programmers be designing test cases? Or will they be designing input languages for fuzz testing, and then demonstrating operations on the language to produce outputs? Will there be language design, or will languages consist of XML, JSON, CSS and S-expressions? How do we convert inputs into these notations?
Ultimately computer outputs are currently electromagnetic waves (light, heat, images, video), movement based on electromagnetism (sounds and motion and 3d printed objects). Devising ways for computers to confirm output for some of these things may be challenging (devising the input language that verifies the output--some of these exist, namely various sound and graphics formats, but we'll need to add tolerance to the languages).
Even if computers take over coding, perhaps they will have difficulty taking over the QA. How do we set a goal for a computer without a process?
John
--
You received this message because you are subscribed to the Google Groups "Augmented Programming" group.
To unsubscribe from this group and stop receiving emails from it, send an email to augmented-programming+unsub...@googlegroups.com.
To post to this group, send email to augmented-programming@googlegroups.com.
Visit this group at https://groups.google.com/group/augmented-programming.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Augmented Programming" group.
To unsubscribe from this group and stop receiving emails from it, send an email to augmented-programming+unsub...@googlegroups.com.
To post to this group, send email to augmented-programming@googlegroups.com.
I'm exploring the use of VR/AR as a programming medium to see if there are any advantages to be leveraged (e.g. visual cortex, increased degrees of freedom) over simple linear text input. In this mode it seems there are plenty of opportunities for dialog style AI interactions to flesh out a design. Hopefully we can also (necessarily?) raise the level of abstraction we typically use to interact w systems.
Early days still and I look forward to many interesting experiments. Hopefully even the failures will teach us something as I'm sure there will be many more of them.
Does anyone have references to similar modalities for programming? Programming by example, e.g. virtually manipulating data/UI elements represented as 3D objects, could provide insights, any others? Looking for giants w broad shoulders :-)
Alan
Logic programming is the old way of doing AI and we already know it can't scale very well. What is nice about it is that its completely controllable and not opaque like machine learning, but it is limited in the intelligence it can provide.
Relational/logic programming does hold great promise but it does seem to be too brittle for many domains where logic doesn't play a large part (HCI perhaps.) Maybe it will be hidden from view, acting as a sort of IR or byte code.