
The Origins of the Linguistic Conception of Programming (2014) [pdf] - mpweiher
https://pure.uva.nl/ws/files/2419813/154677_Alberts_Nofre_Priestly_Technol_Culture_55_1_2014.pdf
======
pron
In 1947, Alan Turing said the following in a lecture to the London
Mathematical Society[1]

> I expect that digital computing machines will eventually stimulate a
> considerable interest in symbolic logic and mathematical philosophy. The
> language in which one communicates with these machines, i.e. the language of
> instruction tables, forms a sort of symbolic logic. The machine interprets
> whatever it is told in a quite definite manner without any sense of humour
> or sense of proportion. Unless in communicating with it one says exactly
> what one means, trouble is bound to result. Actually one could communicate
> with these machines in any language provided it was an exact language, i.e.
> in principle one should be able to communicate in any symbolic logic,
> provided that the machine were given instruction tables which would enable
> it to interpret that logical system. This would mean that there will be much
> more practical scope for logical systems than there has been in the past.
> Some attempts will probably be made to get the machine to do actual
> manipulations of mathematical formulae. To do so will require the
> development of a special logical system for the purpose. This system should
> resemble normal mathematical procedure closely, but at the same time should
> be as unambiguous as possible. As regards mathematical philosophy, since the
> machines will be doing more and more mathematics themselves, the centre of
> gravity of the human interest will be driven further and further into
> philosophical questions of what can in principle be done etc.

He added (not related to the topic of language per se, but still amusing):

> It will be seen that the possibilities as to what one may do are immense.
> One of our difficulties will be the maintainence of an appropriate
> discipline, so that we do not lose track of what we are doing. We shall need
> a number of efficient librarian types to keep us in order.

[1]: [http://www.vordenker.de/downloads/turing-
vorlesung.pdf](http://www.vordenker.de/downloads/turing-vorlesung.pdf)

------
anigbrowl
Extremely interesting. I really dislike writing code because you can't get any
sense of the structure by looking at it - it's like reading a description of a
painting in book form. It's fascinating tos ee the historical context that led
to that becoming a dominant paradigm.

~~~
_mhr_
How would you prefer to see computers programmed, besides code?

~~~
anigbrowl
Personally I like diagrammatic programming, most often seen for signal
processing workflows in VFX or audio synthesis. My favorite platform from a
design pov is a robotics IDE now called Flowstone. It's based around ruby
iirc; in an earlier version you could also write modules in C or assembler.
[http://www.dsprobotics.com/flowstone.html](http://www.dsprobotics.com/flowstone.html)

There are upsides an downsides to this paradigm of course; one downside is
that it's not obvious how to read control flows at first. On the upside,
having all your functions available in modular form makes if far easier to
explore and program using high-level concepts. What I hate about conventional
programming is all the _typing_ and having to remember all the function
parameters, calling conventions etc., I want the computer to do that for me.
Writing code in an IDE is about as enticing as making my own Lego bricks from
scratch.

~~~
joe_the_user
Yeah,

I would agree that diagrammatic programming is a process that inherently
_seems_ like it would solve the opaqueness of programming.

But I'd say this paradigm is just as much inherently limited and not useful
for "serious" work. This is because the multitude of "parts" that a computer
program has exist in too large a space to be visually represented and because
the details don't really follow our intuits for two or three dimensional
objects.

~~~
posterboy
I wouldn't know if URI diagrams are (still?) used heavily in industry, but
they are taught. Those work architectural, or generative but limited.

------
joe_the_user
This looks like a marvelous inquiry with a lot of "big picture" implications.

"All of these approaches, however, take the linguistic nature of computer
programming for granted. Indeed, it is surprising how rarely language appears
in the list of relevant programming metaphors, despite periodic attempts to
envisage program code as a form of literary expression. It is as if we have
become so accustomed to think of programming languages as languages that we
forget that this analogy has its own history."

And let's not forget that the idea of "a language" also has it's history, with
Chomsky shaping the concepts of linguistics using various mathematical tools
during the period that the idea of "a computer language" arose. A given
computer language can more easily be located on the Chomsky hierarchy than a
human-spoken-language, just for example.

