Archive for the ‘Life Quotes’ Category

Lisp’s 50th birthday

October 29, 2008

John McCarthy‘s Lisp programming language —is 50 years old (October 2008). Lisp is the second oldest programming language still in use today, next to Fortran.

John McCarthy

John McCarthy

Lisp50 at OOPSLA 2008 celebrated Lisp’s contributions.

I celebrated by giving a talk to the Australian Java User Group in Adelaide about Clojure, a new dialect of Lisp for the JVM.

There’s a lot of interesting material to be found by Googling, but here are a few relevant links:

A decade ago I developed LittleLisp for the ill-fated Newton PDA.

There’s a nice parody song called The Eternal Flame which is all about Lisp, and here’s some amusing xkcd Lisp cartoons:
Lisp still looms large:
  • in Emacs as e-lisp;
  • it has mature free implementations (e.g. take a look at PLT Scheme);
  • and active commercial implementations (e.g. the LispWorks mailing list is very active).
Lisp refuses to lay down and die. In his 1979 History of Lisp paper John McCarthy said:

One can even conjecture that LISP owes its survival specifically to the fact that its programs are lists, which everyone, including me, has regarded as a disadvantage. 

In ANSI Common Lisp, Paul Graham points out that Lisp has always put its evolution into the hands of its programmers, and that this is why it survives, especially via the macro systems as found in some dialects (e.g. Common Lisp, Clojure), which make the full power of the language available to generate Lisp code at compile time.

Irrespective of how widely used Lisp dialects are today, we should continue to remember its contributions to programming: code as data, higher order functions, application of functions to the elements of a list, an emphasis upon recursive solutions to problems, erasure of abandoned data (garbage collection), the Read-Eval-Print Loop (REPL), to name a few.

As for the future, it’s always uncertain. Here are some notes about the future of Lisp from the OOPSLA Lisp50 session, which suggests that Clojure may be a big part of that. Next year’s International Lisp Conference has the working title “Lisp: The Next 50 Years”. 
 
I’ll end with a quote from Edsger Dijkstra:

—Lisp has jokingly been called “the most intelligent way to misuse a computer”. I think that description is a great compliment because it transmits the full flavor of liberation: it has assisted a number of our most gifted fellow humans in thinking previously impossible thoughts.

Abandoning Infantile Beliefs

September 18, 2008

Paul Davies made this comment during a radio interview, with which I wholeheartedly agree:

…one should abandon infantile beliefs based on Sunday school stories and embrace the scientific path which reveals a universe which is even more wonderful than you can imagine and a source of inspiration.

If the bible is literally true then π is 3 and my odometer is wrong

March 29, 2008

“What is not possible is not to choose.” (Jean-Paul Sartre)

Consider the following:

  • “He made the Sea of cast metal, circular in shape, measuring ten cubits from rim to rim and five cubits high. It took a line of thirty cubits to measure around it.” (1 Kings 7:23). See also 2 Chronicles 4:2.
  • π is the ratio of the circumference (30 cubits) of a circle and its diameter (10 cubits).
  • ∴ π is 3.

Either the bible is literally true, and π is represented as the ratio of the two integers 30 and 10, or π is irrational with a value of around 3.1415926. We recently set up new odometers on our bikes. The manual for the device instructs the user to multiply the diameter of the bike’s wheel by 3.14, yielding the wheel’s circumference. So, for a 700 mm wheel, that’s about 2198 mm for a π of 3.14 and 2199 mm for a π of 3.1415926. But what if π is 3? That circumference becomes 2100 mm.

Now, for say 50 revolutions of the wheel:

  • for a circumference of 2.199 meters we have 109.95 meters (if π is 3.1415926);
  • for a circumference of 2.198 we have a 109.9 meters (if π is 3.14);
  • for a circumference of 2.1, we have 105 meters (if π is 3).

If π is 3, the wheel traverses almost 5 meters less. So is π 3?

Choose

Read more about the π saga than you probably want to in this Gospel of Reason blog entry and follow-up comments.

“It makes sense to revere the sun and stars, for we are their children.” (Carl Sagan)

Consider the following:

  • The world was made by God in 6 days (see Genesis), including all living things.
  • Massive stars exist for millions of years before exploding as supernovae, the only known means by which elements heavier than iron are created.
  • Our bodies contain elements heavier than iron, e.g. iodine.

Either the bible is literally true and the world and us (including heavier-than-iron elements) were really created in 6 days, or the universe really is old.

Choose

“What is not possible is not to choose.” (Jean-Paul Sartre)

The simple joy of a healthy child

August 6, 2007

Last week my little girl (Heather, who is 3 years old) was in hospital for 3 days on intravenous antibiotics and oxygen. My wife (Karen) is a nurse, as I used to be before a career change to software development, and I can tell you that we were both very worried about her. It was Influenza A and a secondary bacterial infection. We have it in our heads in this age of vaccination and antibiotics that people don’t easily die of simple illness. But the young and the old, far too often, still do.

Karen stayed with her throughout the ordeal, while I spent most of that time looking after our son (Nicholas) who had a milder dose of the flu, as did we all. I found leaving them at the hospital to be almost unbearable, perhaps because another goodbye in a hospital, almost 5 years ago, was final: my Mother, who died after failed heart surgery. Two completely different circumstances, but no-one ever said people were logical, not even most of the time, or as Oliver Goldsmith so nicely put it:

Logicians have but ill-defined
As rational the human kind.
Logic they say, belongs to Man,
But let them prove it if they can.

Heather is home with us again, still recovering, but pretty much back to her old self. To have Heather with us again, albeit a little cranky to start with, was a joy that I just cannot describe to you. It was almost as good as having her home for the first time from hospital after her birth, but this time tinged with the sadness and fear of what could-so-easily-have-been.

