[Top][All Lists]

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

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

From: Matthew Welland
Subject: Re: [Chicken-users] Choosing a programming language for a web project
Date: Sat, 29 Sep 2007 18:56:46 -0700
User-agent: KMail/1.9.6

I have a small data point to add to this thread....

I just went though a similar process of evaluating what to do for web 
development. In my case I have a site I put together using Ruby/IOWA where  
I had run into some serious road blocks and was not making any progress. I 
then spent far too much time trying to rewrite the site in Ruby on Rails. 
Sitting there frustrated one day on vacation in Mexico I suddenly decided 
to take a leap of faith and I took a stab at using chicken + cgi to write a 
framework of sorts and started translating my site. That was the best thing 
I could have done. I'm now progressing rapidly in migrating my site away 
from Ruby/IOWA and performance under CGI is competitive with IOWA and much 
better than "out of the box" Rails.

From working with Rails I got used to the MVC and DRY principles and used 
them in putting together my mini-framework. The core of the framework is 
compiled and the pages, models and controllers are interpreted. The one 
annoyance to this for which I do not have a satisfactory solution is that 
with chicken you cannot load files with new class definitions into a 
running compile executable (at least not with tiny-clos). I'm have 
experimented with aproximating objects using vanilla scheme which works ok 
but I have been supprised by how much I miss using inheritance. I may 
resort to compiling the models to .so files which I think would allow me to 
use tiny-clos but then I give up some of the "edit on the fly" nature of 
the scripted portion of the site.

Anyhow, my purpose in writing this is that for me the decision to switch to 
chicken was wonderful. For my simple site chicken has everything I need as 
an egg. The various frameworks are attractive (maybe seductive?) but when 
push comes to shove getting down to the metal really seems to work. At 
least it has worked (so far) for me.

I hope this helps.


On Saturday 29 September 2007 09:17:14 am Jean-Philippe Théberge wrote:
> <quote who="Graham Fawcett">
> > On 9/29/07, Jean-Philippe Théberge <address@hidden> wrote:
> >> I'm in the process of choosing a programming language.  I am
> >> investigating
> >> PHP5, Python, Ruby and, of course, Scheme.
> >
> > Is it a one-developer project? If not, will your colleagues be
> > comfortable with Scheme?
> This is a one-programmer project for the start, more will join later so
> yes, programmer recruitement is an issue that scheme is not really good
> at.
> Most of what is needed is available with chicken (mysql, tinyCLOS, ssax)
> I have benchmarked all thoses languages and chicken, even interpreted, is
> a clear winner.
> Python seem a good alternative but since the project start with me as the
> only programmer and I have no experience with it I am afraid that this
> could lead me to make mistake I will regret later when my knowledge of
> the language will be stronger.
> I could do it in PHP as I have a lot of experience with it.  But I really
> dont like this language.
> I have a good knowledge of scheme but none with chicken. (I'm used to
> guile and Gauche).
> 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.
> So the question is: Is programmer recruitement that important and are
> good scheme programmer so rare?
> Does Chicken have strong concrete advantage over other languages beside
> my "I dont like it" and "I have a bad feeling about it"
> For the record, here's the benchmark result (average of 50 invocations of
> "time -f %U" on a script doing a simple but lenghty SQL query)
> "./php5.php":    0.0378
> "./chicken":     0.017
> "./chicken.scm": 0.0202
> "./gauche.scm":  0.193
> "./":   0.1224
> "./ruby.rb":     0.0252
> "./":     0.1154
> > Are the libraries you require available in Chicken; and if not, are
> > you willing to put in the time to develop them? If you're integrating
> > with existing C libraries, will you be comfortable working with the
> > FFI?
> There is no existing C lib that I need to link to, but It seem that the
> possibility of writing in C for mission critical part of the project (and
> linking to them) can be done more easily with chicken than the other
> languages - but I havent tried it yet.
> > The SSAX tools are excellent; Chicken's database support is pretty
> > good; there are some nice eggs related to Web apps; and of course
> > there are loads of general application-development eggs. Review the
> > eggs list ( if you
> > haven't already; to see what is available, and what you must develop
> > yourself.
> Yes, SSAX is, to me, one of the greatest thing since the wheel.
> > If you have a "do-it-yourself" mentality, I think you will find
> > Chicken / Scheme very rewarding (as I certainly have). If you just
> > want to get your project done quickly, it may not be the right choice,
> > given the number of frameworks and libraries in Python and Ruby (and
> > given the unknown nature of your application).
> I mostly have that "do it yourself" mentality, but I do appreciate good
> libraries also, especialy when I'm short of time.
> > Graham
> Thanks Graham!

--, fight for a better world.

reply via email to

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