News: 1741863614

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

GCC 15 is close: COBOL and Itanium are in, but ALGOL is out

(2025/03/13)


Version 15 of the GNU Compiler Collection is getting close to release, and as it does, some changes are not going to make it.

The latest [1]status report isn't hugely informative, but says that it's "open for regression and documentation fixes only". The report shows there are just 17 priority-1 bugs left.

One major new feature was merged just last week: a COBOL front end. This has been in preparation for quite a while – we [2]looked at it three years ago . Three large patches were merged last Thursday: the [3]COBOL front end , the [4]libcobol standard library , and the [5]accompanying documentation .

[6]

We confess that we haven't counted, but [7]according to Phoronix this is a whopping 134,000 lines of code. The new compiler is called gCobol and it's a true native compiler: in other words, it takes COBOL source code and emits binary executables. You shouldn't confuse it with another GNU project, the much older [8]GnuCOBOL . GnuCOBOL – [9]formerly called OpenCOBOL – is now nearly 25 years old, but it is not a true compiler: it translates COBOL source code into C source code, which you then compile with GCC or Microsoft Visual Studio C.

[10]

[11]

Aside from the differences in how they generate code, the two also aim for compliance with different versions of the official COBOL industry standards. GnuCOBOL is over 99 percent compatible with [12]COBOL 2014 , a hefty 955-page document which [13]shipped on CD . The newer gCobol is aiming for compliance with the newer [14]COBOL 2023 standard, which is nearly a third longer at 1,229 pages. Both gCobol and GnuCOBOL are backed by the independent [15]Cobolworx consultancy.

So when GCC 15 is released, COBOL will join the list of supported languages – C, C++ and Objective-C are built in, while [16]Ada 95, Fortran 77, and Pascal are distributed separately .

[17]

What will not be joining that list is ALGOL-68. We [18]covered its possible inclusion at the BEGIN ning of 2025 but in the END it [19]didn't make it in :

The Steering Committee has decided not to merge the Algol 68 Front-End in master at this point, but is ok with us using a branch in gcc.git to develop and maintain the front-end as well as a mailing list in algol68@gcc.gnu.org. The mailing list has been already set up by the sourceware friends.

Development continues in its own separate branch, [20]hosted on Sourceware . Further info is [21]still on the GNU site .

There is, of course, one big non-technical difference between these two grizzled elders of the senior high-level language club. COBOL is still in widespread use, even though often by companies who would probably quite like to get rid of it. ALGOL, on the other hand, isn't. The [22]classic ALGOL-60 was once very widely used, and it influenced almost every other imperative programming language in the world today, from [23]Ada to [24]Zonnon . However the over-complex and largely unloved [25]ALGOL-68 , devised by the [26]late Adriaan van Wijngaarden , is the version that toppled Algol from its dominant position.

[27]Is the IT industry short on Cobolers? This could be your lucky day

[28]Mmm, what's that smell: Coffee or sweat? How to avoid a crap IT job

[29]The latest language in the GNU Compiler Collection: Algol-68

[30]How to spot a terrible tech boss within SECONDS

Today, we suspect that one of the main uses of Algol is in the [31]Unisys ClearPath line of mainframes. The [32]ClearPath MCP OS, first released in 1961 and still in active maintenance, is written in a dialect of Algol, and can still be programmed in Algol today. It runs on [33]ClearPath Forward Libra systems these days, which are based on Intel Xeon CPUs and run this 64-year-old (as opposed to 64-bit) OS via emulation on x86-64.

As for the other changes in GCC 15 that we have looked at, [34]Xeon Phi "Larabee" support is still going, but [35]Itanium support is not . There is still an out-of-tree development effort keeping the Linux kernel alive on Itanium, with regular updates on [36]EPIC-Linux.org . ®

Get our [37]Tech Resources



[1] https://gcc.gnu.org/pipermail/gcc/2025-February/245593.html

[2] https://www.theregister.com/2022/03/16/new_cobol_contender/

[3] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=3c5ed996ac94a15bc2929155f2c69cc85eef89f7

[4] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=a0754187274a36443707eab5506ae53ab1d71ad2

[5] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=ab79cd87c8a87760bcc29dc4ffc643672e861250

[6] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2Z9MPMzfmiQq7f-id6OBg1gAAAQg&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0

[7] https://www.phoronix.com/news/GCC-15-Merges-COBOL

[8] https://gnucobol.sourceforge.io/

[9] https://savannah.gnu.org/projects/gnucobol

[10] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44Z9MPMzfmiQq7f-id6OBg1gAAAQg&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0

[11] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33Z9MPMzfmiQq7f-id6OBg1gAAAQg&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0

[12] https://www.iso.org/standard/51416.html

[13] https://shape-of-code.com/2014/11/06/cobol-2014-perhaps-the-definitive-final-version-of-the-language/

[14] https://www.iso.org/standard/74527.html

[15] https://www.cobolworx.com/technology

[16] https://astro.uni-bonn.de/~sysstw/CompMan/gnu/gcc/gcc_intro.html

