

Computers are for humans - adeelk
http://adeel.ru/notes/computers-are-for-humans.html

======
moistgorilla
Your post doesn't make sense to me and I think it's because you misunderstand
what programming actually is. Programming, at it's core, is just the act of
giving the computer commands to execute in a certain way. There is no way to
automate a process using a computer without using programming. So what you
suggest, is only possible in two ways. Build an artificial intelligence that
programs for us and decides what we want or somehow code a piece of software
that can solve any problem and automate any task. Neither of which are
currently possible or really desirable (imagine the bloat of the software).

Everyone should learn to program, even at the highest level of abstraction
(python, visual basic, SCRATCH), just so they understand what the tool
(computer) they have in their hands is capable of.

People go through their everyday lives not even considering automating certain
tasks because they haven't been exposed to what programming can do. People go
through their days not understanding when they are being ripped off or
blatantly stolen from. They don't know what is secure and what isn't. Learning
to program solves these problems.

To quote Ben Franklin "Those who give up their liberty for more security
neither deserve liberty nor security."

Disclaimer: I am slightly biased. I don't agree with what Steve Jobs stood
for. I don't believe people should become mindless content consuming drones
nor do I believe in walled gardens. If I buy 3 acres of property I don't want
to be locked in .5 acres because of a damn hedge.

~~~
adeelk
> There is no way to automate a process using a computer without using
> programming.

<http://en.wikipedia.org/wiki/Automator_(software)>

~~~
moistgorilla
That is programming.

~~~
georgieporgie
I think your definition of programming is tending toward being pointlessly
broad.

~~~
moistgorilla
My definition of programming is just a definition that is capable of
describing every programming language I've seen. If programming is not giving
commands to a computer then what is it?

~~~
georgieporgie
Is typing 'dir' or 'ls' at a command prompt programming? Am I programming if I
double-click on a folder or enter a web page URL?

~~~
drcube
I'd argue yes.

Microsoft Word is a domain specific language for formatting documents. Just
because you can't create an OS with it doesn't mean you aren't telling a
computer what to do using gestures and keystrokes that you had to learn first.

Every day user tasks are just very high level programming, with limited power
compared to general purpose languages.

------
redwood
Great post. The HN community is totally biased because most folks here are
very comfortable programming. What this biases is the ability for this
community to imagine that it's a lot harder for a lot of other people to
program than it is for them. If it weren't, you wouldn't be in such high
demand at such terrific salaries.

Programming is hard, especially for minds that are not well accustomed to
breaking things into linear series of events. I have a visual mind, for
example, but have a lot of trouble turning multi-dimensional concepts into
linear programming treatment.

Just as we would not suggest everyone would be capable of calculus, we can't
expect everyone to program. Now we _can_ expect everyone to have some exposure
to calculus, and I think many folks just would like to see the masses have
some exposure to programming. And that's great.

But please do recognize that programming is not intuitive for everyone!

~~~
factorial
Please tell this to the crowd that is so desperate getting more women
interested in computers....

~~~
fusiongyro
The problem isn't that women aren't interested, it's that our shitty remarks
drive them away. The ones that stay wind up experiencing a death by a thousand
pricks. I'm "desperate" to see our field grow up, not conduct some sort of
gender-specific marketing campaign.

We don't need more women programmers for the sake of demographics. We need to
stop driving away awesome programmers that happen to be women.

~~~
d0mine
Do you know about any evidence that other professions with a larger
female/male ratio e.g., lawyers, doctors treat women somehow better than IT?

~~~
fusiongyro
That's kind of a distraction from the real problem, isn't it? We know we are
doing this badly. It doesn't matter if other professions are worse; if they
are, that just means they have their own problems to improve on.

To paraphrase the rifleman's creed, there are many industries with this
problem, but this one is mine.

------
jstanley
"If the computer is a bicycle for the mind, what kind of bicycle requires you
to speak Chinese to pedal faster?"

I'm sorry? What sort of bicycle magically allows you to ride it without
putting in any learning effort? You're forgetting that everybody has to learn
to ride a bicycle and nobody is any good at it at first.

~~~
adeelk
You’re mixing up programming with computer literacy.

~~~
jdbernard
Not really. Most people put forth a minimal effort into learning how to ride.
Most people can ride a bike, but far fewer are able to regularly put five
miles on a bike. That requires a much higher level of training and
conditioning that most people are just not willing to undertake.

