6 ms·
I can't tell if this is sarcastic or not, but it doesn't seem to be. Binary computers are precise in their operation; that's why we use programming languages:
by nathanaldensr 8y ago
I can't tell if this is sarcastic or not, but it doesn't seem to be.
Binary computers are precise in their operation; that's why we use programming languages: to make it easier to create the underlying instructions to perform calculations. You are assuming that human answers to human questions in imprecise human language can even be converted to binary instructions. If it were that easy, general AI would've already been invented and self-driving cars would already exist.
- peterwwillis 8y agoYou're taking it too literally/assuming too much. It is super easy. Watch. $ awscli s3 ls Unable to locate credentials. You can configure credentials by running "aws configure". That is stupid. Let's fix it. #!/bin/bash [ -r .awssettings ] && . .awssettings [ -n "$USERN" ] || read -p "What is your username? " USERN if [ ! -n "$PASS" ] ; then read -s -p "Enter your password: " PASS ; echo "" fi [ -n "$REGION" ] || read -p "What region should I run this in? " REGION echo awscli --region $REGION --user $USER --pass $PASS "$@" \ && echo -en "USER=$USER\nREGION=$REGION\n" > .awssettings $ ./foo.sh s3 ls What is your username? peter Enter your password: What region should I run this in? us-east-1 awscli --region us-east-1 --user peter --pass blahblah s3 ls This is a contrived example, because of course AWS wants obscure tokens and secrets to log in, but the point is that it was trivial to write an interface that helped the user out. The fact that this isn't the default is stupid. (The argument that it fails by default to "help programs out" is dumb, because a simple argument like --no-questions which becomes default without a tty is easy)
- lmm 8y agoAnd how do I put process controls around that? How do I have confidence that someone I'm trying to help over the phone will see the same screens and get the same questions that I do? What do they do if it asks the wrong question? Having simple, predictable, consistent behavior from our tools is far better than trying to guess what the user wanted.
- peterwwillis 8y agoYou must live in a different universe from me. In my universe we have been successfully addressing those problems for over 60 years. Also, our tools aren't simple, or predictable, or consistent, which is why our universe created this software called "Docker". It helps, but there's no UI for anything (unless you pay a lot of money) so it's still a pain.
- lmm 8y ago> In my universe we have been successfully addressing those problems for over 60 years. In my universe people have been pushing "visual programming environments" for something close to 60 years, and they're still awful and haven't caught on. Over the last 10-20 years programs have taken a step away from "wizard" style interactions like you describe, as it turns out that a simple, automatable config format is more useful than a step-by-step interaction. API design has started to realise the importance of understandability over magic, e.g. the new generation of 3D graphics APIs are much less "do what I mean" than the previous generation.