173 karma · joined January 17, 2023
We've been recently invited by the awesome .NET team to appear live on their Languages & Runtime Community Standup. We'll be talking about the project, showcase an example of COBOL generics, and talk about our plans for the future of the project (and more COBOL-related things if we have time).
We hope to help improve the COBOL ecosystem and help change the language's "outdated and not suitable for modern development" reputation, because it is much more capable and powerful than most people realize.
Modern COBOL with the 2023 standard is a very powerful and capable language that can do so much more than just legacy banking and financial systems.
With its OOP syntax which includes generics, auto-implemented properties, method overloading and type safety, together with its excellent error and exception handling, async messaging, and overall how reliable it is makes it a pretty awesome language for modern backends that need to be secure and stable.
"This is not your grandparents' COBOL"
The end result of running Otterkit will be an executable or a C# DLL, so compiler would still be the most accurate word to describe it. If it stopped at the translation stage it would be a transpiler.
We're compiling to C# source text so that we can take advantage of the dotnet compiler optimizations. Otterkit calls the dotnet compiler after translating to C#.
COBOL really needs more free and open source stuff, I'm hoping I can help.
Otterkit compiles to C#, and GnuCOBOL compiles to C. The two are meant for different use cases. You wouldn't use a huge C program in a .NET backend, it would be a pain to make it work correctly and difficult to maintain.
GnuCOBOL also doesn't support quite a bit of COBOL's features. It only supports the procedural part of the language, and that is only a small part of it compared to the object oriented side of COBOL. Otterkit will support both, and the new 2022 standard.
I don't see this as a product that needs to attract customers. It's free and open source, anyone can use it.
The fact that there is a COBOL 2022 standard (yes, it's still being maintained) should have given enough of a clue that COBOL doesn't run only on legacy mainframes and tape drives anymore.
Sure, there are still companies using COBOL 85, but that's not the fault of the language. You wouldn't blame Java itself if companies used a version from the 90s intead of a newer and better version.
I find it quite absurd when people hate on COBOL based on its version from the 80s, while ignoring it's newer standards.
This stuff is usually not taught by the current COBOL vendors. It's also very unfortunate that most compilers are closed source and quite expensive to use.
We're making a free and open source COBOL compiler to help improve the current state of the COBOL ecosystem. We hope that it will be production ready at some point.
We still need to figure out the how to best approach this, without completely breaking standard compatibility and without introducing mixed C# and COBOL syntax (which would end up looking quite unpleasant in my opinion)