

Modern Web Application Development with Perl - rfreytag
http://modernperl.net/developers/web-application-development.html

======
DASD
For those looking at Dancer as a framework, be aware that there is a Dancer 2
"rewrite" project. The purpose of the new project is to "fix" the use of
globals and also to have a consistent core API.

<http://advent.perldancer.org/2011/8>

------
dysoco
May I ask.. Is there anything similar to Rails or Django for Perl ?

~~~
softbuilder
That's Catalyst. Dancer is Sinatra. I don't know anything about Mojolicious.
Is that Node?

~~~
mhd
Mojolicious starts out as Flask/Sinatra, with some added options to grow
beyond that.

It does pride itself as a batteries-included, modular framework. And one that
doesn't pull in loads of dependencies. Which I can appreciate on one hand, on
the other, you do reinvent a lot of stuff that would be on CPAN.

(But, well, looking at the dependency list of Moose alone…)

~~~
autarch
I really don't understand where this oft-repeated FUD about Moose having a lot
of deps comes from. Take a look at the list of deps on
<https://metacpan.org/release/Moose>

I count 18 direct dependencies, 2 of which are core. If you look at the full
expanded deps list at <http://deps.cpantesters.org/?module=Moose> it's not
many more, especially since most of the 2nd (or more) order deps are core
modules like ExtUtils::MakeMaker, Test::More, etc.

For extra added irony, a bunch of the Moose deps are tiny modules we extracted
from Moose or Class::MOP in order to make their functionality availability
_without having to install Moose_. This includes Class::Load(::XS),
Package::Stash(::XS), Devel::GlobalDestruction, Package::DeprecationManager,
Eval::Closure, and Dist::CheckConflicts.

Had we just note bothered to break things up we'd have to deal with a lot less
complaining.

~~~
mhd
18 isn't "lots"? I'm not saying that I've got a problem with this, as
installing CPAN modules and deploying them isn't really a problem at all. I
think in the end it's probably the wrong decision to avoid using features just
because of something easily automated.

I just meant that I can understand the desire. We programmers try to make code
clear and concise (hopefully), so that we can better keep the system in our
heads. Apply this on a larger scale, and you often get reinvented wheels and
proprietary solutions. "Other people's code" is often used as a curse.

Hey, my day job involves Catalyst and Moose heavily, and I wouldn't ever want
to go back to enterprise Java. So if I came of as "fuddy", I'm sorry.

------
laurentoget
this sounds like a very steampunk idea

------
Cieplak
A Python programmer recently told me that Perl is a Write-Only language.

~~~
chromatic
I only know a few phrases in Russian, Mandarin, and Japanese. Are those write
only languages due to their intrinsic properties or my unfamiliarity?

~~~
Cieplak
It is a joke. To quote Guido Van Rossum, "if you look at it from 10km above,
Python and Ruby and Perl are exactly the same language". I find it funny when
people hate on Perl for its syntax, because it's so similar to languages
people rave about. Perl's syntax is very expressive and if one knew it, it
would seem as natural as Python's whitespace to a Pythonista.

~~~
chromatic
Guido's right.

I often forget the trailing colon in conditionals in Python the same way that
I almost always include a trailing comma after the final element of a list in
JavaScript.

I don't have these problems in Haskell.

------
softbuilder
s/modern/playing catch-up/g

~~~
ZeroMinx
Catching up to what? Catalyst was first released early 2005.

~~~
softbuilder
Funny you should mention Catalyst, because the last time I tried to return to
Perl (2007?) I tried Catalyst and the experience was not positive.

The page reads like a "me too" of web development. The term "Modern Perl"
sounds like it will be innovative and different from other options on other
platforms. I would love a compelling reason to use Perl again! But I never see
one. The innovation is happening elsewhere. Calling things "modern" doesn't
make them that.

~~~
chromatic
_I would love a compelling reason to use Perl again! But I never see one._

The combination of Moose, Catalyst, Plack, and DBIx::Class is unbeatable for
me. Throw in Dist::Zilla, perlbrew, and cpanminus and I'm almost unstoppable.
That's my preference, but the difference between this and pre-modern Perl
feels to me like the difference between writing client-side JavaScript by hand
and using jQuery.

In 2007 you had Catalyst and DBIx::Class with much less maturity.

Maybe you want to see more amazing new ideas that have never been done before
(and that's fine), but even if these things are only incremental inventions or
syncretized ideas (and Moose alone is more than that), the combination is very
powerful.

That combination is all the more powerful when it takes advantage of the
entire CPAN ecosystem.

~~~
softbuilder
I need to look at Moose. Although I've got to say that I think I'm the only
person who liked Perl 5's object scheme the way it was.

