Zac muses, semi-frequently and with zest.

The core purpose of a computer is to manipulate data. Regardless of what a person does with a computer, ultimately they are transforming data. With the addition of the Internet, we have even more data to manipulate.

In my recent ponderings, I’ve been reading William Cook’s thoughts on a new “Smalltalk of Modeling” which has lead my own thoughts on new languages. Object Orientation has run its course in terms of how far we can take it. Modeling objects interaction scales only about as well as a human’s ability to converse with more than five people at a time. We can learn from our own interactions with others about what the limits are of OO. If a human cannot interact with more than several people at a time, it stands to reason that a developer would have difficulty in reasoning about a system with exceedingly complex object-oriented relationships. We interact with thousands of people through out our lives, being able to recall the details of those interactions is nearly impossible except with the most exceptional interactions. Similarly, “well written” OO programs employ a large number of objects but this also means that once a program reaches a certain critical mass, the interaction of the subsystems becomes unwieldy and difficult to track.

Cook mentions focusing on the forest rather than the trees. My own interpretation of this is that we are approaching a point of needing a new model which can cope with the complexity and enormity of the data sets available to us. Building models of the data and manipulating the models will become the paradigm of programming with the enormous data sets. At least this is the argument Cook makes.

I for one am open to other paradigms. Functional programming offers its own benefits but I am unconvinced that it will gain widespread popularity. Haskell, for example, has a certain elegance but anecdotal evidence has shown that programs written in Haskell never look nearly as clear or elegant as the examples. Perhaps it is my inexperience or the overwhelming amount of developing I have done in C, C++, C#, Java and Python but I just cannot get behind the cleverness of Haskell.

Perhaps Cook is on to something with this “Smalltalk of Modeling”. I will be watching.

§16 · May 2, 2011 · programming · · [Print]

Leave a Reply

You must be logged in to post a comment.