This project is based on the premise that just as natural languages anchor
human thought, programming languages anchor our understanding of the
world of computing. So if you want to understand the potential
and the limitations of the smart systems of the future, you must
first come to terms with the basic vocabulary of such systems.
Although there are may levels of abstraction in this vocabulary, at
its base it is rooted in the nouns, the verbs, and the other
qualifiers of the programming languages.
So back around 1997 I set out to create a trilogy on programming with objects. I have already finished two volumes that are shown below. To present a multi-dimensional perspective on object-oriented programming and scripting, I have presented the languages in a comparative style. I firmly believe that, for those readers who are of a serious bent of mind, the comparative presentation of similar yet different programming languages is far more conducive to developing deep insights into the programming syntax than the more traditional one-language-at-a-time style of learning. Additionally, we now live in a world of multi-language computing. Even the simplest of applications may require programming to be carried out in two or more languages. So we might as well get used to learning multiple languages simultaneously. The third book of the trilogy, to be finished sometime in 2010, will be very different from the first two. My plan is to explain the design patterns with the help of the short-story medium. The book will obviously include code examples to illustrate the patterns, but the patterns will be employed to execute well-known snippets from the famous short stories of the world. While I am still working on the third volume, please enjoy the first two volumes listed below. If you have any questions about the trilogy, please send them to me at kak@purdue.edu with "objects trilogy project" in the subject line to get past my otherwise tight spam filter. Avi Kak |