I've recently started messing with a little cobol, the "display/accept" screen creation is really quite a nice method of developing a TUI. It can be made amazingly quickly and changed quicker than most apps (See https://wmealing.github.io/simple-cobol-query.html for example).
The GNUcobol implementation doesn't seem to support UTF-8 characters, that'd be awesome if it did, preventing even more awesome "screen/accept" input screens.
My big beef that I have with the language is that there is third party "extensions" built right into the language, which is very frustrating when trying to understand as a new user.
Very good. I've never had to use COBOL in anger in my career. I do have fond memories of a little DBASE work and building TUI screens that bind to data/procedures was really easy and productive.
Geez, I wish it was as easy to build web apps the same way.
The terminals originally used on these IBM mainframes were interesting too. Their hardware protocol let you define an entire screen with multiple input fields and would handle accepting all the input in those regions, buffering it all until you submitted the screen. It's very different from the line-oriented and character-oriented terminals we're used to in the UNIX/DOS world.
In the MS-DOS days, I once wrote a CRUD in Turbo Pascal that was part of an inspection tracking system. To make it easier on myself, I stole an idea from dBase (the PC program, not the huge IBM Mainframe thing) and wrote myself a library that did screen editing fields in much the same way. It's a good idea with wide applicability.
Nicely presented. It’s fun but the new-user learning curve is definitely frustrating (especially because most of the documentation is super dry). I ended up with this after a while of playing with the language https://github.com/ShaunLawrie/TicTacTOBOL
The GNUcobol implementation doesn't seem to support UTF-8 characters, that'd be awesome if it did, preventing even more awesome "screen/accept" input screens.
My big beef that I have with the language is that there is third party "extensions" built right into the language, which is very frustrating when trying to understand as a new user.