Live data from Hacker News

IBM will offer free COBOL training

inputmag.com

171–180 of 235 posts

Re: IBM will offer free COBOL training

#171
post #156
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…

> It would be very interesting to see the old systems rewritten in a modern language, with modern engineering practices, but keeping the old UI and UX (which often is incredibly ergonomic) - so as to limit scope and not mess it all up by trying to introduce mouse navigation and windowing mess. I was the tech lead on one of these projects. Personally I was sad and frustrated we had to keep the old UX/UI. I would have…

At some point in the web, ergonomic went from something that meant all form and minimal viable function. Efficiency just isn’t a real noun in the UX/UI vocabulary when it somes to complex entry.

30 years ago, those of us on green screens at Big Org knew more shortcuts than any emacs user. Now whenever I have to use a “modern” CRM it’s the most anti-productive aspect of my job.

Re: IBM will offer free COBOL training

#172

Earlier quoted context omitted.

>> 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? Yes, or sooner. And you keep the 'institutional knowledge' externalized in documents, and you use testing tools and use virtualized systems and what not (virtual systems were available to consumers even 20 years ago - this is not that new). "Upgrade" or "rewrite" every 10-15 years. This should just be a cost of maintenance. I'm at the point where I've had PHP…

> and you use testing tools and use virtualized systems and what not

"what not" has been running in production since 1972: https://www.ibm.com/it-infrastructure/z/zvm

Re: IBM will offer free COBOL training

#174
post #22

Earlier quoted context omitted.

You joke but I still see FORTRAN jobs around where I live than Ruby. I even worked for a consultancy that did a Matlab -> FORTRAN rewrite.

Fortran is super fast. For math/analytical stuff it's preffered over C. But to avoid relyance on a language with so few devs, these orgs dhould only have code that the the heavy lifting math in fortran. And use expose those as wrspped functions to some other more common and easier to use/mantain/hire

Indeed - with its stricter semantics Fortran is much easier for the compiler to generate a highly optimized machine code for.

Re: IBM will offer free COBOL training

#175
post #145

Earlier quoted context omitted.

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…

>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. ;) I don't know, at this point seeing a GOTO in my « native language » (the C language) is so incredibly weird that my first thought is « this guy is trying to do something weird and interesting ». It just wouldn't cross my mind somebody would be u…

Really? Not trying to be derisive, just surprised. One of the common paradigms in C is GOTO for cleanup and error handling. I know it can be avoided if you really try however when used correctly, it can greatly improve the readability of code.

Re: IBM will offer free COBOL training

#176
post #64

Earlier quoted context omitted.

You can actually ssh into it and use vi. That's probably the easiest way to do it. However, the edit-compile-test cycle is somewhat complicated. You need to first edit the file, fine, you can use vi. Then you need to go into ISPF (or TSO) on a 3270 terminal to submit the batch job that compiles the code (and possible runs it). Then you need to go into SDSF to view the results of the compilation. Back in the 70's this…

You can submit jobs to JES2 from USS with a shell script. Easiest way I found was to fuse-mount a working directory, edit everything with VSCode/Vim With COBOL Extensions and have two shells, one constantly reading the output data file and another for submitting job cards.

Thanks for the information. I assume actual mainframe developers do these things. But can you do that from the environment provided to me you by master the mainframe?

On the MVS 3.8j side, I can submit a job directly via the virtual card reader and then read the results directly from the printer and feed it into Emacs. That's the most efficient way to work with Hercules but you'll be stuck with a very old version of Cobol.

Re: IBM will offer free COBOL training

#177
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…

BLAS benchmarks show that fortran is actually faster than C is lots of scenarios.

Sure if you turn off bounds checking or similar.

Re: IBM will offer free COBOL training

#178

Earlier quoted context omitted.

> What do we do? Keep rewriting everything every 50 years? Yes, or sooner. And you keep the 'institutional knowledge' externalized in documents, and you use testing tools and use virtualized systems and what not (virtual systems were available to consumers even 20 years ago - this is not that new). "Upgrade" or "rewrite" every 10-15 years. This should just be a cost of maintenance. I'm at the point where I've had PHP…

> and you use testing tools and use virtualized systems and what not "what not" has been running in production since 1972: https://www.ibm.com/it-infrastructure/z/zvm

sure... I know my experience of virtualization tools is relatively limited, but I was using consumer versions of VMWare in .... 1999 IIRC. These ideas aren't terribly new.

Re: IBM will offer free COBOL training

#179
post #81
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…

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 ch…

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

More to the point, it allows you to keep the patterns near the variable declaration, so you can reuse them.

The pattern matching is part of how the data is declared.

Re: IBM will offer free COBOL training

#180
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…

> "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.

It is, but the "magic" is that the pattern-matching is part of the variable declaration, so you can reuse those patterns wherever you can use the variable.

Post reply on HN