[HN Gopher] COBOL Programmers Answer Call to Shore Up Unemployme...
       ___________________________________________________________________
        
       COBOL Programmers Answer Call to Shore Up Unemployment Benefits
       Systems
        
       Author : furcyd
       Score  : 61 points
       Date   : 2020-04-10 21:59 UTC (1 hours ago)
        
 (HTM) web link (spectrum.ieee.org)
 (TXT) w3m dump (spectrum.ieee.org)
        
       | codenesium wrote:
       | I worked in COBOL at an internship and this was around 2012. This
       | system runs over 1000 court systems in the U.S. It's graphical
       | too and sort of looks like vb6 on the frontend. It was a
       | nightmare to work in even though the team was disciplined and
       | took care of the codebase. You can't write 10k line programs with
       | all global variables and have something that's nice to work on.
        
         | marpstar wrote:
         | AcuCOBOL? I used AcuCOBOL at my internship back in 2009-2010 to
         | build VB6-style forms with COBOL.
        
       | newprint wrote:
       | Just put the entire COBOL source code on the github and let us
       | rework it in the Java or C# and be done with this abomination.
        
         | bluejekyll wrote:
         | Or just put it on github... might find people interested in
         | helping without a full rewrite.
        
       | cable2600 wrote:
       | Someone invent a COBOL to Python converter to get rid of these
       | old dinosaurs IBM Mainframes.
        
         | nimih wrote:
         | Given that the Python foundation has been trying to get folks
         | to run a python-to-python converter for more than a decade and
         | have not completely succeeded, I'm skeptical that an AST
         | transformer is really sufficient for migrating off those legacy
         | systems.
         | 
         | More constructively, having worked on a (close to decade-long,
         | by the time I joined) project to migrate a financial
         | institution's business logic off an IBM mainframe onto more
         | modern architecture, my main takeaway was that these systems
         | have worked pretty darn well for decades with relatively little
         | maintenance. The reluctance of companies to migrate god-knows-
         | how-much data, business rules, and institutional knowledge
         | (e.g. of data entry folks, business-level administrators who
         | have to navigate these systems to do their job, etc) off a
         | time-tested system they trust at massive expense, is completely
         | understandable.
        
         | klodolph wrote:
         | This is a misunderstanding of the problem. It's not the fact
         | that it's COBOL, per se, that's the problem. The issue is with
         | making changes to an entire system. A program written in COBOL
         | may be at the center of that system, but that program is only
         | one part of it.
        
         | [deleted]
        
       | triska wrote:
       | COBOL can be a real pleasure to use.
       | 
       | For instance, it allows programmers to quickly create user
       | interfaces by declaratively describing them, in a so called
       | SCREEN SECTION.
       | 
       | The resulting interfaces are very efficient for text entry, and
       | allow users to quickly get a lot of work done. The interaction is
       | so much more efficient than what we are used to with current
       | technologies that it can barely be described or thought about in
       | today's terms.
       | 
       | Regarding the underlying theme of legacy systems, here is an
       | interesting presentation by Jonathan Blow, citing various
       | examples of earlier civilizations losing access to technologies
       | they once had:
       | 
       | https://www.youtube.com/watch?v=pW-SOdj4Kkk
       | 
       | I think in terms of user interfaces, we are on a downward path in
       | several important ways, and I highly recommend checking out
       | earlier technologies that were in many ways an improvement over
       | what we are working with today.
        
         | wglb wrote:
         | The only way I found COBOL palatable was to spend the better
         | part of a year programming in RPG III first.
        
         | tantalor wrote:
         | > quickly create user interfaces by declaratively describing
         | them
         | 
         | > everything can be accessed using only the keyboard
         | 
         | Sounds like plain old html forms.
        
           | triska wrote:
           | Yes, at least in some ways, HTML forms could have been that
           | way, but in practice, they are not:
           | 
           | For one thing, and this is important, with every browser I
           | tried, I get periodically interrupted by messages that the
           | browser displays and that are not part of the form. Just
           | recently, I was again asked for security updates by the
           | browser. Sometimes when opening a form it gets prefilled by
           | the browser, sometimes not, and sometimes only some of the
           | fields. Some other times I get asked whether the browser
           | should translate the form. Sometimes it asks me whether some
           | fields should be prefilled. Sometimes the browser asks me at
           | unpredictable times whether I would now like to restart it.
           | 
           | An important prerequisite for getting a lot of work done is
           | for the system to behave completely consistently and
           | predictably, and not to interfere with unrelated messages,
           | questions, alarms etc. This is also very important for
           | training new users, writing teaching material etc.
           | 
           | Another important point, and that is very critical as well,
           | is latency: Just recently, I typed text into my browser, and
           | it stalled. Only after a few moments, the text I entered
           | appeared.
           | 
           | I never had such issues with COBOL applications. Today, we
           | can barely even imagine applications that are usable in this
           | sense, because we have gradually accepted deterioration in
           | user interfaces that would have been completely unacceptable,
           | even unthinkable, just a few decades ago.
        
         | downerending wrote:
         | I've not used this, but it reminds me some of the UI of early
         | Lotus 1-2-3 (in text, no GUI). It was amazingly intuitive and
         | easy to navigate, even without a mouse.
         | 
         | Modern web apps, each unique and confusing, with no reliable
         | way to move focus around and with bizarre text entry
         | "improvements", would have made the Admiral weep.
        
         | scythe wrote:
         | >For instance, it allows programmers to quickly create user
         | interfaces by declaratively describing them, in a so called
         | SCREEN SECTION.
         | 
         | >The resulting interfaces are very efficient for text entry,
         | and allow users to quickly get a lot of work done. The
         | interaction is so much more efficient than what we are used to
         | with current technologies that it can barely be described or
         | thought about in today's terms.
         | 
         | It's not common anymore, but Unix clones still have dialog(1):
         | 
         | https://www.freebsd.org/cgi/man.cgi?query=dialog
        
         | adzm wrote:
         | I was blown away by some reporting systems in COBOL that were
         | surprisingly understandable and simple.
        
         | apfsx wrote:
         | Do you have a video that shows an example of this text entry
         | system? I'm interested in seeing this.
        
           | triska wrote:
           | Sometimes I see it on terminals for instance when checking
           | into a hotel, opening an account in a bank, booking a flight,
           | interacting with the tax administration etc.
           | 
           | These forms look for example like this:
           | 
           | https://sourceforge.net/p/cobcurses/screenshot/147172.jpg
           | 
           | One important point that makes them so efficient to use is
           | that everything can be accessed using only the keyboard.
           | 
           | For my personal use, I have simulated such forms using Emacs,
           | and especially its _Widget Library_ :
           | 
           | https://www.gnu.org/software/emacs/manual/html_mono/widget.h.
           | ..
           | 
           | This is a bit similar to what you get with a SCREEN SECTION
           | in COBOL.
        
             | userbinator wrote:
             | Anyone who has used the BIOS setup function of a PC before
             | the EFI bloat took over will find that interface familiar,
             | it's certainly easy to use and quite efficient.
             | 
             | Here's an example screenshot:
             | http://www.buildeasypc.com/wp-
             | content/uploads/2011/11/step12...
        
             | epc wrote:
             | Could also be ISPF dialogs
             | (https://en.wikipedia.org/wiki/ISPF, https://www.ibm.com/su
             | pport/knowledgecenter/zosbasics/com.ib...).
        
           | Zenst wrote:
           | In the early 80's we had terminals (Newberry being one brand
           | iirc)that would talk to the mainframe and in this instance a
           | Honeywell Bull DPS8 range and these terminals had block mode,
           | so could just type out using the cursor keys to navigate and
           | key in all your code or feild attributes as you would for a
           | transactional screen layout input interface. Then having
           | effectly edited and dealt with localy, could hit send into
           | the edit buffer and covered much WYSWYG form of input and
           | layout for screens. So many ways of doing screen editing and
           | text entry in the real early pre PC days would of been down
           | to the terminals and local cursor, send whole screen block
           | mode form of editing. Unlike character mode (very early
           | systems way of pooling terminals) in which it had to
           | handshake each and every keystroke in effect. Though even
           | some of these terminals could be configured to allow full
           | screen editing mode and sent via character mode batch
           | polling. Terminals were not cheap back then either and when
           | the PC came out, terminal emulation software was one of the
           | big sellers in some markets who would spend lots on the early
           | PC's and more on this software as cheaper than the dedicated
           | terminal offerings.
        
       | kristopolous wrote:
       | I asked a few friends about the New Jersey call. They (2 of them,
       | both retired and over 70) claimed there's no work to be done and
       | it's actually an incompetently administered administration with
       | human problems who are scapegoating the technology. Also
       | supposedly the New Jersey govt sacked their team and then was
       | trying to contract out the work at $50/hr. Now they are offering
       | $0/hr. And the solution isn't in software, or so they claimed.
       | 
       | This assessment was after both signed up to volunteer to do the
       | work and saw it was a human process failing and not a software
       | issue. People tend to point to the parts most mysterious to them
       | when things start to fail.
       | 
       | Don't let this discourage you though, their problems are still
       | very real.
        
       | themodelplumber wrote:
       | We should have a celebratory COBOL-thon this weekend. Everyone
       | write a minimal COBOL app. Just for fun.
       | 
       | Not sure if the COBOL bridge for Node is allowed. :-)
       | 
       | Resources:
       | 
       | https://opensource.com/life/15/10/open-source-cobol-developm...
       | 
       | https://archive.org/search.php?query=COBOL%20programming
        
       | avgDev wrote:
       | I am wondering if my old professor answered the call. He used to
       | work in the banking industry, is very outspoken against
       | Capitalism and got fired for wearing jeans.
       | 
       | I have been working on a project and have some experience with
       | DB2/AS400, it is not as old as COBOL. It is not very fun or
       | exciting and stackoverflow lacks much information, a lot of trial
       | and error.
       | 
       | I can't believe how widespread these old systems are. I am
       | surprised nobody has decided to update them, I mean when these
       | old developers die or retire......they will have a hard time
       | migrating to a newer systems.
       | 
       | Bonus: I HATE IBM, .Net Core provider to access database? That is
       | a few $$. Crappy documentation? Check. Deleted code examples I
       | had bookmarked? Check. IBM forum questions answered in private
       | messages, so nobody else can use the information and the question
       | needs to be asked hundreds of times? Check.
       | 
       | IBM is so upside down.
        
         | artificial wrote:
         | I thought IBM handles this by making VMs so old things can run
         | on the new(er) things? Isn't it turtles all the way down? I
         | worked for a company that specialized in distribution and
         | circulation software for all the big papers at one point in
         | time or another and it was all COBOL with some of the code
         | bases as old as I was (a handful of engineers remained which
         | laid down a few of them were still on staff, pretty cool
         | resources since they've solved pretty much everything). I
         | bagged a bunch of AS400 operating manuals which were on their
         | way to the trash. I've got one on my shelf I wish I could share
         | with you. Anyway to complete the anecdote one of the younger
         | engineers found their way to greener pastures by creating a
         | screen scraper of sorts for the AS400 to expose it to another
         | API. My mind was blown at the time but it makes sense since
         | these were the webforms of their day.
        
           | avgDev wrote:
           | In our case we have an IBM iSeries box, AS400 uses DB2 as its
           | database. I am writing an application that communicates with
           | DB2, and I perform a lot of queries directly on the database.
           | We also do have a book on AS400 but most development is done
           | by our old school dev. There is plans to migrate to a newer
           | system but the cost is quite expensive.
           | 
           | I mostly work in .Net MVC/Core. However, connecting to db,
           | obtaining licenses, etc have been a real pain.
        
       | jerhewet wrote:
       | I coded COBOL and RPGII programs back in the late 70's, and I'd
       | flip burgers before writing another line.
        
         | artificial wrote:
         | Thanks for the laugh.
        
         | wglb wrote:
         | And I wonder how the pay compares.
        
         | elliekelly wrote:
         | Oddly enough I suspect you'd have a much harder time getting
         | hired for a burger flipping gig at the moment. What a strange
         | time.
        
         | downerending wrote:
         | I wouldn't want to spend more time doing it, but I do think
         | today's newbies have missed something in not seeing them and
         | playing with them for a bit.
        
       | meerita wrote:
       | My father programmed in COBOL, but he never talked me about this.
       | Anyone mind to share his experience? What would be to do this
       | today? is it hard to learn?
        
         | artificial wrote:
         | Evidently it's a faux pas to ask about :P akin to asking
         | veterans about war stories. You may get a kick out of this:
         | http://www.coboloncogs.org/HOME.HTM
        
       | throaway1990 wrote:
       | COBOL programmers rise!
        
         | avgDev wrote:
         | Back from the dead!
        
       ___________________________________________________________________
       (page generated 2020-04-10 23:00 UTC)