As if Heather’s ordeal was not enough, she had a visit to the dentist today after Karen noticed some tooth decay; a good thing she noticed this early too! Apparently Heather displayed stoicism beyond her years throughout two fillings, the poor little thing. This despite our (Karen’s mostly) best efforts to give our kids the best chance at dental health.

On the importance of pure research

January 14, 2007

I recently finished reading the book Engines of Logic (2000) by Martin Davis (apparently published as The Universal Computer in some countries) of Davis-Putnam SAT-solver algorithm fame, a book about the origins of computer science from the viewpoint of the mathematicians who founded it, in particular: Leibniz, Boole, Frege, Cantor, Hilbert, Godel and Turing.

Leibniz had the notion that it ought to be possible to be able to write down ideas in a language (he called this a universal characteristic) such that “serious men of good will” could sit together to solve some problem by calculation using an algebra of logic he referred to as the calculus ratiocinator.

Despite attempts at such a language and algebra of logic by Leibniz, it was ultimately the work of his successors that gave rise to the logic that made automated computation possible.

Of Leibniz’s work Davis said that “What Leibniz has left us is his dream, but even this dream can fill us with admiration for the power of human speculative thought and serve as a yardstick for judging later developments.”

In the epilogue, Davis had this to say:

The Dukes of Hanover thought they knew what Leibniz should be doing with his time: working on their family history. Too often today, those who provide scientists with the resources necessary for their lives and work try to steer them in directions deemed most likely to provide quick results. This is not only likely to be futile in the short run, but more importantly, by discouraging investigations with no obvious immediate payoff, it shortchanges the future.

These days, universities and it seems, too many aspects of society are becoming shackled to the oft-times short sighted and petty expectations of business, as if it mattered as an end in itself. We would do well to pay attention to history.

On the subject of history, it occurs to me increasingly that most of what we study is in fact historical in nature. Incremental advances in computer science, software engineering,  astronomy, and Science in general are mere blips on the vast landscape of accumulated knowledge. When I read books such as Engines of Logic and The Art of Electronics, I am overwhelmed by the contributions of countless scientists and engineers over decades, to say nothing of the work of the founders of Science such as Copernicus, Galileo, Kepler, Newton, and Einstein.

Kierkegaard and Stroustrup

December 15, 2006

This Lambda the Ultimate post pointed to an interview with the creator of the C++ programming language Bjarne Stroustrup in which he says he was influenced by the 19th century philosopher Soren Kierkegaard. It immediately reminded me of a Kierkegaard quote to which I find myself drawn over and over:

What I need to make up my mind about is what I must do, not what I must know, except insofar as knowledge must precede every action…The vital thing is to find a truth which is truth for me, to find the idea for which I can live and die. Of what use would it be for me to discover a so-called objective truth…if it had no deeper significance for me and my life? (Soren Kierekgaard)

I am still very much in search of this “idea”. I first saw this quote on Julia Watkin’s University of Tasmania website. During the brief time that I knew her, I enjoyed talking with Julia about philosophy and other subjects. Sadly, Julia is no longer with us. I wonder what she would have had to say about Stroustrup’s interview comments re: Kierkegaard?

I went back to Stroustrup’s book, The Design and Evolution of C++ (Addison-Wesley, 1994) to see what he had originally said about Kierkegaard. Here are the relevant excerpts (page 23):

I have a lot of sympathy for the student Euclid reputedly had evicted for asking, “But what is mathematics for?” Similarly, my interest in computers and programming languages is fundamentally pragmatic.

I feel most at home with the empiricists rather than with the idealists…That is, I tend to prefer Aristotle to Plato, Hume to Descartes, and shake my head sadly over Pascal. I find comprehensive “systems” like those of Plato and Kant fascinating, yet fundamentally unsatisfying in that they appear to me dangerously remote from everyday experiences and the essential peculiarities of individuals.

I find Kierkegaard’s almost fanatical concern for the individual and keen psychological insights much more appealing than the grandiose schemes and concern for humanity in the abstract of Hegel or Marx. Respect for groups that doesn’t include respect for individuals of those groups isn’t respect at all. Many C++ design decisions have their roots in my dislike for forcing people to do things in some particular way. In history, some of the worst disasters have been caused by idealists trying to force people into “doing what is good for them.” Such idealism not only leads to suffering among its innocent victims, but also to delusion and corruption of the idealists applying the force. I also find idealists prone to ignore experience and experiment that inconveniently clashes with dogma or theory. Where ideals clash and sometimes even when pundits seem to agree, I prefer to provide support that gives the programmer a choice.

In Julia Watkin’s book Kierkegaard (Geoffrey Chapman, 1997, pages 107-108), she had this to say:

In his use of the Socratic method, Kierkegaard strove to keep his own view to himself through the use of pseudonyms, acting as an “occasion” for people’s discovery and self-discovery instead of setting himself up as a teaching authority or arguing the rightness of his own ideas. I would urge that it is this feature of Kierkegaard’s writing that makes him especially effective in a time when two main tendencies seem to be especially dominant – a pluralism that accepts the validity of all views but stands by the correctness of no particular view of the universe, and a scientific or religious fundamentalism that is rigidly exclusive of views other than its own. Kierkegaard avoids the pitfalls of both trends, and he also does something else; he makes room for truth, both intellectual and existential, through encouraging people to be open-minded, to be aware of the spiritual dimension of existence, and to venture in life as well as in thought.

Although Stroustrup remarked in the interview referred to above that he is “…not particularly fond of Kierkegaard’s religious philosophy”, there is some resonance between his comments and Julia’s analysis.