Programming languages have keywords in English

51 views
Skip to first unread message

Ben du Boulay

unread,
Apr 16, 2019, 7:54:34 AM4/16/19
to ppig-d...@googlegroups.com
Dear All, I have been asked by a colleague:

"Over the past few years I've been thinking about the fact that programming languages are written using English keywords and built-in functions, and how learning computational thinking (beyond block-based apps) is generally coupled with learning English.

Do you know anyone working on this topic? Any pointers would be greatly appreciated.”

Can anyone offer pointers?

Benedict du Boulay (Emeritus Professor)
University of Sussex, UK.
Visiting Professor, London Knowledge Lab, UCL
Secretary & Treasurer of the International Society for Artificial Intelligence in Education
Associate Editor of the International Journal of Artificial Intelligence in Education


Brett Becker

unread,
Apr 16, 2019, 10:06:30 AM4/16/19
to ppig-d...@googlegroups.com
Hi Ben,

Below are a few authors and links to papers related to this area.

I am very interested in this area and have been collecting work on it for some time. I've also had some discussions on this with Scott and Philip mentioned below. I teach Introductory Programming to large groups of non-native English speakers in Beijing, and I also have years of experience teaching the same to South American students. I have had interesting discussions with them at times, including topics such as: When you discuss programming with your colleagues do you use English, "Programming Language language", or your native language?

I've been wanting to do some work in this area for a while. If anyone would like to look into a collaboration with me on this, feel free to contact me.

Scott Portnoff has been doing work for some time on how learning a programming language is like second language acquisition, and if second language acquisition principles can be applied to learning a programming language. Here are some recent articles by him on this topic:
He also completed a master's thesis on the topic (attached).

Yogendra Pal and Sridhar Iyer have worked along these lines:
Josh Tenenberg and Yifat Ben-David Kolikant had an ICER paper that won the "John Henry Award" that has some insight into this issue:

--
Dr Brett A. Becker, Assistant Professor, School of Computer Science, University College Dublin

Steering Committee Chair, ACM Global Computing Education Conference (CompEd): Chengdu, China, May17-19, 2019 @ACM_CompEd
portnoff2016case_thesis.pdf

Andrew Begel

unread,
Apr 16, 2019, 2:12:47 PM4/16/19
to Brett Becker, ppig-d...@googlegroups.com

There are a few older PPIG papers about the value of the particular English words used as identifiers in programming.

 

Cognitive Perspectives on the Role of Naming in Computer Programs by Ben Liblit; Andrew Begel; Eve Sweetser. http://ppig.org/library/paper/cognitive-perspectives-role-naming-computer-programs

Metaphors we Program By: Space, Action and Society in Java, by Alan F. Blackwell. http://ppig.org/library/paper/metaphors-we-program-space-action-and-society-java

 

The follow-on papers turn mainly into a discussion of naming conventions: https://www.semanticscholar.org/paper/Cognitive-Perspectives-on-the-Role-of-Naming-in-Liblit-Begel/2c3b04b88498477b523a890e7fec01874739c8d7#citing-papers

 

 

There’s a nice, recently published review article about naturalistic programming, or the idea of using more natural language-like constructs to do programming. Some of these are more amenable to translation and proper functioning in other natural languages than many.

 

Oscar Pulido-Prieto and Ulises Juárez-Martínez. 2017. A Survey of Naturalistic Programming Technologies. ACM Comput. Surv. 50, 5, Article 70 (September 2017), 35 pages. DOI: https://doi.org/10.1145/3109481

 

The review article also covers programming by voice, which I worked on in grad school. I found that to help non-native English speakers speak Java code out loud, I had to support alternate grammatical formulations of some phrases, (e.g. foo[i]++ vs. foo[i++] is distinguished by native English speakers by changing their prosody (pausing), but non-native speakers rephrase the two expressions using different words).

 

Andrew Begel and Susan L. Graham. 2005. Spoken programs. In Proceedings of the 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VLHCC’05). IEEE Computer Society, Washington, DC, 99–106. DOI: http://dx.doi.org/ 10.1109/VLHCC.2005.58

Andrew Begel and Susan L. Graham. 2006a. An assessment of a speech-based programming environment. In Proceedings of the Visual Languages and Human-Centric Computing (VLHCC’06). IEEE Computer Society, Washington, DC, 116–120. DOI: http://dx.doi.org/10.1109/VLHCC.2006.9

 

 

Andrew Begel

--
You received this message because you are subscribed to the Google Groups "PPIG Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ppig-discuss...@googlegroups.com.
To post to this group, send email to ppig-d...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Raoul Duke

unread,
Apr 16, 2019, 3:16:35 PM4/16/19
to ppig-d...@googlegroups.com

Richard O'Keefe

unread,
Apr 16, 2019, 7:31:00 PM4/16/19
to Ben du Boulay, ppig-d...@googlegroups.com
The Wikipedia page
may be useful.
might be useful for experiments.

More of a sociology of programming question: why do the localised versions of
programming languages tend to die out?  Why did Apple drop the localisation
aspect of AppleScript?

--
You received this message because you are subscribed to the Google Groups "PPIG Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ppig-discuss...@googlegroups.com.
To post to this group, send an email to ppig-d...@googlegroups.com.

Mark Elsom-Cook

unread,
Jan 12, 2020, 11:18:33 PM1/12/20
to PPIG Discuss
One of my favourites. In Hypercard/Hypertalk  (a long time ago, now I think about it) was that you could write easy statements like 'wait 3 seconds', but 'wait 1 second' was an error. You had to say 'wait 1 seconds'. Looks like English, but...

I also remember on the Apple Lisa (which looked like a Mac) - you could drag things to the trash can and then it said "deleting file <xxx> on scsi devicIe X123345". Breaks the metaphor immediately.

I also question what 'English' means. Most people learn English as as second language, but actual English people have to use American English e.g. color, program etc. without support.

If we accept that maths is a fundamental and international language, then programs are just a way of expressing maths.

I think the harder problem is learning what these words mean when used by different organisations (e.g.microsoft vs. google). The programming language is pretty much irrelevant, but what you call library functions is a significant issue.

 Just a personal perspective.

Reply all
Reply to author
Forward
0 new messages