Most people can use a computer. My 70 year old grandmother has no problem
using her Mac to write documents, send email and browse the internet. Far
fewer are willing to undertake the training and mental conditioning required
to program.

Fundamentally, programming is about problem modelling. While I agree that the
interface to programming can be improved, I disagree that computers and the
tools surrounding programming are the main reason people are not willing to
invest the time to learn to program. At any level beyond the most trivial
programming is hard.

------
Fice
In the 80's Apple had HyperCard, a tool designed to make programming easy for
novices.

«... HyperCard is an echo of a different world. One where the distinction
between the “use” and “programming” of a computer has been weakened and awaits
near-total erasure. A world where the personal computer is a mind-amplifier,
and not merely an expensive video telephone. A world in which Apple’s walled
garden aesthetic has no place.» <http://www.loper-os.org/?p=568>

------
raintrees
Maybe the author is confusing computers with consumer devices... I subscribe
to the notion that the iPad is a consumer device (i.e. family of the Walkman),
not a computer.

~~~
slowpoke
Exactly my first thought when reading the first paragraph.

I find it almost laughable to cite Apple as an example of "making a computer
smarter". Apple has done the exact opposite: dumbing it down to fit the lowest
common denominator, then putting it into shiny aluminum cases to sell to the
unwashed masses.

A smart computer is one that empowers the user, that teaches them, and expands
their knowledge. Not lock them into a walled garden with some highly limited
tools which give them the dangerous illusion of empowerment. This is
fundamentally incompatible with how Apple makes their products. In the perfect
world of Apple, users are idiots who unquestioningly buy the newest iWhatever,
and never do anything remotely clever with their devices.

~~~
shadesandcolour
Depends on how you define smarter. Apple has made the computer smarter because
you no longer need to be smart to use one. By "dumbing down the computer" from
our point of view, the computer itself is actually smarter. The operating
system and the programs that apple has written don't necessarily anticipate
the user, but they handle some things in the background so the user doesn't
have to. Or at least that's the idea behind it anyways.

------
antihero
This misses the point. The beauty of learning programming is that you stop
_depending_ on others to make something simple to use, and can instead do it
for yourself.

~~~
adeelk
There are a lot of things we depend on others for. Do you call the plumber
when your home plumbing leaks?

~~~
Falling3
It's funny you should ask that because it touches on an analogy posed by Jeff
Atwood just the other day. And a lot of people rebelled against it.

Do I call the plumber when I have a serious leak? Yes. But I don't call one
when I the toilet is running or when I have a leaky faucet. No one is
suggesting everyone needs to be able to write a full-fledged production
program, but who can deny that having some knowledge of the inner workings of
a system you depend on is not going to make you a better user?

~~~
adeelk
I’m not saying there’s anything wrong with learning to program.

Learning the basics of any skill can help you, but it’s up to an individual
whether he wants to spend his time picking up plumbing, car repair,
programming, etc., or just focus on moving further in whatever his own field
is.

~~~
Falling3
Of course. And that's why no one is saying people must learn to program - only
that they should. And it makes sense if you spend ~8 hours a day using
something that you have some idea of how it works.

------
crazydoggers
I agree that computers should have intuitive interfaces and should bend to
people rather than the other way around. I also think that most computers
should and will be more like iPads and iPhones, essentially smart appliances.

However, just because we can see a future where computers bend to the whims of
users, ignorance is not bliss.

Computers are becoming an ever increasingly important part of most peoples
lives. Saying that you shouldn't have a fundamental understanding of how they
work only leaves you open to being hurt by those machines that you interact
with every day.

Take phishing scams, and drive by downloads. In large part these occur due to
ignorance of the user on a fundamental level. Of course, computers need to be
much smarter and prevent these types of attacks all-together. But in a world
where some people understand computers on a fundamental level, and others do
not, you'll always see those with knowledge taking advantage of those without.

Ultimately people shouldn't learn to programming because it makes bending
computers to their will easier (though it does). Instead people should learn
basic programming to better understand that which they fundamentally rely on.

------
fjorder
"Apple understand that the responsibility lies with their software to adapt to
humans, not with humans to learn the ins and outs of unintuitive software."

This isn't how Apple does things.

Apple computers do not adapt to users. They do things in the "Apple Way".
Users must learn that way or suffer.

