[Semi OT] The programming language wars

FG via Digitalmars-d digitalmars-d at puremagic.com
Sat Mar 21 07:07:26 PDT 2015


On 2015-03-21 at 06:30, H. S. Teoh via Digitalmars-d wrote:
> On Sat, Mar 21, 2015 at 04:17:00AM +0000, Joakim via Digitalmars-d wrote:
> [...]
>> What I was going to say too, neither CLI or GUI will win, speech
>> recognition will replace them both, by providing the best of both.
>> Rather than writing a script to scrape several shopping websites for
>> the price of a Galaxy S6, I'll simply tell the intelligent agent on my
>> computer "Find me the best deal on a S6" and it will go find it.
>
> I dunno, I find that I can express myself far more precisely and
> concisely on the keyboard than I can verbally. Maybe for everyday tasks
> like shopping for the best deals voice recognition is Good Enough(tm),
> but for more complex tasks, I have yet to find something more expressive
> than the keyboard.

"Find me the best deal on a S6" is only a little more complex than "make me a cup of coffee." Fine for doing predefined tasks but questionable as an ubiquitous input method. It's hard enough for mathematicians to dictate a theorem without using any symbolic notation. There is too much ambiguity and room for interpretation in speech to make it a reliable and easy input method for all tasks. Even in your example:

You say: "Find me the best deal on a S6."
I hear: "Fine me the best teal on A.S. six."
Computer: "Are you looking for steel?"

Now imagine the extra trouble if you mix languages. Also, how do you include meta-text control sequences in a message? By raising your voice or tilting your head when you say the magic words? Cf.:

"There was this famous quote QUOTE to be or not to be END QUOTE on page six END PARAGRAPH..."

Very awkward, if talking to oneself wasn't awkward already. Therefore I just cannot imagine voice being used anywhere where exact representation is required, especially in programming:

"Define M1 as a function that takes in two arguments. The state of the machine labelled ES and an integer number in range between two and six inclusive labelled X. The result of M1 is a boolean. M1 shall return true if and only if the ES member labelled squat THATS SQUAT WITH A T AT THE END is equal to zero modulo B. OH SHIT IT WAS NOT B BUT X. SCRATCH EVERYTHING."



More information about the Digitalmars-d mailing list