chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] Choosing a programming language for a web project


From: Houman Zolfaghari
Subject: Re: [Chicken-users] Choosing a programming language for a web project
Date: Sat, 29 Sep 2007 21:25:25 -0400


On 29-Sep-07, at 7:58 PM, Graham Fawcett wrote:

On 9/29/07, Jean-Philippe Théberge <address@hidden> wrote:
<quote who="Terrence Brannon">
If so, what location?
Montreal, Canada.

Well, that changes everything. From what I hear, if you throw a stick
along rue Sherbrooke, you'll hit at least two Schemers (and one
anglo). ;-)

Indeed there are a few companies using scheme here in Montreal. But it's always a challenge to propose it for a serious project in a company. The problem is usually not the boss but the coworkers.

I've been using Chicken for 2 years for one of our NLP projects along with our C++ tools. It's used for some heavy computational work, binding some very big C++ libraries, running on lots 64b cpus on a grid, using 8G+ RAM, on very long calculations involving multi- gigabyte data, and all of this without the slightest problem. I must say in very impressed. (I'm still using v2.35 though)

For me, the areas where I want to use scheme is where I have to do serious work on trees: NLP, compiling,etc. Web processing is also mostly about tree transformation. Macros, closures, tail recursion, quasiquotation, and the "match" library are powerfull tools that can be used for intelligent and elegant tree processing.

Performance is quite acceptable. The numeric part are better done in C/C++, but then Chicken FFI is excellent, and that was one of the reasons why we first chose Chicken (the libraries where another one).

One serious limitation of Chicken is that is can't be used within OS- level multithreading. One could argue that in most cases multiple processes are a better choice. But in my case, it prevented me from more using it more widley by embedding it in our main C++ environment which is multithreaded. And that's sad, because Chicken so easy to embed.

One crucial aspect of the decision to chose a non-mainstream technology is the support and the dynamism of the community. And for Chicken, it's nothing short of amazing!

Houman



reply via email to

[Prev in Thread] Current Thread [Next in Thread]