views:

310

answers:

5

I know that Algol language is super-uber-extremely important as a theoretical language, and it also had a variety of implementations as per Wikipedia.

However, what's unclear is, was Algol (pure Algol, not any of its derivatives like Simula) ever actually used for any "real" programming in any way?

By "real", I mean used for several good-sized projects other than programming language/CS research, or by a significant number of developers (say, > 1000).

Personally, the only Algol programming I have ever done was on paper, thus the curiosity.

+3  A: 

When I started programming, Algol was the only compiler available. Yes, it was mainstream till we got a Fortran compiler.

ZZ Coder
+1 Hard core :)
ongle
+2  A: 

However, what's unclear is, was Algol (pure Algol, not any of its derivatives like Simula) ever actually used for any "real" programming in any way?

Please, avoid the term "real" programming. "Real" - as opposed to what ? Imaginative ?

By "real", I mean used for several good-sized projects other than programming language/CS research, or by a significant number of developers (say, > 1000).

Yes. It was used for a certain number of projects on which worked a certain number of developers.

Only, what is usually misinterpreted often today is this; in those days computers weren't exactly a household commodity. Hell, they weren't that 30 years ago, less alone 60.
Programming was done in computer centres which were either in goverment ownership (military, academic, institutes of various kinds) or in private enterprises (large companies). And programming wasn't a profession - it was something which engineers, mathematicians, scientiscs and the like used to do when their work was done on paper ... or they had specialized operators which did it for them. Often women, who may or may have not had a scientific background in that particular field - they were "language translators", in lack of a better term (and my bad english).

Programming theories and research was at its beginnings ... vendors being few (and naturally uncooperative to each other) ... each of them used their own extensions, and often programs written for one didn't work well with the other vendor's systems.
There wasn't a "right way" to do something ... you had that and that, and you used whatever catch you could figure to work around your problem.

But, I've wandered off. Let me get back to the number of people. This also goes for several other languages; fortran and cobol, for example. People say, "very few use it". That's simply not true. What is true is that a small percentage of people uses it today, but a larger percent of people used to use it.

As I said, in those days only the sci. and eng. community used to do it. And their number was relatively small, compared to the total population. Nowadays, everybody uses computers, but the absolute number of engineers, mathematicians and the like, is pretty much the same. So it seems that nobody uses those languages anymore ... while in reality, for certain specialized languages (well, nowadays this goes for fortran and cobol, more than algol) the number of users is pretty much constant.

Personally, the only Algol programming I have ever done was on paper, thus the curiosity.

I know I didn't answer your question, but just wanted to clear this. Algol was a little "beofre my time".

ldigas
+4  A: 

Algol was the major programming language for the Burroughs B5000.

themis
+1: Here's a quote from the article: "No Assembly language or assembler; all system software written in an extended variety of ALGOL".
Jim Ferrans
+2  A: 

Algol58 seems to have been the most successful in terms of important applications.

From Wikipedia:

JOVIAL is an acronym for "Jules Own Version of the International Algorithmic Language." The "International Algorithmic Language" was a name originally proposed for ALGOL 58. It was developed to compose software for the electronics of military aircraft by Jules Schwartz in 1959.

Then:

Notable systems using JOVIAL include the Milstar Communications Satellite, Advanced Cruise Missile, B-52, B-1B, B-2 bombers, C-130, C-141, and C-17 transport aircraft, F-111, F-15, F-16 (prior to Block 50), and F-117 fighter aircraft, LANTIRN, U-2 aircraft, E-3 Sentry AWACS aircraft, Navy Aegis cruisers, Army Multiple Launch Rocket System (MLRS), Army UH-60 Black Hawk helicopters, F100, F117, and F119 jet engines, the NORAD air defense & control system (Hughes HME-5118ME system) and RL-10 rocket engines. Airborne radar systems with embedded JOVIAL software include the APG-70, APG-71 and APG-73

ALGOL 68 was used in part of DRA for the same purpose. cf. Wikipedia:

The '''Defence Research Agency''' (normally known as '''DRA'''), was an executive agency of the UK Ministry of Defence (MOD) from April 1991 until April 1995. At the time the DRA was Britain's largest science and technology organisation.

DRA's Algol68 compiler was finally open-sourced in April 1999 and is now available for linux for download from sourceforge. (However an interpreter for "Algol68g" is easier to use).

ICL's Algol68 was/is S3 - It was developed by the UK company International Computers Limited (ICL) for its 2900 Series mainframes. It is a system programming language based on ALGOL 68 but with data types and operators aligned to those offered by the 2900 Series. It was the implementation language of the operating system VME.

There are (at least) two other British operating systems - Flex and Cambridge_CAP_computer - written in Algol68 variants. And also 1 Soviet OS: Эльбрус-1 (Elbrus-1), but I have yet to find any of their source code. (If anyone can find and distribute to this source code please let me know)

BTW: I believe that VME is still running - in production - as a Linux/Unixware guest VM. Mostly at Commonwealth of Nations Custom/Immigration services.

Also over the same period the USSR was using Algol68, c.f. history link. Algol68 is used in Russian telephone exchanges. And Algol58 was used in the Russian "Buran/Буран" Space Shuttle landing system.

ALGOL68 was internationalized in 1968. I suspect there are other Algol projects in other countries. esp in German, in Dutch Japanese and Chinese but I have no details.

If you want to actually tryout Algol68 and/or contribute your code, check out Rosettacode's ALGOL 68 repository, then as a class project try one of the "Tasks not implemented".

NevilleDNZ
Algol 68 was practically a whole new language; not as relevant to the question as I take it. (And yes, Algol 60 did get used.)
Darius Bacon
+4  A: 

To follow up on themis' answer, the entire Burroughs "large system" family (5000, 5500, 5700, 6500, 6700...) was really designed to run Algol well. The operating system, compilers, and major system utilities were written in Algol; if that's not "real" programming, what is?

To be precise, over the life of the product family Burroughs extended Algol into a superset called ESPOL. When Burroughs brought out the "small systems" family (1700, 1800, 1900 series), they defined another Algol-like language called SDL (Systems Development Language) in which the operating software of that line was written. Access to SDL was restricted for security reasons. A variant of SDL was subsequently created with a few of the "priveleged" features removed. The resulting language, called UPL (User Programming Language), was available for customer use.

Some of us still remember when the phrase "Algol-like language" was used to describe any programming language with block-oriented control structures and variable scoping. Widely-known examples of Algol-like languages included PL/I, Pascal, and (...wait for it...) C.

joel.neely
Joel - good point in the last paragraph. I was aware of it and sort of included it udner the vague "super-uber-extremely important as a theoretical language", but good point to spell out.
DVK