My personal quest for the
Perfect Programming Language
(a short presentation)


Slides Presentation: My Perfect Language Quest (22 light slides, PDF) lang.pdf
Code Demo - working code (small text file, in R) demo.R
 To run the code, save as 'demo.R' and type:

source('demo.R')

 from within R, in the same directory where you saved it.
 It is assumed you have R installed.  you may get R from http://r-project.org/

Overview:

This is a short presentation I made about my personal quest for a perfect programming language.

Obviously this is a personal view. Different people tend to prefer different languages. Religious arguments abound about whether dynamic typing is superior to static typing, whether pure-functional languages are more elegant than object oriented ones, and so on.

My personal preference is towards expressiveness, programmer's productivity, and minimum 'fluff' (aka boilerplate). This preference still has to be balanced: APL is too terse and cryptic for my taste, LISP variants are beautiful and very regular, but I'd trade some parentheses and word verbiage any day for a richer syntax and larger operator space.

The presentation is deliberately short. I could write a much longer and detailed one. The point is not to teach all the virtues of the presented languages. It is only to focus of the aspect I feel matters the most, and to keep the message short.

Before I get flamed: I know that I could make some examples better, shorter, more general. I know that Java today is not the same Java of 10 years ago. I know python has [list comprehension] these days. The intention is not to berate certain languages but to demonstrate boilerplate vs expressiveness contrasts, and show why they are important.

Last but not least, R has its (serious!) warts too. There are many constructs that are painful and too complex to do in R compared to perl (regexps, auto-conversions between types), or the shell. Error mesages are often baffling. Google "The R inferno" and read it.

The quest for the perfect programming language continues.

Rosetta code is an excellent language comparison resource.


Feel free to email comments to: