TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Defusing COBOL Bombs with Smart Automation

74 pointsby mbellottiover 6 years ago

7 comments

Zenstover 6 years ago
I started out in the early 80&#x27;s as a COBOL programmer, learned COBOL at college and JSP (Jackson Structured Programming) which entailed never using GOTO and how to code as such, even how to handle exceptions.<p>But no, real world my first program was ripped to bits, rewrote and I was shown the error of my ways and why I should use GOTO as it was how everything else was written and others will need to maintain and modify the program throughout it&#x27;s life. Hence was the company standard. Even had a system engineer point out how much more efficient GOTO was for error handling and efficiency ruled the waves.<p>So the spaghetti code today may seem silly, but there will be so many historical reasons for the way it is. Alas companies are not keen to refactor old code a bit at a time for something more readable. They all live the dream that one day they will replace the whole system overnight and the angels will sing their praise. But that rarely goes to plan due to legacy factors and how intertwined so many aspects of the various systems are. This and it works, the hardware is fault tolerant. Then the horror stories of failures of others doing as such spread further than any success story.<p>So you end up at best in many cases seeing some aspects farmed out to a data warehouse running on some x86 server to plicate the increasing demands for marketing and sales statistics and provide them the tools to play away without impacting and stealing the pool of resources they have to keep the existing system just ticking along.<p>But the likes of CIC&#x27;s and MQ interfacing make peeling of some layers much easier and was one of the sain approaches when I last was involved in such matters over a decade ago.<p>Be interested how people migrate such systems today as encountered many a software house who will promise all the tick box&#x27;s management want to see and fail so very badly.
kpgrahamover 6 years ago
I started writing in COBOL in 1976. I wrote a lot of code and even started teaching COBOL in the local community college. The language is pretty simple, although wordy. I think that COBOL code would be pretty obvious to a coder today. They might not be able to code in it, but they should be able to follow the flow. The advantage of COBOL was that it was closer to machine code. A statement in COBOL translates to one or a few instructions of machine language. COBOL was a sort of assembly language. This made it run fast and efficiently on the big iron IBM mainframes. Remember that a machine with a meg or less memory had to run hundreds of terminals serving users at the same time at a clock speed measured in in a few millions of CPS. My last job before I retired was translating COBOL to Java. The COBOL code always ran faster than the Java classes that replaced them.
评论 #17992228 未加载
评论 #17992711 未加载
评论 #17991154 未加载
jillesvangurpover 6 years ago
Most banks suck at doing software and are being outcompeted by startups that have made building good software their core business.<p>E.g. N26 in Germany is rapidly growing marketshare in Europe (and soon the US apparently) with products that are modern, user friendly, and 100% guaranteed cobol free. There are a few similar examples of bank startups that invest primarily in R&amp;D and UX to grab market share from old banks that are simply not competitive. Their marketshare is melting away rapidly.<p>N26 bootstrapped with way less funding than most of these dinosaurs spend on keeping their old crap on life support. Per year.<p>I had a fun incident at Commerzbank here in Germany a few years ago where a request for some older statements that I needed for our compmany taxes was first impossible and then turned into a &quot;we have to send get somebody into an archive to make a copy of the microfilm; this may take a few weeks&quot;. This was this century. This decade even. No joke. A major German bank is storing customer records on microfilm. Incompetent banks like this deserve to go bankrupt. They are sitting ducks for any kind of competition willing to simply show up. We took our business elsewhere after that incident. I will never do business again with that bank.<p>The real problem is that zombie banks like this have no in-house competence left to do anything productive when it comes to R&amp;D. They are running on automatic pilot run by incompetent idiots. They outsourced all their core competence to consultants that happily come in and pile on more crap as long as they get payed enough. Mostly they evolve simply by copying what other banks do via expensive consultancy projects.<p>They tend to not have CTOs or anything resembling a technical strategy. Kind of odd if you realize that modern banking is essentially a software driven industry.
评论 #17993975 未加载
GFischerover 6 years ago
Very interesting. I used to work on a huge Forte4GL program (think in the million lines of code range) and we thought about using traspilers (even had some quotes).<p>But it was the same old bad code, traspiled.<p>We looked for better solutions, my opinions and my boss&#x27;s diverged, and last I heard, they&#x27;re manually transpiling into Java at a multimillion dollar cost. It&#x27;s a Java engineer employment program though.
hinkleyover 6 years ago
&gt; There are some studies that indicate that different parts of the brain are used when solving large and small problems. That small problems might involve more activity in long term memory.<p>I’ve been aware of a similar problem for a while now. When you write a complex system you’re always adding one more detail to something you already know. At some point when you’ve sailed far beyond all propriety, you built a system that can only be understood once it’s been memorized. Every new hire seems more useless than the last but the real problem is <i>you</i>.<p>Breaking up the long convoluted flows into smaller, self contained ones gives the new people a way to go about memorizing the system.<p>Otherwise they’ll just start crossing their fingers and hoping their changes work.
beesKneesManover 6 years ago
Serious question: COBOL&#x27;s just a language. How come no one has put together some kind of runtime interpreter, for COBOL, or thought to produce an emulator facade that keeps the business logic of legacy code, but ports it to another platform, architecture, infrastructure?<p>I look at some of the perfectly cromulent stuff people do with Emscripten [0], and it just blows my mind the things that a browser will run these days. So, why not that?<p>[0] <a href="https:&#x2F;&#x2F;emscripten.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;emscripten.org&#x2F;</a>
评论 #17993658 未加载
评论 #17993672 未加载
评论 #17993656 未加载
评论 #17993362 未加载
xvilkaover 6 years ago
Rewriting COBOL software in Java also looks like repeating the same mistake. Java as a language is already becoming obsolete for many things, including JVM itself, so languages like Kotlin, Scala taking off. On the other part, the same languages also work very hard on being native [1] [2]. So for the long-term strategy, it makes more sense to use the platforms that already made this leap - OCaml, F#, Haskell. Those languages are already popular to some extent in the fintech&#x2F;govtech. Elixir might be a good choice too, but less mature and not statically typed, which can be a problem for mission-critical software.<p>[1] <a href="http:&#x2F;&#x2F;www.scala-native.org&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.scala-native.org&#x2F;</a><p>[2] <a href="https:&#x2F;&#x2F;kotlinlang.org&#x2F;docs&#x2F;reference&#x2F;native-overview.html" rel="nofollow">https:&#x2F;&#x2F;kotlinlang.org&#x2F;docs&#x2F;reference&#x2F;native-overview.html</a>
评论 #17993423 未加载