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: Peter Bex
Subject: Re: [Chicken-users] Choosing a programming language for a web project
Date: Sat, 29 Sep 2007 23:14:57 +0200
User-agent: Mutt/1.4.2.3i

On Sat, Sep 29, 2007 at 12:17:14PM -0400, Jean-Philippe Th?berge wrote:
> I have benchmarked all thoses languages and chicken, even interpreted, is
> a clear winner.

Cool!  The ability to compile is a great benefit, too.  Also consider the
ease with which you can integrate parts in C if necessary.  I imagine this
is a lot harder with the other languages.

> I could do it in PHP as I have a lot of experience with it.  But I really
> dont like this language.

Yep, same here.  But it's lightning fast.

> I have a good knowledge of scheme but none with chicken. (I'm used to
> guile and Gauche).

That should not be a major problem.  There's good documentation and a
responsive and helpful community.

> I dont know much about Ruby but browsing the documentation and doing the
> simple script for the benchmark did not give me a good feeling.

We use Ruby on Rails extensively at work, and I'm not happy with it.  We're
currently in the process of trying to solve a major performance issue and
things are looking very grim.  The overhead seems to be pretty evenly spread
around in an inner loop, and after spending two days on it, I haven't been
able to squeeze any noticable speed improvements out of it.  The delay is not
in the database, we've measured that all the queries take about 0.003
seconds.  The request as a whole takes 7 seconds to complete.
Hmm.. I think I now have some ammo to convince my boss not to use Ruby
anymore :)

It's a pretty well known secret in the Ruby community that the performance
of MRI (Matz Ruby Implementation, the current Ruby interpreter) is absolute
shit.  Also, if you're looking into Rails, there are some pretty horrible
problems in the framework and in general in the mindset of the Ruby
community.  Ruby itself also has problems as a language.  At first, it looks
beautiful, but as you dig in deeper, you end up with a truckload of warts
you need to be mindful of in your daily programming.  Many are syntax related,
but there are lots of semantic problems as well (scoping works badly,
protected/private is meaningless because it can be circumvented (and many
libraries do so with abandon), blocks are not "really" first-class, etc etc)

> So the question is: Is programmer recruitement that important and are good
> scheme programmer so rare?

Scheme programmers are pretty rare, but within the set of scheme programmers,
good scheme are _not_ rare.  Put differently, given any programmer, if he is
a scheme programmer, the chances that he is a bad programmer are much less
than they would be if he was, say, a Java programmer.  This is because
mediocre programmers often choose to learn languages solely because they will
be able to get a job better if they know it, while people who learn or like
scheme are more likely to know it because they wanted to learn a different
language because it would make them a better programmer.
This goes for any non-mainstream language.

> I mostly have that "do it yourself" mentality, but I do appreciate good
> libraries also, especialy when I'm short of time.

Chicken has > 300 eggs and counting...

The biggest problem currently with web programming is that there are some
web things missing like a good db abstraction and a web framework in general,
but work is underway.. :)

Peter
-- 
http://sjamaan.ath.cx
--
"The process of preparing programs for a digital computer
 is especially attractive, not only because it can be economically
 and scientifically rewarding, but also because it can be an aesthetic
 experience much like composing poetry or music."
                                                        -- Donald Knuth

Attachment: pgp69fLOR_1_d.pgp
Description: PGP signature


reply via email to

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