Communications of the ACM turns 50

February 16, 2008

I opened up the 50th Anniversary issue (Jan 2008) this morning and was astounded. In honour of the occasion, they have dug through the past to provide historical tidbits and made an effort to look ahead and predict the future.

Throughout my college education, the one field of Computer Science that captured my imagination the most was algorithms. The three people’s work which influenced me most, in some order, were Fourier, Turing and Dijkstra. So, you can imagine my excitement when the first ‘article’ in the magazine was a reprinting of a letter Dijkstra sent to the editor of the magazine in March 1968, criticizing the use of go-to statements in programming languages. Written in very simple, easy-to-read English (I always remembered him for the simplicity with which he presented his work), one particular quote stands out for me, emphasizing the mathematician in him:

“Let us now consider repetition clauses (like, while B repeat A or repeat A until B). Logically speaking, such clauses are now superfluous, because we can express repetition with the aid of recursive procedures.”

Functional programming, anyone?

Other things I found interesting:

  • Even the little things we barely think about while working today have a history: “Niklaus Wirth won the ACM A.M. Turing Award in 1984. In his address published in the February 1985 issue…He identified the need to separate requirements and capabilities into the essential and the ‘nice to have.’”
  • The first meeting of the ACM was way back in 1947, when they named it Eastern Association for Computing Machinery, and the Eastern was dropped later. But of particular significance to me is that the original 78 members actually met at my Alma Mater, Columbia University.
  • A nice quote by Jon Bentley: “The intellectual pleasures and financial rewards of solving one programming problem, it turns out, are just the prelude to solving many more.” And talking about his “Programming Pearls” column from the 1980’s, “For the most part, they were fun stories of how clever colleagues had phrased and solved programming problems, not infrequently discovering that ‘we have met the enemy, and he is us.’” Touche.
  • Jeannette M. Wing, in the piece, Five deep questions in computing, poses what she considers the most important questions for us to answer:
    • P = NP?
    • What is computable?
    • What is intelligence?
    • What is information?
    • (How) can we build complex systems simply?
  • Rodney Brooks, addressing the next 50 years, “Expect new ways to understand computation, computational abstractions for our computing machinery, and connections between people and their information sources, as well as each other.”
  • Jon Crowcroft proposes a new Internet architecture that says goodbye to the current packet-switching model in favour of a paradigm borrowed from physics that uses “the notion of wave-particle duality to view a network with swarms of coded content as the dual of packets…The data is in some sense a shifting interference pattern that emerges from the mixing and merging of all sources.” Hmm…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: