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

> Attempting to simplify and democratize programming will attract only scorn and derision (as did COBOL and Visual Basic).

The reason COBOL and Visual Basic attracted scorn and derision is that they were awful. The problem with them is quite simple: You can use them to create something improperly in 1000 hours that you could create properly using other tools in 2000 hours. That thing will then work until you have enough concurrent users to expose the race conditions, or the Access database backing it reaches the 2GB limit, or the wind blows too hard and the hamsters powering it become frightened. At which point you'll spend 10,000 hours of overtime trying to keep it from collapsing in production while the users all burn you in effigy.

And the likes of Javascript don't suck because they aren't like COBOL and Visual Basic, they suck because they are.



The things I've seen built on COBOL, and Visual Basic are awe inspiring. The world is built on them - and for a reason: if you don't need a coder there's a whole new definition of "fail fast" that comes into play.

And maybe eventually some tiny percent of these these little things, succeeds beyond your wildest dreams, and is now critical your business, and you have to drop 10k hours slowly rebuilding it using professionals. That's what success looks like. It's also what not paying for 100 failed software projects looks like.


My guess is that you have not written a line of COBOL code. I have seen great systems written in COBOL. My guess is why COBOL never caught on in the PC world is that COBOL is very much suited for batch programming. There were a few tries with a visual form of COBOL, but the tool set was very expensive and the alternatives were cheaper and more suited to events (for instance Turbo Pascal, Turbo C, the Microsoft products).


> I have seen great systems written in COBOL.

That's not really the point. The problem is not that you can't do something great. Every Turing-complete language has the capacity to do that. You can write a great program in Brainfuck.

The problem is that they encourage you to do something terrible. I have seen COBOL programs that I did not wish to see. Good languages make it easier to do the right thing. They provide strong type checking even for user-defined types and well-tested abstractions (like templates/generics) so that you don't have twelve copies of the same function one for each expected input, each slowly diverging and multiplying under maintenance and developing their own subtly different bugs.




Consider applying for YC's Winter 2027 batch! Applications are open till November 2.

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

Search: