On Monday 02 January 2006 01:27 pm, cartercc / gmail.com wrote:
> January, 2006.
[clip]
>
> I have been tasked by me IT department with investigating different
> technologies for what will be a total rewrite and major update of our
> applications. The problem with Perl is that it seems dowdy and old
> fashioned, and that we never really investigate alternatives. We just
> fell into Perl because that's what people knew. Also, we have had some
> staff changes, and updating Perl code, some of which is years old,  has
> proved to be a real nightmare. Perl works great! ... but trying to read
> and modify someone else's code, or even your own, is pretty darn tough.
>
> A real important part of this is database connectivity. We use a number
> of different databases, Access, SQL Server, Datatel (the big University
> DB), PostgreSQL (my favorite), MySQL, and a couple of others.
[clip]
> We want something that we can use across the board, from web apps to
> sys admin (which is why ColdFusion is not a candidate). I'm not
> interested in advocacy, but if anyone has experience in and compare
> these technologies, we would be grateful for your experiences.

Perl, Python and Ruby can all be used across the board, assuming no huge 
performance needs. Like another poster's reply, I don't think it's necessary 
to use only one language, but that's your decision.

I've used Perl 5 since 1997. It's wonderful. But not as good as Ruby, IMHO.

Perl has that "many ways to do something" philosophy, which, in my opinion, is 
the kiss of death to maintainability in the face of transitioning staff.

Ruby has in my opinion a much less surprising syntax and behavior. Ruby has a 
MUCH better OOP implementation, with true encapsulation complete with the 
private, protected and public keywords. Ruby's attr_accessor, attr_reader and 
attr_writer give you what *looks like* direct access to instance variables, 
but really through get and set methods of the same name, so incapsulation is 
intact.

C++ has a very complete OOP implementation, but it's often complex and can 
throw surprises at the programmer.

Java is Java -- very broad and lots to learn.

Ruby, like Python and Java, has a much shorter debugging phase than Perl or 
Java.

I haven't tried Perl6 yet, but I've read about it, and it sounds broad and 
complex, and I'm not sure what it would do that Ruby can't.

The one area where Perl wins over Ruby is performance -- others can give you 
ideas as to the extent of the performance gap.

HTH

SteveT
 
Steve Litt
http://www.troubleshooters.com
slitt / troubleshooters.com