

Will software that writes code alter tech’s script? - jeo1234
http://www.ft.com/intl/cms/s/0/6c6ccace-521d-11e5-b029-b9d50a74fd14.html

======
coldnebo
“We learnt that we were building the same thing over and over, and realised
that the more interesting thing to do was to cut out the wasted effort and
cost, and work out how to automate 90 per cent of writing code.”

I view that as a failure of abstraction and composition, not as a failure of
automation. If it's tedious to hook up window controls to underlying data, or
to handle properly a form validation loop in a controller for the millionth
time, we should be asking why the abstraction layer we are using requires that
tedium instead of being more succinct?

Often the abstraction is complex because of the degrees of freedom it has.
Automation on the other hand reduces the degrees of freedom. This is great if
you are the one who is reducing and making the choices, but if you are letting
someone else make all the choices about what is possible... It's like the
difference between driving and being chauffeured.

Even if this system were like the mathematician: "show me all possible worlds
satisfying X" it would require either a huge search space to pick the desired
answer or present only a handful of preselected choices. Search refinement is
more interesting, sounds like a great deal of complexity to avoid (less?)
complexity of actually doing the work-- especially in meanial cases-- i.e. I
don't want to sift through 1000 variations of form validation to "find" the
magic one that completely meets my business needs.

------
callum85
Here's a good comment from a reader, which I think addresses a
misunderstanding behind this article about what programming actually is:

> The thing that takes time is humans understanding what they want.
> Programmers are like therapists who help them crystalize their thoughts to
> the point where they are at least vaguely consistent. The program is just a
> representation of that idea.

~~~
bitcuration
Yet the widely recognized most effective way to crystallize the idea, is not
via therapy but through rounds of prototyping. Now only if prototyping is as
easy as snap a finger.

Coding automation too will help to make better software.

What programmers have done is to translate human ideas into machine
understandable symbols, or graphic layout. Not he latter is probably far more
difficult than the former which itself can be as hard as NLP and essentially
the goal of the almost entire computer language evolution, to improve the
effectiveness of translations human ideas to computer understandable symbols.

------
jstanley
We already have code that writes code. Guess who uses it: programmers.

It doesn't matter how smart the computer gets, a smart programmer with the
computer is always going to be more useful than the computer on its own.

~~~
lhecker
I would be careful with the word "always", because that's a pretty long time
span compared to since when "programmers" even exist...

------
adrianN
I think having the computer translate your natural language intentions into
code is at least as hard as translating your natural language intentions into
a different natural language. I don't see that problem being solved to
sufficient accuracy, so I really doubt that this approach will replace
traditional programming in the next ten years.

------
paublyrne
The shark example brings to mind Star Trek TNG, when someone would 'write' a
programme by simply giving vague voice commands to the computer, and end up
with exactly what they wanted.

In reality it's very difficult to describe visual things in words.

Also, how does a fierce shark look different to a shark?

~~~
tariqali34
This is how I would imagine the 'fierce shark' being programmed:

1) The "fierce" plugin is installed and immediately run. It is targeted on the
shark sprite.

2) "Fierce" is an evolutionary algorithm. It will create several hundred
generations of a shark, mutating the shark sprite in some small way. The
shark's fitness is based on how 'scary' the shark is, and the 'scariness' of
the shark is calculated based on a dataset compiled by children that rated how
scary colored pictures were from a scale of 1 to 10. The evolutionary
algorithm's goal is to maximize the fitness of the shark.

3) The final shark (with the highest fitness) is outputted to the user. It
will look very similar to a normal shark, with some minor variations in color
to increase the scariness of the shark.

What these people are doing is not impossible. However, the potential for so-
called "leaky abstractions"[0] messing up the development process is very
high. Programmers will likely be necessary, if only to ensure the abstractions
are functioning well enough for non-programmers to use.

[0][http://www.joelonsoftware.com/articles/LeakyAbstractions.htm...](http://www.joelonsoftware.com/articles/LeakyAbstractions.html)

------
geoff-codes
Ha. Having conquered the paywall:

Ridiculous. COBOL. AppleScript. Lego Mindstorms. Also:

Is it difficult to develop a programming language which is closely related to
human language? ([http://programmers.stackexchange.com/questions/267489/is-
it-...](http://programmers.stackexchange.com/questions/267489/is-it-difficult-
to-develop-a-programming-language-which-is-closely-related-to-hu))

Or, in one of the clearest and most succinct pieces Dijkstra ever wrote:

On the foolishness of "natural language programming".

[https://www.cs.utexas.edu/users/EWD/transcriptions/EWD06xx/E...](https://www.cs.utexas.edu/users/EWD/transcriptions/EWD06xx/EWD667.html)

------
wangii
I doubt if anyone could describe in natural language a complex enough idea
clearly and consistently without doing it.

It's not AI, it's Super Intelligent.

------
buffoon
So first they try and get me to download an app and when I decline, I get a
paywall. I suspect the content isn't with the cost or effort to work around
it.

~~~
gpvos
[https://news.ycombinator.com/item?id=10178989](https://news.ycombinator.com/item?id=10178989)

~~~
geoff-codes
Ok, got it, and fair enough. So, per said item/policy:

> It's ok to ask how to read an article or to help other users by sharing a
> workaround.

So, can anyone share the workaround for this one? In a desktop browser, I get
a paywall; 'x'ing out of it, I'm redirected to the front page; and blocking
the paywall's html element reveals that the article behind it is empty.

~~~
geoff-codes
To answer my own question (and for anyone else who's an idiot like me): Google
the title of this post and look at Google's cache. i.e.,
[http://webcache.googleusercontent.com/search?q=cache:EI3f-tS...](http://webcache.googleusercontent.com/search?q=cache:EI3f-tS04ZkJ:www.ft.com/cms/s/0/6c6ccace-521d-11e5-b029-b9d50a74fd14.html)

------
bitcuration
This day finally comes... yet.

------
colinmegill
lol... this is Andrew Ng being asked whether machine learning will solve
software anytime soon:

[http://www.reactiongifs.com/r/tmimn.gif](http://www.reactiongifs.com/r/tmimn.gif)

