Everything old is new again.
Jun. 1st, 2007 11:36 amThis morning one of my co-workers, who's only ever worked in third-generation languages, was trying to track down a bug in a python-to-C interface. He IM'd me with a short block of code and asked, "Is this the constructor for an array instance in C?"
I laughed. It was, for some definition of "constructor." I found it so amusing that we used to act as if constructors were merely syntactical sugar layered on top of C-type initializers. Now, we look at C-type initializers and call them "primitive constructors." That's progress.
This reminds me of the comment someone made recently that "patterns of programming" are in fact evidence of weakness in a programming language. We should not merely document what we do, but learn how to make "what we do" a part of the language (or the language's standard library) such that it becomes invisible.
I laughed. It was, for some definition of "constructor." I found it so amusing that we used to act as if constructors were merely syntactical sugar layered on top of C-type initializers. Now, we look at C-type initializers and call them "primitive constructors." That's progress.
This reminds me of the comment someone made recently that "patterns of programming" are in fact evidence of weakness in a programming language. We should not merely document what we do, but learn how to make "what we do" a part of the language (or the language's standard library) such that it becomes invisible.