[17] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44Z9MPMzfmiQq7f-id6OBg1gAAAQg&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0

[18] https://www.theregister.com/2025/01/07/algol_68_comes_to_gcc/

[19] https://gcc.gnu.org/pipermail/gcc/2025-March/245663.html

[20] https://forge.sourceware.org/gcc/gcc-a68

[21] https://gcc.gnu.org/wiki/Algol68FrontEnd

[22] https://www.theregister.com/2020/05/15/algol_60_at_60/

[23] https://ada-lang.io/

[24] https://zonnon.org/

[25] https://www.algol68.org/

[26] https://machaddr.substack.com/p/adriaan-van-wijngaarden-algol-68

[27] https://www.theregister.com/2013/05/01/indemand_ancient_it_skills/

[28] https://www.theregister.com/2012/11/05/how_to_do_it_interview/

[29] https://www.theregister.com/2025/01/07/algol_68_comes_to_gcc/

[30] https://www.theregister.com/2012/11/12/spotting_a_psycho_boss/

[31] https://www.unisys.com/ebook/ecs/clearpath-forward/

[32] https://www.unisys.com/product-info-sheet/ecs/clearpath-master-control-program-mcp/

[33] https://www.unisys.com/product-info-sheet/ecs/clearpath-forward-libra-8690/

[34] https://www.theregister.com/2024/05/23/gcc_15_nukes_larrabee/

[35] https://www.theregister.com/2024/11/01/gcc_15_keep_itanium_support/

[36] http://epic-linux.org/

[37] https://whitepapers.theregister.com/



ALGOL-68 is out

MarkMLl

ALGOL, i.e. -60, was never in: and they're very much different.

However an interesting question is whether The Unisys (nee Burroughs) implementations of ALGOL hew to the -60 or -68 language: I've got limited time to delve into the manuals right now.

I was, however, looking at a 1970ish Burroughs ALGOL compiler a couple of days ago and noticed that they'd not adopted a trivial tweak to the language to eliminate the notorious "dangling else" issue: and that tweak was published by the CACM as "Revised Report on the Algorithmic Language ALGOL 60" in 1963.

So extrapolating from that unfortunate example I'd expect them to still be using ALGOL-60 "warts and all", and a very quick perusal of their ALGOL manual dated 2023 appears to confirm that.

https://public.support.unisys.com/aseries/docs/ClearPath-MCP-21.0/86000098-519/86000098-519.pdf 4-61 p259

with their systems programming language NEWP being structurally similar.

So while ALGOL-68 remains of broad interest to language history nerds, only its influence- on Ada, PL/SQL and so on- is really relevant.

Re: ALGOL-68 is out

nijam

> So while ALGOL-68 remains of broad interest to language history nerds, only its influence- on Ada, PL/SQL and so on- is really relevant.

Actually, Algol-68 was a fairly clean language that addressed some of the hidden assumptions about type abstractions in more widely-used languages. I'm fairly sure it was never a real influence on Ada and that like, or they would have been the better for it.

And yes, I too was taught Alogol-68 in a formal progrmming course, and it left me uncomfortably aware of the defects in every language I learnt subsequently.

Re: ALGOL-68 is out

MarkMLl

> I'm fairly sure it was never a real influence on Ada and that like, or they would have been the better for it.

That authors of the "Minority Report" on ALGOL-68 i.e. Wirth et al. were contracted by the HOLWG to advise on the early stages of Ada development.

As such, even if they didn't like what ALGOL-68 matured into, they were well-informed on the issues that needed to be addressed by any successor to ALGOL-60.

Re: ALGOL-68 is out

rafff

Re Burroughs "Algol 60"

I once had a job writing a translator from Burroughs Algol to PL/1. As I remember it (it was a long time ago) the Algol dialect was somewhat weird, with instructions for extracting bits from the OS' memory, and a very strange IO system.

Simon Harris

Algol-68 is the only language that I've been formally taught. When I started university in 1982 to study Electronic Engineering, we had to do a 1 term course in programming and, the university having an ICL mainframe at the time, Algol-68 was the language of choice.

It was the Algol 68-R version produced by the Royal Radar Establishment, with user guides produced by the Ministry of Defence.

I have never used it since. Every other piece of programming I did in my university days was either BASIC, Fortran or assembly code.

Gene Cash

When I did community college (2 year institution between high school and university) we did FORTRAN and COBOL on an Xerox punchcard machine. I've never used either language or punched cards since.

We were graded on number of runs: 1=A, 2=B, etc. I dodged this by using RPG to print a listing of my cards to proofread. I got a "talking to" but I successfully argued that it was a legitimate workflow that had not been ruled illegal.

I also find it amusing that on my Devuan machine, freecad, libreoffice, and gimp-gutenprint eventually require libgfortran5 through a series of dependencies. e.g. gimp-gutenprint -> libgimp-3.0 -> libgegl-0.4 -> libumfpack6 -> libgfortran5

