Debating web development toolsets

Kareem Shehata kareem-d+8TeBu5bOew5LPnMra/2Q at public.gmane.org
Mon Jan 7 22:43:09 UTC 2008


> -----Original Message-----
> From: owner-tlug-lxSQFCZeNF4 at public.gmane.org [mailto:owner-tlug-lxSQFCZeNF4 at public.gmane.org] On Behalf Of Ian
> Petersen
> Sent: Monday 07 January 2008 16:09
> To: tlug-lxSQFCZeNF4 at public.gmane.org
> Subject: Re: [TLUG]: Debating web development toolsets
> 
> I've used Ruby on Rails, PHP, Perl, and Java to build web
> applications.  They each have their strengths and weaknesses.
> 
> Ruby on Rails is, generally, a well thought out platform.  It makes
> the right way easier than the wrong way, assuming the you agree with
> the platform designers about what is the "right way".  I started a
> project in Rails and was generally enjoying it, but my take on
> database design conflicts heavily with DHH's (David Heinemeier Hansson
> is the primary author of Rails) and so we had to restart in a
> different language.  (The problem was that a single-column primary key
> wasn't enough to model the data we cared about and I didn't want to do
> referential integrity in the application.)  For applications with a
> simple database schema, Rails is a really good way to go--the code is
> readable, the tools are useful and easy to use, and the community is
> good.  One potential problem is that the ruby interpreter is pretty
> slow, but it's apparently easy to scale Rails applications by running
> more servers.

Definitely sounds like it's worth looking into, and specifically that I need
to figure out if RoR fits the applications I have in mind.  Of course, that
would require figuring out the application itself, which will be at least
half the challenge.  Out of curiosity: if not in Ruby and I'm guessing not
php, python, perl, or Java, what did you end up using?

> I found PHP to be a horrendous language.  It's obviously very popular,
> the interpreter is apparently pretty fast, and the documentation is
> very good, but I'll never voluntarily use the language again.  It's
> been too long to remember the details of why, but I just found the
> whole language had a funny smell to it.

>From the little bits of php I've looked at, it really does seem like a funny
language.  Maybe it's just a reflection of the hacked-together nature of the
web itself, and I should just embrace it.  I haven't made up my mind yet.
It is comforting to know that I could find lots of support, as that will
play an important role.

> I have a bit of a love-hate relationship with Perl.  You have to be
> disciplined and make sure you keep your code readable when you write
> in Perl.  It _is_ the ultimate Swiss army knife, though.  There's a
> module on CPAN for just about every conceivable computing task and the
> Perl interpreter is quite speedy.  I think, with Perl, the big task is
> finding the right tool for the task at hand.  The rest is a Simple
> Matter of Programming (TM).

I think that if I'd learned Perl in my youth, it would either have been the
best or worst move of my career.  On the one hand, I really can do anything
with it and like shell scripts it would be incredibly handy.  On the other
hand, I'd be tempted to write absolutely everything with it, which is really
the opposite of good practice.

> Java is just a beast.  I'm struggling right now with a Java EE
> application fronted by a GWT interface (GWT is the Google Web
> Toolkit--it compiles Java source to Javascript for running in the
> browser).  It's taken me a long time to understand the ins and outs of
> running an application inside an application server like JBoss.  The
> little things like the difference between a session bean, a persistent
> bean, and a message-oriented bean are easy to understand, but
> configuring the container to host your application is a twisty maze of
> documentation, all alike.  I think Java EE probably has a good
> scalability story and there are components to do all sorts of legacy
> integration things, but it's not an easy framework to understand.  In
> my experience, building a web app on Java teaches you how to wrangle
> app servers instead of how to build a web app.

Yup, this confirms everything I've heard about Java for the web.  I have no
interest in an elaborate setup.  For all of the apps I'm looking at, it's
more important that it be portable, maintainable, and flexible (hence my
interest in agile techniques, whatever that means) which seems to be the
opposite of Java.


Thanks for sharing your experience Ian!

-kms


--
The Toronto Linux Users Group.      Meetings: http://gtalug.org/
TLUG requests: Linux topics, No HTML, wrap text below 80 columns
How to UNSUBSCRIBE: http://gtalug.org/wiki/Mailing_lists





More information about the Legacy mailing list