1-Feb-2004 Cologne Meeting

After having had a really big meeting because of our Dutch friends - from the BeNeLux group - in December, this meeting again consisted mainly of the regular visitors. Nevertheless, we had the usual chatting about things going on in the Lisp world, why Magic is an object-oriented card game, how valuable some Magic cards are, whether trading Magic cards shows a real difference to the stock market, and other topics closely related to programming in Lisp.


Peter's Lecture: "Python for Lispers"

Peter has presented a talk about Python, and dubbed it "Python for Lispers". It was an interesting high-level view that didn't include the usual "mind-blowing" elements for users of static languages. We all know what a REPL is good for, why dynamic typing is The Right Thing (tm), and so on.

Instead, Peter jumped into the real interesting parts right away. Here are some highlights:

The performance characteristics of Python seem to take a little getting used to. Simple instruction like integer addition seem to be extremely slow, while operations applied to all elements of a collections or an array are very fast. This is because Python is in fact implemented as a bytecode-based interpreter and usually resorts to C code for the real work. This adds considerable overhead to "small" instructions while reducing it to a small fraction in operations that mainly stay in the C portion most of the time.

The main differences to Lisp are that Python does not provide macros, is constantly being enhanced, has a very portable implementation and a large set of standard libraries. (At this point, some members of the audience voiced their concerns that these are not necessarily advantages - however, these issues have been beaten to death elsewhere, so I will just leave them as they are.)

The main conclusions were that Python is very close to Lisp in some respects, and that it is more efficient for small projects in the sense that it is easier to quickly get a working program while Lisp seems to need more upfront work before one gets usable results. And, of course, it is also used in large projects. Whether this is an advantage or just another hint that all big programs have started as small ones, and so one should actually always use languages that are more suitable for large projects, is left as an exercise to the reader. ;) Slides here


Pizza markets

Later on, we left off for Borsalino, eating Pizza and imagining how much better the world would be if everybody used Lisp, and if everybody indeed did The Right Thing (tm). However, there seems to be a disagreement what The Right Thing (tm) is even in the world of Lisp. ;)

Mario had something very interesting to say though. According to some source that I don't recall anymore, it is natural in new markets that in the first few decades, it doesn't really matter much whether one uses the best tools or only some average ones. The boosts in increase are big anyway because of the novelty of some new technology. (I think he referred to the automobile industry.) However, later on in the game, even very small improvements will become very important as soon as a market gets in its saturated phase. Then even minor competitive advantages can have a considerable impact. It's clear that in the case of computer science, we are in fact still in an infancy stage. The discipline has a history of a mere 50 years, and the wide commercialization has only begun about 20 years ago. With a little bit more patience, we are looking forward to a really bright future for Lispniks. ;)


Cologne

This page is linked from:

Cologne

Other pages sharing this page's categories:

14-Mar-2004 Cologne Meeting - BeNeLuxer View