Programming after Deep Learning

34 views
Skip to first unread message

John Carlson

unread,
Mar 1, 2017, 9:16:04 PM3/1/17
to augmented-...@googlegroups.com, Don Brutzman, Roy Walmsley
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

Sean McDirmid

unread,
Mar 2, 2017, 11:07:51 PM3/2/17
to augmented-...@googlegroups.com

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-...@googlegroups.com <augmented-...@googlegroups.com> on behalf of John Carlson <yott...@gmail.com>
Sent: Wednesday, March 1, 2017 6:16 PM
To: augmented-...@googlegroups.com
Cc: Don Brutzman; Roy Walmsley
Subject: Programming after Deep Learning
 
http://www.sciencealert.com/smart-ai-can-now-steal-code-to-write-its-own-programs
Our artificial intelligence systems are continuing to get smarter, with scientists demonstrating that a system called DeepCoder is now clever enough to borrow bits of code from other programs to solve basic problems.



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-progra...@googlegroups.com.
To post to this group, send email to augmented-...@googlegroups.com.
Visit this group at https://groups.google.com/group/augmented-programming.
For more options, visit https://groups.google.com/d/optout.

Boaz Rosenan

unread,
Mar 5, 2017, 2:16:35 AM3/5/17
to Augmented Programming
You can take a look at Barliman (https://github.com/webyrd/Barliman).
While calling what they do "AI", they manage (in some cases) to help human programmers by filling in missing code to make unit tests pass.
For that they use relational programming -- a branch of logic programming.

On Fri, Mar 3, 2017 at 6:07 AM, Sean McDirmid <mcdi...@outlook.com> wrote:

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. 




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?

http://www.sciencealert.com/smart-ai-can-now-steal-code-to-write-its-own-programs
Our artificial intelligence systems are continuing to get smarter, with scientists demonstrating that a system called DeepCoder is now clever enough to borrow bits of code from other programs to solve basic problems.



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.

--
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.

Alan Moore

unread,
Mar 5, 2017, 12:23:10 PM3/5/17
to Augmented Programming
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.

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

John Carlson

unread,
Mar 5, 2017, 12:30:54 PM3/5/17
to augmented-...@googlegroups.com
I don't know about broad shoulders, but I think OO design still applies to AR/VR.   That is, you will have interactions related to object type: string operations object, number operations object, date/time operations object, table operations object, document operations object, program or tree operations object, ...  See ToonTalk.  That's probably where the broad shoulders are.

John

Sean McDirmid

unread,
Mar 5, 2017, 12:32:24 PM3/5/17
to Augmented Programming

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. 




From: augmented-...@googlegroups.com <augmented-...@googlegroups.com> on behalf of Boaz Rosenan <bros...@gmail.com>
Sent: Saturday, March 4, 2017 11:16 PM
To: Augmented Programming
Subject: Re: Programming after Deep Learning
 
You can take a look at Barliman (https://github.com/webyrd/Barliman).
Barliman overview. Barliman is a prototype "smart editor" that performs real-time program synthesis to try to make the programmer's life a little easier.


To unsubscribe from this group and stop receiving emails from it, send an email to augmented-progra...@googlegroups.com.
To post to this group, send email to augmented-...@googlegroups.com.

David Barbour

unread,
Mar 6, 2017, 1:18:15 PM3/6/17
to augmented-...@googlegroups.com
On Sun, Mar 5, 2017 at 11:23 AM, Alan Moore <kahun...@coopsource.org> wrote:
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.

Eve [1] essentially uses relational/logic programming (a temporal variant, for reactivity) for HCI. It's a versatile paradigm.

 
Reply all
Reply to author
Forward
0 new messages