3 ms·
Fred Brooks led IBM 360 software development. From his oral history at the Computer History Museum [1] (on p.33 of 49): That’s the worst mistake we made was J
by jonjacky 6y ago
Fred Brooks led IBM 360 software development. From his oral history at the Computer History Museum [1] (on p.33 of 49):
That’s the worst mistake we made was JCL.
Yeah. Well the existence of JCL was a mistake. Building it on a card format was a mistake. Building it on assembly language was a mistake. Thinking of it as only six little control cards instead of a language was a mistake so it had no proper sub-routine facilities, no proper branching facilities.
It kind of grew. It kind of grew but when you end up with your data definitions doing all the verbiage things because you’ve limited yourself to six verbs that’s a language mistake.
We didn’t see it as a language was the fundamental problem. We saw it as a set of control cards.
And lo and behold they’re still around, the dusty decks that nobody dare touch because they run and nobody knows what’s inside
Incredibly complicated, the keyword parameters and the set goes on and on and on and on ...
[1] https://archive.computerhistory.org/resources/access/text/2012/11/102658255-05-01-acc.pdf https://archive.computerhistory.org/resources/access/text/20...
- addicted 6y agoThis does not sound like they are saying the language itself is bad for the users. It sounds more like they are saying it’s a nightmare for the creators of the language to maintain.
- monocasa 6y agoIt sounds to me like they think it's a terrible language for the users because they never put the normal engineering rigor that they would normally for a full new language. It grew 'organically' to it's own (and it's users') detriment.
- rbanffy 6y ago> And lo and behold they’re still around, the dusty decks that nobody dare touch because they run and nobody knows what’s inside Any language that allows its users to do that to themselves is a very bad language. Good languages encourage good practices.
- rbanffy 6y agoI have to say it's the kind of impression I get from Terraform. I get the feeling it evolved from a JSON-like syntax to something that has conditionals, then variables, then some form of iteration, then some form of functions, but they are more like macros because the language is declarative... At every stage it seems it was impossible to step back and think it through.