Gene Cash

The magic on Debian to show a dependency graph:

apt-rdepends libgfortran5 --state-follow=Installed --state-show=Installed -d -r | fgrep -v "size=" | fgrep -v "concentrate=true" | dot -Nmargin=0.03,0.02 -Grankdir=LR -Nheight=.1 -Nwidth=.1 -Nfontsize=8 -Tgif -o /tmp/graph.gif

that one in the corner

> Algol-68 is the only language that I've been formally taught.

Ah ha, we have an expert among us! Come in, come in, welcome to the party.

Um, do you think you could take a look at this? (lifts fanfold to show a nasty little rash of syntax errors) I looked it up on the web and I may have twisted a W-grammar.

I had a brief bout of Algol68R and liked it

Martin Gregorie

..but my first programing experience was with Algol 60 of Wellington Universitiy's Elliott 503, back in 1968 before I joined the ICL Service bureau in Wellington.

In 1967 I was supporting George 3 on the British Steel Lab's 1904 in Battersea when we installed the RSRE Algol68R compiler, so of course I had to learn enough of the language to check the compiler out out. I soon found out that I liked A68R a lot and found it was very little harder to write than Algol60.

Soon after that we discovered that the George 3 Job Accounting program was getting crashed by some of the jobs the Lab was running: because these job logs were so long that they caused the G3 job accounting system program to overflow RAM, at which point its execution pointer would wrap to zero before overwriting the accounting job's accumulators, address pointer,etc and crashing the accounting job, which was, like most 1900 G3 support utilities, written in PLAN. My solution was to rewrite the job accounting program in Algol68, which resulting in a fairly small and rather quick program which solved could handle the longest job logs at that time.

Shortly after that the contract ended and I hopped in my series 2 Landrover station wagon, together with my GF, her daughter, and an Australian nurse and headed for Kathmandhu in Nepal (via the Hippy Trail and Kanyakumari - the southernmost point in India, Calcutta and Darjeeling and then back after some Himalayan trekking and the HippyTrail again. This got us back to the UK after 10 months and an estimated 40,000 miles of travelling. The return trip happened soon after the first Afghan revolution and almost exactly 12 months before the Shah got tossed out of Iran (and his secret police switched allegance to the Ayatollah).

Once back in London, I revisited friends in the Battersea Lab to discover that there had been a bug in the Algol68 accounting program. This was never fixed because my G3 replacement guru couldn't or wouldn't learn Algol68R and had also accidentally(?) erased my A68 program's source!.

Re: I had a brief bout of Algol68R and liked it

martinusher

>and had also accidentally(?) erased my A68 program's source!.

I've met this sort of thing during my working life a handful of times. Its definitely not a trick of the light, instead I've tried by never figured out the motivation for doing this. (Personally, I'm more like an amoeba -- anything good that's out there & I'll absorb it.)

The 68R compiler was a very practical subset of Algol. Very easy to use, very logical (especially given the year) and it leaves you a bit jaded about most other languages -- you use them because that's what's needed but you just don't believe in them!

OMG - COBOL

UCAP

As a post-grad research student in the 1980s, I spent 3 years taking tutorials on COBOL for both under- and (MSc) post-grads. That got dumped on me since I was the only person in the CompSci department other than the lecturer who gave the COBOL who actually new anything about the language (or at least, the only person who would admit to it).

Just so the students know what was about to hit them, I would start the first tutorial comparing a C "Hello World" program against the corresponding COBOL programming.

Re: OMG - COBOL

Martin Gregorie

There are MUCH worst programming languages than COBOL - RPG and FORTH to name just two of them.

Re: OMG - COBOL

rafff

COBOL and RPG are both very good at what they do, but neither is intended for writing compilers or OSs. RPG, in particular, does a job that is hell to program in C/C++/Java; the skeleton that you have to wrap around the actual guts of the report generator is many times the size of the actual job.

FORTH, on the other hand, is a mathematician's delight but a programmer's nightmare.

isdnip

I'm not an actual programmer though I know a bit of the history. ALGOL-68 is not the an update of -60, but a different language. Lots of interesting ideas but not deemed practical. Apparently it was hell to write a compiler. A friend of mine in the 1970s was working on a language, MARY, which was described as an implementable version of ALGOL-68. But it didn't catch on either. Instead we get most stuff in C, which combines the power of assembler with the ease of use of assembler and the security of assembler.

People raised on C and that type of minicomputer systems-programming language do not get the beauty of COBOL, which was purpose built to do boring work and does it pretty well. It just can't be used to do fun stuff. It does however pay the bills, quite literally, including the decimal (not floating point!) arithmetic.

David Wagner wrote:
> Is this a bad coding?

Yes. Not to mention side effects, it's just plain ugly. Anyone who invents
identifiers of _that_ level of ugliness should be forced to read them
aloud for a week or so, until somebody will shoot him out of mercy.
Out of curiosity: who was the author? It looks unusually nasty, even for
SGI.

- Al Viro on coding style