On 13/03/2010, at 4:41 AM, Andrey Fedorov wrote:

> Julian Leviston <jul...@leviston.net> wrote:
> To restate my point, simply: programming computers is not as easy as using 
> them, and using them is not even as easy or useful as it could be.
> 
> Don't get me wrong - I completely understand your intuition. I have it too. 
> But beware! Intuition weighs heavy with prejudices unique to the immediate 
> present.
> 
> Try to formalize what you're saying - in particular: what is "programming", 
> and what is "using"?
> 

Okay.

Mostly it relates to the simplicity and difficulty level. Using a computer is 
generally seen as MUCH MUCH easier than programming one. Typing a letter is 
easier than expressing a Fourier transform in pascal, for example.

Here, largely, programming a computer relates to expressing an algorithm (or 
expressing the specifics of accomplishing a goal in a real way) in a computer 
programming language which involves a specific and precise syntax.

Using computers doesn't involve this. When using a computer, one can do 
anything one likes and *should* not generally cause the computer to complain 
about misuse (such as syntax errors, or segfaults, etc.)

For example, using Automator on the Macintosh is not quite what I'd consider 
programming, although it has all the elements of programming. Neither, is 
moving 200 emails into a mail box in my email program, though that is an 
operation that could also be considered programming.

Specifically, it involves how much work (in terms of procedural steps) and 
therefore often how much effort it takes one before one gets to the point where 
the computer knows what it is that we'd like it to do. "Speaking" a language 
other than one's own is NEVER as easy as speaking one's own language, hence the 
bar for achieving fluency is much higher than USING a computer, which doesn't 
usually involve learning a new language to express to the computer what one is 
trying to achieve.

Granted, using a computer involves User Interface "language" learning, and this 
could be considered a kind of programming language, but moving an input device 
and pressing a single button is something so simple and direct that it falls on 
the side of using a computer.

So, programming is complicated computer use, essentially.

Now, my opinion is that neither programming nor using a computer is a 
relatively simple task these days. It *must* be possible to unify a system 
according to the truth of the underlying and most basic goals of a computer 
system in a generic sense.

Our user interfaces are absolutely crap, to put it lightly. It could be that 
things like the iPad will change this, but I still think that they're 
fundamentally coming at things with an approach that is quite fundamentally 
flawed. It still seems to be coming at things from an application-centric point 
of view rather than a goal-oriented point of view.

The reason seems to be that a goal-oriented point of view is just WAY TOO MUCH 
WORK for most people to get their heads around.

I don't think it has to be... but it seems like it might be a pink thought 
amidst a blue field... ;-) Ie no-one is interested in this stuff - we're all 
too busy reinventing the next car that has four wheels.

The computer system must be designed in such a way as to realise that it is 
indeed a smaller part of a much larger system that is under constant change, 
and therefore can adapt to this change (for instance, I have three computers, 
and they should work in concert to achieve my goals with me... sometimes I 
would like to lend my computers to other people temporarily to allow them to 
use them, and this is part of my goals, etc. etc. as the contexts shift, so 
does my computer usage, yet all the while the computers are obeying their prime 
directive, which is to help ME to achieve my goals - inclusive of all these 
other goals such as helping other people etc...).

Generally it's been "too big" for most people to take on this kind of stuff... 
but there *has* to be a simple approach that can tackle this... it's absolutely 
needed so we can get on with the bigger picture of achieving our goals rather 
than using computers. (ie computer use is a means to an end, not an end in 
itself).

Julian.

> I propose: "using" a computer means inputting some data for it to interpret. 
> One kind of data are "incomplete instructions" meant to be mixed with further 
> input at a later point: those are programs. As we move forward, we'll keep 
> finding better ways of structuring these "incomplete" instructions in a way 
> that makes them both "easy" to complete (the way things are "easy" to use), 
> and also are general in their purpose (what we intuit now as "programming").
> 
> To reiterate - I'm not saying there's no difference between "programming" and 
> "using", I'm saying the difference is a temporary artifact unique to our 
> present state of affairs.
> _______________________________________________
> fonc mailing list
> fonc@vpri.org
> http://vpri.org/mailman/listinfo/fonc

_______________________________________________
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc

Reply via email to