Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Techies: What can we do to help? 3D print ventilators? Process terabytes of data in seconds? AI?!

Govt: We need COBOL programmers.

Techies: I am powerless to help.

But seriously some of the brightest techies I know quit their jobs to do a stint of government work which included slinging VBA and ASP Classic to remove SQL injections from VA websites and other similarly unglamorous tasks with huge impact.

If you want to be patriotic. If you want to make a difference. Government work can do that. You're probably not going to train a neural net to solve coronavirus, but you'll probably be able to stop 1000 hacks from ever happening or get help to someone who really truly needs it.



Imagine making even a minor change to the COBOL code. It's not likely to be very well structured or comprehensible. I'm guessing there would be a lot of global variables and strange database / file system interfaces. Very hard to do it without breaking something somewhere.

Edit: per the thread starting with vaidhy's comment.


Just yesterday there was an exciting post about printing off pages of assembly and reverse engineering archaic encryption using a crayon.

If you thought that was exciting I can't imagine hacking on archaic COBOL codebase could be much worse in terms of quality of tooling!

There's also a much better chance you'll have a say in the replacement if you work on and understand the original.


Fun fact: the third-party dump formatting package we had in the 80s could show line by line what assembly code corresponded to each line of COBOL. I actually diagnosed a CAPEX optimizer bug that way once.


I couldn't track it down. Would you be able to relocate and link it?

I'd love to see it, as someone who draws and colors all over printouts for reverse engineering challenges.



Oh! I should have known :)

Thanks!


> If you want to be patriotic. If you want to make a difference.

And continue to incentivize politicians (and their voters) to underpay employees and delay infrastructure spending until a crisis, and then beg for more “patriotism”.


People are asking "Can I bring my comparative advantage to bear?" because obviously the best way I can contribute if I were making half a million dollars is to take $50k of my post tax income and allocate it to boosting the salary offered.


I could help rewrite in some other language.



It was a bad rule back then, it is even worse now and it didn't even stand the test of time at Fog Creek (or Glitch, looks like they have renamed themselves), where they had to do it for FogBugz to finally leave Wasabi behind. I could go on about how Firefox ended up very well and not as the complete disaster that Joel predicted back then, but that's besides the point here, namely: There can be good reasons to rewrite something and "hey, we do not find remotely enough people to work on the current code base" is pretty far up on that list.


Netscape went from the dominant browser to a negligible browser share. They basically handed the browser market to IE on a platter. They only rebounded somewhat because MS abandoned IE development altogether. And the result of the rewrite was not even that good, which can be seen from everybody else building on webkit rather than Mozilla.


I think the unspoken and (imo) wrong assumption here is that if you have a codebase which nobody understands, and the success of your organization relies on iterating rapidly and correctly on that codebase for its continued survival, there is anything you can do that has a high probability of success.

If you are in that situation, and you do not do a rewrite, you are likely to fail.

If you are in that situation, and you do a rewrite, you are likely to fail.

Sometimes there is no winning move.


I don't doubt the existing code was a mess, but I'm pretty sure their time would have been better spent refactoring it into a more modular structure. For example, what actually made people switch to Firefox eventually was tabs and a popup-blocker. There was no need to rewrite the entire network stack from scratch to support this.


So you don’t consider it a “complete disaster” that Netscape went from 80% marketshare to almost nothing overnight?

Not to mention that currently their existence is almost entirely dependent on their competitor - Google.


Do elaborate how its even remotely Rust's fault that FF has lost its marketshare.


The article is about the disastrous complete rewrite of the Netscape browser. More recently Mozilla have rewritten some parts of their browser in Rust, but this time they are doing it incrementally.


What does Rust have to do with anything? Joel’s article I referenced was about Netscape rewriting their browser during the browser wars over a decade ago instead of improving their existing browser to compete with IE.


> Not to mention that currently their existence is almost entirely dependent on their competitor - Google.

You wrote this sentence, it talks about Firefox and implies something went wrong there?


Joel’s article was about Netscape. Firefox was the ultimate result of Netscape trying to rewrite Netscape Navigator.


Nobody's going to eat the government's lunch. There are still people around today who know COBOL, but how many years will that last?


It’s not like COBOL is some indecipherable language that requires a Rosetta Stone to translate. If there is a market for it and someone is willing to pay enough, people will learn it.

But didn’t IBM have a system to convert COBOL to Java that the federal government was using?


Surely we can make an exception for COBOL.


Can you also guarantee that the rewritten code does not change any undocumented behavior? I think that is the real challenge.


You can't guarantee that for updates to the existing code either.


Maybe we'd be better off writing tests then...


a person is more likely 'to train a neural net to solve coronavirus' while working for the government than in the private sector


you make relieveing the government of its social obligations so it can do more wars / interventions / bailouts sound like it has some kind of humanitarian dimension...


Governments are made by people, of people, and for people. If you disagree with how the US government functions the answer is to get more involved, not less.

Slinging COBOL for New Jersey is not going to drop more bombs in Syria, but it might just save some lives by managing government operations more efficiently in a moment when every hour and dollar counts.


i must concede that bailing out local bureaucrats who haven't been doing their jobs in order to help predominantly able-bodied dependents of the state is a slight improvement.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: