Tikalon Header Blog Logo

ALGOL and Algol

January 3, 2022

I was introduced to computers by watching 1950s science fiction films. While the computers in these films imitated some aspects of the mainframe computers of their time, such as room-filling size and flashing lights, their cinematic depiction was far in advance of actual computers. They had fast processing speed and data memory, and they did things such as natural language processing that were only achieved more than half a century later.

I was interested in computers in elementary school and in high school, but my interest was immediately dampened as I started college when I saw how computing was actually done. Students in computer programming courses were cursed with carrying huge boxes of punched cards that they passed through a slot into a walled garden of computing, subsequently retrieving their boxes with a printout of program errors. These unlucky students then needed to extract the errant cards from their deck, punch replacement cards, and insert these new cards into the proper places. This entire process was distasteful, so I never took a computer course.

Eventually, I had access to a time-share terminal at which I learned Fortran on my own. The computer system at my graduate school was an IBM System/360, eventually upgraded to an IBM System/370, and its time-share programming language was APL, which I also learned on my own. While the computer terminals in the science and engineering buildings were often fully-occupied, I found that the lone terminal in the anthropology building was always vacant; so, I did most of my computing there. Much later, scientific desktop computers became available; and, soon afterwards, personal computers. These quickly expanded my language repertoire to include Pascal, Forth, and Visual Basic.

APL keyboard

A keyboard that only a mathematician would love. This is the layout of the IBM APL keyboard. APL was principally created by computer scientist, Kenneth E. Iverson (1920-2004). I labored over such a keyboard for many hours as a graduate student, mostly coding thermodynamic calculations to create theoretical phase diagrams. (Via Wikimedia Commons.)


One principal programming language of the early days of computing was ALGOL (short for Algorithmic Language), a language deigned for scientists just as Fortran was designed for engineers. ALGOL introduced code blocks tagged with the begin and end keyword pairs, and these were directly adopted by Pascal in 1970, and as the curly brace pairs in the C programming language. Niklaus Wirth (b. 1934), the originator of Pascal, apparently created Pascal in a protest of the complexity of the 1968 version of ALGOL.[1] Compilation of ALGOL and its derivatives was facilitated by its embrace of the formal grammar known as Backus-Naur form.

Dennis Ritchie (1941-2011), co-creator of the C programming language, compared BLISS, Pascal, Algol 68, and C at the second ACM History of Programming Languages conference (Cambridge, Massachusetts, 1993), and spoke about the demise of ALGOL,
"In some ways, Algol 68 is the most elegant of the languages I've been discussing. I think in some ways, it's even the most influential, although as a language in itself, it has nearly gone away."[1]
ALGOL lives on in Linux as a version of ALGOL 68 called Algol 68 Genie.[2-3]

Dennis Ritchie

Left, Wikimedia Commons image by Denise Panyik-Dale of Dennis Ritchie at the Japan Prize ceremony, May, 2011. Right, a scan of my first edition (1978) of The C Programming Language by Ritchie and Brian W. Kernighan (b. 1942).


It's not surprising that a search for ALGOL gives first results for another Algol, Algol, the second brightest star (β-Persei) in the constellation, Perseus. The brightest star of Perseus, α-Persei, also known by the Arabic name, Mirfak (elbow), might be brighter, but it's not as interesting. Just consider that Algol was historically called the Demon Star and the Gorgon of Perseus.

Constellation Perseus

Algol in the constellation, Perseus.

All the constellations adjacent to Perseus should be familiar to amateur astronomers, except for Camelopardalis. Camelopardalis is a faint constellation of the northern celestial hemisphere that represents a giraffe.

(Modified Wikimedia Commons image. Click for larger image.)


Algol is not a single star, but a three-star system dominated by a hot luminous primary. A cooler and fainter star regularly passes in front of the more luminous star, and this causes a partial eclipse that decrease Algol's magnitude from 2.1 to 3.4 every 2.86 days over an approximate 10-hour period. Algol was the first such eclipsing binary star discovered, and similar systems are known as Algol variables.

British amateur astronomer, John Goodricke (1764-1786), was awarded the Copley Medal for his 1783 observations of the periodic variability of Algol, but it wasn't until 1881 that American astronomer, Edward Pickering (1846-1919), elucidated the eclipsing binary nature of Algol. The eclipsing binary stars are extremely close, just 0.062 astronomical units (AU) from each other. As a reference, the planet Mercury orbits our Sun between 0.307499 and 0.466697 AU. The third star is an average distance of 2.69 AU from the eclipsing pair.

Astronomers, John Goodricke (1764-1786) and Edward Charles Pickering (1846-1919)

Astronomers, John Goodricke (1764-1786) and Edward Pickering (1846-1919). (Left image, a 1785 portrait by James Scouler (1740–1812). Right image, a 1911 portrait by Sarah Gooll Putnam (1851–1912) in the Harvard University Portrait Collection. Both images from Wikimedia Commons. Click for larger image.)


