My cube is in the middle of a number of mainframe developers and I've gotten to know them. Today, one of them came up to me and asked me about the suitability of using Perl vs. Java or VB for a very small online (~10 pages)interface to some of their DB2 tables. Initially, they were looking at doing just custom file formats, but they eventually wanted to be able to handle XLS files. Their due date is about six months away and they wanted to make sure that this was feasible in that timeframe.

My first reaction was "Uhh ... that'll take me three weeks, broken down as follows: 1 day for coding, the rest for meetings to explain why I only need 1 day for coding."

Then, I thought about it some more. These programmers average 10+ years in the business. They're not stupid. What are they not getting that I understand? (Or, the other way round, but I know I can meet my estimates.)

It hit me - mainframe development is mostly batch processing. Server development is mostly interactive processing. That's a major paradigm shift! I had to explain MVC to every one of them that I talked to.

Not to mention that 90% of every Perl application is already written. They were talking about having to hand-roll an Excel parser in Java or VB or whatever solution they were going to use. Spreadsheet::ParseExcel works quite nicely, thank you very much.

It was just interesting to see how the different cultures can co-exist, yet not understand each other.

------We are the carpenters and bricklayers of the Information Age.

Don't go borrowing trouble. For programmers, this means Worry only about what you need to implement.

Please remember that I'm crufty and crochety. All opinions are purely mine and all code is untested, unless otherwise specified.

I was a mainframe programmer for a few years when I started out in IT and I must say your observations are quite correct.

First, MF batches tend to be very straightforward. Basically, they're a chain of modules, each with their in- and output, linked together and to the environment with JCL.The only thing that changes tends to be the data stream

Secondly, there's no code re-use - or at least not enough.If you're lucky, the record descriptions you need to use are located in a library - and that's the end of that.

It took me quit some time -and the help of others- to come to terms with "the new ways" of programming...
Lotus Notes introduced libraries and code-reuse to me, Java the concepts of API's and OOP...
And then there's Perl.<GRIN>

Their reaction was guarded, but optimistic. It is a major shift in their thinking. But, they were really happy with the idea that they would definitely be able to get it done in six months. *laughs*

As for taking six months ... there's nothing wrong in doing that, except if all you have to show for your efforts is three weeks of work, you either suck and/or overengineered the effort. Neither is a "Good Thing"(tm).

------We are the carpenters and bricklayers of the Information Age.

Don't go borrowing trouble. For programmers, this means Worry only about what you need to implement.

Please remember that I'm crufty and crochety. All opinions are purely mine and all code is untested, unless otherwise specified.

When putting a smiley right before a closing parenthesis, do you:

Use two parentheses: (Like this: :) )
Use one parenthesis: (Like this: :)
Reverse direction of the smiley: (Like this: (: )
Use angle/square brackets instead of parentheses
Use C-style commenting to set the smiley off from the closing parenthesis
Make the smiley a dunce: (:>
I disapprove of emoticons
Other