AI Develops Software

At BuildStuff.lt this year in Vilnius I moderated a panel. Normally when moderating a panel I have found my role to be to possibly reword original questions, follow up on points made by panelist, and generally direct the discussion. In this panel though there was one question that came up that I felt the need to actually give an answer to (even as a moderator) as none of the panelists answered similarly.

The question was (paraphrased): Artificial Intelligence seems to be moving at breakneck speeds, how long will it be until artificial intelligence starts actually writing the code.

 

My answer:

It is correct that artificial intelligence has been moving forward with amazing speed. 10-15 years ago it was viewed as being 25-30 years before a computer could beat a human at go let alone drive a car. Our advancements have been amazing.

That said software development is a completely different type of task.

Let’s imagine how things would work with an Artificial Intelligence that would create our software for us. The first thing we would need is some way to describe our business problems and what the software should do, we want something specific.

In order to do this I imagine we would want some kind of textual language. This language would likely need to support some basic concepts including basic boolean logic, arithmetic, and some form of control flow. We could then describe the software using this language …

The hard part about most systems is figuring out what to build. AI has a long way to go until it gets to that point.

 

Update: added image

commitstrip

3 Comments

  1. Posted November 29, 2016 at 3:51 pm | Permalink | Reply

    “This language would likely need to support some basic concepts including basic boolean logic, arithmetic, and some form of control flow.” Given what I know about AI I think it would be more, that you give a stream of commands, and one with the corresponding events as results, and it will infer the behavior from that. Same stuff for queries.
    Isn’t this what people is already doing with supervised learning?

    • Posted November 29, 2016 at 3:55 pm | Permalink | Reply

      And the data that goes on a report?
      And how a UI should be laid out?

      How do you know it actually works?

  2. creations2be
    Posted December 31, 2016 at 3:29 am | Permalink | Reply

    Hi Greg,

    Seems like the language barrier has already been taken (https://arxiv.org/abs/1610.05256) for some cases. Given the growing advancements you already described I see a future where an AI may be used to better describe (person-/developer-tailored) specs than human-to-human communication can (a marketeer and developer are two different kinds of people, an AI can use big-data to find some common ground between them and create a personalized/tailor-made spec from it).

    When this moment arises, who will have the best insight… The developer reading the (interpreted set of) specs or the AI that created them?

    Getting the concepts of CQRS being a human person (with a different background) is very difficult, but I think an AI (with the right understanding of the specs/concepts) could, in the near future, do a great job at building a near-perfect solution.

    I’d like to hear your thoughts on this.

    Kind regards,

    Robert

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: