top | item 45920087

(no title)

bhawks | 3 months ago

Yes no dynamic memory allocation, however there still are many ways to ABEND your COBOL program. The reliability aspect comes from the fact that these systems have been running for 40+ years, and places where it could have ABEND'd probably have been fixed [hopefully].

discuss

order

drob518|3 months ago

Okay, sure, but neither of those things are specific to COBOL. You can write C programs that allocate all memory statically and chase down every core dump over time and have a very reliable C program. Or better yet use Lisp or even Java with GC, if you find C too unsafe.

skissane|3 months ago

Programming languages are a bit like natural languages-they aren’t purely systems of formal rules, they are also usage patterns-there are lots of sentences which are formally correct English, but which few English speakers would ever construct-valid syntax and semantics, but stylistically and pragmatically abnormal. In the same way, a programming language is more than just the set of strings accepted by its compiler, it is a culture-language A may produce (in practice) more reliable code than B, not because of its feature set, but due to the cultural baggage that comes with it-but in a broader sense of “language”, that culture is part of the language too.

rdc12|3 months ago

With C in the embedded world it is very common to write entire applications that never only use static memory and the stack. Sometime programmers will allow dynamic memory during init only, other times not even then (I tend to favour the never approach, as I can verify that malloc is never called anywhere).