The Computer Revolution Hasn’t Happened Yet

Alan C. Kay, redraws our perspective in this small introduction to the computer revolution. He points out every important, mayor shift instance, where the printing press was being adopted. The long stretches of time that it took for humans to develop more innovative technologies and ways of thinking. I want to hope that Moore’s law is also taking part in our advancement in computer literacy. I wonder what the comparative ratio between the literacy rate was at the cusp of the printing press. Would this equate to the number of programmers today? First, Kay makes an excellent point that in a way refutes his comparison to the printing press, why are we still thinking of the computer as a new form of printing press?

During the video talk, he points out that there are 2 ways of looking at new technologies, as far of possibilities: to automate the old  or to leverage the new. The printing press-computer analogy is the prefect reference to this process. Do we continue to see the computer as an automated printing press, or what are the  new things a computer brings that should be leveraged?

Kay is interested in designing for the future, creating programs that with time recreate a better version of themselves, metaprogramming.  This is somehow possible with Object Oriented Programming, but I don’t think I understand entirely. OOP is defining objects by classes that contain methods and variables, but these objects have contained methods that are unreachable by other methods in the program. Like Kay’s cell wall analogy, the object is the membrane that encapsulates all the internal methods that are particular to that class, and keeps away all the others, maintaining it’s objective integrity. These are a few examples of programming Object Oriented Programming (Pure: Smalltalk, Ruby/ OO+Procedural Languages: C++, Java, Python/ Mainly Procedural Languages: Perl, Visual Basic, PHP), Prototype-based Programming(JavaScript) , Dynamic Programming (Python, Ruby) and Functional Programming (Processing).


Permanent link to this article:

Leave a Reply