Charles Cook has some good things to say about Dylan and programming languages in general. In particular he writes about how some programmers who have only been exposed to languages like C++ and Java would have a blinkered view of programming languages in general.
I was a lot like this. I came from a C background then on to C++. I programmed in C++ for many years then dabbled in Java. Java led me to playing with functional programming language concepts through the use of Pizza. Pizza was a superset of Java with parametric polymorphism, higher order functions and algebraic data types. I also liked the generic programming aspect of C++ templates.
Then I stumbled across Dylan and started using Harlequin Dylan (which is now known as Functional Developer after Harlequin sold it off). Suddenly I discovered the power of dynamic typing with the ability to optionally add type information. Multiple dispatch, first class functions and classes. And an interactive development environment. Wow!
It ruined my desire to code in C++. I discovered the the Dylan model of OO was based on the Common Lisp object system. This led me to Common Lisp. The prefix style took a while to get used to but once I did I discovered it was a productivity win for me.
Common Lisp and Dylan led me to dabble with Smalltalk, specifically Dolphin Smalltalk. Again, an interactive environment, objects all the way down, reflection to the max.
I think languages like Java, C++ and C# have their place but it's a shame that the development world doesn't see more of a place for languages like Smalltalk, Dylan and Common Lisp. With the general shift seeming to be toward more dynamic systems maybe this will change. I certainly see increasing use of Common Lisp and Smalltalk over the last few years and I even know of a few commerical Dylan projects that have taken place.
12:54:48 AM
|