Home About Subscribe Search Member Area

Humanist Discussion Group


< Back to Volume 33

Humanist Archives: April 17, 2020, 7:25 a.m. Humanist 33.773 - the 'secret' of a programming language

                  Humanist Discussion Group, Vol. 33, No. 773.
            Department of Digital Humanities, King's College London
                   Hosted by King's Digital Lab
                       www.dhhumanist.org
                Submit to: humanist@dhhumanist.org


    [1]    From: Henry Schaffer 
           Subject: Re: [Humanist] 33.771: the 'secret' of a programming language? (92)

    [2]    From: Robert Delius Royar 
           Subject: Re: [Humanist] 33.771: the 'secret' of a programming language? (14)

    [3]    From: Robert Amsler 
           Subject: Re: [Humanist] 33.771: the 'secret' of a programming language? (71)

    [4]    From: Bill Benzon 
           Subject: Re: [Humanist] 33.771: the 'secret' of a programming language? (30)


--[1]------------------------------------------------------------------------
        Date: 2020-04-17 01:27:37+00:00
        From: Henry Schaffer 
        Subject: Re: [Humanist] 33.771: the 'secret' of a programming language?

Willard,

  I'm glad you mentioned Perl which has a reputation for being hard to
decipher - even if the code has comments. That's partly based on the many
complications in the language which make it quite powerful so that a lot
can be done in very few lines of code - and partly based on the desire of
many Perl programmes to just get the job done without bothering with
niceties such as declaring variable names (which can represent an integer,
float or string at any given time.)

  The messy situation has been recognized by the Obfuscated Perl contest
which for several years IIRC awarded the hardest to understand single Perl
statement. This type of contest is not unique to the Perl world, cf. the
Obfuscated C contest. And IIRC there were simpler contests for APL.

  This might be relevant to your post.

--henry
P.S. I've programmed in many computer languages, but today it's essentially
all Perl.

On Thu, Apr 16, 2020 at 4:35 AM Humanist  wrote:

>                   Humanist Discussion Group, Vol. 33, No. 771.
>             Department of Digital Humanities, King's College London
>                    Hosted by King's Digital Lab
>                        www.dhhumanist.org
>                 Submit to: humanist@dhhumanist.org
>
>
>
>
>         Date: 2020-04-15 10:44:09+00:00
>         From: Willard McCarty 
>         Subject: the 'secret' of a programming language
>
> In "Linguistic anthropology in the age of language automata", Paul
> Kockelman quotes from Edward Sapir's "The grammarian and his language":
>
> > All languages are set to do all the symbolic and expressive work that
> > language is good for, either actually or potentially. The formal
> > technique of this work is the 'secret' of each language. [p. 155]
>
> Sapir's 'secret' is Kockelman's target, that is, in Kockelman's terms, a
> language's orientation to a referent (sense) and associated feeling of
> orientation (sensibility). He then applies this idea to programming
> languages:
>
> > In particular, while any program written in any programming language
> > may be written in any other programming language ... it is likely
> > that different programming languages (not to mention interfaces,
> > architectures, and so forth) have different “secrets” – different
> > symmetries built into them (that make certain problems easier or
> > harder to solve), and different sensibilities disciplined by them (as
> > embodied in those who habitually program in them). [p. 720]
>
> Those here with a background in linguistics will recognise the principle
> of linguistic relativity best known as the Sapir-Whorf hypothesis, i.e.
> that the structure of a language shapes the cognition of its native
> speakers.
>
> I would be most grateful for pointers to discussions relevant to
> programming languages and indeed for discussions here. It is easy to see
> in a vague sort of way that the 'secret' of Fortran would be very
> different from that of, say, Perl or R, and both of these from those of,
> say, ALGOL or LISP. But can we (or has anyone to your knowledge) gone
> further, assembled evidence, brought specific differences into focus
> and drawn widely applicable conclusions?
>
>
> Yours,
> WM
> -----
>
> Paul Kockelman, "Linguistic anthropology in the age of language
> automata". In N. J. Enflield, Paul Kockelman and Jack Sidnell, eds. The
> Cambridge Handbook of Linguistic Anthropology. 708-33. Cambridge:
> Cambridge University Press, 2014.
>
> Edward Sapir, "The grammarian and his language". In Selected Writings of
> Edward Sapir in Language, Culture and Personality. Ed. David G.
> Mandelbaum. 150-66. Berkeley: University of California Press, 1949.
>
>
>
> --
> Willard McCarty (www.mccarty.org.uk/),
> Professor emeritus, Department of Digital Humanities, King's College
> London; Editor, Interdisciplinary Science Reviews
> (www.tandfonline.com/loi/yisr20) and Humanist (www.dhhumanist.org)



--[2]------------------------------------------------------------------------
        Date: 2020-04-16 15:37:11+00:00
        From: Robert Delius Royar 
        Subject: Re: [Humanist] 33.771: the 'secret' of a programming language?

Apropo to Kockelman's statement may be the survival of COBOL in government
and other institutional environments in that there may be better languages
out there, but the translation from COBOL into them is far more costly than
might be anticipated by the idea that anything programmed in one dialect
may be recast into another:
https://onezero.medium.com/our-government-runs-on-a-60-year-old-coding-language-
and-now-its-falling-apart-61ec0bc8e121