Lauri Jetsu, an astronomer at the University of Helsinki (Helsinki, Finland), has recently published a statistical analysis of 236 years of Algol observations.[4-5] The data reveal tentative indications of at least five companions having periods between 1.863 and 219.0 yr, although one of these might be the affect of a known companion star.[4] The data give an excellent prediction for the last 9.2 yr of the dataset (see figure).[4] Jetsu has had a persistent interest in Algol, having co-authored two other papers about this star.[6-7]

Theory vs observations for the last 15 years of Algol variability

Theory vs. observations for the last 15 years of Algol variability. The time axis is the number of days since November, 1782, and the data axis (O-C) is the difference between observation (O) and computed value (C). The red points on the upper curve are the observations, the green line is the prediction, and dotted green lines show the error limits of the prediction. The lower line is the deviation from prediction. (University of Helsinki image by Lauri Jetsu, also available here. Click for larger image.)


The data analysis was performed using the discrete chi-square method for observations from November, 1782, to October, 2018.[5] The discrete chi-square method is designed for detecting regular periodic signals, such as these orbital motions, superimposed on an irregular aperiodic trend.[5]

References:

  1. Chris Hermansen, "Exploring Algol 68 in the 21st century," OpenSource.com, June 3, 2020.
  2. Marcel van der Veer, The Algol 68 Genie project.
  3. Open source Algol 68 implementations, Sourceforge.net.
  4. Lauri Jetsu, "Say Hello to Algol's New Companion Candidates," The Astrophysical Journal, vol. 920, no. 2 (October 22, 2021), article no. 137, https://doi.org/10.3847/1538-4357/ac1351.
  5. Say hello to Algol's new companion candidates, University of Helsinki Press Release, November 4, 2021. Also available here.
  6. L. Jetsu, S. Porceddu, J. Lyytinen, P. Kajatkari, J. Lehtinen, T. Markkanen, and J. Toivari-Viitala, "Did the Ancient Egyptians Record the Period of the Eclipsing Binary Algol - The Raging One?" The Astrophysical Journal, vol. 773, no. 1 (July 18, 2012), https://doi.org/10.1088/0004-637X/773/1/1.
  7. Lauri Jetsu and Sebastian Porceddu, "Shifting Milestones of Natural Sciences: The Ancient Egyptian Discovery of Algol's Period Confirmed," PLOS, December 17, 2015, https://doi.org/10.1371/journal.pone.0144140.

Linked Keywords: Computer; 1950s; science fiction; film; imitate; mainframe computer; room-filling; flashing; electric light; cinematic; clock rate; processing speed; computer memory; data memory<; natural language processing; century; elementary school; high school; dampen; undergraduate education; student; computer programming; course (education); curse; cursed; box; punched card; closed platform; walled garden of computing; hard copy; printout; syntax error; program error; luck; unlucky; time-sharing; computer terminal; Fortran; graduate school; IBM System/360; IBM System/370; programming language; APL (programming language); science; engineering; building; anthropology; desktop computer; personal computer; repertoire; Pascal (programming language); Forth (programming language); Visual Basic (classic); computer keyboard; mathematician; love; IBM; computer scientist; Kenneth E. Iverson (1920-2004); postgraduate education; graduate student; coding; thermodynamics; thermodynamic; calculation; theory; theoretical; phase diagram; Wikimedia Commons; ALGOL; block (programming); code block; keyword (linguistics); curly bracket; curly brace; C programming language; Niklaus Wirth (b. 1934); compiler; Compilation; formal grammar; Backus-Naur form; Dennis Ritchie (1941-2011); BLISS; History of Programming Languages; second ACM History of Programming Languages conference (Cambridge, Massachusetts, 1993); Linux; Algol 68 Genie; Denise Panyik-Dale; Japan Prize; ceremony; image scanner; scan; first edition (book); The C Programming Language; Brian W. Kernighan (b. 1942); Web search engine; Algol; apparent magnitude; bright; star; constellation; Perseus (constellation)">Perseus; α-Persei; Arabic; elbow; history; historical; Demon; Gorgon; amateur astronomy; amateur astronomer; Camelopardalis; northern celestial hemisphere; giraffe; luminous flux; partial eclipse; eclipsing binary star; Algol variable; Great Britain; British; John Goodricke (1764-1786); Copley Medal; America; American; astronomer; Edward Pickering (1846-1919); astronomical unit; planet; Mercury (planet); orbit; Sun; James Scouler (1740–1812); Sarah Gooll Putnam (1851–1912); Lauri Jetsu; University of Helsinki (Helsinki, Finland); scientific literature; publish; statistics; statistical analysis; observational astronomy; observation; data; prediction; dataset; scientific journal; paper; scientific theory; variable star; variability; Cartesian coordinate system; time axis; data axis; computation; computed; point (geometry); curve; line (geometry); standard deviation; error limit; discrete chi-square method; periodic function; aperiodic; trend.