The good thing about this complete refusal to adapt to users is that everyone
has exactly the same Apple experience. You don't have to ask Apple users what
shell or window manager they're using. This makes finding help easier and, in
theory at least, should make it easier to eliminate bugs (Lion is actually
very buggy). Arguably, small bugs and inconsistent behavior do more to confuse
neophyte users than large interface flaws.

Apple's motto, "think different", should really be, "think like us". Is that
good for the computer illiterate? Perhaps. Still, I'm a bit amazed that some
power users put up with the rigidity of OSX and apparently seem to like it.
I've used it off and on a few times over the last decade (I most recently used
Lion for about a year) and it's always a relief to go back to an OS that is
designed to adapt.

------
mehulkar
I like the thought behind this, but not sure it makes sense to me. How do you
expect computers will get to be as smart as you want them to be if people
don't learn to speak their language? Are you assuming that only the select
group of people who are already programmers are capable of making computers
smarter? I disagree with that.

Even if the above were true, it would still take time to make computers
"smarter". I don't think it's necessarily about technology, it's about
changing the infrastructure and the paradigm. That takes time. What is the
rest of the population to do in this latency?

As a side, your post also suggests that there will come a time when computers
will computer themselves and people will never have to do anything. That
doesn't make sense logically.

------
tcrow-2000
I don't think he's arguing that more people in other fields should not learn
to program, rather that the primary goal of _general_ computer use is to make
easier/enhance the lives of its users. This goal is of course ultimately
derived from the hard work of the programming community, of which should
always be accepting of more participants. We just have to keep in mind that
computers should always serve their primary goal, and those that choose to
work with computers on a deeper level (programming) should always keep that
goal in mind, you don't create a program for the general user that requires
them to know programing in order to use it

------
olleicua
I completely agree and I think this is a much better attitude than the
increasingly popular ideology of making the application just do the right
thing INSTEAD of exposing options. Obviously the default should be to do the
right thing but without options users feel like they are being controlled by
machines which is simply not what we want. I know lots of luddites with this
perspective and it ultimately stems from laziness on the part of programmers.

------
cognivore
"The reality is that the most basic automation is a task impossible for
someone who hasn’t spent months learning to program. Automation is what
computers were supposed to help humans with in the first place."

When one wants to express a complex operation (say, automation) one almost
resorts to language. Law, mathematics, chemistry, physics, they all use
language to help them express complex ideas.

How would you even express simple automation without a language. Macros? Sure,
up to a point. Visual tools? Sure, up to a point. Both lead to diminishing
returns for their ease use. The benefit of learning the domain language is you
have fewer limitations.

Computers are the future, and are the most important piece of technology that
currently exists. You either learn how to use them, most effectively, or the
future is not for you.

------
crazy_eye
Nicely put, but too utopian for right now. There is still a place for coding
skills in many fields where it may have not mattered before, with the ubiquity
of computers in workplaces of all types. That being said, I think the 'teach
ALL the people how to code' theme lately is overkill.

~~~
gliese1337
Too utopian in general, not just right now. The best argument in my opinion
for "normal people" learning to program is not so that they can and will
instruct their machines, but so that they know how it is done, whether they're
the ones to do it or not. It's to instill understanding, so people will have
reasonable expectations about their technology, be able to make intelligent
decisions regarding it, and not relate to it as magic.

Even if HCI becomes so good that anything can be automated just by asking for
it with no human effort involved, it will still be a good idea for people to
know why and how it works. And frankly, things will never get _that_ good
(people can't even communicate among _themselves_ without misunderstanding,
let alone with machines), which makes it important for people to understand
what kinds of things their computers can realistically do for them, what they
can't, and why that is.

------
diminish
Author confuses humans with other mammalians which lack abstract thought and
language.

    
    
      ['current human', 'ape'].each do |new_subject|
        open('http://adeel.ru/notes/computers-are-for-humans.html').substitute('human',new_subject)
       end

------
Mz
The last paragraph bugs me. It gives the lie to the assertion that _computers_
need to be smarter. What he is really suggesting is two classes of people: The
knowledge Haves and knowledge Have Nots.

It is a reasonable and useful principle for a business to focus on being more
user friendly. But it is a scary ideology to suggest that most people should
not bother to act with agency or become more empowered to handle it
themselves. The logical outcome of such an ideology is a world filled with
sheep and run by the handful who have de facto power and who serve as both
wolf in the fold and guardian sheepdog at the same time.

