Live data from Hacker News

IBM will offer free COBOL training

inputmag.com

81–90 of 235 posts

Re: IBM will offer free COBOL training

#81
post #23
post #14

I don't want to sound condescending but why can't these systems be rewritten in a modern language? Now is obviously not the right time to do this; I am wondering are there technical limitations to do his?

Here's some simple COBOL code: http://www.csis.ul.ie/cobol/examples/Conditn/Conditions.htm identification division. program-id. letters. data division. working-storage section. 01 Char PIC X. 88 Vowel VALUE "a", "e", "i", "o", "u". 88 Consonant VALUE "b", "c", "d", "f", "g", "h" "j" THRU "n", "p" THRU "t", "v" THRU "z". 88 Digit VALUE "0" THRU "9". 88 ValidCharacter VALUE "a" THRU "z", "0" THRU "9". procedure divisio…

That looks a lot like Visual Basic, except it allows you to name the patterns.

  sub letters
      dim char as string
      do
          char = inputbox("Enter lower-case character or digit. No data ends.")
          select case char
              case "a", "e", "i", "o", "u"
                  msgbox "The letter " & char & " is a vowel."
              case "b", "c", "d", "f", "g", "h", _
                   "j" to "n", "p" to "t", "v" to "z"
                   msgbox "The letter " & char & " is a consonant."
              case "0" to "9"
                  msgbox char & " is a digit."
              case else
                  exit do
          end select
      loop
  end sub
(This example is actually LibreOffice Basic, as I'm not on a Windows machine right now, but it should be the same in VBA and VB6.)

Re: IBM will offer free COBOL training

#82
post #14

I don't want to sound condescending but why can't these systems be rewritten in a modern language? Now is obviously not the right time to do this; I am wondering are there technical limitations to do his?

They’d have to be revalidated. Don’t fix it if it’s not broken. Edit: and when do you upgrade? If they upgraded in ‘85, it would be in C++. ‘95, and it would be Java 1.0. ‘05 and it would have been VB6. None of those would have been substantially better save that they would have been easier to hire maintenance programmers for.

Upgrade? You mean re-write.

Re: IBM will offer free COBOL training

#83
post #21

It's a trap. The problem with those old codebases that governments, hospitals, big businesses are struggling with is not really the language, it's the engineering practices of that time with regards to constraints of old technology. The language is not the problem - lack of comments, bad variable naming, bad structure (little or no procedures or readability), and just sheer volume of it, is. It would be very interest…

Not to mention GOTO. If your one of the people who hyperventilates when you see a goto because you learned that it was considered harmful in programmer school then Cobol might not be for you. ;)

You might be surprised about the comments though - depending on the age of the codebase. Mainframes were rented back in the day, you paid by resources consumed, terminal time was precious, and mainframes were often turned off outside business hours.

Because of this a lot of the development actually happened between terminal sessions in flowcharts, pseudo code, documentation, and peer review before the programs were ever modified and run.

If you ever run across really old comp-sci books you’ll typically see them divided into three sections - first section was usually a guide to the author’s terminology and symbology, second part was usually a guide to flow charting and documentation (IBM had standardized forms for developers to use), and then the remainder of the book was the content with lots of explanations of how to work the datasets hugely larger then the memory available to you.

But as time passed and computer time became cheaper many of those formal development practices started to get lax.

Re: IBM will offer free COBOL training

#84
post #38
post #32

Earlier quoted context omitted.

Fortran (standardized without caps for at least the last couple decades) is current to the 2018 release. I haven't come across anybody who cares or is using it. You do eventually see a lot of older code in it in symbolic and algebraic maths in the deeper code bases still because the algorithms are complex and nobody really wants to touch someone else work if it can still be wrapped in something like R or Python and i…

I guess the thing about Fortran, to circle back to your question, is that it isn't common in critical infrastructure.

are accurate weather forecasts not part of society's critical infrastructure?

Re: IBM will offer free COBOL training

#85
post #54

From the article: * State unemployment agencies are notoriously underfunded* And there’s the problem summarized in less than a single sentence. Yes, they need help, but it’s the same kind of “help” as in “I want a BMW but I only have a dollar, please help” There would be a ton more COBOL coders if companies paid the equivalent of FANG companies - I say this as a former COBOL coder myself

These New Jersey and elsewhere new COBOL jobs are all volunteer, they are not paid jobs?

I am curious about this as well. If we take this "volunteer" word being used in these articles at face value, it means these states are asking for people to work on their systems for free… you've got to be frickin' kidding me. It's such a preposterous idea that I can only believe that it must have been an error or misinterpretation at some level which has entered into and lingered in the news zeitgeist like a fart in the shower and that these states actually do intend to remunerate their contractors at a fair rate. Why else would anyone accept these contracts? Are there really people who are both experienced COBOL devs and such huge fans of the bureaucracy of their states that they'll serve them for free? If there really is any overlap on that Venn diagram, it must be quite small - and shame on every single one of them for devaluing themselves.

Re: IBM will offer free COBOL training

#86
post #23

Earlier quoted context omitted.

