5 ms·
I don't know for COBOL, but for JEE, we've been able to migrate out of weblogic (to jboss) and then from oracle to postgresql (on code which is 10 years old). S
by wiz21c 8y ago
I don't know for COBOL, but for JEE, we've been able to migrate out of weblogic (to jboss) and then from oracle to postgresql (on code which is 10 years old). So even if JEE might be hard to maintain, it allows some flexibility in the base tools you choose. (my view of COBOL is that once you're into a vendor, it's pretty hard to leave to another one because COBOL is close to the metal, I may be totally wrong)
but in the long run, the problem is also the business logic. What disappears is the knowledge of the hacks that were applied at the business logic level. And this is much harder than to recover from the code. So I guess one has to make the difference between business logic maintenance and the actual COBOL maintenance.
But having rewrote some huge COBOL app in Java, I can say that Java is better structured, at a framework complexity cost.
- repolfx 8y agoBetter structured, easier to debug, and the tooling exists to incrementally refactor in a relatively safe way. There are also migration paths to better worlds. IntelliJ can auto-rewrite Java into Kotlin, preserving comments and formatting along the way, and even detecting common Java idioms that have better Kotlin equivalents and rewriting them too. So, not only can you migrate to better app containers, database engines, upgrade your garbage collector and compilers etc, but also even switch to a much more modern language nearly pain free.
- tcbawo 8y agoRegardless of whether Kotlin is considered a better world than Java, I'm skeptical that this sort of automatic translation adds significant value.
- einarfd 8y agoI've been using Intellij's Java to Kotlin conversion a bit lately, and the code it spits out is fairly decent Kotlin, and with a pass through on nullability and switching out Java types with native Kotlin types afterwards. It gets just as good as it would get if I hand translated my self, but it takes a lot less time. I suspect that part of the reason that this works well, is that Java and Kotlin isn't that dissimilar. Doing automated conversion between Java and Scheme for example, would be a lot harder to get right.
- anon49124 8y agoHard-coded business logic: yuck. IIRC there's proprietary software (SDKs / integrations) specifically for specifying, running, testing and enforcing business rules efficiently so that applications just present an API or respond to events rather than having to know everything about the business, and so not having to change N apps when a business rule changes / track down weird bugs when a business rule changes because another system didn't get a change also.
- adrianN 8y agoSome people prefer to "hardcode" business logic in Java instead of hardcoding it in XML or whatever business logic specification language the proprietary tools use. At least you can hire Java programmers fairly cheaply.
- mrweasel 8y agoI would pick hardcoding for most projects. You often end up creating a new DSL for your business logic, but because most of us aren’t language designers our DSLs end up being worse than what ever language the project is written in. Almost every time you will fail to correctly anticipate the future needs and your DSL won’t be sufficient anyway.
- ro_sharp 8y agoThe code is only hard if you can't release it safely.
- wiz21c 8y agoThat quite deepnds on the business. Some of our data scenario are super complex (thousands of datapoints, where one influence the others depending on how they happen in time, depending on manual intervention, things that happen here and there). Because of that, the usual tools to write your business logic fall short on the testing part. They're good at writing/maintaining simple rules, versioning them, but when a time dimension is crucial, then well, it's not that good anymore.
- C1sc0cat 8y agoTSB's migration from legacy to Java based was a complete omnishambles.
- 3rdAccount 8y agoThere were many HN articles on that...was it last year?