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.