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/

Reply via email to