Here's some simple COBOL code: http://www.csis.ul.ie/cobol/examples/Conditn/Conditions.htm identification division. program-id. letters. data division. working-storage section. 01 Char PIC X. 88 Vowel VALUE "a", "e", "i", "o", "u". 88 Consonant VALUE "b", "c", "d", "f", "g", "h" "j" THRU "n", "p" THRU "t", "v" THRU "z". 88 Digit VALUE "0" THRU "9". 88 ValidCharacter VALUE "a" THRU "z", "0" THRU "9". procedure divisio…

"when Vowel" is not very different to bog standard switch-statement magic. Actually in this case it looks like Cobol is almost doing a kind of pattern matching. Which is cool. Although (my Cobol is a bit rusty) I think there might be a more elaborate way to write "when Vowel" that hides less of the actual process? Not sure. Cobol is really not such a bad language. It's just got a lot of ...ceremony. All those forced…

Java similarly imposes a lot of structure that allows you to more easily find where everything is, but the trade-off is that there is a lot more of this everything to find, whereas in a more flexible language you would have less code to read through and therefore less need for organizing it.

Re: IBM will offer free COBOL training

#87
post #23
post #14

I don't want to sound condescending but why can't these systems be rewritten in a modern language? Now is obviously not the right time to do this; I am wondering are there technical limitations to do his?

Here's some simple COBOL code: http://www.csis.ul.ie/cobol/examples/Conditn/Conditions.htm identification division. program-id. letters. data division. working-storage section. 01 Char PIC X. 88 Vowel VALUE "a", "e", "i", "o", "u". 88 Consonant VALUE "b", "c", "d", "f", "g", "h" "j" THRU "n", "p" THRU "t", "v" THRU "z". 88 Digit VALUE "0" THRU "9". 88 ValidCharacter VALUE "a" THRU "z", "0" THRU "9". procedure divisio…

Thanks for posting this. Our computer teacher in high school skipped the outdated COBOL sections (just an intro, around 2004) I realise i'd never seen an actual code sample yet!

Aside, RE testing, a wild guess: could the "accept char" be tested with emulated keyboard inputs?

Re: IBM will offer free COBOL training

#88

Next: COBOL 30 day bootcamp with guaranteed job at the end.

I'd say yes to that in a heartbeat. Thirty days is probably not enough to someone new to programming, but to experienced programmers in various other languages it's probably enough to get the basics down and get over the "know just enough to be dangerous" hump.

If these orgs desperate for devs want to put their money where their mouth is and start a program like that, hit me up. Sure.

Re: IBM will offer free COBOL training

#89
post #30

Earlier quoted context omitted.

Just finished a contract with a hospital that built a lot of stuff in house in the 80ies based on a C (still pre C89 in many places) and Delphi/Pascal. The problem is indeed volume (over 10MLoC), two or three wizards supporting it all, but firmly coding like it's '83. No training of newcomers whatsoever, and thus really no way to contribute. If you manage to get some support, it will be once a year and in the form of…

Is it possibly not a management problem at the core? I mean, I know exactly what you mean about suits like to ignore the future, but I've worked with a few 'wizards' who, once they've got the job under their belt, use it to keep other people out. They'll not comment, help, document or whatever, and once they're doing that, they are uncontrollable. They can't be sacked because they're the only ones keeping the system…

I worked with a guy like this. He bragged he was the only one that knew the entire legacy codebase and he only shared parts with colleagues on his pretty sizable team to ensure he had a job and fat salary for life.

The the multinational decides a change in direction and fired the entire office, relocating it for regional diversification (this was not offshoring, spreading the work out across multiple teams). This was pretty niche stuff, and he became unemployable until moving across the country.

And I know of a company that similar was outsourced to. Fully outsourced with seemingly no internal expertise. Bleeding their client for increasing support prices year-by-year imagining they could do this for ever. I was in the team in that client that for two years, going from-scratch re-implementing the functionality, no cheap proposition, but within 3 years of in-sourcing the savings were already there.

Not all wizards know magic.

Re: IBM will offer free COBOL training

#90
post #14

I don't want to sound condescending but why can't these systems be rewritten in a modern language? Now is obviously not the right time to do this; I am wondering are there technical limitations to do his?

>> I don't want to sound condescending but why can't these systems be rewritten in a modern language? Cobol was a modern language 50 years ago. Python will be an ancient language 50 years from now. What do we do? Keep rewriting everything every 50 years? And those ancient Cobol codebases actually have a big advantage: they've been maintained for so long that all the major bugs have been virtually eliminated. Creating…

> What do we do? Keep rewriting everything every 50 years?

Uh… sure? What would you consider an acceptable minimum amount of time to be after which rewriting a large but fairly critical codebase to modern standards becomes acceptable?

> And those ancient Cobol codebases actually have a big advantage: they've been maintained for so long that all the major bugs have been virtually eliminated. Creating a new system from scratch means another 10 to 20 years of maintance until the new system reaches the stability of the old one.

That's not quite fair. Having a known good code base while porting means that you can just rewrite the existing algorithms in the new language and then run some automated tests to make sure you get the same output from the same input across both systems. Unless you're doing a black-box rewrite for some reason, you're not really throwing away all fo the maintenance done on the existing system.

Post reply on HN