On Saturday, 21 March 2015 at 21:46:10 UTC, H. S. Teoh wrote:
This is the unpopular opinion, but I'm skeptical if this day
will ever
come. The problem with voice recognition is that it's based on
natural
language, and natural language is inherently ambiguous. You say
that
heuristics can solve this, I call BS on that. Heuristics are
bug-prone
and unreliable (because otherwise they'd be algorithms!),
precisely
because they fail to capture the essence of the problem, but
are merely
crutches to get us mostly there in lieu of an actual solution.
Right, but it is likely that the nature of programming will
change. In the beginning of the web the search engines had
trouble matching anything but exact phrases, now they are capable
of figuring out what you probably wanted.
Take music composition, people still write notes explicitly as
discrete symbols, yet others compose music by recording a song,
and then manipulating it (i.e. auto tune). So, even though you
can do pitch recognition many probably use discrete interfaces
like keyboard or a mouse for writing music, yet new forms of
music and composition has come with the ability to process audio
in a more intuitive, evolutionary fashion.
Same thing is likely to happen with programming, e.g. a different
models for computation or at least new ways to modify existing
components. Like neural simulations, adaptive systems, fuzzy
logic etc...
You also have areas like program synthesis, genetic programming
etc, where the computer itself generates the program to fit a
specified result. When the computer is capable of that you might
have a more "top down" programming model where you just keep
adding constraints until you are happy with the result.