Today I'm announcing the development of Otterkit COBOL, a new free and open-source COBOL compiler that targets the dotnet runtime (more specifically, C#) and runs on macOS, Linux and Windows. We've been developing it for the past 3 months and I'm moreconfident in announcing its existence now, and I'm also really confident that with a little bit of work we could get a modern production-ready COBOL compiler that is free and open for everyone.
Currently the architecture for this compiler is split into the compiler itself and the runtime library. The runtime library being separate from the compiler also allows to more easily add more languages to the it, only requiring porting the runtimelibrary and reuse some of the codegen methods (and a polyglot COBOL compiler would be pretty funny in my opinion and could be a fun thing to work on in the future. Finally fulfilling COBOL's purpose of being a truly portable "common business language").
Right now, it can't compile a full COBOL program yet, it's still missing the codegen which is something that I'm actively working on. BUT the foundation is already there, and the runtime library already implements some intrinsic functions andstatements, and also correctly implements the COBOL datatypes and their PICTURE behavior, which in my opinion is one of the hardest things to implement correctly.
If you'd like to follow the development of Otterkit COBOL or if you'd like to help us develop an open-source and free modern COBOL compiler FASTER, check our GitHub organization:earlier.
https://github.com/otterkit
There's a discussions tab on the GitHub organization, feel free to ask anything there or suggest any changes and fixes if you find anything broken. My GitHub handle is @KTSnowy if you'd like to tag me in a discussion so that I can read it and reply
The compiler itself lives in the Otterkit repo: https://github.com/otterkit/otterkit
And the runtime library lives in the Libotterkit repo: https://github.com/otterkit/libotterkit
Both are licensed under the Apache-2.0 license.
Interesting. Good job. Waiting for the final version.
Regards,
On Monday, November 28, 2022 at 7:22:42 AM UTC-3, JM wrote:
Interesting. Good job. Waiting for the final version.I'll make another announcement here when we get things working and ready to test with COBOL source code.
Regards,
In the meantime let me know if there's something that you'd like to see implemented in the Otterkit compiler.
A segunda-feira, 28 de novembro de 2022 à(s) 18:45:16 UTC, keit...@gmail.com escreveu:
On Monday, November 28, 2022 at 7:22:42 AM UTC-3, JM wrote:
Interesting. Good job. Waiting for the final version.I'll make another announcement here when we get things working and ready to test with COBOL source code.
Regards,
In the meantime let me know if there's something that you'd like to see implemented in the Otterkit compiler.Cobol is essentially a backend language, but for any modern language to be successful, it has to have easy access to create GUI applications.
In .NET environment, WinForms integrated with Cobol it would be the way.
A terça-feira, 29 de novembro de 2022 à(s) 15:13:50 UTC, JM escreveu:By SQL access so you mean IBM's EXEC SQL statement?
A segunda-feira, 28 de novembro de 2022 à(s) 18:45:16 UTC, keit...@gmail.com escreveu:
On Monday, November 28, 2022 at 7:22:42 AM UTC-3, JM wrote:
Interesting. Good job. Waiting for the final version.I'll make another announcement here when we get things working and ready to test with COBOL source code.
Regards,
+ SQL access!In the meantime let me know if there's something that you'd like to see implemented in the Otterkit compiler.Cobol is essentially a backend language, but for any modern language to be successful, it has to have easy access to create GUI applications.
In .NET environment, WinForms integrated with Cobol it would be the way.
On Tuesday, November 29, 2022 at 12:14:58 PM UTC-3, JM wrote:
A terça-feira, 29 de novembro de 2022 à(s) 15:13:50 UTC, JM
escreveu:
A segunda-feira, 28 de novembro de 2022 à(s) 18:45:16 UTC,keit...@gmail.com escreveu:
and ready to test with COBOL source code.On Monday, November 28, 2022 at 7:22:42 AM UTC-3, JM wrote:
Interesting. Good job. Waiting for the final version.I'll make another announcement here when we get things working
Regards,
to see implemented in the Otterkit compiler.
In the meantime let me know if there's something that you'd like
Cobol is essentially a backend language, but for any modernlanguage to be successful, it has to have easy access to create GUI
applications.
In .NET environment, WinForms integrated with Cobol it would bethe way.. + SQL access!
By SQL access so you mean IBM's EXEC SQL statement?
Adding new statements to Otterkit is quite easy with the current architecture, so we could definitely support it in the future when the compiler gets to a more stable state.
IT is a pity that there is no universal pre-compiler available that
supports more than one of these different RDB products but I was going to upgrade the JC pre-compiler (written in Cobol) but other programming requirements have gotten in the way..
Hello KTSnowy!
Saturday December 10 2022 05:32, KTSnowy (The Web Dev Fox) wrote to All:
On Tuesday, November 29, 2022 at 12:14:58 PM UTC-3, JM wrote:IBM did not design it and the EXEC SQL in supported by most if not all
A terça-feira, 29 de novembro de 2022 à(s) 15:13:50 UTC, JMBy SQL access so you mean IBM's EXEC SQL statement?
escreveu:
A segunda-feira, 28 de novembro de 2022 à(s) 18:45:16 UTC,keit...@gmail.com escreveu:
and ready to test with COBOL source code.On Monday, November 28, 2022 at 7:22:42 AM UTC-3, JM wrote:
Interesting. Good job. Waiting for the final version.I'll make another announcement here when we get things working
Regards,
to see implemented in the Otterkit compiler.
In the meantime let me know if there's something that you'd like
Cobol is essentially a backend language, but for any modernlanguage to be successful, it has to have easy access to create GUI
applications.
In .NET environment, WinForms integrated with Cobol it would bethe way.. + SQL access!
RDBMS products including Mysql / mariadb, Postgres, Oracle, DB/2, MF SQL server, and many others.
All are serviced by a pre-compiler that you feed the .scb sources to and
out comes a .cbl to pass to the Cobol compiler.
IT is a pity that there is no universal pre-compiler available that
supports more than one of these different RDB products but I was going to upgrade the JC pre-compiler (written in Cobol) but other programming requirements have gotten in the way..
Adding new statements to Otterkit is quite easy with the current architecture, so we could definitely support it in the future when the compiler gets to a more stable state.As some one has said a major requirement for a new compiler is full support for a gui interface for all supported platform and where possible a link into the SCREEN SECTION and accept, display accordingly.
This may be a bit of an ask i.e., supporting say Linux / *Nix and Windows with the same product.
Vincent
As some one has said a major requirement for a new compiler is full support >for a gui interface for all supported platform and where possible a link
into the SCREEN SECTION and accept, display accordingly.
This may be a bit of an ask i.e., supporting say Linux / *Nix and Windows >with the same product.
I was also thinking about including the EXEC SQL statement's functionality as a library function instead
of directly into the language as an actual statement. This seems much more reasonable today in 2022
and wouldn't be that much of a change. It will be much easier maintaining an SQL library for COBOL than
adding a specific RDBMS into the runtime itself to be able to run SQL statements. Supporting multiple
RDBMS systems would also be easier with an external library and not having to touch the compiler.
Something like: FUNCTION EXEC-SQL( "PostgreSQL" alphanumeric-literal ).
The first argument is the RDBMS to use, and the alphanumeric-literal would contain the SQL statements passed to the RDBMS.
On 12/10/22 10:34, Vincent Coen wrote:
IT is a pity that there is no universal pre-compiler available that
supports more than one of these different RDB products but I was
going to upgrade the JC pre-compiler (written in Cobol) but other
programming requirements have gotten in the way..
Just out of curiosity, what is "the JC pre-complier"? A quick trip
thru Google turned up nothing.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 546 |
Nodes: | 16 (2 / 14) |
Uptime: | 151:49:43 |
Calls: | 10,383 |
Files: | 14,054 |
Messages: | 6,417,815 |