I've actually done the reverse switch. Although I was a Perl developer
for a good while, I previously used Apache::ASP and real ASP on Windows,
with raw DBI and a hand-crafted search engine for most of this time. I
then had to pick up Java and Spring with Hibernate for a while, for a
second project. Since I started on my current task, which involved a
large legacy code base in Perl, taking up Catalyst with DBIx::Class has
been a great experience, as I get all the concepts from Spring and
Hibernate with the development simplicity and CPAN assistance of Perl.
Also, many of my colleagues have basic Perl, mostly pre-OO scripty
style. Some of it is truly awful code!! Even they are beginning to see
the flexibility that Catalyst has started to add into the development.
We're now trying to recruit additional staff, and as Catalyst is a rare
(and pricey) skill, we're also looking at Java folks, ideally with some
knowledge of Spring and Hibernate, as a good base to move into Catalyst.
There are still a few things I miss from Spring - notably the
flexibility of its dependency injection for configuration. Configuration
in Catalyst was actually far the hardest issue for me, and I still find
it a little awkward. We began with YAMLs, and I still regret this from
time to time. But this was an area where the examples were less detailed
than helped the transition for me. Also, we found some highly
inexplicable errors -- largely where Module::Pluggable loads everything
in @INC, even when it is not where you expected. (PERL5LIB had been set
to an old site, and loaded old components with different names.) For me,
configuration is an area where the multiple alternatives really is a
problem for Catalyst. My colleagues (and our clients) struggle with
YAMLs. I'd rather one strongly preferred syntax was clearly set (and
documented with detailed examples), although with an API that allows
code to be used, through which others can be used for legacy apps.
All the best
Stuart
Dave Rolsky wrote:
On Tue, 17 Feb 2009, bill hauck wrote:
I'm trying to put together a project to rewrite a job tracking
database currently running in FileMaker. The functionality and scope
of the job tracking system has changed so instead of throwing more
money in a proprietary, closed system that requires a costly
application on each desktop I'm suggesting writing it as a web
application with Perl & Catalyst. The only problem is that I've been
told we would have to use Java & Struts since it's our "corporate
standard" for web applications. Perl, ironically, is used in quite a
few places in the company, mainly in utility scripts. However, since
we don't have anyone whose job title is "Perl developer" we can't use
it for web applications.
This is hardly unreasonable.
I've worked at a number of smaller shops where we were developing a
Perl-based app. If a developer had decided that they wanted to throw
together some important tool in Java (or Python or Haskell or
Smalltalk or ...), that would have been problem.
The investment in a language is bigger than just the programmers,
even. You have build & deployment tools, automated testing setups (you
do, don't you? ;), sysadmin knowledge, packaging infrastructure, and
so on.
Some of that may be language-agnostic, but often a lot of it ties into
the language and its tools.
Once you've made that investment, it makes sense to stick with it.
Just because Catalyst and Perl are great tools for webapps doesn't
mean that they're the _right_ tool at your job.
-dave
/*============================================================
http://VegGuide.org http://blog.urth.org
Your guide to all that's veg House Absolute(ly Pointless)
============================================================*/
--
Stuart Watt
ARM Product Developer
Information Balance
_______________________________________________
List: [email protected]
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/