It took me 5 years of programming before I was doing that.

And his closures (indexed via the names in the jump table hash) quickly became multiple instances of self created objects, all with "data hiding".

He had no idea what he'd do with them, he just thought it was cool to be able to generate functions and then call them via their names as found in a hash, which in turn meant he could loop through a driver list, calling only the functions associated with that chunk of data, and never have to write an "if/then/else" statement to do it.

I explained how he could construct an external file that "describes" the data and operations against it (operations he does dozen of times a day), tag the operations as the same as the names of the functions, and then use that for automated QC on every field in every file that shows up, and never code any new tests until a new requirement shows up, and then just add it to his "little language" driver table.

He could think of many applications for it and is probably coding away right now.


And NOW he is ready for the chapter on OO programming.