pull down to refresh

Machine code, with its absence of almost any form of redundancy, was soon identified as a needlessly risky interface between man and machine. Partly in response to this recognition so-called "high-level programming languages" were developed, and, as time went by, we learned to a certain extent how to enhance the protection against silly mistakes. It was a significant improvement that now many a silly mistake did result in an error message instead of in an erroneous answer. (And even this improvement wasn't universally appreciated: some people found error messages they couldn't ignore more annoying than wrong results, and, when judging the relative merits of programming languages, some still seem to equate "the ease of programming" with the ease of making undetected mistakes.)
I've spent so much time in high level languages, I missed the above tradeoff. I once programmed in assembly quite a bit, but it's an error message and errornous answer never hit that differently.
Therefore, although changing to communication between machine and man conducted in the latter's native tongue would greatly increase the machine's burden, we have to challenge the assumption that this would simplify man's life.
A short look at the history of mathematics shows how justified this challenge is. Greek mathematics got stuck because it remained a verbal, pictorial activity, Moslem "algebra", after a timid attempt at symbolism, died when it returned to the rhetoric style, and the modern civilized world could only emerge —for better or for worse— when Western Europe could free itself from the fetters of medieval scholasticism —a vain attempt at verbal precision!— thanks to the carefully, or at least consciously designed formal symbolisms that we owe to people like Vieta, Descartes, Leibniz, and (later) Boole.
From one gut feeling I derive much consolation: I suspect that machines to be programmed in our native tongues —be it Dutch, English, American, French, German, or Swahili— are as damned difficult to make as they would be to use.
This is part of my frustration with chat bots currently. "You just have to provide more of the nondeterministic, completely unspecified language combinations to get it to write the correct code for you." I suspect it'll rival giving a human programmer verbal instructions eventually, but even that isn't painless - often providing and presuming a bunch of context.
Therefore, although changing to communication between machine and man conducted in the latter's native tongue would greatly increase the machine's burden, we have to challenge the assumption that this would simplify man's life.
An assumption worth challenging... but ultimately like he says, a worthy task. An electronic compute cycle is just so much cheaper than a biological one, it makes sense to offload more work to the machine and save the biological compute resources for the tasks that only it can accomplish.
This is part of my frustration with chat bots currently. "You just have to provide more of the nondeterministic, completely unspecified language combinations to get it to write the correct code for you." I suspect it'll rival giving a human programmer verbal instructions eventually, but even that isn't painless - often providing and presuming a bunch of context.
An interesting thing here is that the bosses and CEOs probably don't read or understand the code their engineers make. They just have to trust that their engineers are doing it right and using the right tests. As long as edge cases don't show up in production, they're probably happy.
Is that what we'll do with AI in the future? Just trust that it's doing things right and not realize the code has errors until the edge cases show up in prod?
reply