Free/Libre 'GnuCOBOL' Compiler Reaches Maturity, Can Compete with Proprietary Offerings (thenewstack.io) 49
An anonymous reader shared this report:
After 20 years of development, the open source GnuCOBOL "has reached an industrial maturity and can compete with proprietary offers in all environments," said OCamlPro founder and GnuCOBOL contributor Fabrice Le Fessant, in a FOSDEM talk about the technology. GnuCOBOL turns COBOL source code into executable applications. It is very cross-platform, running Linux, BSD, many proprietary Unixes, macOS, and Windows, even Android. And the latest version, v.32, is being used in many commercial settings...
Sobisch noted that the GnuCOBOL is seeing a lot of commercial deployments, such as for banking back-end apps, many of which are being migrated from Micro Focus, with users reporting performance improvements as a result. The French DGFIP federal agency moved from a GCOS mainframe to GnuCOBOL, with the help of Le Fessant's firm.
Originally called OpenCOBOL, the project was started in 2002 and renamed GnuCOBOL in 2013. In the past three years, it has received attention from 13 contributors with 460 commits. Most Linux package managers have a copy of GnuCOBOL for the program for downloading... It can compile to C code (C89+), making it extremely portable, from mainframes to Raspberry Pi's, Sobisch said...
Also new is SuperBOL, a development studio for GnuCOBOL developed by Le Fessant's OCamlPro. It runs as a VSCode Extension and features a full COBOL processor (written in OCaml).
Sobisch noted that the GnuCOBOL is seeing a lot of commercial deployments, such as for banking back-end apps, many of which are being migrated from Micro Focus, with users reporting performance improvements as a result. The French DGFIP federal agency moved from a GCOS mainframe to GnuCOBOL, with the help of Le Fessant's firm.
Originally called OpenCOBOL, the project was started in 2002 and renamed GnuCOBOL in 2013. In the past three years, it has received attention from 13 contributors with 460 commits. Most Linux package managers have a copy of GnuCOBOL for the program for downloading... It can compile to C code (C89+), making it extremely portable, from mainframes to Raspberry Pi's, Sobisch said...
Also new is SuperBOL, a development studio for GnuCOBOL developed by Le Fessant's OCamlPro. It runs as a VSCode Extension and features a full COBOL processor (written in OCaml).
Pfft. Real programmers (Score:2)
program in raw, unaddorned hexadecimal. Directly.
Re: (Score:2)
Nah.
Real programmers write binary directly.
Re: (Score:2)
They punch paper tape by hand.
Re:Pfft. Real programmers (Score:5, Funny)
Excuse me, but real programmers use butterflies. [xkcd.com]
Re: (Score:1)
Re: (Score:2)
You had switches? Luxury! We wrote the bootloader directly onto the RK05 platter with a magnetized needle!
Re: (Score:3)
Congratulations on the good work. (Score:2)
" It is very cross-platform, running Linux, BSD, many proprietary Unixes, macOS, and Windows, even Android. "
And yet, a windows apllication I need will have its developer say no more windows 7 version, it isn't supported by Microsoft anymore. You can't imagine how I despise such short-sightedness and insult to the principles of software development. What a sad epoch we are living in.
Re: Congratulations on the good work. (Score:4, Insightful)
Re:Congratulations on the good work. (Score:4, Funny)
I'm still angry from when Firefox dropped support for Windows 98!
Re: (Score:3)
Re:Congratulations on the good work. (Score:4, Insightful)
They never supported it in the first place, they just took your money.
Re: (Score:1)
Here's an anecdote about how great W98 was. A friend of mine had a brand-new computer with W98 on it (this was a loooong time ago). He let me play with it. Within 60 seconds it crashed.
A company that puts out such a badly made product does not become dominant legitimately.
Re: (Score:1)
It is not short-sightedness. It is unfettered greed. They want to save a bit of money by not testing on Win7 anymore. That this causes large cost to you is something they simply do not care about.
Re:Congratulations on the good work. (Score:5, Informative)
How many versions of Windows OS would you support if you ran a software company?
I assume it would be 7, 8, 10 & 11?
What about 8.1 or the half yearly updates to 10?
Having worked in the software industry... we had a fixed team size. Each time a new OS/Browser came out, we dropped the oldest. Otherwise our Dev + QA + Support time would keep increasing.
Re: (Score:2)
I would offer a version of 7 or 10 that only got security updates and charge for the updates. The business world needs a version that just stays the same. Why do they *have* to keep making it worse? If they could make money from keeping it secure, money is money.
Now if the gamers want a cutting edge version, fine.
Re: (Score:3)
As an ex-employee of DEC, I feel deep regret whenever I see such laments and complaints. DEC put far more emphasis on reliability, security, and compatibility. But customers ran, rather than walked, to the far cheaper PC-based software.
It's one of the most sensational examples of piling up mountain ranges of technical debt for a short-term advantage.
Re: (Score:2)
Possibly not greed, but lack of resources. Maybe greed at highest levels to keep employee counts low, but at the middle and low levels often it's just frustrating to get every increasing workloads without being allowed new employees or even replacement employees.
Re: (Score:1)
No argument about that. The fish stinks from the head.
Re:Congratulations on the good work. (Score:5, Interesting)
On the other hand, Microsoft itself has a pretty impressive record with maintaining backward binary-compatibility with older applications on newer OS versions. To the extent I haven't seen really anywhere else.
Whether that's a good thing or not however, I don't know.
Have you ever written an application? (Score:5, Informative)
" It is very cross-platform, running Linux, BSD, many proprietary Unixes, macOS, and Windows, even Android. "
And yet, a windows apllication I need will have its developer say no more windows 7 version, it isn't supported by Microsoft anymore. You can't imagine how I despise such short-sightedness and insult to the principles of software development. What a sad epoch we are living in.
Apples to oranges, my friend. If you want a basic mainframe environment, it can be supported 50 years. If the only interface a program interacts with it TCP/IP and disk and all transmissions are unencrypted, the same is possible. If you want to use a UI?...sorry...that's tough to maintain. You want it to be secure?...that's tough.
I have supported ancient applications. It SUUUUUCKS. For commercial applications, if something breaks, we have to fix it. Oh, our newest application doesn't run on your 30 year old Solaris installation?...welp....I either say "sorry, you have to run modern Linux"...or I get to go out and buy some 30 year old solaris boxes on eBay and maintain a museum of every customer installation....or pay an emulation service and hope they do a good enough job.
We break support for legacy environments because of security reasons. Any app that does anything useful has at least a dozen dependencies. Also, as developers, we get very constrained and can't use modern features if we have to support ancient technology. I primarily write business applications in Java and similar languages. I rely on a JVM and we have to upgrade faster than we want to because neither Oracle nor OpenJDK will support anything older than Java 11 plus I really like Java records (a new feature) which makes my code leaner and more secure. I don't want to support your Java 1.2 env from 1999. Anything that worked in 1999 probably has many known vulnerabilities...which are well-known to attackers and your firewall is the only thing preventing it from being taken over by a shitty hacker or a foreign government.
And my job is WAAAAAY easier than something that relies on a local GUI, where APIs are changing all the time and permission models are evolving and adding new restrictions constantly. My apps are conduits to a DB and only touch a network stack and JDBC driver. Your WIndows 7 app probably has a lot more touchpoints with your OS.
Sure, we COULD do more with legacy systems, but then you'd be complaining about all the viruses you're getting and how slow they are and how slowly everything comes out and how it costs so much more. Sorry...the reason no one supports legacy is because it's a bad idea. It's much more efficient and intelligent to keep things modern.
Re: (Score:2)
OK... I get why people want very old operating systems to still run. But why do you want very old OSs with new software?
Re: (Score:2)
What a sad epoch we are living in.
I for one am happy that software vendors drive the stubborn to upgrade their OS to one currently in support. We have enough problems with zombie machines run by hackers without having people who think running a 15 year old OS is acceptable contributing to their botnet.
Re: (Score:2)
You can't imagine how I despise such short-sightedness and insult to the principles of software development.
It's just that they are more oriented to the principles of bank account development.
Always wanted to do more with Cobol (Score:2)
Cobol is something that I've always thought I should be doing more with.
It's designed around record management, which is where a lot of programming projects end up.
Geany (my favourite code editor) has Cobol synax highlighting and markup support too.
I've got a few books on Cobol and I've actually spent a bit of time learning something about it but every time I get started I seem to get sidetracked onto something else.
But it's still on my one-of-these-days list.
Re:Always wanted to do more with Cobol (Score:4, Funny)
Don't learn COBOL, learn its successor.
It's called ADD ONE TO COBOL GIVING COBOL
Great news, now GCJ by 2050! (Score:2)
Great news, now have GCJ working, mature and stable by 2050 and I will be happy!
https://en.wikipedia.org/wiki/... [wikipedia.org]
Why it's taken 20 years (Score:2)
GnuCOBOL project team members keep dying of old age.
Re:Why it's taken 20 years (Score:5, Funny)
To be fair, it's been hard for them to keep up with the constant churn of the "move fast and break things" COBOL culture.
Re: (Score:2)
:D you guys are hilarious.
So what will that mean for Java? (Score:2)
I mean everybody assumed that Java would be the "new COBOL" until Oracle announced that it wouldn't be. A GPL COBOL compiler would probably create more interest in that area.
Re: (Score:3)
Oracle thought that too. In a meeting room, lawyers for Sun and Oracle were hashing out the buyout:
Oracle Lawyer: So, this Java thing, what is it?
Sun Lawyer: it's the next phase in software, oh yes!
OL: And we can expect giant profits from it?
SL (now with tears in his eyes): Oh fer sure, fer sure....Big, Big Money, we have loads of companies hooked on it, they'll love you.
OL: Shazzam, we gotta have some of that!!
SL is now back at Sun Central Command is talking to another lawyer.
ASL: And you told them they'd
Just in time! (Score:2)
Just in time LOL
Different World (Score:3)
World would be a much different world if a cheap, good COBOL was around in the early 90s. IIRC, the FSF refused to help fund a COBOL in the early days. This was due to elitism.
Many people were begging for a good COBOL for PCs and Linux in the early days, but all that was available were versions that cost thousands. Glad to see it is here now, will be good for young people needing to learn it for Mainframes.
SAMPLE CODE (Score:4, Funny)
IDENTIFICATION DIVISION.
PROGRAM-ID. SNOZBERRY.
COMMUNITY DIVISION.
LICENSE SECTION.
01 GPL VERSION 3.0
ENVIRONMENT DIVISION.
SYSERR IS
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WILLY PIC A(9).
01 WONKA PIC A(9).
01 TIME PIC A(9) VALUE 'SO MUCH'.
01 TODO PIC A(9) VALUE 'SO LITTLE'.
PROCEDURE DIVISION.
MOVE TIME TO WILLY
MOVE TODO TO WONKA.
* STRIKE THAT. REVERSE IT.
MOVE TODO TO WILLY
MOVE TIME TO WONKA.
DISPLAY 'PURE IMAGINATION'.
STOP RUN. DONT. COME BACK.
Next (Score:4, Interesting)
Re: (Score:2)
Re: (Score:2)
You can already emulate the whole z architecture on a Linux PC: http://www.hercules-390.org./ [www.hercules-390.org] It puts almost zero load on the PC, so, yeah, if you were insane enough you could probably do it in a browser.
V.32 BIS? (Score:1)
Since it's a banking language I wonder if v.32 is running code at the Bank of International Settlements.
Calling Ron Howard: Time for a Cocoon Remake? (Score:1)
Cocoon [imdb.com] Remake Pitch: When a group of trespassing retired mainframe programmers swim in a pool containing GnuCOBOL on USB drives, they find themselves energized with youthful vigor. :-)
Congrats on another "wheel". (Score:2)
Yes, I appreciate the tools, and I"m definitely poor enough to need them... But I get tired of being told to make the same thing that I'm sure someone else has made/needs. That's the world that "intellectual property" has given us.
Is COBOL difficult to write a compiler for? (Score:2)
I don't remember COBOL being considered overly complex. It was used a lot on those old, puny-by-today's-standards, mainframes of the 1970s. Certainly is was no PL/1 monster.
So I'm wondering why it took so long to get this compiler. I'm not complaining or criticizing; on the contrary, I applaud the achievement. But still, it seems late in the day. My guess would be lack of interest and therefore lack of resources, but that's just speculation.
And just in time (Score:2)
Before the last person who actually used Cobol to write a program that actually got used died.
COBOL (Score:1)
Woot, just in time! (Score:1)