On Friday, 26 September 2014 at 18:46:19 UTC, Walter Bright wrote:
I wrote a C++ compiler in 1987. Nobody had ever heard of exceptions.

Lisp had exceptions in the 60s. In the 80s exception handling was fashionable in language design. :)

Bjarne's 1986 "The C++ Programming Language" does not mention RAII or exceptions, but does say on pg. 158:

"Calling constructors and destructors for static objects serves an extremely important function in C++. It is the way to ensure proper initialization and cleanup of data structures in libraries."

I would not call this RAII, but Simula67 did have the block prefixing idiom which I presume Stroustrup knew about.

http://www.olejohandahl.info/papers/Birth-of-S.pdf

RAII is a natural extension of block prefixing IMO. BETA, the follow up language to Simula, was developed in the 70s/80s and support RAII-style prefixing through the "inner"-statement. You can probably find many RAII-like idioms in various languages if you dig back in time, though.

Reply via email to