--
               Robert Delius Royar
 Caught in the net since 1985


--[3]------------------------------------------------------------------------
        Date: 2020-04-16 15:02:56+00:00
        From: Robert Amsler 
        Subject: Re: [Humanist] 33.771: the 'secret' of a programming language?

Couple points... I do not believe "any program written in any programming
language may be written in any other programming language" is true.  
It's equivalent to saying "any text written in any human language may be 
written in any other human language". From the little I know of human 
languages, vocabulary gaps alone would make some texts untranslatable; 
and the way a language deals with phenomena such as causality, agency 
and time make "any two languages" very difficult to "translate".

It's been a long time since I learned to write computer programs 55 years
ago, and 40 years since I learned anything beyond my graduate education
about programming... so some of what follows may be outdated, but here goes.

Until the advent of parallel processing in computers, it may have been true
that any programming language could have a version of it implemented to run
on any suitably large computer. That is, that the machine language of all
computers could be used to write a program for that computer that would
read and execute any programming language's statements and execute them.
Once parallel computing came along, I suspect that executing a program
written in a parallel programming language could only be "simulated" on a
sequential machine, by performing the steps that would have been done in
parallel hardware one at a time and then combining the results when all are
done. With parallel computing, timing is everything :-)

Programming languages can be divided into many categories. There are
languages that are "compiled" and languages that are "interpreted". The
"interpreted" languages can rewrite their programs while they are running.
That is, they can write new statements and entire programs for their
existing program to transfer control to and continue executing that code.
An interpreted program literally doesn't have to know what it will do next
before it starts running. Compiled programs use a "compiler" to complete an
analysis of the program they are to run, to allocate storage for it, to
check all its variables are known, etc. before they can finish creating the
"executable" version of their code to "run". Interpreters, that read
interpreted programming language, do some rudimentary checking, but don't
require everything to be syntactically correct statements of code before
they begin execution. They stop in mid-execution when something is amiss.

LISP and SNOBOL are interpretive languages. LISP has a compiler that can be
used to create an executable program from its code, which is done to
increase the speed of execution, but it can be interpreted without that
step to perform the same task by reading and performing its code statement
by statement. LISP and SNOBOL can be translated into each other. It was in
fact a programming exercise given to graduate students to create an
interpreter in SNOBOL to run LISP programs.

Programming languages are created for a purpose. Unlike "natural languages"
which arose as a means of communication between people sharing a culture
and a world view, programming languages were created to make actionable
something that human reasoning could perform.

FORTRAN was named after its reason to exist, namely "FORmula TRANslation".
It was the embodiment of executing algebraic equations.
COBOL, was created to be a COmmon Business-Oriented Language, to provide an
easy to use language in which to perform business data processing tasks.

Some programming languages were created specifically to teach programming
to students. BASIC  (Beginner's All-purpose Symbolic Instruction Code)  was
created for teaching programming. LOGO, Smalltalk and Pascal were likewise
created to "teach" programming rather than be used. Pascal escaped into the
real world when so many students graduated only knowing how to write
programs in Pascal and employers wanted to hire more programmers than knew
the specific languages they wanted. Some programming languages were
invented to speed up the human task of writing programs more simply. The
so-called "higher-level programming  languages" were created to make
programming "higher-level tasks" simpler.

There are fascinating diagrams of Programming Language Family Trees on the
web.

https://www.bing.com/images/search?q=Programming+Language+Family+Tree&FORM=IDINTS


--[4]------------------------------------------------------------------------
        Date: 2020-04-16 12:26:35+00:00
        From: Bill Benzon 
        Subject: Re: [Humanist] 33.771: the 'secret' of a programming language?

It's not clear just what you're looking for, Willard, but it's well-known
that programming languages have their strengths and weaknesses more or less
baked in and that it's important to choose the a language suited to your
current purpose. New languages are created so they are better at this or that
than existing languages.

I'd imagine this kind of knowledge is available all over the place, from lore,
to textbooks and the specialized literature. When you run a search on
"capabilities of programming languages" all sorts of things pop up.

Beyond this, what are you looking for? Something that leads from the "inner
core" of how a language is constructed and implemented to typical
applications?

Bill B


Bill Benzon
bbenzon@mindspring.com

917-717-9841

http://new-savanna.blogspot.com/ 
http://www.facebook.com/bill.benzon 
http://www.flickr.com/photos/stc4blues/

https://independent.academia.edu/BillBenzon

http://www.bergenarches.com 



_______________________________________________
Unsubscribe at: http://dhhumanist.org/Restricted
List posts to: humanist@dhhumanist.org
List info and archives at at: http://dhhumanist.org
Listmember interface at: http://dhhumanist.org/Restricted/
Subscribe at: http://dhhumanist.org/membership_form.php


Editor: Willard McCarty (King's College London, U.K.; Western Sydney University, Australia)
Software designer: Malgosia Askanas (Mind-Crafts)

This site is maintained under a service level agreement by King's Digital Lab.