Wednesday, 23 May 2007

Reactivating Scheme

I've been a fan of dynamic typed languages since a long time. Even if my professional development has been in Pascal and during the last eight years in Java and now additionally in a .NET environment I can look back on a positive history using dynamic languages. This history started in the mid 90s with ReXX on OS/2 and TSO. I've used it for scripting and GUI applications with Watcoms VX-ReXX. This tool together with the clear OS/2 API have been a very powerful combination. I've even wrote a book about it, but with the dying of OS/2 the publisher canceled our deal. *sigh* The next step has been the usage of Perl for the automation of administrative tasks in a high-available Solaris environment and the development of a trouble ticket system with a web frontend and PostgreSQL as database. OK, Perl is a bit strange, but it is also no problem to write well structured software with it.

After Perl Python has been my long time companion. I've choosed it due to the object-orientation and the clear syntax. It may be confusing, that indentation is used for the structure, but it works. *smile* I've used it for my dynamic content processor, for automation tasks and for the prototype of an aspect-oriented web application framework. It has been really simple to build this framework fast and to evaluate if it behaves as required. It took a by far larger effort to rebuild this framework in Java. Beside some simple and powerful Python constructs - e.g. the native usage of lists and maps - and the fact that their is no need for type handling the missing of long lasting compile, link, and deploy cycles has been a very important reason.

Since a long time during my study of computer science and my deeper interest in object-oriented development I've been watching Smalltalk. But in the 90s all implementations have had very high hardware requirements and also a very high price. Today it's different. With Squeak or VisualWorks Non-Commercial - and also others - it's no problem to learn and develop in Smalltalk. You can read about my current results here, the Tideland Application Stack with an object-oriented database, an application server and a web framework. I really love it and it is fun to work with such a high-capable language in an also high-capable environment.

During my study of computer science I've also had the chance to get a first impression of Scheme. This nice programming language impressed me from the beginning. It has a very clear syntax, maybe a bit unfamiliar in the beginning, but always comprehensible. But this first contact has been almost 15 years ago. I've often asked myself how far Scheme has been developed today. This time I've started to google for implementations and documentation and found the community alive and well. And to test if my memories are right I've downloaded PLT Scheme and started to code. OK, my first steps haven been slow and maybe not very nifty, but again it's just fun. More fun than I've had with Ruby, I don't know why. *smile*

One smaller app, the good old Tideland Dynamic Content Processor, which is developed in Python and is now frozen since Febuary 2006, needs a reimplementation to add some needed features. It seems that I'll reimplement it in Scheme.

Saturday, 12 May 2007

In memorian my niece Anna

Shadows from a lingering sun
blur into dusk...
falling cherry petals

In memoriam my niece Anna

Tuesday, 1 May 2007

New Tideland application

It has been a bit silent here the last days. But I'm still busy. Based on some ideas I'm carrying since a longer time and the need for a demo application for the Tideland Application Stack I've started a new project. It is called Tideland Train of Thoughts and is intended to allow distributed teams to share their ideas. This sounds a bit like a wiki, but linking and tagging work different and allow many powerful views for the users.

Regardless if you want to organize projects with vision, scenarios, requirements, tasks, and problems, or a knowledge base with many cross links, attachments, and categories - the Tideland Train of Thoughts helps you and your team.