comp.lang.ada
 help / color / mirror / Atom feed
From: patrick@spellingbeewinnars.org
Subject: Re: Is this Forum Moderated?
Date: Sun, 20 May 2018 08:18:27 -0700 (PDT)
Date: 2018-05-20T08:18:27-07:00	[thread overview]
Message-ID: <12d36c64-22e3-460b-94c6-477752996451@googlegroups.com> (raw)
In-Reply-To: <lylgce9ymm.fsf@pushface.org>

Hi Shark8 !

"I have had the idea, for a while, that banks & insurance companies & other financial institutions could see a lot of improvement WRT modernization with mixed Ada/COBOL programs; in particular doing the report-generation in COBOL and the main "business logic" in Ada (with heavy usage of types to ensure correctness) instead of the [seemingly] more popular "PORT IT TO JAVA" that I've seen some people advocate.

What are your thoughts? "

I think whenever we bring up another language besides Ada we are going to get negative posts but I am putting on my helmet and body armor now.....

It took me many years to build up the confidence to look at languages with my own eyes and to ignore the hype. It brought me to Ada and to COBOL as well.

There is actually a great deal of overlap between two in terms of functionality.

IMHO Ada is best suited as the "main" with COBOL as library code. GnuCOBOL is not thread safe and should be in it's own task. If you can manage with an ncurses interface, the screen section in COBOL is great.

I would recommend to leave whatever business logic you can in COBOL and to use Ada's strengths of programming in the large, exceptions and tasking.

GnuCOBOL has a small runtime that is much easier to alter than GNAT's. I have made modifications to the screen section to allow for idle calls backs, 256 colour support and mouse support.

The GnuCOBOL list is very approachable and tightly moderated. You won't get any RTFM like posts. It's a second home to me now.

I have test code to interface the two and I would love to help you. I don't use interfaces.cobol. COBOL already has lots of types ready for use with C and they are compatible with Ada too. strings.fixed and the built-in strings work great. GnuCOBOL just added report writer support this January and I am pretty familiar with it too.

COBOL is haunted with criticism from the past. I have seen COBOL 1968 and 1974 vintage code and it sucks large. The COBOL 85 revision made it an awesome language. I am not crazy about the 2002 revisions but just so you know, you don't have to obey a rigid layout with the 2002 revision. You can pass the -free flag to the compiler and whitespace becomes insensitive, you can use uppercase or lowercase and identifers can be 30 characters long or even longer if you wish.

GnuCOBOL compiles to intermediate C and the generated code is easy to read once you get the hang of it. The project uses pretty standard libraries like GMP, libtool and ncurses. The compiler is Bison/Flex.The licensing arrangement is also a bit complicated like the GNAT situation but basically you can use the default settings which will link in libdb and force AGPL code or you can use an older libdb version for GPL code or you can use an external library called libvbism and you can have a LGPL runtime suitable for linking to you preferred license.

Where is Byron? I would like to check it out.

Thanks-Pat


  reply	other threads:[~2018-05-20 15:18 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-20 11:46 Is this Forum Moderated? patrick
2018-05-20 12:07 ` Jere
2018-05-20 13:24 ` Dan'l Miller
2018-05-20 14:35   ` Dennis Lee Bieber
2018-05-20 13:57 ` Shark8
2018-05-20 14:26 ` Dennis Lee Bieber
2018-05-20 14:42 ` Simon Wright
2018-05-20 15:18   ` patrick [this message]
2018-05-20 15:53     ` patrick
2018-05-20 23:52       ` Shark8
2018-05-20 16:18   ` Dan'l Miller
2018-05-21 11:40     ` Brian Drummond
2018-05-21 15:06       ` Dan'l Miller
     [not found] ` <e3cac5bb-5e1e-47de-8401-219287dff804@googlegroups.com>
     [not found]   ` <pdruhr$70h$1@dont-email.me>
2018-05-20 17:34     ` Lucretia
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox