Number of languages known [was Re: Python is readable] - somewhat OT

rusi rustompmody at gmail.com
Wed Apr 4 01:56:04 EDT 2012


On Apr 3, 11:42 pm, Nathan Rice <nathan.alexander.r... at gmail.com>
wrote:
> Lets start with some analogies.  In cooking, chefs use recipes to
> produce a meal; the recipe is not a tool.  In architecture, a builder
> uses a blueprint to produce a building; the blueprint is not a tool.
> In manufacturing, expensive machines use plans to produce physical
> goods; the plans are not the tool.
>
> You could say the compiler is a tool, or a development environment is
> a tool.  The programming language is a mechanism for communication.

Long personal note ahead.
tl;dr version: Computers are such a large shift for human civilization
that generally we dont get what that shift is about or towards.
------
Longer version
My mother often tells me (with some awe): You are so clever! You know
how to use computers! (!?!?)

I try to tell her that a computer is not a machine like a car is (she
is better with things like cars than most of her generation).  Its
physical analogy to a typewriter is surprisingly accurate.  In fact
its more like a pen than other machines and its civilizational
significance is larger than Gutenbergs press and is on par with the
'invention' (or should I say discovery?) of language as a fundamental
fact of what it means to be human.

[At this point or thereabouts my communication attempt breaks down
because I am trying to tell her of the huge significance of
programming...]

A pen can be used to write love-letter or a death-sentence, a text-
book of anatomy or a symphony.
An yet it would be a bizarre superman who could do all these.
Likewise (I vainly try to communicate with my mother!) that I cant
design machines (with autocad) or paint (with photoshop) or ...
probably 99% of the things that people use computers for.
And so saying that I 'know computers' is on par with saying that
because I know (how to use a pen to) fill up income tax forms, I
should also know how to (use a pen to) write Shakespearean sonnets.

There is a sense in which a pen is a 'universal device.'  To some
extent the layman can get this.
There is a larger sense in which the computer is a universal device
(aka universal turing machine).
In my experience, not just 'my mother's' but even PhDs in computer
science dont get what this signifies.

This sense can (somewhat?) be appreciated if we see that the pen is
entirely a declarative tool
The computer is declarative+imperative.
The person who writes the love-letter needs the postman to deliver it.
The judge may write the death-sentence. A hangman is needed to execute
it.
When it comes to computers, the same device can write the love-letter/
death-sentence as the one which mails/controls the electric chair.

Let me end with a quote from Dijkstra: http://www.smaldone.com.ar/documentos/ewd/EWD1036_pretty.html

In the long run I expect computing science to transcend its parent
disciplines, mathematics and logic, by effectively realizing a
significant part of Leibniz's Dream of providing symbolic calculation
as an alternative to human reasoning. (Please note the difference
between "mimicking" and "providing an alternative to": alternatives
are allowed to be better.)

Needless to say, this vision of what computing science is about is not
universally applauded. On the contrary, it has met widespread --and
sometimes even violent-- opposition from all sorts of directions. I
mention as examples

(0) the mathematical guild, which would rather continue to believe
that the Dream of Leibniz is an unrealistic illusion

(1) the business community, which, having been sold to the idea that
computers would make life easier, is mentally unprepared to accept
that they only solve the easier problems at the price of creating much
harder one

(2) the subculture of the compulsive programmer, whose ethics
prescribe that one silly idea and a month of frantic coding should
suffice to make him a life-long millionaire

(3) computer engineering, which would rather continue to act as if it
is all only a matter of higher bit rates and more flops per second

(4) the military, who are now totally absorbed in the business of
using computers to mutate billion-dollar budgets into the illusion of
automatic safety

(5) all soft sciences for which computing now acts as some sort of
interdisciplinary haven

(6) the educational business that feels that, if it has to teach
formal mathematics to CS students, it may as well close its schools.



More information about the Python-list mailing list