Mainframe Programming vs. Cloud Computing
developers.slashdot.org
developers.slashdot.org
Roll on 20 years last check and the mainframe was still in there and the payroll system had been rewritten three times over since with virtually no functional change. The mainframe still does internal stock control and reporting.
I think the last rewrite was nodejs which the lack of strong decimal types on financial applications gives me the shivers.
COBOL is still easy to argue as the best overall language for business data processing -- easy to learn, easy to read/debug, and very fast executing.
Next up might be Python, except Python is very slow and, although it has nice data structures, it's restricted and clumsy with its data structures. For example, you are kept from manipulating a list while looping through it and are often forced to add excess logic to deal with None Types and such. It's also super annoying to have to type myvar['subvar']['subsubvar'], etc.
Third up I would say is Node.js. Performance and object/data structure flexibility is very good. The only problem--and it is a major problem--is that asychrony is forced upon you even while working with SQL databases. This very much complicates data processing to the point of not being practical at all for any kind of fluid business processes (where you have to read and make changes on a regular basis).
I have also spent a few years writing in Microsoft JScript.Net. While almost nobody else uses this language, I found it to be far superior to C#, Java, or really any other language for business data processing except for performance. It performs as well as C# or Java and is far more readable and efficiently writable but the Microsoft dotnet CLR (Common Language Runtime) that underlays all dotnot languages has no real support for variant data types. Instead it instantiates a generic object for each which is very expensive on memory and performance. This experience is what got my originally interested in Google's V8 JavaScript JIT-compiler and eventually its derivative, Node.js. However--and even though I use Node.js heavily, this also leaves me with a rather large feeling of tragedy that Node.js maintainers are so dead set against sychronous access to SQL databases... It is a huge loss.
"Mainframe programmers write code as if the computer is reliable, Minicomputer programmers know better"
The thing about a mainframe is, is IO is an order of magnitude faster, and you can literally remove half or more of the computer from the computer, and the thing will keep processing, thats the advantage of it.
In the 60ies hardware was not very reliable, so they had to do something.
- CICS was largely used to run online apps, using it to process back-end functions grew in popularity during/after the Client-Server period
- COBOL is has become a fairly complex language. e.g. You can write a GUI app for Windows (or at the time OS/2 PM) with it
- Cloud has many dimensions other than shared allocation of computing resources
This high-level comparison isn't much different or worthwhile than saying a Facebook datacenter is their modern computer/application-platform. Yes you can draw parallels but how does this help anyone? Recognizing the differences and making appropriate choices requires details not hand-wavy similarities.
I worked on a TP monitor for VAX/VMS from 1982-1988, which had many of the features of CICS on Mainframes.
In 1995, I started a company called WebLogic, and wrote the first Java app server. Many of the features and techniques made their way into the WebLogic app server.
The rest is history.
Maybe I am nitpicking, but this sounds more like the System/38 and AS/400 rather than the mainframe. Is the author referring to some particular technology which runs on top of the mainframe?
I don't dispute that, but I'd kinda like to hear the specifics of their reasoning.
I've never actually used JCL, but I'm willing to cut it a little slack because, IIRC, it literally started in the 60s as a way to specify job-execution information on a punched cards for batch processing systems that had as little as 8K of memory. What I've read about very early personal computers with similar amounts of memory makes me think it requires serious compromises to implement anything that actually works on such a system.
It was still the worst programming language ever created even when it was new and wart free.
If you don't make thing complicated, it's easy.
That's solid advice for any language. Clever code actually isn't.
When it came to JCL, the advice I got and what everyone I worked with did, was to copy working JCL and modify it. I never wrote it from scratch, nor did I know anyone who did.
That’s the worst mistake we made was JCL.
Yeah. Well the existence of JCL was a mistake. Building it on a card format was a mistake. Building it on assembly language was a mistake. Thinking of it as only six little control cards instead of a language was a mistake so it had no proper sub-routine facilities, no proper branching facilities.
It kind of grew. It kind of grew but when you end up with your data definitions doing all the verbiage things because you’ve limited yourself to six verbs that’s a language mistake.
We didn’t see it as a language was the fundamental problem. We saw it as a set of control cards.
And lo and behold they’re still around, the dusty decks that nobody dare touch because they run and nobody knows what’s inside
Incredibly complicated, the keyword parameters and the set goes on and on and on and on ...
[1] https://archive.computerhistory.org/resources/access/text/20...
It sounds more like they are saying it’s a nightmare for the creators of the language to maintain.
Any language that allows its users to do that to themselves is a very bad language. Good languages encourage good practices.
I'm going to describe this really badly, but I see things like Excel and HyperCard, and I really wonder what something acting more like a mainframe with the input sensibilities of user oriented programs like Excel / HyperCard would look like. Maybe I played with Orchestrations in BizTalk a bit too much and really wonder.
Things are getting bit interesting...
Mainframe is the first cloud...
Nonsense! 3279's could do 8 colors! ;-)
Now, on a more serious tone, 3270's were the 70's browsers. They had forms, sent them to the computers and got back other pages. They were pretty smart.