Slashdot Mirror


Major Banks and Parts of Federal Gov't Still Rely On COBOL, Now Scrambling To Find IT 'Cowboys' To Keep Things Afloat (reuters.com)

From a report on Reuters: Bill Hinshaw is not a typical 75-year-old. He divides his time between his family -- he has 32 grandchildren and great-grandchildren -- and helping U.S. companies avert crippling computer meltdowns. Hinshaw, who got into programming in the 1960s when computers took up entire rooms and programmers used punch cards, is a member of a dwindling community of IT veterans who specialize in a vintage programming language called COBOL. The Common Business-Oriented Language was developed nearly 60 years ago and has been gradually replaced by newer, more versatile languages such as Java, C and Python. Although few universities still offer COBOL courses, the language remains crucial to businesses and institutions around the world. In the United States, the financial sector, major corporations and parts of the federal government still largely rely on it because it underpins powerful systems that were built in the 70s or 80s and never fully replaced. And here lies the problem: if something goes wrong, few people know how to fix it. The stakes are especially high for the financial industry, where an estimated $3 trillion in daily commerce flows through COBOL systems. The language underpins deposit accounts, check-clearing services, card networks, ATMs, mortgage servicing, loan ledgers and other services. The industry's aggressive push into digital banking makes it even more important to solve the COBOL dilemma. Mobile apps and other new tools are written in modern languages that need to work seamlessly with old underlying systems. That is where Hinshaw and fellow COBOL specialists come in. A few years ago, the north Texas resident planned to shutter his IT firm and retire after decades of working with financial and public institutions, but calls from former clients just kept coming.

300 comments

  1. Translator by Anonymous Coward · · Score: 0

    It's just another computer language, probably significantly less complicated than the languages that are around today. Should be able to write a translator to go back and forth between COBOL and Python pretty easily.

    1. Re:Translator by Tablizer · · Score: 5, Interesting

      probably significantly less complicated than the languages that are around today

      COBOL has been around long enough to be a victim of featuritus. I has a lot of built-in operations and short-cuts that are great if you know them, but could trip up a newbie.

      But the hard part of a typical COBOL job is probably learning your way around many thousands of lines of existing programs. I've always found writing code simpler than reading code written by somebody else, especially if it's poorly structured, documented, commented, etc.

      The language and syntax the business logic is written in is secondary to that issue. Readable code can be written in any language, but so can crazy pasta.

    2. Re:Translator by Anonymous Coward · · Score: 0

      wasn't the problem with COBOL that the code and data were together in the same program and you had to change code when the data changed?

    3. Re:Translator by Anonymous Coward · · Score: 0

      "featuritus" ??? What's that? Is it like featuritis? -itis, as in a disease?

    4. Re:Translator by Z00L00K · · Score: 2

      To some extent true.

      I have messed around with Cobol a bit and even though it's a pretty stable solution when you work with it there are some stuff that it suffers from, and it's primarily that it has a hard time to interact with other systems once you get the data into a Cobol file. A file written with Cobol should only be read by Cobol and any data sent to a Cobol system must be written in fixed record format where every position is important. Negative numbers is a creature all of their own since some Cobol variants don't use a "-" sign, instead it tweaks the most significant byte of the number field to indicate a negative number - something that can cause other languages to barf.

      As long as you are bowing to the god Cobol all is fine, as soon as you start talk about other solutions you get a blank stare from everyone working on the mainframe and they put you twenty steps down the ladder.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    5. Re:Translator by guruevi · · Score: 1

      It's not just a random computer language, it has quite a bit of intricacies and used to be geared towards solving business logic problems. It also has numerous dialects. Additionally, these programs are often huge and nobody knows for sure what test cases need to be applied, so even if you could translate and then write the amount of tests for the logic that has evolved over 30 years you might as well just rewrite it which is the cost they're trying to avoid.

      The problem is not necessarily the software that needs to be translated, it's also the hardware and operating system these are still running on. IBM and a number of subsidiaries is making a killing supporting these old systems which makes it still a cheaper (quarterly speaking) option than rewriting.

      One of the institutions I work with just finished moving an old COBOL system from an IBM mainframe to a 'virtual platform', so at least it's on better hardware but the OS and software remains the same so they still need COBOL people but also people that understand the particular business logic implemented in that system. Both IBM and their 'virtualization partner' is glad to make these processes as long and painful as possible. On the other hand, the rewrite is slated in the next 5-10 years but this is again, being done by SAS/Oracle/IBM types which make a killing making an inferior product.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
    6. Re: Translator by Anonymous Coward · · Score: 3, Interesting

      Correct. I've been a COBOL gun for hire for 15 years, mostly in finance, and the rubbish you have to get your head around sometimes is amazing. On the flip side I've seen some very clever things too.

      Once I had to fix a nasty bug in a clearing system causing dropped transactions; took me a day of scrutinising thousands of lines to find the logic error.

      Largely it is actually all being phased out though, contrary to this article. There were times I could have $3000/hr contracts, they're much less frequent these days.

    7. Re:Translator by bws111 · · Score: 4, Interesting

      Haha! IBM is making a 'killing supporting old systems'? IBM comes out with NEW mainframes about every two years. The current system (z13) is from all the way back in 2015. And you won't find 'better hardware' anywhere. Cheaper? Certainly. Better? No.

    8. Re:Translator by tranquilidad · · Score: 3, Informative

      I started programming in COBOL in 1978. I spent a decade or so on IBM mainframes with COBOL and 370 assembler.

      I never referred to anything as a COBOL file. There were many types of file and database structures on IBM mainframes. While many simple systems used fixed record formats it wasn't nearly always the case.

      The FILE section of a COBOL program allowed for varying record sizes:

      FD file-name
      RECORD IS VARYING IN SIZE FROM small-size TO large-size DEPENDING ON size-variable.

      WORKING-STORAGE SECTION.
      77 size-variable PIC 9(5).

      The language also allows for the redefinition of record layouts so the type of data and what is to be done with it can be determined at run-time.

    9. Re:Translator by tsqr · · Score: 1

      "featuritus" ??? What's that? Is it like featuritis? -itis, as in a disease?

      Nice try. -itis indicates inflammation; -osis indicates disease. -itus sometimes shows up as the suffix for a medical condition, such as tinnitus (ringing in the ear); this may have been what led the OP astray, though it was probably just a typo.

    10. Re:Translator by Anonymous Coward · · Score: 0

      Many decades ago, yes. Since the invention of the thing known as a "data base", nope. Separation of data and code was one of the greatest productivity breakthroughs in programming history (IMO, ranking up there with program code modularity - when the two are used together, gives almost unimaginable potential for code reuse). DBs in traditional IBM mainframe shops could take enormous workloads off the application programmer. Real learning curves, yes, and expensive, yes, but amazingly powerful and productive, Since in large mainframe shops tech management was often non-technical, this potential simply wasn't understood and rarely fully used, although reuse I have seen in truly large shops was sometimes really awesome, a tribute to the techies themselves.

    11. Re:Translator by Anonymous Coward · · Score: 0

      > Negative numbers is a creature all of their own since some Cobol variants don't use a "-" sign, instead it tweaks the most significant byte of the number field to indicate a negative number - something that can cause other languages to barf.

      On most computers negative numbers are indicated by a 'most significant bit'. eg the hexadecimal bit representation 0xFFFF is the value -1. What you are discussing is actually something different. With most binary computations the numbers may be integer of may be floating-point. These are not always suitable for dealing with monetary calculations. COBOL, and many of the machines that run COBOL systems, calculate using fixed point decimal or binary coded decimal (BCD). These give accurate and predictable calculation results on large numbers. Different computer system can represent the negative values of BCD in different ways.

      As you say, many other languages cannot efficiently deal with fixed-point decimal or BCD values, and are thus unsuitable for application that COBOL is used for.

    12. Re:Translator by RabidReindeer · · Score: 3, Insightful

      Yeah. "All You Have To Do Is..."

      Think about human languages. Translate "Out of Sight, out of Mind to a language like Chinese, where a literal conversion might be "no-see, no-think". Now take another automated translator and translate it back: Invisible Idiot.

      Every language - computer or human - has its unique characteristics. There's an old saying, in fact that "Translators are traitors".

      Case in point: COBOL didn't support variable-length strings. Most modern languages have little or no tolerance for fixed-length strings. IBM COBOL supported a hardware-level data type (COMPUTATIONAL-3) which can store penny fractions precisely. Most modern languages don't allow for that, and tend to use floating-point (COBOL COMPUTATIONAL-2). Which cannot store decimal values precisely. Fuzz the pennies on people's paychecks and see how long before the torches and pitchforks come out. It's one of 2 reasons why so many payroll and accounting systems are written in COBOL (with the other one being that there's not exactly a lot of leading-edge technology in basic financial systems).

      Some of these things can be automatically dealt with - albeit with some inefficiency - some of the more subtle issues have to be dealt with more directly, just as we've never yet managed to construct truly generic software-writing systems and have to continue to use programmers instead of robots like we do with truck driving and day-trading.

      I have, actually worked with/supported automated code translation projects using commercial translator products. Every one of them has required a time and manpower budget for the clean-up crew. You can get about 80% of the job done automatically (although the resulting code may look horrible to a native human programmer). But to get something actually working, the tools need human help.

    13. Re:Translator by Hognoxious · · Score: 1

      I was taught to not use BCD fields in files.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    14. Re:Translator by AuMatar · · Score: 1

      BCD was part of the C standard library since the 70s. And every modern language has a BigDecimal type equivalent. All of which can handle negative numbers. You're 40 years behind on your arguments.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    15. Re:Translator by JohnnyBGod · · Score: 2

      Most modern languages don't allow for that, and tend to use floating-point (COBOL COMPUTATIONAL-2).

      You mean like how every modern database supports fixed point decimals and how every language has a type for them in their standard library (or some third party one)?

    16. Re:Translator by Raenex · · Score: 1

      I've always found writing code simpler than reading code written by somebody else, especially if it's poorly structured, documented, commented, etc.

      Which is why it's common for a new team to take over a project and then immediately claim it needs to be rewritten.

    17. Re:Translator by RabidReindeer · · Score: 1

      A database is not a programming language. Even when you have decimally-precise data storage, if your computational facilities are not precise, you'll lose data.

      I wouldn't say "every" language has a fixed-point decimal data type or library, although many do. The point was that in COBOL, fixed-point decimal numbers were a language primitive. Relatively few modern-day languages do that. An approximation can be made in C++ where you can define a fixed-decimal class and operator overloading, but C++-style operator overloading is itself rare in most popular modern languages. Failing that, you have to fall back to possible non-standard libraries and coding computation by function calls instead of the more convenient mathematical formula notation.

    18. Re:Translator by guruevi · · Score: 1

      I know IBM still makes mainframes, I have at least one client that purchased a brand new one. IBM also continued to support this system, a 1985 mainframe that processes orders sent by inter-office mail to a mainframe operator, printed out and sent back by inter-office mail. About a decade ago I had a customer that was just trucking out it's Winchester's out of the data center.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
    19. Re:Translator by david_thornley · · Score: 1

      The C standard library did not include decimal arithmetic, which is what BCD refers to. In a hex dump, you can read the field because it will be all decimal digits except for the last half-byte, which will be represented by a letter, which depends on whether the number is positive or negative.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  2. Milk Them by Anonymous Coward · · Score: 2, Interesting

    I hope all these COBOL programmers are smart enough to charge outrageous rates. Minimum $250/hr.
    They've got the banks over a barrel, any time the situation is reversed the banks don't hesitate to screw us.

    1. Re: Milk Them by Type44Q · · Score: 5, Insightful

      $250/hr is an "outrageous rate" to charge a bank? What are you, 14??

    2. Re:Milk Them by Anonymous Coward · · Score: 0

      Try adding a zero on the end to warm up sunshine...

    3. Re: Milk Them by Anonymous Coward · · Score: 1

      I'm curious, did they teach the definition of 'minimum' in your high school?

    4. Re:Milk Them by Z00L00K · · Score: 1

      That seems to be right - experienced Cobol developers are rare these days and you can't get them when you need them so you better have a thick wallet. And banks have thick wallets.

      Since I work with a large company the price for a small change like creating a new report is about $100 to $500k. And that's a list that could be thrown together at a coffee break in Java.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    5. Re:Milk Them by Anonymous Coward · · Score: 0

      Outrageous? That's going rate. I suggest you learn what real pay rates are for experts in a very small field get.

    6. Re:Milk Them by Anonymous Coward · · Score: 0
    7. Re:Milk Them by swillden · · Score: 5, Interesting

      I hope all these COBOL programmers are smart enough to charge outrageous rates. Minimum $250/hr. They've got the banks over a barrel, any time the situation is reversed the banks don't hesitate to screw us.

      $250 per hour is a pretty normal rate for an experienced professional, hardly outrageous at all. When I worked for IBM Global Services, they billed me out at $300 per hour. Granted that IBM commands a premium due to their marketing channels, but I'm sure I could have gotten $200 per hour on my own and my expertise is far from as rare as deep COBOL experience. I'd expect people like the one mentioned in the article to cost more like $500 per hour, if they're actually aware of their own worth, and I wouldn't consider even that outrageous.

      If I were in the position of those programmers, I would probably try to avoid quoting an hourly rate at all. Instead I'd do it all as piece-rate work, based on detailed specifications -- especially if I'm working on a system that I know, so I have a good idea of what sorts of obstacles I might run into. Then I'd try to set my price based on the value of the work to the business, rather than on the time it would take me to produce it. That could easily result in contracts that work out to many thousands of dollars per hour.

      A friend who is a lawyer told me that the best piece of career advice he ever got from his father, also a lawyer, is "Take the money, son." He didn't mean to take money for unethical work, but just that one shouldn't balk at accepting high fees just because they seem too high. If the customer is willing to pay, take the money. That attitude should absolutely be applied to doing contract work for banks.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    8. Re: Milk Them by thegarbz · · Score: 1

      Quite likely they did. On the other hand you mussed have been sick the days they talked about "reading comprehension"

    9. Re: Milk Them by Anonymous Coward · · Score: 0

      That's still low. When I did general IT contracting, at times I was paid ~$135 an hour to sit on conference calls and power cycle equipment. If that sounds crazy, well believe it or not it's actually hard to find people who will show up on time and answer their phone, let alone follow the scope of work... and when you're a project manager doing a nationwide+ deployment of thousands of devices in which screw ups and downtime can rack up insane lost revenue, you're going to go with reliable over cheap as it's likely your predecessors already found out what happens when you don't.

    10. Re: Milk Them by Anonymous Coward · · Score: 0

      I'm curious, did they teach the definition of 'minimum' in your high school?

      Minimum - the least or smallest amount or quantity possible, attainable, or required.

      By the definition of the word, saying a minimum of $250 means that while $249 is not enough, $250 and $251 and all the numbers above $250 are enough.

      The reply in question said $250 was far from enough, however "minimum $250" would still include values which clearly are not enough, which makes the original claim of "minimum $250" an incorrect statement.

      I have to wonder if you were ever taught the definition of 'minimum'?

    11. Re: Milk Them by Anonymous Coward · · Score: 0

      $500k? Creating a new report?

      Are you hiring?!

    12. Re: Milk Them by St.Creed · · Score: 1

      I'll build any report you care to spec for half that amount. In fact, for that amount I'll be on stand-by the entire year - 24/7. Just in case they need another one.

      --
      Therefore, by the (faulty) logic you're using, you're just a cow with a keyboard - osu-neko (2604)
    13. Re: Milk Them by Anonymous Coward · · Score: 0

      Don’t fight. You’re both pretty.

    14. Re: Milk Them by mattack2 · · Score: 1

      You make $500K/year?

    15. Re: Milk Them by Ryanrule · · Score: 2

      Im thinking at least 4 figures. Per minute.

    16. Re:Milk Them by gweihir · · Score: 1

      In how far is $250 and outrageous rate for an expert? Sure, if you pay it for pseudo-experts (IBM consultants, for example) is is very expensive, but for actual experts that understand things and get the job done, it is quite fine.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    17. Re:Milk Them by Anonymous Coward · · Score: 0

      $250 per hour is a pretty normal rate for an experienced professional, hardly outrageous at all. When I worked for IBM Global Services, they billed me out at $300 per hour. Granted that IBM commands a premium due to their marketing channels,

      Its not the marketing channels. Its the organization behind you - technical support and resources so that even when you don't personally have the answers you have a direct line into the organization to get answers.

    18. Re: Milk Them by Anonymous Coward · · Score: 0

      mussed

      LOL, illiterate moron.

    19. Re:Milk Them by Anonymous Coward · · Score: 0

      Clearly you've never had to deal with the technical support capabilities of companies like IBM or Hewlett Packard.

      e.g.: When HP sent me a DOA notebook I had to nag them daily for two weeks before I got an actual case number to have the defective unit replaced, another week of daily nagging until I got the DHL consignment number to have the defective unit picked up, another two weeks of daily nagging to get the DHL consignment number of the replacement unit, finally two days later the replacement arrived. Thank goodness the replacement actually worked. Every person I spoke to along the way gave me a different reference number, and nobody could ever look up a previous reference number to figure out what was going on.

      My take away from the experience: my company (with ~100 employees over 3 continents) will never, ever buy another product from HP.

    20. Re:Milk Them by Anonymous Coward · · Score: 0

      $260 per hour of what? Three hours to fix a problem of six years of trying?
      It is fucking immaterial what the hourly pay is, if the banks want to use obsolete tech, let them. Let the HR pee-brains figure out they need either to resurrect the zombies that wrote the code, or replace these systems.

    21. Re:Milk Them by Anonymous Coward · · Score: 0

      >do it all as piece-rate work, based on detailed specifications
      aka "how to end up not getting paid and having to hire $400/hr lawyers".

      Hourly is always the best way.

    22. Re:Milk Them by Anonymous Coward · · Score: 0

      $250 per hour is a pretty normal rate for an experienced professional, hardly outrageous at all.

      $250/hr is my current internal rate. My external rate is about 2-4x that (depending on who the customer is). And this isn't related to COBOL - this is related to experience / finding somebody with the right skillset to fix a given problem. And yes - paying upwards of $40k for a single week for a senior consultant to get it working vs. spinning wheels for another 2-3 months is worth it under the right circumstances. Think about your own house projects - how often do you just want to get it done vs. doing it yourself and dealing with the headaches?

      That being said, COBOL ain't going anywhere anytime soon. However, I despise the use of the term "cowboys" ... these are professionals, not cowboys, who keep your mission-critical business application running. Treat them as such.

    23. Re:Milk Them by swillden · · Score: 1

      $250 per hour is a pretty normal rate for an experienced professional, hardly outrageous at all. When I worked for IBM Global Services, they billed me out at $300 per hour. Granted that IBM commands a premium due to their marketing channels,

      Its not the marketing channels. Its the organization behind you - technical support and resources so that even when you don't personally have the answers you have a direct line into the organization to get answers.

      Yeah... no. None of that ever applied to anything I was doing.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    24. Re:Milk Them by volodymyrbiryuk · · Score: 1

      The should charge NYC cab prices.

      --
      sudo rm -r -f --no-preserve-root /
    25. Re: Milk Them by DarkOx · · Score: 1

      $250/hr + travel + accommodations and meals, sounds about right for high end IT consulting work.

      --
      Repeal the 17th Amendment TODAY! Also Please Read http://www.gnu.org/philosophy/right-to-read.html
  3. Just offer more money by religionofpeas · · Score: 5, Insightful

    Any good programmer can learn to program in COBOL given enough financial incentives.

    1. Re:Just offer more money by Oswald+McWeany · · Score: 1

      Indeed. Probably the easiest language I ever had to learn. I'm sure I've mostly forgotten it now because I've never used it since I learnt it in University (besides converting some old Cobol to VB6 a long time ago... but that was reading not writing).

      --
      "That's the way to do it" - Punch
    2. Re:Just offer more money by Archangel+Michael · · Score: 4, Interesting

      Easy to learn, fairly easy to read. However, the Lords of Cobol are masters at programming in a way that most people today can't think. it is a quite literal programming language.

      --
      Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
    3. Re:Just offer more money by aicrules · · Score: 4, Insightful

      I agree. I haven't even "learned" it but I was able to contribute to fixing a project that had it. In 2012 at a major pharmaceutical company merger I got tired of being told some mainframe cobol thing was working one way and seeing it work another. So we finally did a live code walkthrough and I easily spotted the logic error that was causing the actual behavior. Granted this COBOL was written and structured about as well as COBOL could ever be, but in the end it's just another set of terms and syntax to learn.

    4. Re:Just offer more money by Anonymous Coward · · Score: 0

      The trick is being familiar with all of the hardware platforms on which the COBOL is running. You can take someone book trained on COBOL and sit them down in front of an old mainframe and just laugh as they have no idea what to do.

    5. Re: Just offer more money by Anonymous Coward · · Score: 0

      I learned VB first by making AOL progs while I was in middle school. I graduated to high school and all they had was cobol and some As/400s. It was like stepping into a time machine. Fucking public schools lol. It worked out because cobol was quite fun to learn as was working on the AS/400s.

    6. Re:Just offer more money by CaptainDork · · Score: 2

      This.

      I took COBOL and it was one of the easiest to understand.

      The goddam language is almost English. Fuck, I never had to "press 2."

      Mr. Hinshaw needs to be teaching a bunch of COBOL graduates.

      --
      It little behooves the best of us to comment on the rest of us.
    7. Re:Just offer more money by Anonymous Coward · · Score: 0

      True, but most good programmers would know to avoid that mess.

    8. Re:Just offer more money by kiviQr · · Score: 2

      The thing they are looking for is experience. I have seen people who came into Java from main frame systems. They wrote Java in a main frame/functional way. No thank you.

    9. Re:Just offer more money by Jerry · · Score: 1

      Been there, did that, but with VFP6, which is also a dead language.

      --

      Running with Linux for over 20 years!

    10. Re:Just offer more money by Anonymous Coward · · Score: 0

      True - the idea was the language was to allow the programmer to be able to concentrate more on the problem and less on the technical stuff. HOWEVER - the real challenge, especially in the traditional mainframe environment, is that the COBOL language is only a small part of the entire computing environment. That environment is a universe unto itself, and without knowledge of a wide variety of complex, mature, products (that had to be created from scratch long before the current computing world existed), one just cannot function at all. And ya really can't learn them without a handy mainframe to practice on . . :) .

    11. Re:Just offer more money by Anonymous Coward · · Score: 0

      This was at the same time my mother learned basic and computer languages should be readable by anyone (english speaking).

      Now, we have Java, something nobody want to touch with a ten-foot pole if they can avoid it.

    12. Re:Just offer more money by Anonymous Coward · · Score: 0

      Easy to learn, fairly easy to read. However, the Lords of Cobol are masters at programming in a way that most people today can't think. it is a quite literal programming language.

      ... yeah, but they keep getting distracted playing tag with space robots so they don't actually do all that much programming any more.

    13. Re:Just offer more money by phorm · · Score: 2

      Yeah. It's been a while since I've used it, but they taught us all COBOL in one of the basic University courses because certain large'ish local businesses still used it.

      It's actually a rather fun language, and nifty for writing out nicely aligned and formatted reports. The compiler is also usually good at catching obvious errors, but $deity help you if you misplace a period in the wrong place and have to debug the code afterwards.

      For $250/h+ though, I'd be more than happy to contract out my services in fixing up some old COBOL code.

    14. Re:Just offer more money by DarthVain · · Score: 1

      I did COBOL in University. While I would agree that it has the *potential* to be one of the easiest to understand languages if used properly, like any programming language can be done badly by poor choices. There are probably some really good ones out there were they were forced to use good naming conventions, but there are probably others where perhaps it predated good technique. I will say from my own experience I found it rather easy for the simple things we did, and that if one used proper naming it basically commented itself almost.

      That said, COBOL is also a pretty verbose language, more less meaning that while fast processing, could be a real chore to read through all the lines of code whereas a more modern language might have been more succinct.

    15. Re:Just offer more money by Trailer+Trash · · Score: 2

      I agree. I haven't even "learned" it but I was able to contribute to fixing a project that had it. In 2012 at a major pharmaceutical company merger I got tired of being told some mainframe cobol thing was working one way and seeing it work another. So we finally did a live code walkthrough and I easily spotted the logic error that was causing the actual behavior. Granted this COBOL was written and structured about as well as COBOL could ever be, but in the end it's just another set of terms and syntax to learn.

      More than that, COBOL has far fewer features than any modern language, making it even easier to figure out what's going on. If you know any computer language you can easily determine exactly what 99% of all COBOL programs are doing simply by looking at them. That doesn't make you a COBOL programmer, but it's not like Ruby where you really have to know the language to a pretty good extent to figure out what a block of code does.

    16. Re:Just offer more money by user+no.+590291 · · Score: 1

      010010* SO SAYETH WE ALL.

    17. Re:Just offer more money by DarkOx · · Score: 1

      I took COBOL in university too and than I went into industry not as COBOL programmer but as an ETL guy. Getting my job done meant getting data out of the mainframe which proved to be a complex ECO-system of many related COBOL programs with all kinds of copybooks containing complex data structures, calls to sub programs, and control break logic so deeply nested lessor interpreted languages might run of call stack space. I am not suggesting this was badly written spaghetti code either, most of it was very well normalized and followed DRY. Complex business logic (major national retailer) requires complex software.

      I am of the belief that people who think 'derp any programmer can just sit down and read COBOL' have never seen thing beyond contrived university assignments and tutorials. Complex software is complex no matter what language you write it in. It does not suddenly become simple because its in COBOL and if you don't actually do COBOL understanding that logic really isn't that strait forward.

      Do you know what this does and are your sure?

      PERFORM PG1 VARIYING WS-IDXFOO FROM 1 BY 2 UNTIL WS-IDXFOO > 10
                                                                                    AFTER WS-IDXBAR FROM 1 BY 3 UNTIL WS-IDXBAR > 20

      Okay its a nested loop with PG1 as its body, sure that much is obvious. When are the values tested at the top of the loop or the bottom? Which index is inner, which the outer. If you are not immediately certain about the answer to this do you really think you are going to understand the program's deeply nested logic?

      I would suggest if you have not actually internalized COBOLs reserved words and their arguments you might read a program and think you understand but thinking you understand isn't good enough. You have know for sure before you can go making changes. It will take someone who isn't a native COBOL speak 10x as long for certain. This is all before you get into all the stuff that is typically happening around COBOL programs before and after they run, like SYNCSORTs and other JCL magic.

      COBOL is in the end like every other language, a person familiar with software development in the abstract can probably grab a copy of "COBOL for the 21st Century" and work thru a problem, even a big one. The same way they could grab a copy of "Learn Java in Seven Weeks." but it will be a long time before you can keep up with someone who is experienced and practiced. Moving at the "speed of business" will prove difficult.

      --
      Repeal the 17th Amendment TODAY! Also Please Read http://www.gnu.org/philosophy/right-to-read.html
    18. Re:Just offer more money by Anonymous Coward · · Score: 0

      I used to be an exceptional mainframe programmer. Every once in a while, I look to see what salaries are being offered. Most of them are in the $70 to $90 k range. Are you kidding? I make 190k now doing C++. Financial firms, get back to me when you are serious.

    19. Re:Just offer more money by Anonymous Coward · · Score: 0

      I can write Fortran in any language.

    20. Re:Just offer more money by Anonymous Coward · · Score: 0

      I spent a decade coding internal applications for IBM in PL/I, then another couple of decades testing mainframe software used by most of those big name financial and other companies. I could have written my test code in PL/I, but decided right up front to use COBOL as my first choice instead, because that's what almost all of the customers were using. Syntactically mostly easy, if a little quirky in places (and tricksy, depending upon precisely which flavour you're using). Like any language, though, writing GOOD code - code that the next guy will be able to pick up and get into quickly, which is usually far more important than, say, being "effiicient" - is an art-form somewhat specific to the language.

    21. Re:Just offer more money by LordWabbit2 · · Score: 2

      It's not just the COBOL language you have to learn, you also have to know JCL (Job Control Language) CICS (Customer Information Control System) and SQL (Structured Query Language) - most programmers will already know SQL - but you are going to have to deal with the little quirks of DB2 sql. Now depending on your environment you MAY have someone else there who is the JCL expert and they can write the jobs, but you still need to know enough to read them otherwise the JCL expert is going to be a VERY busy person. There also might be parts of it written in REXX, so another language to learn. Then there are the commands to do stuffs on the mainframe. V-Series interface is a lot more advanced then a command prompt, but not by much, so you are going to have to learn that as well. Ever worked with keyed sequential files? Gotta learn about those as well. The learning curve is steep, and god forbid you end up on an older A-Series mainframe, because then you have to learn WFL (Workflow Language - predecessor to JCL) as well. Someone mentioned further up that it's not so much the languages you have to learn, but these programs are generally HUGE, millions and millions of lines of COBOL in one program, and THAT is probably the hardest part.

      --
      There are three kinds of falsehood: the first is a 'fib,' the second is a downright lie, and the third is statistics.
    22. Re:Just offer more money by Anonymous Coward · · Score: 0

      It's probably even worse than that. There are probably tons of COBOL programs that rely on quirks or even bugs in the compilers they were written for. A consultant needs to know about those. COBOL programmers probably used a huge number of tricks to get around stupidities in the language; now those tricks cause pain. There may have been a tradition of assumptions about how names are structured. How many bits get allotted to a field. It's not just a matter of knowing the language; it's knowing the foibles of the ecosystem. Not only that, the original programs were not well-documented. It may even be that the source code has been lost.

    23. Re:Just offer more money by david_thornley · · Score: 1

      While you don't have to pay anything for a good COBOL implementation to learn on (not in my house, please), IBM doesn't provide CICS or JCL for free, so you'll need to learn on an IBM mainframe.

      Millions and millions of lines in one program? Are you sure? Back when I used COBOL, no program I saw was as much as 10K lines.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    24. Re:Just offer more money by LordWabbit2 · · Score: 1

      Yes, I am sure, I modified the WFL to compile it faster so we could go to the pub earlier. It may be the exception, but I have come across more than one huge COBOL program. Don't forget with working storage a lot of the "code" is actually just defining memory for usage. I remember one program which when printed out double sided took over a ream of paper. Long story about why they bothered printing it, but yeah, it was that big.

      --
      There are three kinds of falsehood: the first is a 'fib,' the second is a downright lie, and the third is statistics.
    25. Re:Just offer more money by michael_wojcik · · Score: 1

      It's not just the COBOL language you have to learn, you also have to know JCL (Job Control Language) CICS (Customer Information Control System) and SQL (Structured Query Language) - most programmers will already know SQL - but you are going to have to deal with the little quirks of DB2 sql.

      There are many COBOL applications which 1) are not run under JES; 2) do not run in CICS; and 3) don't use DB2.

      Certainly all three of those things are common in COBOL applications, but they are hardly universal.

      Indeed, while our mainframe offload dev/test business and our mainframe emulation business are both quite healthy, we also sell a lot of COBOL development to people who are building COBOL apps for native Windows, Linux, and UNIX, and a growing number of customers are building JVM or CLR (.NET) COBOL applications. Their concerns are more likely to be things like web front ends and invoking web services, and for the managed-code COBOL folks using the OO syntax correctly.

      Embedded SQL is still big, but we probably see about as much Oracle and SQL Server as we do DB2.

    26. Re:Just offer more money by michael_wojcik · · Score: 1

      COBOL has far fewer features than any modern language

      That's a rather odd claim. Even COBOL-85 has a much, much longer specification than, say, C. COBOL-2002, at 879 pages, is probably longer than the Java 6 spec plus the standard Java framework docs. The core language chapters (Language Fundamentals through Intrinsic Functions) is nearly 600 pages. There are close to 400 reserved words.

      And if you take a really modern COBOL dialect, with OO features and enhanced syntax, plus the preprocessors that are commonly used ... well, it's a lot bigger. And it has most of the features of most of the major "modern" languages, functional-programming constructs being the biggest omission.

  4. Re:This is really funny stuff! by Anonymous Coward · · Score: 3, Insightful

    Java, C, and Python are newer and more versatile than COBOL. I fail to see your point. Yeah, some are old, but COBOL is the oldest, so the sentence is still correct.

  5. COBOL by freeze128 · · Score: 2

    I worked for a company 20 years ago that had a Windows program written in VISUAL COBOL. It was terrible. It crashed all the time. When it worked, it was slow. We don't need more COBOL programs, but I hardly think that Python is the answer.

    1. Re:COBOL by Anonymous Coward · · Score: 0

      COBOL and Visual COBOL are very different beasts. COBOL programs on System z are eminently reliable and provide the vast majority of the business logic the world runs on today. The skills shortage is an interesting topic but I don't think that comparing the two is especially valid, especially as the example of an application in a single circumstance is quite anecdotal.

    2. Re:COBOL by TWX · · Score: 5, Funny

      Is there any programming language with "Visual" in the title that's worthwhile?

      --
      Do not look into laser with remaining eye.
    3. Re:COBOL by rickb928 · · Score: 3, Interesting

      I supported several apps based on Microfocus COBOL and so-called Visual COBOL. No significant problems with either platform, the apps worked as well as thne programmers did, or more correctly, bugs happened. One was rock solid, the other had predictable issues with every major release that were resolved without much delay.

      Stereotyping COBOL is inevitably just age discrimination. It's functional, as the history and current situation proves. It's a language, competent programmers that have progress from C to C++ to Java will figure it out if they see profit in doing so. I work with an old-school COBOL programmer who has no patience with the young whippersnappers who whine about every problem a legacy platform presents. There is so little interest around here to abandon the core transaction systems that claims that COBOL is 'obsolete' fall on deaf ears. They train new maintainers here. What a concept, training your team! Gah!

      --
      deleting the extra space after periods so i can stay relevant, yeah.
    4. Re:COBOL by shadowknot · · Score: 3, Interesting

      The COBOL programmers at my place are actually using it to develop new functionality that's keeping up with the financial world and actually pushing the leading edge. They've done nightly program releases since literally decades before the term "agile" was a thing. The notion that COBOL is just a legacy hold on that is in maintenance mode everywhere is also somewhat of a misconception. That's probably the case in some locations where it's providing a core business function and the rest of the infrastructure has evolved around it to patch the functions that support whatever the modern requirements are but there are plenty of people using it to create new function as well.

    5. Re:COBOL by ninjagin · · Score: 1

      Tart, technical, and terse. I think you won the internet, today. Well-done!

      --
      .. pa-ra-bo-la, pa-ra-bo-la, 2 pi R, 2 pi R, where's your latus rectum, where's your latus rectum, 2 pi R
    6. Re:COBOL by Anonymous Coward · · Score: 0

      I worked for a company 20 years ago that had a Windows program written in VISUAL COBOL. It was terrible. It crashed all the time. When it worked, it was slow. We don't need more COBOL programs, but I hardly think that Python is the answer.

      Blame Microsft for putting out a piece of shit software. COBOL is good at what it does, and as the saying goes the problem is between the chair and the monitor. You hire indian java monkeys, you'll get shit software. You hire competent programmers you'll end up with a decent piece of software. Garbage in, garbage out it's especially true in the software world.

    7. Re:COBOL by fahrbot-bot · · Score: 1

      I worked for a company 20 years ago that had a Windows program written in VISUAL COBOL. It was terrible. It crashed all the time. When it worked, it was slow. We don't need more COBOL programs, but I hardly think that Python is the answer.

      I imagine the failure modes revolved around the words "Windows" and "Visual" rather than "COBOL". As other posters have pointed out, running real COBOL on grown-up, production hardware like IBM System z, etc... is a better metric.

      --
      It must have been something you assimilated. . . .
    8. Re:COBOL by TWX · · Score: 1

      Sad thing is, I wasn't really joking when I asked. Only "Visual"-titled languages or environments I was familiar with were Visual Basic and Visual C++, and at the time I was exposed to them I did not care for them.

      --
      Do not look into laser with remaining eye.
    9. Re:COBOL by Anonymous Coward · · Score: 0

      Visual Age Smalltalk was awesome...

    10. Re:COBOL by St.Creed · · Score: 1

      Yeah... 20 years ago it was 1997. Visual *anything* was crashing regularly at that time. I remember Visual C++ 1.0... it froze the machine when you tried to edit icons and they just generated incorrect assembly at a few places as well. The fujitsu cobol compiler wasn't all that hot either. I was using that one in 1997. Not a huge improvement over Visual Cobol, but at least I could *generate* the code instead of having to type it and it usually didn't crash.

      On the mainframe they had nightly builds, state of the art sorting software, source code control, backups... which we copied in short order as fast as we could.

      --
      Therefore, by the (faulty) logic you're using, you're just a cow with a keyboard - osu-neko (2604)
    11. Re:COBOL by Anonymous Coward · · Score: 0

      Ayup - 'Visual' in the name of a programming language is much like 'People's Republic' in a country name.

    12. Re:COBOL by gweihir · · Score: 1

      Python is actually pretty good as a language, but it is hugely deceptive in how much skill, insight and experience is needed in order to produce good code. It is a language that does not stand in the way of an expert and supports said expert in many ways. For non-experts (and, sadly, most coders fall into that class), it allows them to shoot themselves in the foot in various easy to implement ways.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    13. Re:COBOL by Anonymous Coward · · Score: 0

      We use a financial application written in Micro Focus COBOL running on Windows Server 2008 R2. Been running it for years and we still get upgrades/updates from the vendor (Stone River).

    14. Re:COBOL by Anonymous Coward · · Score: 0

      Hmm your windows cobol program sucks, Ergo mainframe cobol must also suck. Quick we need to call every financial institution out there and tell them to convert now. One can only imagine how the banking industry has not fallen prey to glitchy software in the last 40 years......... /Sarcasm

    15. Re:COBOL by Anonymous Coward · · Score: 0

      Is there any programming language with "Visual" in the title that's worthwhile?

      Visual Foxpro !!!

  6. Yearly Article/Cautionary Tale by mykepredko · · Score: 5, Insightful

    Ever since I first joined /. there has been an article a year stating:
    - Major organizations, banks, governments, etc. are still relying on COBOL.
    - COBOL programmers are in great demand so dust off your old MVS skills (and maybe pull out those JCL manuals) and offer up your services, you're in demand!

    What I really think is the big takeaway from all this is simply that the need for supporting for your old software is never going away - so think of a way of monetizing it.

    1. Re:Yearly Article/Cautionary Tale by Anonymous Coward · · Score: 0

      Yeah, hot idea for a startup.

      Assemble a team of VMS/COBOL/Whatever old skool stuff people out of whats left, setup SLAs/service contracts with companies and ensure they never retire this old stuff, its proven. Train the next generation of programmers on the job.

    2. Re:Yearly Article/Cautionary Tale by bugs2squash · · Score: 1

      I don't know, there's something about those announcements that always reminds me of the Grapes of wrath.

      --
      Nullius in verba
    3. Re:Yearly Article/Cautionary Tale by Anonymous Coward · · Score: 0

      It's not just "old software" either. There are ERP packages that utilize COBOL for some of their batch processing.

  7. The language isn't the issue by reginaldo · · Score: 5, Interesting

    From what I've seen, the issue in finding developers for these codebases isn't in the language knowledge (i.e. COBOL), it's in the knowledge of the poorly-documented legacy software. Sure, you can get a developer to learn COBOL fairly easily, but when the software is full of dead ends, spaghetti code, and unknown business logic and workflow logic, their knowledge of COBOL won't help. Instead you need to hire someone who knows the system, and was probably complicit in creating this mess, to do anything. Either that or bite the bullet and start a huge replacement project that costs several magnitudes more than exorbitant hourly rates.

    1. Re:The language isn't the issue by Anonymous Coward · · Score: 0

      Major Banks and Parts of Federal Gov't Still Rely On Cagey Programmers Who Never Write Decent Comments To Support Programs Instead Of Hiring People To Write Decent Comments.

      There, fixed that for you

    2. Re:The language isn't the issue by barc0001 · · Score: 4, Insightful

      Except the linked article specifically notes that the 75 year old's company is a group of 20 or so "code cowboys" who parachute in to fix systems they have no prior knowledge of and get paid $100/hr for the pleasure. So it would seem deep understanding of the language and the ability to troubleshoot bad code in said language is indeed the crux of the issue.

    3. Re:The language isn't the issue by NotARealUser · · Score: 2

      Funny story, I worked at a legacy code place where programmers never wrote decent comments.

      Being naive, I thought, oh that is strange, I'll do better on my code and write some nice comments to help direct the next guy using this piece of code. After submitting my code to my superior for review, you would have thought I just stole a mainframe from the company. I evidently committed a quite nasty sin, and one that I was careful not to repeat again. But I got out of that place as soon as I could.

      My experience in such companies has led me to conclude that large COBOL code bases might be due to a culture of the company, especially if the company always says their goal is to "update" but they can never successfully advance the projects to do so.

    4. Re:The language isn't the issue by cardpuncher · · Score: 1

      Indeed it's not just the language - it's exceptionally verbose and you're hardly likely to misunderstand the meaning of "MULTIPLY NumA BY NumB GIVING NumC."

      Partly, it's about understanding the way data is encoded (which is likely to be packed decimal or ASCII/EBCDIC numeric characters) but when people say "COBOL" they're often referring to code that's intricately linked (possibly through embedded macros) to legacy transaction-processing systems (like CICS) or legacy CODASYL (network-model - as opposed to relational) database systems. It's the knowledge of the environment in which these programs operate that's truly scarce.

    5. Re:The language isn't the issue by reanjr · · Score: 1

      Some of us actually thrive doing this sort of work. Rewriting working code is such a lazy cop-out.

    6. Re:The language isn't the issue by Anonymous Coward · · Score: 0

      $100/hr is pretty low for consulting.

    7. Re:The language isn't the issue by Anonymous Coward · · Score: 0

      $100/hr doesn't sound that great for a traveling consultant/programmer.

    8. Re:The language isn't the issue by turp182 · · Score: 1

      This is the issue.

      I won't go into more details as I'm writing analysis software for these type of systems (iSeries/AS400 rather than Z/Big Iron).

      --
      BlameBillCosby.com
    9. Re:The language isn't the issue by roskakori · · Score: 2

      Either that or bite the bullet and start a huge replacement project that costs several magnitudes more than exorbitant hourly rates.

      Cost is only part of the reason why replacement projects are avoided. Another major reason is the risk involved. Software developed in the 60s, 70s or 80s couldn't rely on many things we take for granted these days. Requirements engineering, robust libraries, development tools, testing mechanics and so on (warts and all) just were not quite there yet or did not exist at all.

      So even if you have the budget to start a replacement project it's hard to predict if the new software will still work because nobody really knows what it's supposed to do. Sure, it's easy to pin down the common use cases, but it's almost impossible to be certain you also figured all the corner cases and special features that have been added over the decades.

      Consequently it is very hard to find someone in upper management to bet his career on something that, at best, works as well as the existing system.

    10. Re:The language isn't the issue by Anonymous Coward · · Score: 0

      Correct.

      Some time ago I did some projects in a COBOL shop.

      The processes were terrible. Comments not allowed, good variable names not allowed, procedures not allowed, structured programming not allowed. But cutting and pasting the same lines over and over - that was the way they wanted it.

    11. Re:The language isn't the issue by barc0001 · · Score: 2

      Depends if they're actually travelling or just remoting in. If they travel I would expect accommodations are paid for as well as food and other expenses on top. And if you're doing 40 hours a week steady of that $100/hr contracting you're making close to 200K US per year. That's not bad no matter how you look at it.

    12. Re:The language isn't the issue by CaptainDork · · Score: 2

      This.

      In my experience, inheriting legacy apps is very difficult because there's a steep learning curve before ever touching anything.

      To fully grok the application, I had to read and understand and become the past programmer(s) so that I could predict what and how the program worked as the program pointer zipped along.

      I could recognize different programmers by the signature coding approach in each module.

      Then there's my world view, which I used to reshape the whole goddam thing.

      Coders before me never documented, inside or outside, the code.

      I didn't, either.

      Management didn't appreciate the value of documentation and refused to pay for the "downtime."

      --
      It little behooves the best of us to comment on the rest of us.
    13. Re: The language isn't the issue by Anonymous Coward · · Score: 0

      COBOL is essentially self-documenting provided you choose rational variable names.

      (Never worked with it, but had 4 semesters of COBOL + CICS + JCL at skule).

    14. Re:The language isn't the issue by tsqr · · Score: 1

      Depends if they're actually travelling or just remoting in. If they travel I would expect accommodations are paid for as well as food and other expenses on top. And if you're doing 40 hours a week steady of that $100/hr contracting you're making close to 200K US per year. That's not bad no matter how you look at it.

      As a contractor, you're also paying the "employer's" share of Social Security, as well as buying your own health and life insurance. Those two items alone were worth about $25K untaxed to me last year, and I don't make anywhere near $100/hr. Other things to consider when comparing captive vs. consultant compensation: paid holidays, paid vacation, and 401(k) matching. Accommodations might be provided if travel is involved, but this doesn't represent savings unless you're not also maintaining your regular residence, which you generally would be. As for food and other expenses -- maybe you could negotiate some sort of per diem, but it's not a given.

    15. Re:The language isn't the issue by Tablizer · · Score: 2

      So it would seem deep understanding of the language and the ability to troubleshoot bad code in said language is indeed the crux of the issue.

      It could be both. Bad code can be written in ANY language such that COBOL itself is not necessarily the direct problem, but rather mis-use of COBOL by the original-but-gone staff. If the original code was in say Java or Ruby, it too could have been sloppy code, leading to the same problem.

      And if there are no domain (subject) experts around, then the organization may have no choice but to hire experts in COBOL but who are not domain experts (or at least don't know that particular org even if they know the general industry).

    16. Re:The language isn't the issue by Tablizer · · Score: 2

      $100/hr is pretty low for consulting.

      I took $25/hr after the dot-com crash just to survive because the West Coast was flooded with out-of-work developers. My skills in legacy products saved my arse because web-only newbies didn't have those skills. IT pays well now, but keep in mind bleep happens and the future is unknowable. War, tech bubbles, recessions, offshore-enabling tech, crazy leaders, etc. may slap IT hard. Have a rainy-day fund.

    17. Re:The language isn't the issue by Anonymous Coward · · Score: 0

      From what I've seen, the issue in finding developers for these codebases isn't in the language knowledge (i.e. COBOL), it's in the knowledge of the poorly-documented legacy software. Sure, you can get a developer to learn COBOL fairly easily, but when the software is full of dead ends, spaghetti code, and unknown business logic and workflow logic, their knowledge of COBOL won't help. Instead you need to hire someone who knows the system, and was probably complicit in creating this mess, to do anything. Either that or bite the bullet and start a huge replacement project that costs several magnitudes more than exorbitant hourly rates.

      Best comment in the thread. Almost certainly right.

    18. Re:The language isn't the issue by Tablizer · · Score: 1

      group of 20 or so "code cowboys" who parachute in to fix systems

      Obligotary movie meme.

    19. Re:The language isn't the issue by Anonymous Coward · · Score: 0

      Ultimately, it is a management problem. COBOL was created with the intention of being readable, so if done properly comments should rarely be needed. If written carefully, much of the code controlling business logic could be printed out and shown to an application expert (an MBA or CPA-type business person) and they could tell what is being done. Most COBOL techies do prefer to do this (it can save their hide later) but extreme time & cost pressures tend to encourage quick-fix band-aids - that do lead to spaghetti.

    20. Re:The language isn't the issue by Jerry · · Score: 2

      "Major Banks and Parts of Federal Gov't Still Rely On Cagey Programmers Who Never Write Decent Comments To Support Programs Instead Of Hiring People To Write Decent Comments."

      It's not so much "cagey programmers" as it is over-worked programmers, especially at the State level, where computer illiterate legislators continue to dream up new legislation that puts pressure on coders to modify existing software to meet the legal demands. Except for management, most of whom are computer illiterates as well, State programmers are underpaid and over worked. Many States are having severe financial tax shortfalls, so there won't be new programmers being added to their teams any time soon. I wrote extensive documentation INSIDE my code to explain to any coder who took on my projects after I retired what I did and why I did it that way. Documentation for the users were rarely written because it was the users (clerks) whose functions I was computerizing who dictated what the GUI interface looked like and the underlying software did. If they weren't happy I wasn't happy. So, I didn't need to write documentation for them. They usually trained their replacements and the newbie clerks could ask their fellow clerks if they had questions.

      The State Dept of Revenue in the midwest state where I worked have been using a mainframe running COBOL for almost 50 years. About a dozen years ago the suites decided to deploy Oracle as a "replacement". Now they have two database systems and Ellison lies awake nights thinking how to charge more for existing installations. Oracle has ended up costing more in the last decade than the COBOL system has in the last half century. Now they are stuck with Oracle and the taxpayers are stuck with the bill.

      --

      Running with Linux for over 20 years!

    21. Re:The language isn't the issue by Anonymous Coward · · Score: 0

      Incompetent management. All of the things you mentioned that they avoided were used elsewhere, often DECADES ago. Sounds like it was a place to exit in a hurry! I wonder if it was a smaller COBOL shop - I have seen those that should have given up on all programming and just bought packages, they just lacked knowledge to do a decent job.

    22. Re: The language isn't the issue by Anonymous Coward · · Score: 0

      And yet, on the other end are companies trading peanuts for shit nonsensical code from outsourced foreign code mills.

    23. Re:The language isn't the issue by Solandri · · Score: 1

      The only reason these "code cowboys" are of note is because nobody new wants to bother learning what they've learned. The only barrier to entry preventing some millenial from learning COBOL is the lack of consistent jobs maintaining COBOL code. If these cowboys die of old age, the demand for people who can fix/modify COBOL code would lead to a few young people learning it and being paid $100/hr. This isn't the Middle Ages, where craftsmen kept trade secrets which they passed on to their heirs only in whispers on their death bed. Pretty much everything about COBOL is publicized and public - you just have to be willing to learn it.

    24. Re:The language isn't the issue by Anonymous Coward · · Score: 0

      Second this.
      In many large shops some systems took person-YEARS of work to create (by large teams!) - and have been maintained by many folks over many years. Stepping through one task (with many calls to submodules, various data bases) could easily take all day - and understanding an entire system might be beyond what any one human could do. Often doing the bare minimum to get the job doe is all one can do - explaining the concept of "refactoring" on systems this size would, at best, get one laughed at.

    25. Re:The language isn't the issue by Anonymous Coward · · Score: 0

      Amen.
      Any project manager who encourages (or even allows) coders to work on the basis of Turf Protection should be shown the door and any company (not the government -- they are a special case, believe me) that can't keep their code up to date deserves all the ridicule it gets.

    26. Re:The language isn't the issue by barc0001 · · Score: 1

      If you read the article, it seems these contractors work for the 75 year old guy's company so they're probably actually employees in some fashion, just the work resembles contract work, and they get $100/hr for it. I'm sure the company in front of it charges considerably more than $100/hr to assign these guys to the jobs which all you mention is no doubt paid for out of.

    27. Re:The language isn't the issue by barc0001 · · Score: 3, Informative

      > The only barrier to entry preventing some millenial from learning COBOL is the lack of consistent jobs maintaining COBOL code

      Actually, no. There are plenty of jobs at unexciting companies for long term full time COBOL programmers. The company I work for, for example is constantly looking to backfill retiring COBOL programmers in one of the financial divisions. To be honest, if I had to do life over again I'd seriously consider picking up COBOL 25 years ago as the wage and job security at those big companies for that position are great - no offshore outsourcers do COBOL, and even if they could, many of the systems involved are sensitive financial systems so outsourcing that could be a big legal minefield so no company wants to risk it. Plus the added little bonanza of the whole Y2K thing where COBOL programmers were making INSANE money in the year leading up to it - like $200/hr insane. In 1999 dollars as well.

    28. Re:The language isn't the issue by david_bonn · · Score: 2

      Actually it is much, much worse.

      In the 1960's and 1970's compilers, and particularly COBOL compilers, were very expensive. They could easily cost more than a decent home.

      This produced an interesting business model where a few programmers who happened to own a compiler would write custom software for various businesses. When the business wanted their software modified, they could contact the original authors and pay them to make the changes. Nice business model with a nice lock-in, The problem was that sometimes the software writers would quit, get real jobs, or otherwise be unavailable. Or the business would be too cheap to hire them again.

      So rather than modify the COBOL sources they would just patch the binary. Many compilers of that era also had options to allocate "patch space" in the binary to make that patching easier still (I use the term "easier" in a relative sense). Lather, rinse, and repeat for three decades and you have a situation where there isn't any reasonable source code to port or edit.

    29. Re:The language isn't the issue by Anonymous Coward · · Score: 0

      $100 / hour? Surely you jest. Maybe if you multiply it by a number greater than 2.

    30. Re:The language isn't the issue by Ryanrule · · Score: 1

      100/hour? for banks?????????????

    31. Re:The language isn't the issue by Ryanrule · · Score: 1

      we do 200+ building crm apps. they need another zero in there.

    32. Re:The language isn't the issue by thebigmacd · · Score: 1

      Definitely. I make about $30/hr and my company charges me out at $120/hr. And we aren't doing highly-specialized consulting, just hvac controls service calls. I imagine the actual rate charged to the customer on a $100/hr wage is in the range of $300-400/hour, which is similar to senior lawyers and accountants.

    33. Re:The language isn't the issue by Obfuscant · · Score: 0

      Indeed it's not just the language - it's exceptionally verbose and you're hardly likely to misunderstand the meaning of "MULTIPLY NumA BY NumB GIVING NumC."

      Or the reason I think the language is magic: "MOVE CORRESPONDING A TO B." One statement pulls the relevant bits out of one struct and stuffs them into another, leaving the irrelevant bits alone. In fact, the only reason I know how to spell "corresponding" is because I used (and needed) that command so many times during one semester of COBOL.

    34. Re:The language isn't the issue by dwywit · · Score: 1

      RPG, by any chance?

      It's free-form, these days. I don't know how I feel about that.

      --
      They sentenced me to twenty years of boredom
    35. Re:The language isn't the issue by turp182 · · Score: 1

      That and Cobol. Almost finished with a conversion app that moves things to SQL Server to utilize advanced analysis software. Several more apps planned, it's my retirement plan...

      Looking for help...

      --
      BlameBillCosby.com
    36. Re:The language isn't the issue by Anonymous Coward · · Score: 0

      Good Point!

      Our old accounting system in the 80's was written in BASIC-2. All pretty simple except when you have to read and write to disk :O Those simple BASIC routines took all day to decipher what they were doing before they saved the data. At $200/MB every single period had to be useful to be saved so the routines to save were very elaborate. ((We had years worth of customer history and vendor history on a 13MB platter!))

      Very frustrating that the only thing I could do with a BASIC program was tweak the printouts. Never did get brave enough to go deeper. By the time we were done with it, this system was in much the same shape as the only programmer left on the west coast was now absurdly expensive.

      I just realized we spanned 2 hard drive platters on this 1980 computer when spanning a drive is just now becoming a normal thing on desktop. No wonder that next 13MB of space cost $5000 to program for. I think he faked it in software with customer on one and vendors on the other kind of thing, cause surely the computer wouldn't do it, that other drive might as well be in another world. That is the kind of thing you pay for with COBOL too, how to make it do those jobs it won't do.

    37. Re:The language isn't the issue by dwywit · · Score: 1

      If that's an offer, thanks, but I'm way out of the game.

      Hadn't touched an AS400 since 2004, but I'm still keen, so a little while ago I made an account on pub400.com to play around. I re-keyed a short RPG program from my source code printout and it compiled the second time. For some reason I couldn't get it to recognise a compile-time array, so I changed it to static data structure and BOOM! I was quite pleased with myself - it came from a V3-era F35. I plan to spend a few hours a week bringing my RPG up to current standards, then maybe I'll put a few feelers out.

      --
      They sentenced me to twenty years of boredom
    38. Re:The language isn't the issue by Anonymous Coward · · Score: 0

      The issue is actually Beta testing. Cobol programs tended to be small enough that the could be tested properly before release into the wild. Imagine an online manufacturing control program that contains a manufacturing companies entire component stock and the automated carousels that dispense those components. The system did everything from goods inwards to the dispatch of the systems after they were built. I was hired as part ot a team to integrate two OMAC systems from different factories in the group. The space for code for the extract and load programs we wrote together with both databases and a third larger database to hold the two merged database was budgeted as 100Mb - it was an overestimate.

    39. Re: The language isn't the issue by david_thornley · · Score: 1

      So's C++, really, particularly if you limit it to the sort of applications you'd use COBOL for.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  8. Where? by Anonymous Coward · · Score: 2, Informative

    Every year I see articles about how COBOL programmers are in high demand and companies are scrambling to hire them. But I learned COBOL and liked it and regularly keep my eye out for COBOL jobs. In the past 15 years I have seen a grand total one one COBOL placement within 1,000 miles. I call BS on the article, the local job boards are all for Java, C++, mobile languages and PHP. Not a COBOL position in sight.

    1. Re:Where? by TWX · · Score: 1

      I suspect that most entities that look for this kind of service don't post it in this way. Financial institutions in particular seem to play their cards close to the chest, they probably work with specific hiring agencies or headhunters to fill positions and don't just post them openly.

      --
      Do not look into laser with remaining eye.
    2. Re:Where? by __aaclcg7560 · · Score: 1

      When I worked at Fujitsu in 1997, our virtual world division got a temporary vice president from Japan for three monhts. This VP was in charged of mainframes. He always asked the same question in broken English, "Are you a mainframe programmer?" He was disappointed that no one in our division was a mainframe programmer. For years since then I've always heard that mainframe programmers were in high demand. The catch, of course, is having previously worked on mainframes. Seems like no one wants to hire an inexperienced person as a mainframe programmer.

    3. Re:Where? by Oswald+McWeany · · Score: 1

      Every year I see articles about how COBOL programmers are in high demand and companies are scrambling to hire them. But I learned COBOL and liked it and regularly keep my eye out for COBOL jobs. In the past 15 years I have seen a grand total one one COBOL placement within 1,000 miles. I call BS on the article, the local job boards are all for Java, C++, mobile languages and PHP. Not a COBOL position in sight.

      You're obviously not a part of the Order of the Secret Knights of COBOL. The OSKCOBOL cabal keep all those lucrative COBOL jobs hidden from prying eyes of interferers. Let me know when you know the secret handshake and we'll open up the cushy job market of $500,000 per anum COBOL jobs to you.

      --
      "That's the way to do it" - Punch
    4. Re:Where? by Anonymous Coward · · Score: 1

      It sounds like some of these companies need to set up something like an apprenticeship program, stat, before everyone who knows what they're doing is gone. Anyone can easily learn the syntax (COBOL was designed for that, after all), but they need to have people working alongside experienced COBOL programmers to learn the in-and-outs and pitfalls of the language as it was used 50 years ago.

      Of course, that would mean paying someone a wage for a time during which they would be fairly unproductive, which seems to be anathema to U.S. corporations nowadays. You don't pay for training, ever, even when the skills you need are quite literally dying out.

    5. Re:Where? by __aaclcg7560 · · Score: 1

      Creimer was the only one savvy enough to realize, the question was not meant literally, rather the old Jap was fishing for blowjobs. Later that day, creimer the fat oily youngster met the slender old man in the men's room, where creimer received his reward of a mouthful of lethargic elderly jizz.

      Why are you trolling me? Is your life that meaningless?

    6. Re:Where? by computational+super · · Score: 2

      mainframe programmers were in high demand

      Sort of - but somehow, in spite of the "high" demand, mainframe programmers don't command much pay. As in, I have about 5 years of mainframe (COBOL, JCL, Adabas Natural) programming experience, but I clawed my way out of it into desktop C++ programming just so I could make enough money to actually afford a car payment. If I went back to it now (from my current "enterprise Java" role), I'd probably take a 50% pay cut.

      --
      Proud neuron in the Slashdot hivemind since 2002.
    7. Re:Where? by TWX · · Score: 1

      It also means longer-term thinking than just next quarter or next year. When corporate officers and even board members don't necessarily stick around for more than a couple of years to pump-and-dump the company, it's hard to get any kind of long-term planning done.

      --
      Do not look into laser with remaining eye.
    8. Re:Where? by Hognoxious · · Score: 1

      secret handshake

      It's the worn-down fingers that give it away.

      000100 IDENTIFICATION DIVISION.
      000200 PROGRAM-ID. HELLOWORLD.
      000300
      000400*
      000500 ENVIRONMENT DIVISION.
      000600 CONFIGURATION SECTION.
      000700 SOURCE-COMPUTER. RM-COBOL.
      000800 OBJECT-COMPUTER. RM-COBOL.
      000900
      001000 DATA DIVISION.
      001100 FILE SECTION.
      001200
      100000 PROCEDURE DIVISION.
      100100
      100200 MAIN-LOGIC SECTION.
      100300 BEGIN.
      100400 DISPLAY " " LINE 1 POSITION 1 ERASE EOS.
      100500 DISPLAY "Hello world!" LINE 15 POSITION 10.
      100600 STOP RUN.
      100700 MAIN-LOGIC-EXIT.
      100800 EXIT.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    9. Re:Where? by sjames · · Score: 1

      Beyond that, the places that are still using their legacy COBOL made the decision because what they have is immense and complex. Even a skilled and experienced COBOL programmer will take plenty of time getting up to speed on that particular codebase. It will not go well for a company that waits untill the last programmer retires or dies to start getting someone up to speed.

      Meanwhile, since the mention of COBOL on a resume sets off every "no, we would never discriminate against age" red flag, they'll need to offer some serious long term employment guarantees to attract someone into what would otherwise be a serious career limiting move.

    10. Re:Where? by sjames · · Score: 1

      It's much like Ferraris are in high demand as long as they can be had new for $20,000 or less and don't have to be insured.

    11. Re:Where? by Anonymous Coward · · Score: 0

      Are you keeping your eye out by calling banks and asking them? Otherwise good luck with that. It's not like they post to job boards.

  9. Re:This is really funny stuff! by Anonymous Coward · · Score: 0

    Many organizations are rewriting COBOL apps in Java. I have heard this is IBM's recommended migration strategy.

    There isn't a shortage of COBOL programmers. There is a shortage of COBOL programmers who will work for -less- pay than a medium-skilled web-developer.

    Curiously enough, the skilled developers willing to work for the least pay tend to be older, and usually have the most experience working in COBOL.

  10. Re: This is really funny stuff! by Type44Q · · Score: 3, Interesting

    A sentence can be technically correct yet still reveal the writer to be an idiot... sometimes in subtle fashion that other idiots wouldn't necessarily pick up on...

  11. memory allocation errors, gone. by goombah99 · · Score: 5, Interesting

    One of the nice things about f77 and i presume cobol is that memory is allocated in a fixed way at compile time. so no mallocs and no deallocs and thus no null pointers. string buffer sizes are known. and relatively speaking, its harder to find cases where typos are not also syntax errors. for exapmle typing = instead of ==.

    now for many things this memory issue is the pits which is why we like those other laguages. it makes object oriented styles impossible though for a fixed maximum number of objects you can fake it. but for a lot of things its all you need. and the block memory structures of multi dimensional arrays make data contiguous in memory and enable very efficient parallel optimizations. so there are advantages to giving up features.

    if you are wanting very reliable code its not a crazy choice,

    --
    Some drink at the fountain of knowledge. Others just gargle.
    1. Re:memory allocation errors, gone. by Waffle+Iron · · Score: 4, Interesting

      Everything in life is a tradeoff.

      When the developer avoids allocation headaches by using fixed-sized strings and data structures, users are often saddled with arbitrary truncations and the need to make up funky abbreviations all throughout their data sets. This can be a major source of errors in itself.

    2. Re:memory allocation errors, gone. by Anonymous Coward · · Score: 0

      using fixed-sized strings and data structures,

      blocks allocated by malloc are of fixed size, there is nothing new here

    3. Re:memory allocation errors, gone. by Waffle+Iron · · Score: 2

      blocks allocated by malloc are of fixed size, there is nothing new here

      Wrong. The size of allocated blocks are typically computed at runtime to match the needed length of the input data. That's a big difference from defining some fixed-size buffers at compile time, then hoping or forcing all of the eventual input data to fit.

    4. Re:memory allocation errors, gone. by Anonymous Coward · · Score: 0

      > it makes object oriented styles impossible

      There are OO COBOLs.

      > though for a fixed maximum number of objects you can fake it. but for a lot of things its all you need.

      Most applications that COBOL is used for are best done by 'serial reuse'. Processing credit card transactions, for example, does not work well if a new object is created for each transaction (and later destroyed). Only one 'object' is required (pre-allocated by the compile as you say) and this is reused for each transaction in turn. Much less overhead.

    5. Re:memory allocation errors, gone. by Anonymous Coward · · Score: 0

      > The size of allocated blocks are typically computed at runtime to match the needed length of the input data.

      You don't know the length of the input until you have read it in. To read it in you need a buffer, that buffer will have a fixed length.

      Even a 'character varying' field in a database will have some maximum length.

    6. Re:memory allocation errors, gone. by goombah99 · · Score: 1

      yes, that's what I mean by faking it. No need for ad hoc instantiation as demanded, just re-use memory.

      --
      Some drink at the fountain of knowledge. Others just gargle.
    7. Re:memory allocation errors, gone. by Waffle+Iron · · Score: 1

      > The size of allocated blocks are typically computed at runtime to match the needed length of the input data.

      You don't know the length of the input until you have read it in. To read it in you need a buffer, that buffer will have a fixed length.

      Even a 'character varying' field in a database will have some maximum length.

      Are you really that dim? The allocated block size is by definition big enough for your data, because you know the data size when you allocate. If you need to expand it more, then you reallocate a bigger one. Neither of those properties holds for precompiled fixed-length buffers.

      The lowliest database, sqlite, has a string size limit of 1e9 bytes. It's probably not going to be an issue unless one of your columns holds full-length videos.

    8. Re:memory allocation errors, gone. by Qzukk · · Score: 1

      You don't know the length of the input until you have read it in. To read it in you need a buffer, that buffer will have a fixed length.

      realloc() says hi. You can read() bufsize bytes from your source, determine if you have reached the end of input, and if not, allocate more memory for your buffer and continue to read() some more.

      --
      If I have been able to see further than others, it is because I bought a pair of binoculars.
    9. Re:memory allocation errors, gone. by Anonymous Coward · · Score: 0

      don't be thick. you are reading it in chunks. What size did you allocate for that chunk.

    10. Re:memory allocation errors, gone. by Anonymous Coward · · Score: 0

      That's exactly the point. In COBOL you can only use chunks of fixed size. In C you can change the thickness of the chunk dynamically.

      Of course, either way you can write your loop and read your inputs. The real idiocy is the idea that it is a substantive difference.

      Another thing is that every modern language can be extended by C, but then when people measure COBOL they want it to be pure COBOL. Well, modern COBOL compilers all allow extension by C. So it is even less of a restriction than people realize because they can just implement their dynamic buffer in C still call it from their COBOL code.

    11. Re:memory allocation errors, gone. by Anonymous Coward · · Score: 0

      You have no clue what you are talking about.

    12. Re:memory allocation errors, gone. by Qzukk · · Score: 1

      I start by using my knowledge of whatever it is that I expect to receive to pick a reasonable size starting chunk, say if I'm expecting to receive a line of text from an IRC client, maybe bufsize=256;. Then, if I read 256 bytes and don't receive a newline, I double the buffer size and read another 256 bytes. If I still haven't received a newline, I double the buffer size and read 512 bytes and so on. The realloc() system call allows me to (attempt to) extend the buffer, so it does not have a fixed length.

      --
      If I have been able to see further than others, it is because I bought a pair of binoculars.
    13. Re:memory allocation errors, gone. by Anonymous Coward · · Score: 0

      You can do most of that in C too, luckily. Especially now that you can pass and return struct by value.

    14. Re:memory allocation errors, gone. by Anonymous Coward · · Score: 0

      and relatively speaking, its harder to find cases where typos are not also syntax errors. for exapmle typing = instead of ==.

      SYNTAX ERROR

    15. Re:memory allocation errors, gone. by david_thornley · · Score: 1

      If you want to allocate memory at the start of the program in C++, go for it. Most people don't do it because there's better ways for most purposes. You want to have constant string buffer sizes, type "int const string_buffer_size = " ending with whatever you want, and use that to size all string buffers. (You're generally better off using std::string, of course.) And, of course, if you want contiguous block memory structures, use std::vector or something similar. If you allocate all of it in advance, it's going to work just the same as COBOL, only better.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    16. Re:memory allocation errors, gone. by david_thornley · · Score: 1

      In C++, you'd use placement new for something like that. Allocate memory for however many credit card records you like, and new and delete from there. The syntax is simple, and you can encapsulate it in a function easily if you want. Alternately, you can use static allocation like you'd do in COBOL, although it seems to me a little clumsier.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    17. Re:memory allocation errors, gone. by michael_wojcik · · Score: 1

      One of the nice things about f77 and i presume cobol is that memory is allocated in a fixed way at compile time

      All the major COBOL dialects have offered dynamic memory allocation for decades.

      relatively speaking, its harder to find cases where typos are not also syntax errors

      That's arguably true in COBOL-85 and later. Pre-85 COBOL suffers from its "sentence" syntactic construct and the use of the period (aka "full stop") punctuator as a scope delimiter. While the recommendation for the past thirty years has been to use ANSI scope delimiters (END-IF, etc) and avoid periods, there's still a huge legacy codebase using periods, and many COBOL programmers[1] still use archaic styles.

      there are advantages to giving up features

      These days you have nearly all the "features" anyone wants in COBOL. We've had OO COBOL for a couple of decades. Managed COBOL for CLR and JVM for over a decade. Generics? Sure. Anonymous inline delegates with closures? Yup. Type inference? In limited contexts, at least. Embedded SQL? Well, if that's your thing, then, yeah, we have that too. And mixed-case, free-format source arrived a long time ago.

      Plenty of new applications being developed in COBOL these days, too. People aren't just maintaining legacy stuff.

      [1] Yes, there are still many COBOL programmers. I know the news services love these "disappearing COBOL programmer" human-interest stories, but I deal with COBOL programmers at many companies and, believe me, there are a lot of them.

  12. I remember from the early 90s. by Baron_Yam · · Score: 1

    "You will get no course credit for COBOL, but you might want to take the class so you can get a job between semesters"

    Few of us did (and I wasn't one of them), but those that did always had jobs come summer while a lot of the rest of us didn't.

    1. Re:I remember from the early 90s. by computational+super · · Score: 1

      The grass isn't always greener. I did take that advice, and I did get a job maintaining decrepit mainframe-based COBOL for the U.S. government (I was making about $25K/yr). Then when I graduated, I proudly put that _real world_ experience on my resume. And found out that the only people who would talk to me were the people who were looking for COBOL programmers, and were paying half what they were paying C++ programmers. So you may have missed out on a summer of slightly-above-minimum-wage employment, but you also skipped over five years of climbing out of "experience COBOL programmer" hell.

      --
      Proud neuron in the Slashdot hivemind since 2002.
    2. Re:I remember from the early 90s. by david_thornley · · Score: 1

      For quite a few years, it seemed that, once the COBOL side of the Force you use, forever will it dominate your destiny. Then I got a job using C++, and never looked back.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  13. Re:Doesn't surprise me... by Anonymous Coward · · Score: 1

    Smells like bullshit. Must be creimer. It is. It is creimer. You forgot to mention COBOL. Troll harder next time. This will get you started:

    My very first IT job in 2005 was a COBOL to Ethernet conversion at a financial institution branch office. I made an extra four hours in OT because the uncertified youngsters couldn't follow direction, plugged the Ethernet cable into the COBOL NIC, and the project manager let them go without double checking their work.

  14. Re:This is really funny stuff! by Anonymous Coward · · Score: 0

    Who said the sentence is incorrect? OP claimed to be amused by the sentence, not that it was wrong. If anything, the fact that it's true is what makes it amusing.

  15. Crying wolf by Nidi62 · · Score: 1

    And everyone says it's impossible for programmers to find jobs after 40...

    --
    The only thing necessary for evil to triumph is for it to be pitted against a slightly greater evil
    1. Re:Crying wolf by Anonymous Coward · · Score: 0

      Let's all put COBOL on our CVs so companies won't be able to tell the real COBOL programmers from the fake COBOL programmers. We'll really screw over those oldsters who suddenly won't be getting any jobs when nobody can find them among the abundant supply of candidates.

    2. Re:Crying wolf by Bright+Apollo · · Score: 1

      You'd never pass the first review. And eventually word gets out.

    3. Re:Crying wolf by Anonymous Coward · · Score: 0

      You miss the point of a conspiracy to flood the market with fake COBOL programmers. If we all do it, we waste time for companies when they have to weed out all of us.

  16. Re:Doesn't surprise me... by TWX · · Score: 3, Funny

    I mean, everyone knows that Ethernet uses the second and third pairs on an 8P8C jack, while Token Ring uses the first and second pairs. If they wanted to get it right they needed to just connect pairs 1 to 2, and 2 to 3, or if crossover, pairs 1 to 3, and 2 to 2...

    --
    Do not look into laser with remaining eye.
  17. Re:This is really funny stuff! by Anonymous Coward · · Score: 0

    I think being amused by their creation dates is pedantic.

    What the author was trying to convey is that COBOL is a dead language, whereas Java, C, and Python are still widely used today for new applications. C might be nearly as old, but you don't need to round up 70 year olds to maintain it.

  18. it's Y2K all over again! by Anonymous Coward · · Score: 0

    it's Y2K all over again!

    1. Re:it's Y2K all over again! by Z00L00K · · Score: 1

      Except this time it's important to catch the knowledge before it literally dies off.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
  19. Why Not? by ISoldat53 · · Score: 1

    Why not use a program from the 50s and 60s? Don 't you want to make America great again?

    1. Re:Why Not? by __aaclcg7560 · · Score: 1

      Why not use a program from the 50s and 60s?

      The mainframe are probably from the 50's or 60's.

      Don 't you want to make America great again?

      Scrape the Old Iron and buy New Iron from IBM! No one ever got fired for buying IBM.

    2. Re:Why Not? by Anonymous Coward · · Score: 0

      Far more likely the mainframes are less than 5 years old. But you can keep being stupid if you want, it suits you.

    3. Re:Why Not? by __aaclcg7560 · · Score: 1

      Far more likely the mainframes are less than 5 years old.

      The main application at my government IT job is 40+ years. The mainframes are a bit older than that.

      But you can keep being stupid if you want, it suits you.

      I'm not the one with an uninformed opinion.

    4. Re:Why Not? by Anonymous Coward · · Score: 0

      I call complete, 100% bullshit. The software may be that old. The hardware? No fucking way. Tell us exactly which 'government' this is, and what department, so we can expose your idiocy.

    5. Re:Why Not? by l0n3s0m3phr34k · · Score: 1

      About IBM...well, that's only IF you didn't buy anything from a division that got spun off to China. This question, concerning the Missile Defense Agency supply chain came in late last year:

      Does your supply chain utilize Lenovo Group Ltd (To include its subsidiaries: LenovoEMC, Medion AG, Stoneware Software, Motorola Mobility, NEC, Nok Nok Labs, and IBM PC Division) manufactured or produced Information and Communications Technology (ICT) products, including Hardware, Software, and/or Firmware components to process, store, or transmit information pursuant to the scope of any THAAD Subcontract?

      My assumption is that it's a recognized fact that PLA Unit 61398 and others have infiltrated the above companies. This is coming straight from General Dynamics, and imposed by the DoD.

    6. Re:Why Not? by __aaclcg7560 · · Score: 1

      I call complete, 100% bullshit. The software may be that old. The hardware? No fucking way.

      Why is this hard to believe? We got B-52 bombers that are still flying since the 1950's and could fly another 50 years if the Air Force can't develop a new bomber that doesn't get jammed on its own radar jammer (B-1) or can't fly in the rain (B-2). Heck, when the navigational computers reboot on the B-52, the pilot just breaks out the slide ruler and maps.

      Tell us exactly which 'government' this is, and what department, so we can expose your idiocy.

      The three-letter agency I work for is classified. :P

    7. Re:Why Not? by __aaclcg7560 · · Score: 1

      About IBM...well, that's only IF you didn't buy anything from a division that got spun off to China. This question, concerning the Missile Defense Agency supply chain came in late last year:

      I was thinking of IBM of yesteryear. That particular division, IIRC, was the PC/laptop division that went to China.

      My assumption is that it's a recognized fact that PLA Unit 61398 and others have infiltrated the above companies. This is coming straight from General Dynamics, and imposed by the DoD.

      Doesn't surprised me. When I worked at Google in 2008, they found backdoors in the BIOS for the newer Lenovo laptops and were planning to move away from Lenovo. I didn't see any Lenovo laptops when I worked there on contract in 2011.

    8. Re:Why Not? by Anonymous Coward · · Score: 0

      B52s and IBM mainframes are not even closely related. B52s have a single customer. Parts, maintenance, etc are provided for that single customer. Nothing better than the B52 has come along, so they are still being used.

      IBM mainframes are and were a commercial product. If you say your mainframes are over 40 years old, you are talking about 360 or 370 machines. Those machines have been replaced dozens of times over the years. There are something like 27K part numbers in those old machines. None of those parts have been manufactured in decades. Those machines were not exactly maintenance-free, and IBM hasn't supported them in decades. You are talking about machines which used punch cards, which are no longer available. You are talking about machines which used 1/2in reel-to-reel tapes, which are no longer available. You are talking about machines where 5MB of disk literaly weighed a ton. You are talking about machines with a max of 8MB of storage. There are no replacement parts, or even replacement consumables (tapes, punch cards) available for any of that stuff.

      On the other hand, they could have a NEW mainframe, with all NEW hardware, which still runs the old programs.

      NOBODY is running 360 or 370 systems any more. And they haven't run them for decades.

    9. Re:Why Not? by bws111 · · Score: 1

      There were no divisions 'spun off' to China. There were divisions SOLD to China, but they are not branded IBM, and they have no connection to IBM. I have no idea why they would say 'IBM PC Division' would be a part of Lenovo, because when it became part of Lenovo it was no longer the IBM PC Division.

    10. Re:Why Not? by Chris+Mattern · · Score: 1

      Why is this hard to believe? We got B-52 bombers that are still flying since the 1950's

      The base airframes, yes. The same engines? Nope. The same electronics? Hell, no, those have been replaced dozens of times. This is like insisting a data center is still using the same hardware because they're still in the same building.

    11. Re:Why Not? by __aaclcg7560 · · Score: 1

      B52s and IBM mainframes are not even closely related.

      The only original part of a B-52 bomber today is the airframe, as everything else got replaced, modernized or removed over the last 50+ years.

      If you say your mainframes are over 40 years old, you are talking about 360 or 370 machines.

      Or an IBM 370-compatible mainframe that came out.... 40 years ago.

      https://www-03.ibm.com/ibm/history/exhibits/mainframe/mainframe_FT2.html

    12. Re:Why Not? by __aaclcg7560 · · Score: 1

      The base airframes, yes. The same engines? Nope. The same electronics? Hell, no, those have been replaced dozens of times.

      Correct.

      This is like insisting a data center is still using the same hardware because they're still in the same building.

      A properly designed data center should be able to reuse the HVAC and the hardware racks for decades at a time.

    13. Re:Why Not? by Anonymous Coward · · Score: 0

      Not 50yrs old but:

      In 1998 we replaced an IBM 3031 1977 vintage with an IBM 4381 vintage 1985 because of the lower power budget for the 4381, I was at a remote DoD site that generated all its own power. Last I checked that 4381 was still being used to perform the mission crunching the numbers. The 4381 was in DoD storage at the time and the ROI time of transporting and installation was 6 months. It took longer than that to qualify the existing software on the newer hardware. When talking about mission systems most people have no idea the cost and time it takes to qualify the hardware to perform the mission.

      Another example, custom Bell system installed in 1970 still performing the mission in 2005, just then being replaced with with a Sun System running Solaris. The Bell mainframe still had a functioning 80-column card reader attached. I suspect that the Sun replacement was certified to run the mission sometime in 2010.

      You would be shocked how many older mainframes are performing DoD mission that modern computer have a hard time with. Compared to modern machines the old boys don't have much processing power but damn they can flawlessly handle a shitload of IO.

    14. Re:Why Not? by Anonymous Coward · · Score: 0

      Don't work in a DoD environment do you? The costs to re-qualify new hardware to run mission systems is stupid high. I can name multiple mission systems that are running decades old mainframes to crunch the data.

      See my post lower down detailing a couple of them.

      The DoD sometimes buys old hardware and warehouses it and there exists an entire ecosystem of businesses the haunt DRMO auctions to buy old mainframe parts, warehouse them and then sell them back to the DoD for 50x-100x the amount they bought them at auction for. I know a place that had couple dozen Sun Voyager Sparcstations warehoused because a DoD mission relied on them to do the mission and he sold them back to the DoD for more than the originally went for. Yep, qualifying new hardware, even with COTS rules, can be a bitch.

  20. Re:This is really funny stuff! by I'm+New+Around+Here · · Score: 1

    I think being amused by their creation dates is pedantic.

    What the author was trying to convey is that COBOL is a dead language,

    It seems that billions of dollars would disagree.

    --
    If you think I voted for Trump because of this post, you're wrong. I voted for Dr. Jill Stein of the Green Party. Again.
  21. NO!!! by Anonymous Coward · · Score: 0

    They are just newer.

  22. Re:This is really funny stuff! by Joce640k · · Score: 1

    Why don't they automatically translate them to something more modern then run them in the cloud?

    Maintaining these systems is just throwing good money away. Money that we all end up paying via our bank charges.

    --
    No sig today...
  23. Re:Doesn't surprise me... by __aaclcg7560 · · Score: 1

    I mean, everyone knows that Ethernet uses the second and third pairs on an 8P8C jack, while Token Ring uses the first and second pairs.

    The building was five years old and wired for Ethernet. The financial institution had it wired for coaxial because of the coaxial switches in the network closet. I guess it was cheaper to roll out coaxial cabling than buying new switches for twisted pair cabling, as the Token Ring NICs could take either coaxial or twisted pair.

  24. Re:Doesn't surprise me... by __aaclcg7560 · · Score: 1

    Smells like bullshit. Must be creimer. It is. It is creimer. You forgot to mention COBOL. Troll harder next time. This will get you started:

    1) You're trolling me. 2) Did I forget to mention that the backend ran COBOL? No wonder you're hot and bothered. :P

  25. Re: This is really funny stuff! by fahrbot-bot · · Score: 1

    A sentence can be technically correct yet still reveal the writer to be an idiot... sometimes in subtle fashion that other idiots wouldn't necessarily pick up on...

    Thanks. That explains why some Twitter feeds are popular.

    --
    It must have been something you assimilated. . . .
  26. Re:This is really funny stuff! by Anonymous Coward · · Score: 0

    By your definition of dead, no programming language is dead. There's always going to be someone, somewhere, still using it.

    What makes it dead is that, beyond the odd outlier, people aren't actively building new things with it beyond maintaining it.

    Plenty of places still have "dead" languages controlling everything. Go to an older steel mill sometime.

  27. This reminds me by pele · · Score: 1

    This reminds me of a funny email from a "head-hunter" a few years back, it read something like:

    Looking for expert knowledge in:
    COBOL,
    S/360/OS/360,
    VAX/VMS

    Excellent pay in the region of, wait for it, 30k.

    I replied with: Good luck!

    1. Re: This reminds me by Anonymous Coward · · Score: 0

      It was probably for 100k, but the headhunter was trying to pocket the other 70k. Sneaky assholes.

    2. Re: This reminds me by pele · · Score: 2

      Well, true, either that OR, slightly more plausible - some new hot-shot CIO decided he wants to impress the board by upping the ROI/stock price by getting rid of a few hundred (or thousand) old, slow, smelly "programmers". So he did.
      Just like HSBC did in 2012, lest we forget. New hot-shot CIO decided..and a new hot-shot l337 h4xx0r from the indian subcontinent decided... to upgrade MQ, of all things. Clearing the "Queue" in MQ makes the upgrade quicker... How many million people couldn't get to their "banking facilities" including, funnily enough, CASH, for a whole week, remind me again?
      At which point old, slow, smelly "programmers" decided that 27 quid an hour wasn't going to cut it anymore, which it didn't. Not sure what happened to the hot-shot CIO though..

    3. Re:This reminds me by operagost · · Score: 1

      They must have been hoping to catch someone retired so long that his last job paid less than that.

      "Hey Gladys! Someone wants to pay me $30K a year! WE'RE RICH!"
      "Edgar, we get more than that from social security. Did you forget to take your meds this morning?"

      I would take $30K/year if it was for a 16 hour work week. Or maybe they meant $30/hr. That would still be a little low on the coasts, but decent in flyover country.

      --

      Gamingmuseum.com: Give your 3D accelerator a rest.
    4. Re: This reminds me by l0n3s0m3phr34k · · Score: 1

      Or that they already have an H1B in mind, so have to put the job out at a super-low rate so they can bring the H1B over at their "offered market value". "Well, you see, no American wanted the job! We even offered almost $15/hr!". I get emails CONSTANTLY about jobs I'm qualified for, but are on either coast or at least 1,000 miles away. I think that they are just part of the "we did our USA search" H1B system. The one time I tried for one that was actually in my home town, the first thing they did was force a first-response contract on me, then screwed up everything else relating to actually doing the work and the whole thing fell apart. When I need to, I only deal with companies like Manpower Professional, TekSystems, or another "headhunter" who actually has a local office in my town.

    5. Re:This reminds me by david_thornley · · Score: 1

      Or maybe they meant $30/hr. That would still be a little low on the coasts, but decent in flyover country.

      I live in flyover country, and I wouldn't be tempted by that.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  28. Re: This is really funny stuff! by kenh · · Score: 1

    Why don't they automatically translate them to something more modern then run them in the cloud?

    Because COBOL can't run in the cloud?

    COBOL is an efficient, practal tool to solve basic business application issues, it is primarily used on batch workloads and 'green screen' mainframe applications.

    Rewriting applications that work flawlessly today into a new language, DB, and OS environment opens up what was a stable application to almost unlimited numbers of software issues.

    The real migration path off custom COBOL applications is likely COTS software for business applications.

    --
    Ken
  29. Re:This is really funny stuff! by fahrbot-bot · · Score: 3, Interesting

    Why don't they automatically translate them to something more modern then run them in the cloud?

    Maintaining these systems is just throwing good money away. Money that we all end up paying via our bank charges.

    Translate debugged, working, proven code into something else? Not really a good strategy for production code. I also doubt that maintaining those systems is a problem or limiting expense. Modern hardware can run COBOL just fine. As TFS implies, the expense is in finding and hiring people trained in (or willing to learn) a language many don't see as useful and/or sexy -- mainly 'cause it's old. Newer / younger isn't always better or less expensive

    --
    It must have been something you assimilated. . . .
  30. Re:This is really funny stuff! by Anonymous Coward · · Score: 0

    Ad hominem still being a logical fallacy employed by even intelligent people goes a long way towards explaining why those of us who refuse to register continue to do so. Arguing the point is always better than arguing the person.

  31. "scrambling" is not the full truth... by Lumpy · · Score: 2

    They are having trouble finding people AT THE REQUESTED PAY, they are looking to pay chump change of $30K

    Multiply the pay you are asking by at least 6 and you will get a Cobol programmer within hours. If you use something outdated and rely on it, then be ready to pay extremely well to get someone that is an expert in it. Most anyone I know that is a Cobol guru wont even bother to apply for something under $150K a year.

    So if they really wanted someone, they will increase the pay and benefits to entice a person to actually apply. Sadly this basic element of business is lost on todays morons that are "leaders" and "managers"

    --
    Do not look at laser with remaining good eye.
  32. Javascript in IE6 will be the next cobol by Anonymous Coward · · Score: 0

    8% of the worlds computers still use XP, and they rely on javascript made for old versions of of IE. 50 Years from now there will be still XP boxes hanging around, and legacy javascript will outlast its HTML5 decendents. Meanwhile todays babies will graduate college after the Y2K38 deadline.

    1. Re:Javascript in IE6 will be the next cobol by Anonymous Coward · · Score: 0

      And this is true mostly because it is against the law for the FAA to upgrade beyond XP.

  33. Just $100/hour??? by SuperKendall · · Score: 2

    For the specialization and demand that the COBOL work offers (not to mention the familiarity with how to use the tooling and platforms that surround those systems!) the people should be asking for a minimum of $500/hour.

    After all it's all large financial institutions that are brimming with money, and like the said literally billions of dollars flow through these things every day.

    So if you are out there and you know COBOL I would double your rate today. If anyone asks just say that a number of people you knew who did COBOL contracting all just retired and so demand is through the roof.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  34. Re:This is really funny stuff! by Anonymous Coward · · Score: 0

    A pointlessly pedantic Anonymous Coward. Such a surprise.

    It's good to see that you're using your full legal name here, "Frosty Piss", and not some sort of a pseudonym. Otherwise we'd have to think that you're trying to comment anonymously, like some sort of a coward.

  35. Re:This is really funny stuff! by bluefoxlucid · · Score: 1

    It's a good strategy, and carries different and more-immediate risks. It's an attractive option for me because it allows factoring in new lessons-learned and it makes risks controllable: old COBOL code might not respond well to new requirements, and will eventually need to interface with new code--either new COBOL code or new code in some other language. You can't control those risks as well as you can control an elective rewrite, because the risk of new requirements is often surprising and under time-pressure, while an elective rewrite to remove technical debt is at your best pace unless one of those risks suddenly appears--in which case, you may decide the rewrite isn't ready, and that shoring up the existing mess a bit longer is less-risky.

    An elective rewrite requires accepting those risks now and devoting the resources to the project immediately. That translates to "take an active step in causing disruptions and expenses that we don't need to", versus "take an inactive step in causing disruptions and expenses at a future time when we can't avoid it". This form of proposal requires reframing.

    Reframing is a known method for improving decision making and reducing dorsolateral prefrontal cortex activation when making decisions. Generally, to make a difficult decision, the dorsolateral prefrontal cortex must activate on prefrontal reasoning and override the mid-brain response (the simple, automatic response) by force of expended energy. For a frame, "Do you want $5 today, or $10 in 6 weeks," you want $5 right now; it takes a lot of effort to resist the immediate reward. A null-framed form, "Do you want $5 today and $0 in 6 weeks, or $0 today and $10 in 6 weeks," produces a decision to wait for the $10 in nearly an additional 40% of the respondent pool. Essentially, the prefrontal cortex sees these proposals differently, and the midbrain has a reaction to both explicit conditions rather than a lack of response to the implied null conditions--and obviously finds getting $0 at any time offensive versus the alternate, so is somewhat less-focused on time as a factor.

    So do you want to take controlled, manageable risks now and pay an expense to avoid uncontrolled, time-pressured risks in the future; or do you want to do nothing now and face uncontrolled, time-pressured risks at various points in the future when implementing a long-term solution to avoid more such risks suddenly cropping up afterwards will not be immediately viable?

    An event which will occur at a random, probabilistic period and incur some penalty (call it $1,000,000) is less-desirable than an event which will occur at a random, probabilistic period and incur some smaller penalty (call it $100,000). The cost to replace these events--to mitigate future risks--can be high (e.g. $20,000,000); yet those future risks may be more variable ($10,000-$100,000,000, mean $1,000,000) versus the alternative ($15,000-$250,000, mean $100,000). Frequency may also be a factor, wherein a new system may already have the flexibility for many upcoming new requirements, and any changes may bring with them opportunity to cover additional requirements without gold-plating (e.g. it has to handle PNG images, and you used a library that handles 47 types of graphics formats--when it has to handle TIFF embedded in EPS, it already does that, and nobody went out of their way to spend additional time making that happen). Making the system ready for commodity environments means we can build test environments and more-readily detect defects before production changes, as well, without expending millions of dollars supporting said environments.

    It's not a simple problem. It requires a reframe to present it as a complex but important consideration, rather than a scary hobby to keep someone busy. After that, you're ready to sit down and analyze the problem in its full scope to decide if you should proceed. I've had times when the answer was no, and that's usually when we're migrating to a new system soon an

  36. I guess they must have more than enough choices. by Anonymous Coward · · Score: 1

    I have been looking for COBOL work for a while now. I don't see that many ads. And when I submit my resume I don't even get a call. So that means the isn't much of a demand and the supply must be much higher than the demand.

  37. I enjoy making $450/hour by Anonymous Coward · · Score: 0

    I've been using COBOL since I learned it in the 1990s. Now, I work 3-5 hours a day maintaining software that various companies just can't seem to bring themselves to replace.

    I've been going up $50/hr every year for the last 5 years and nobody has balked yet.

  38. They just recycled the job posting from the 60's? by Anonymous Coward · · Score: 0

    Sounds like HR just copy and pasted the original job posting :-)

  39. It's not just banking by outlander · · Score: 1

    A lot of public safety and gov't code is written in COBOL, too.
    When MicroFocus came out with their Object Cobol like 15+ years ago, I remember watching the change sink in.
    Some of the orgs we worked for slowly rewrote their code and broke it up into chunks which made rewriting it in C/C++/etc easier.
    But there's still lots of it out there.

    --
    "Truth is what works" -- William James "It works!!" -- o-dark-AM comment
  40. Re:This is really funny stuff! by Anonymous Coward · · Score: 0

    lol wut?

  41. People don't WANT to maintain COBOL by nitehawk214 · · Score: 2

    People would be happy to learn COBOL in school if it did not suck the life out of people that touch it. And now that the only remaining jobs are maintenance ones, there is even less incentive.

    --
    I'm a good cook. I'm a fantastic eater. - Steven Brust
    1. Re:People don't WANT to maintain COBOL by Anonymous Coward · · Score: 0

      People would be happy to learn COBOL in school if it did not suck the life out of people that touch it. And now that the only remaining jobs are maintenance ones, there is even less incentive.

      How is that worse than working on yet another lameass CRUD app or yet another craptacular web site slapped together with the latest flavor-of-the-month frameworks?

  42. Uhh... by Anonymous Coward · · Score: 0

    If you think that's how headhunters get paid I'll be more than happy to find a few jobs for you.

  43. And then there is Logo by wjcofkc · · Score: 1

    I worked for a software company who's flagship application, which was medical related, was written entirely in Logo. Apparently, early on someone slapped together some prototyping to show management. Management being management proceeded to dictate that the entire application actually be written in Logo. I could not believe it, yet there it was.

    --
    Brought to you by Carl's Junior.
  44. Funny thing though by computational+super · · Score: 2

    Nobody's willing to pay experienced COBOL programmers all that much, even though they're demonstrably scarce.

    --
    Proud neuron in the Slashdot hivemind since 2002.
  45. Re: Featuritis [Re:Translator] by Tablizer · · Score: 1

    It's a "fake word" such that spelling is mostly moot. Anyhow, here's a better description of the concept.

  46. No surprise there by wardrich86 · · Score: 1

    My college offered 4 semesters of COBOL. It was the worst experience of my time there, and one of the biggest reasons why I dropped out. Fuck COBOL. Sure there's the whole "if it ain't broke, don't fix it" mentality, but I mean, a screen door "ain't broke" but it's also not the best idea to fit your front door with. A Speedo "ain't broke" but it's also not best for winterwear... Time for the dinosaurs to upgrade. The money spent now would be cheaper than the ever-increasing maintenance fees over time.

    1. Re:No surprise there by Anonymous Coward · · Score: 0

      A co-worker, who taught programming at Harvard in the 60's, said he liked Fortran better than Cobol. It took only one day to teach Fortran but two days to teach COBOL. As for comments, good COBOL is almost self documenting. Lots of code like Add This-Weeks-Salary to Year-To-Date-Salary.

      Worked on a report generating program. When finished it was twenty-two feet of cards. A simple Manufacturing Labor Analysis system, for many workers building very large airplanes. One program to select out the records for the reports. Another program to sort the records. This had to be done in several stages due to limitations in storage capacity. Then the report generator. Now this could be done on my home PC.

      My dad also worked at the same company. His boss had discovered that if he made an entry in the input, then his staff would have a marker on the far right of the report making it easier to find them among all the paper.

    2. Re:No surprise there by Obfuscant · · Score: 0

      My college offered 4 semesters of COBOL. It was the worst experience of my time there,

      I suggest that this is the fault of the college and not the language. If they decided to take four semesters to teach COBOL, then they were certainly not very good at it and were more interested in your money than teaching you stuff.

      The university I went to had only one semester of COBOL, and even FORTRAN had only two. The first semester was teaching FORTRAN. The "advanced FORTRAN" semester dealt with learning everything in the "gray pages" of the CDC FORTRAN manual, which is where they put all the CDC-specific extensions.

      but I mean, a screen door "ain't broke" but it's also not the best idea to fit your front door with.

      And yet, most of the front doors I see on homes have screen doors, too. Very nice to keep the Jehovah's Witnesses from walking in when you open the front door to see who just rang your doorbell.

    3. Re:No surprise there by wardrich86 · · Score: 1

      There's generally a large wooden door behind that screened door.

  47. Mainframe programmer says BS to this! by Anonymous Coward · · Score: 1

    Article is complete nonsense by someone who doesn't know what they're talking about. COBOL is only one part of a huge, convoluted, legacy IBM stack. NO ONE WANTS COBOL PROGRAMMERS. Knowing COBOL is only a fraction of the picture. These corporations need experienced CICS programmers who know DB2, IMS, and VSAM to support legacy code. COBOL is the glue language. The real expertise is knowing how to code CICS transactions using back-end things like DB2 or VSAM. You would need to learn deep niche skills to grok all that. People spend careers learning that stuff. Would take years to be even a little productive. It's a whole world all by itself. (Hint: many people DID spend their careers learning this stuff deeply, and corporations purged those employees.)

    Can't think of car analogy. Math analogy - knowing COBOL is a lot like knowing Algebra - you're going to have to learn a little bit more to work on differential manifolds.

    1. Re:Mainframe programmer says BS to this! by Anonymous Coward · · Score: 0

      Having worked as a developer for the premier COBOL compiler vendor (Micro Focus) throughout the 90's, and visiting a number of customer sites along with the Sales Engineers, I agree with this completely.

      COBOL as a language isn't difficult to learn, but you're not going to be an expert in a week.
      Still, it's only one component in a very big stack.

      In addition to the above programs, you also really need to know how things like DFSORT or SYNCSORT (sorting datasets seems to be VERY important for some reason) work and how they ALL interact with the MVS file system (PDSs and GDGs and 44 character data set names, oh my!).

      Knowing how all those things work together makes you valuable. ...and still, many of us were purged during the MergerMania years leading up to Y2K. Seems some of our products weren't "e-" enough.

  48. Nope by Anonymous Coward · · Score: 0

    From what I've seen, the issue in finding developers for these codebases isn't in the language knowledge (i.e. COBOL), it's in the knowledge of the poorly-documented legacy software. Sure, you can get a developer to learn COBOL fairly easily, but when the software is full of dead ends, spaghetti code, and unknown business logic and workflow logic, their knowledge of COBOL won't help. Instead you need to hire someone who knows the system, and was probably complicit in creating this mess, to do anything. Either that or bite the bullet and start a huge replacement project that costs several magnitudes more than exorbitant hourly rates.

    Nope, the issue in finding COBOL developers is finding developers willing to work for that little in what appears to be a dead end job and skills with limited marketability.

    You want developers, you have to pay the price.

    Not enough developers, you pay to train them and pay them very well to stay.

  49. Re:Doesn't surprise me... by TWX · · Score: 1

    On a more serious note, the cost to wire versus the cost for switches really depends on the number of drops, the relative port-capacities of switches to those cable counts, and any backbone (ie Fiber) costs needed.

    Token Ring using the shared medium on each literal token ring segment allows for more nodes per segment than modern Ethernet with the mindset that two devices are a collision domain and thus one switchport per device is necessary. I haven't made a study of token ring so I don't really know how many nodes can be present on a given coaxial segment or even how token ring switches to divide-up segments work, but if they can get a dozen nodes on a ring then they can buy 1/12 the number of switches than they'd need for Ethernet, and if the nodes are idle a lot of the time then that's probably a fairly efficient arrangement.

    As for Ethernet many manufacturers don't even offer full-width rackmount switches with less than 24 anymore, you have to buy workgroup switches and adapter kits to get down to 12 ports. Thing is, if I have only a handful of devices fed from a closet then I could have over half of that fairly expensive switch idle. In the case of Cisco products, that's a list-price $5000 switch if it's Gigabit with 10G uplink capability and PoE for L2/VLAN, no real L3, and if more than 24 are needed and I step up to 48 ports then your're talking $8000 list-price, whether you need 25 ports or all 48. To contrast that, when I have drops pulled in they're $150-$200 each depending on how many are being pulled and how difficult the building is to work with. I can't expect Token Ring to have the exact same cost per drop, but I would not be surprised if it's similar and if again, they don't need very many, it makes some degree of sense to stick with what they have versus paying thousands of dollars per closet for switches.

    But with Token Ring essentially dead and having been in-decline for a long time now I probably would've went Ethernet anyway, especially depending on the quality of the Ethernet cabling present in the building.

    --
    Do not look into laser with remaining eye.
  50. Re:This is really funny stuff! by rogoshen1 · · Score: 1

    10/10 trolling, got a reply :)

  51. My COBOL story by jgotts · · Score: 1

    I'd like to begin by adding that an experienced programmer (let's say somebody with over a decade of experience) should be able to pick up any language. If you have been exclusively using one programming language for your entire career including college, then you must be one in a million. Most programmers that I encounter have picked up dozens of languages and syntaxes over the years. When I received my first royalty check for programming in 1987, I was programming a Commodore 64 in BASIC with as little machine language as possible. In high school followed by college I was exposed to the likes of Pascal, FORTRAN, C, Perl, C++, Java, and the standard UNIX things (Bourne shell, regular expressions, sed, and awk) before I took my first full time job out of school. I think my experience is typical. If you need to learn COBOL for your job, you should have no trouble picking it up. Having to learn a new language or a new programming environment should be no obstacle for an experienced programmer.

    More to the point, my first job out of school was working with options traders on a trading system. They supplied the algorithms and I supplied the code. In the end the company folded, because it was too hard to compete against the big guys with their deep pockets. But one bank we integrated with had for the time an amazingly large list of libraries that their library depended upon (kind of like GNOME and KDE and a lot of other things today). One of them was -lcobol. Quite simply a part of their software buried deep in some library was written in COBOL. I don't know how old the code was, but this was the early 2000's so I doubt it was new code.

    Correct me if I'm wrong here, but I think this is the most likely scenario that a modern day programmer is likely to run into with COBOL. You're probably going to be working with a bank, and you will be using COBOL without having to worry about it. The library probably works fine, but the institution itself may occasionally have to delve into the library to add code or fix bugs. It's doubtful to me that people working in small or medium-sized organizations would be exposed to any real COBOL.

  52. Re:Doesn't surprise me... by __aaclcg7560 · · Score: 1

    On a more serious note, the cost to wire versus the cost for switches really depends on the number of drops, the relative port-capacities of switches to those cable counts, and any backbone (ie Fiber) costs needed.

    The conversion project was for 500+ workstations at that one branch office. Not sure how many branch offices were involved when the switchover to Ethernet took place at the NYC headquarters. I spent four hours waiting for NYC to turn on the switches from their end, four hours to do 250+ workstations by myself, and four hours to fix 250+ workstations that youngers messed up by not following directions. Finding a cab at 3:30AM was not fun either.

  53. I was a COBOL dev by cyber-vandal · · Score: 1

    These institutions screwed loads of us after Y2K so I'm highly amused to see them panicking. They'd have to offer me vast sums of money to go anywhere near them now.

    1. Re:I was a COBOL dev by sjames · · Score: 1

      Out of curiosity, what did they do?

    2. Re: I was a COBOL dev by cyber-vandal · · Score: 1

      Worked us really hard and then outsourced to India because we dared to expect to be paid well for working on that god awful shit.

  54. A-Fucking-Men by sycodon · · Score: 4, Insightful

    COBOL is the Caterpillar D11 of data processing.

    When you need to process millions of records reliably and constantly, a correctly constructed COBOL solution is robust, maintainable, and reliable.

    COBOL doesn't and shouldn't give a shit about drop downs, java, PDFs and all that other bullshit. It's is doing the heavy lifting that C, Java (don't make me puke), and all these other supposedly superior languages can't do.

    Eye Candy has nothing to do with making sure 50,000 employees get their checks every week or millions of SS recipients get their checks every month.

    And the best thing, it's not rocket science...by design. A single semester of COBOL can get someone up to speed to the point where they can maintain everyday COBOL applications. When things get crazy, it's not the language that's the roadblock, it's just the normal analytical skills.

    --
    When Fascism comes to America, it will call itself Anti-Fascism, and tell you to give up your guns.
    1. Re:A-Fucking-Men by St.Creed · · Score: 1

      Amen to that.

      I was once tasked to get some data from the mainframe into the DWH I was building. We had an external COBOL programmer come in to do this because the rest was busy on fixing Y2K and doing the Euro implementation. His program was repeatedly returning really incorrect data. But no problem: I just printed out his program and pointed out all the bugs: yes, Cobol is so easy to read and debug that even without training I could just follow the flow of the program, see what it was doing and where it was copying the wrong fields into the copybook.

      It's another reason why I go with the easiest language at hand for most tasks. You never know how long it has to run, and while you can build fantastic things in C++ or assembler, it's a pain to maintain.

      --
      Therefore, by the (faulty) logic you're using, you're just a cow with a keyboard - osu-neko (2604)
    2. Re:A-Fucking-Men by budgenator · · Score: 1

      COBOL sucks donkey dicks for writing user interfaces, it excels at business logic; whereas C sucks donkey dick for writing business logic, but excels at low-level crap like UIs. I don't understand the problem, some COBOL is spaghetti code but not as much as you would think.

      --
      Apocalypse Cancelled, Sorry, No Ticket Refunds
    3. Re:A-Fucking-Men by _Shorty-dammit · · Score: 1

      *assembly

    4. Re:A-Fucking-Men by david_thornley · · Score: 1

      From my point of view, COBOL is well suited for extremely boring business applications.

      There's no reason these applications couldn't be written in something more modern, and if they were being written now they would be. We're talking about very simple applications (because no sane person would do anything else in COBOL except for hack value), and they're easy to get right in any language.

      However, there are an appalling number of lines of COBOL out there in general use, and there's no business reason to rewrite all of it, and so COBOL programmers will remain in demand for the foreseeable future.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    5. Re:A-Fucking-Men by michael_wojcik · · Score: 1

      COBOL doesn't and shouldn't give a shit about drop downs, java, PDFs and all that other bullshit

      Don't tell that to the application developers. A majority of the queries we get on the MF Community COBOL forums are for GUI issues. PDF output is a popular topic too. And COBOL for JVM is doing nicely, thanks.

  55. By the Gods! by Anonymous Coward · · Score: 0

    Lords of Kobol hear our prayer, Guide us to the promised language for modern banking software.

  56. No surprise you might be by Anonymous Coward · · Score: 0

    The majority of companies that have been in business for more than 40 years still have COBOL on there mainframes. No one would have used anything else on a mainstream until the last ten years or so.

  57. Re:This is really funny stuff! by bws111 · · Score: 5, Insightful

    'Eventually COBOL will need to interface with new code...' Eventually? Do you suppose these programs had support for EFT, ATMs, bank-by-phone, online banking, mobile apps, etc when they were written 50+ years ago? You're not going to scare them with 'Oooh - there could be a new requirement!'

    When you say rewriting is a good strategy, do you have ANY idea what that entails? You are not just talking about a few COBOL modules here and there. You are talking about potentially changing the ENTIRE system. Your COBOL program is probably running under CICS. The hardware CICS and your program have been running on have been optimized for your workload. Your data is probably stored on ECKD DASDs. Your data is probably stored in packed decimal format, so it can be operated on with a single, optimized, machine instruction.

    Now, you want to 'rewrite' it. OK, where do you start? If you just replace your one COBOL module with some other language, does your 'new' language natively support the data you are operating on? Does it support the types of datasets you are using? Does it do those things with the same performance characteristics as COBOL? Does it properly and efficiently interface with CICS?

    Your last paragraph is laughable. These 'old' systems are 'chewing-gum-and-tinfoil' unreliable systems? Oh yeah? When have you heard of one of these systems failing? When have you heard of security breeches involving these systems? And before you incorrectly say 'airlines', I will point out that NONE of the recent airline outages involved the mainframe portion of the operation. It was the 'new, better' stuff that falied in every case.

  58. Re: This is really funny stuff! by Anonymous Coward · · Score: 0

    Yeah,just take a look at most software/code that Americans have had much to do with..

  59. because by superwiz · · Score: 1

    if it works, don't fix it.

    --
    Any guest worker system is indistinguishable from indentured servitude.
  60. Don't forget... by Anonymous Coward · · Score: 0

    BCD math, I have yet to find any other language with as bullet proof implementation of BCD math

  61. It will never die by FeelGood314 · · Score: 1

    There are too many systems in banks that aren't documented and no one bothered to keep the source code. There are databases that contain ascii, ebcdic and binary packed decimal. I replaced a program once that I thought I knew what it was doing only to discover that because it was looking at every customers data it was creating a file that had a 1 bit flag for every customer that met some unspecified criteria. 6 weeks later another department complained that they were getting the exact same report everyday. Lesson learned. If you don't have the source code don't mess with the programs and even if you do you would have to reverse engineer every possible thing the program did. COBOL will be around until the last bank fails.

  62. Ex cobol programmer here 25+ years experience by Anonymous Coward · · Score: 0

    I'm dead and I carry a do not resuscitate in case of cobol emergency card!

  63. GnuCobol by Anonymous Coward · · Score: 0

    GnuCobol supports multilanguage integration, GUIs, GNOME, Internet access, etc.

  64. Re:This is really funny stuff! by oh_my_080980980 · · Score: 1

    God bless. One of the most profound comments. It points out the sheer stupidity of the Reuters article.

  65. Obligatory joke by logicTrAp · · Score: 1

    I don't know COBOL, but I do like this joke (which has been floating around much longer than this Reddit post): https://www.reddit.com/r/Progr...

  66. Re:This is really funny stuff! by Hognoxious · · Score: 4, Funny

    Why don't they automatically translate them to something more modern then run them in the cloud?

    It never occurred to them because they're not anywhere near as smart as you.

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  67. 'Cowboys', right by Sarusa · · Score: 1

    People working on COBOL aren't 'cowboys'. They're (metaphorically, like the cowboy thing) guys with suits and briefcases who might be briefly exuberant by getting a martini dirty style and hoping nobody notices this outrageous whimsy.

    Yeah, I know, there's a company named that. Go look at the employee pics.

  68. Re:This is really funny stuff! by Hognoxious · · Score: 0

    We really need a "-1: Total and utter fucking windbag" mod.

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  69. Yeah by Ryanrule · · Score: 1

    That will $10k a minute plus expenses, and im taking a helicopter to the private jet. Make sure its full of whores and coke.

  70. probably complicit in creating this mess by DarthVain · · Score: 1

    As someone that has to deal with legacy systems all the time this made me chuckle a little bit.

    Oft times these systems are neglected for decades in favor of the flavor of the day technology, which typically fizzles and dies. While these systems plod along doing the job, picking up more than a few quirks from having the business rules change every other year and constantly re-designing a system that was meant to do one thing many decades ago. Yet never actually replace because it is not only too expensive to do so, but almost inconceivable due to the above mentioned fact that no one really knows how it does what it does anymore.

    I've seen my share of really weird design choices where I was like "They probably did this crazy thing to get around that crazy bit" sort of logic.

  71. So, what's the problem? by Latent+Heat · · Score: 1

    "COBOL is so easy to read and debug that even without training, I could just follow the flow of the program . . ."

    So, then, why do you need 70-something Dude out of retirement (not that I begrudge 10-somethin Dude making some coin on this job)? A reasonably skilled C++ programmer, as you point out, should simply be able to learn enough COBOL to do this work? Think of Joel Spolsky hiring C++ programmers because they can reason deeply how code works and then he puts them in front of Visual Basic 6 to pound out his application because they don't have to fiddle with MFC to get the GUI part?

    Is the problem that a C++ programmer will be bitchin' and moanin' the whole time, "COBOL sucks" that you cannot hire him for this work. That maintaining a mission-critical but legacy COBOL program is beneath a C++ person? What if they, like, paid enough coin -- would C++ dude keep those negative vibes to themselves to finish the project?

    1. Re:So, what's the problem? by mykepredko · · Score: 2

      It's not the COBOL per se, but how it runs and integrates into the system.

      The expertise comes in making files available to read and write output to.

      In my post below, I noted that if you're running in MVS (old IBM iron), you need to know and be comfortable with JCL. Same thing for VMS.

      That's where the grey hair comes in.

    2. Re:So, what's the problem? by St.Creed · · Score: 1

      I agree wholeheartedly.

      --
      Therefore, by the (faulty) logic you're using, you're just a cow with a keyboard - osu-neko (2604)
    3. Re:So, what's the problem? by St.Creed · · Score: 2

      Think of Joel Spolsky hiring C++ programmers because they can reason deeply how code works and then he puts them in front of Visual Basic 6 to pound out his application because they don't have to fiddle with MFC to get the GUI part?

      Well, what's wrong with that? I was a C++ programmer throughout my education and my first job as scientific programmer, and moved on to VB6 and then VB.Net. Double the pay for half the effort, what's not to like :) And in the end it's all just a Turing Machine anyway, we're just debating the syntactic sugar as long as we stick to imperative languages.

      So nowadays I just use the tools that make it easiest to code and test a solution, not the tools that are generating the most work for everyone. For most applications in office automation there is zero reason to use C++. Heck, there is little reason to actually code anything when you look at office automation: a good logical model coupled with a business rule engine and a decent code generator could work up 99% of most applications without even breaking a sweat. You may not build SAP with it, but I bet you could give it a darn good run for its money when looking at specific modules - the joke that is the Student Lifecycle Module springs to mind immediately but I'm sure there are plenty of examples.

      --
      Therefore, by the (faulty) logic you're using, you're just a cow with a keyboard - osu-neko (2604)
    4. Re:So, what's the problem? by david_thornley · · Score: 1

      In my post below, I noted that if you're running in MVS (old IBM iron), you need to know and be comfortable with JCL.

      And some people think C++ is hard to work with. Heh heh.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    5. Re:So, what's the problem? by mykepredko · · Score: 1

      Only somebody who's exposed to JCL would say that.

      And, years ago, I considered myself an expert in it.

  72. Too good too soon by Anonymous Coward · · Score: 0

    Let us not forget that COBOL was designed to be readable by both IT types and business folks. I suspect it is still around not only because of the much derided legacy effect but because it was good at its job. Sorry, I have dug through object oriented code and other stylistic metaphors -- trying to determine why it doesn't work or is a terrible runtime pig. There is something brutally honest about COBOL that has stood the test of time. There is nothing attractive about discarding something because it was developed last year so is 'old'... does it suit the purpose? That having been said, I have written 20 Cobol programs in my life... and a Cobol compiler. They all worked correctly the first time... beats the heck out of anything I ever wrote in C or various assemblers. Since it all boils down to the same underlying instruction set we should recognize this is a fashion statement as opposed to a suitability for intended purpose.

  73. You telling me C lacks structs? by Latent+Heat · · Score: 1

    I am not buying this. Anything in COBOL is readily and easily done in C.

    And C excels at UIs? Huh? Are you telling me that writing, say, UIs for Gnome (or low-level Windows API) is well-thought-out?

    OK, OK, maybe these C-based simulations of object-oriented programming paradigms to handle UIs are better than the stuff sandwich of C++ with either Qt+ or MFC? But, seriously?

    1. Re:You telling me C lacks structs? by Anonymous Coward · · Score: 0

      And C excels at UIs? Huh? Are you telling me that writing, say, UIs for Gnome ... is well-thought-out?

      Yes, I'll say it. Yes.

      Haters hate but Gtk's API is clean, pleasant, and powerful.

  74. CICS is the key by Anonymous Coward · · Score: 0

    It's not as much COBOL that you need to know as being fluent in CICS.

  75. Re:This is really funny stuff! by bluefoxlucid · · Score: 1

    'Eventually COBOL will need to interface with new code...' Eventually? Do you suppose these programs had support for EFT, ATMs, bank-by-phone, online banking, mobile apps, etc when they were written 50+ years ago?

    Do you suppose there won't be new requirements to implement in the next 5 years?

    When you say rewriting is a good strategy, do you have ANY idea what that entails?

    It entails requirements gathering not just through stakeholder analysis, but through forensic programming. You need to ask engineers how the current systems work, ask managers and administrators what their technical tools allow them to do, piece together a conceptual view of the current system, and have programmers examine existing code--both large spans of barely-readable source code and decompiled and debugged binary blobs for which source has been lost--to get a list of required features, existing systems, and current integrations. Both the goal and the technical details of the current implementation need documentation.

    You then need to structure the actual work. This first requires a strategy for incremental delivery, because you're going to need an agile methodology for this--there is far too much risk to write the new system in a vacuum, "test it," and just drop it all at once. You'll need to design ways to test the first pieces you can deliver without messing with production, and to unbolt the relevant parts of production and bolt in the new system. This repeats as you make further releases, replacing your hodgepodge of multi-era code with a unified code base.

    You need back-out plans. You need to identify all risks, rank them, mitigate them, build contingencies, and ensure that anything you screw up can not only be undone, but identified. Messing up data accounting in invisible ways will tend to run for a long time before anyone notices the error. This means parallel deployment as a test environment--possibly for months--to validate your outputs on real-world workloads against the existing system before deploying the rewrite.

    That's only some of the bare, early technical pieces. That doesn't include procurements, human resources, buy-in, communications plans for literally everything that impacts anyone, management of legal and regulatory concerns, and the like. This isn't a small project; it's a massive effort to remove decades of technical debt and reduce long-term operational risk. It's like the removal of a cancer that's wound its way dangerously through tissue, but is still not fatal and can be cut out without destroying the body: the longer it grows, the harder it's going to be to remove, and the more likely it is to lead to sudden vital organ failure. Banks and insurers are functionally-immortal and don't simply have to outlive their barely-viable systems, like a human who might make 90 or so and die of heart failure before the prostate cancer even starts making them ill; they can actually keep running forever, and die when the system fails.

    Your COBOL program is probably running under CICS. The hardware CICS and your program have been running on have been optimized for your workload. Your data is probably stored on ECKD DASDs. Your data is probably stored in packed decimal format, so it can be operated on with a single, optimized, machine instruction.

    I've seen data-crunching mainframes in insurance companies running modern code. Not C#.NET, Java, and Python; they've got JCL and Rexx to chew through massive data sets and run huge reports. They use mainframes because the software on the mainframe and the I/O hardware does in twenty minutes the job a $300,000 bank of servers can't do in literally three weeks. They still use software written this century, and they've left off software written back when mainframes were "The Future". That software doesn't look like anything today's Web developers are familiar with--no PHP, no C#, no MongoDB-

  76. EBCDIC by Anonymous Coward · · Score: 0

    Damn you, now I am going to have nightmares about my college days. IBM, you suck.

  77. ExxonMobil by Anonymous Coward · · Score: 0

    ExxonMobil also uses COBOL for their backend payment system. Built in the 1970's, the system is antiquated but is still in use due to the complexity of the code. Exxon has spent a small fortune on private investigators to try to locate the original developer, to no avail. Teams of COBOL programmers have not been able to successfully update the software, as the system crashes when core parts of the software are altered.

    That is why debit machines at the Esso gas stations here in Canada are brutally slow compared to just about everywhere else.

    I know this because I previously worked as an IT security analyst for Exxon.

  78. Re:This is really funny stuff! by shaunbr · · Score: 1

    Rewriting the code in another language is a costly endeavor, especially since the existing COBOL is being used in mission-critical environments. Introducing a port in a completely different language throws away 30 years or more of bug fixes that have gone toward making the existing systems extremely robust. The replacement software needs to be bulletproof before deployment, and the costs of creating software that solid can be downright absurd.

    COBOL programming knowledge is going to be a very profitable niche for some time to come, especially if you have solid experience in other suitable languages if and when those systems are rewritten. I've considered learning it myself.

  79. Re: This is really funny stuff! by Anonymous Coward · · Score: 0

    Good grief you're verbose.

  80. Re:"scrambling" is not the full truth... by Anonymous Coward · · Score: 0

    150 a year?

    I get paid more than that and I get to work in Python, Ruby, Java... modern Linux. I wrote COBOL over 15 years ago -- albeit briefly. I might not be _good_ enough to parachute in, but I'd be willing to consider it.

    Quite frankly -- my terms for working in COBOL are:

    - I'm starving, homeless, addicted to drugs and alcohol and desperate
    - You offer me a contract in which you pay me enough to retire -- including programmer appropriate golden parachute if you think we don't work out before the end of the contract.

    I'm not committing resume suicide just because some bank has an IT problem.

    Honestly, I think we'd be talking a salary approaching half a million with benefits -- or an hourly rate approaching punitive in the 400-600 range, with an understanding that I will be taking vacations and don't care about terms less than a year.

    Yes -- I'm not "worth" that, but the point where I do COBOL for three years I'm going to demand that the employer cover my lost opportunity cost and them some -- and I do make that much for my employer in the domains I already know well.

    I can work at any startup in the world now. What career is the bank offering in their byzantine infrastructure?

  81. Re:This is really funny stuff! by bws111 · · Score: 1

    I never said anything remotely similar to there will be no new requirements. I was merely pointing out that there have been MANY changes already, and the stuff is still working. You, on the other hand want to spread the FUD that 'there may be changes that the COBOL may not respond well to'. Well, can you guarantee that whatever rewrite you do WILL respond well to these as-yet unknown changes? No, you can not. Therefore, what you are suggesting is that organizations spend tons of money and time, and incur enormous risk, to wind up with a system that will not necessarily be any better than what is already there,

    I have no idea why you are babbling about SCADA systems and Oracle systems in an article about large financial institutions and COBOL, which are almost exclusively the realm of mainframes and CICS.

    Of course the mainframe systems have to trust the data that is fed to them. Do you have some magical new system/language where that is no longer the case? If not, how is rewriting the COBOL code going to actually improve the situation?

  82. Re:Ex cobol programmer here 25+ years experience by tobiah · · Score: 1

    lol

    --
    "The ability to delude yourself may be an important survival tool" - Jane Wagner -
  83. Re:This is really funny stuff! by sjames · · Score: 1

    Java is the new COBOL.

  84. Re:This is really funny stuff! by Trogre · · Score: 1

    In the cloud.

    Do you really want bank and government information being processed on some other guy's computer?

    I'm not sure how well you've thought this through.

    --
    "Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
  85. Re:This is really funny stuff! by Anonymous Coward · · Score: 0

    Now, you want to 'rewrite' it. OK, where do you start? If you just replace your one COBOL module with some other language, does your 'new' language natively support the data you are operating on?

    Modern COBOL compilers all support external languages, primarily that means C. So that is where you start; you write the new functions in C, and slowly replace everything. And yes, compilers can understand binary data.

    If you think about the way that COBOL represents data, it is pretty obvious that all other languages that you would integrate with would be able to easily support it.

    The reason that "chewing gum and tinfoil" systems don't randomly fail is that computers are non-deterministic. So instead of failing randomly for you to "hear about it," it fails whenever a programmer touches anything to make a change, and you don't hear about it because it is just some person crying in a cubicle on Friday night and why don't you give them some privacy? These are important systems that have a lot of old-school QA in place, so they're not going to fail very often even when poorly written. If you do enough QA, poor software quality mostly becomes an upgrade-cost issue.

    You don't hear of security breeches involving these systems because these systems they don't like to tell you what is running on what computer and you'll only read in the news that such-and-such institution had some sort of breech and what the fallout was. They won't give you technical details. Only nonprofits and open source groups would tell you which system failed and in what way when there is a breech. Even an ISP hosting service only tells customers about breeches where they have to do some sort of technical mitigation. If you're not mitigating anything, you probably weren't even told. None of these COBOL apps have a public-facing interface, they're all behind the scenes. They're not the sort of thing that security researches can isolate and test and find bugs in, these are real running bank systems it would be illegal to try to hack them. So white-hat research doesn't get done on these unless it is internal, and that will remain secret. If somebody actually hacks one of these it is to steal money and they don't publish a teardown review on youtube.

  86. PLEASE! Won't someone think of the BANKERS! by Anonymous Coward · · Score: 0

    So these people have been making trillions of dollars while racking up technical debt the whole time? I'm shocked I tell you, SHOCKED.

    The real question isn't why they haven't updated their systems or what they are going to do about it, but how in the world are they going to monetize technical debt swaps? I believe they'll figure it out.

    USA! USA! USA!

  87. Re:This is really funny stuff! by bluefoxlucid · · Score: 1

    Risk isn't about guarantees; it's about control. Can you guarantee you won't die riding a motorcycle at normal speeds while wearing a helmet and body armor? No? Then why not just take side streets at 100+mph in a t-shirt and shorts, barefoot?

  88. COBOL Microfocus by rsabin · · Score: 1

    I work for a bank and I do COBOL programming. Where is my money?

  89. Lucky to have COBOL by Big+Hairy+Ian · · Score: 1

    They are lucky it's only COBOL I work at a university and we still rely on shit that's written in ADA

    --

    Build a Man a Fire, and He'll Be Warm for a Day. Set a Man on Fire, and He'll Be Warm for the Rest of His Life.

  90. LMAO by Anonymous Coward · · Score: 0

    funny my alma mater cant afford CS doctorates for profs so they have a CIS dept which REQUIRES COBOL so why are they so hard to find-lots of big business use COBOL systems

  91. Re:This is really funny stuff! by bws111 · · Score: 1

    Wow, talk about missing the point.

    Of course you can't make guarantees, but what you CAN do is quantify both the COSTS and the BENEFITS of doing something. Something with a low cost/benefit ratio is probably worth doing. Something with a high ratio is not. In your motorcycle example, we can look at history to make a determination: protected riders fare far better than unprotected riders, so the benefit is great. The cost is not absurd, so wearing protection makes sense.

    So we can also apply this analysis to this problem. One the one hand, we have the current systems. What is their track record of dealing with change?

    Went from running on 24, to 31, to 64 bit addressing hardware
    Went from data stored on punch cards and tapes to online DASD
    Went from standalone systems, to networked with SNA, to networked with TCP/IP
    Went from green-screen UI only available to bank employees to mobile apps available to all customers
    Went from all batch-processing to mostly on-line
    Went from account information only being available via a mailed monthly statement to being available 24 hours a day, updated in real-time
    Etc, etc

    Now, what is the supposed 'risk' with these systems? The pure FUD that 'there may be a change they won't be able to deal with'. Such as what, exactly?

    On the other hand, we have the 'new and improved' systems. Exactly what is THEIR track record? Exactly WHAT change are the existing systems going to be unable to cope with, but the new systems will be able to cope with? Any examples at all?

    It seems that the 'benefits' portion of the equation is sadly lacking (except for the FUD factor, of course)

    Then there is the COST portion of the equation. The track record here is not good. There have been many public and spectacular failures doing what you suggest, all at enormous cost.

    So what we see is a gigantic cost, and a benefit of 'maybe this' and 'maybe that'. When your cost portion is that large, your benefit portion better be larger, as in as close to a guarantee as you can get. You have not provided anything even close to that.

  92. Re:This is really funny stuff! by david_thornley · · Score: 1

    It's not just COBOL, though, it's all the other proprietary stuff IBM puts into its mainframes. I can get, for free, any language in halfway widespread use that I can practice with. Do you still need to know JCL and CICS and all the other alphabet soup things? Those you can't get for free.

    --
    "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  93. COBOL going away because expensive by Anonymous Coward · · Score: 0

    COBOL **is** going away because it is expensive and limiting. It is so because, as it is always implemented, it runs on a leased mainframe. Those things are niche technology with a limited and shrinking customer base, so the mainframe vendors are squeezing their few customers for all they can.

    Getting off COBOL and the mainframe means greater OPTIONS for the customer.

    As a prominent example, Customs and Border Protection is actively transitioning to be completely off mainframe technology.

  94. Re:This is really funny stuff! by michael_wojcik · · Score: 1

    When you say rewriting is a good strategy, do you have ANY idea what that entails?

    Or just look at the results. Rip-and-replace projects have a failure rate that makes greenfield development look good.

    That's why the sales keep rollin' in. We had $206M in FY16 revenue from COBOL Development and Mainframe Solutions, which is basically all the COBOL stuff plus the mainframe environment (CICS, IMS, JES) emulation. That kind of money adds up.

  95. Re:This is really funny stuff! by michael_wojcik · · Score: 1

    Why don't they automatically translate them to something more modern then run them in the cloud?

    That COBOL source can be compiled to CLR IL or JVM bytecode, if you want "something more modern". Such a translator is already available; it's called a "compiler".

    And as native or managed code, there's nothing to stop you "run[ning] in the cloud". Why would you think there was?

    Perhaps not many organizations do it because there's no reason to do so.