Hacker News new | ask | show | jobs
by jamesbritt 5737 days ago

    With 'Modern Perl' you get 'Ruby on Rails' style of programming in Perl
What exactly does that mean? Optional parenthesis on method invocations? Considerable use of convention over configuration? Built-in object mapping to database schemas?
1 comments

Optional parenthesis on method invocations? Yes, but that comes with Perl. (I don't find that even remotely useful. I like to know if a variable is calling a method or a member simply by looking at the code.)

Considerable use of convention over configuration? Not sure what you mean here.

Built-in object mapping to database schemas? Yes.

I'm also referring to the clean MVC/OO style project architecture.

Here's how I described it in another thread:

With modern Perl, code is usually clean and free of crazy syntax. With a OO architecture where the base classes do most of the work (such as auto authentication, auto encoding/decoding, auto DB joins, etc.) and you do business/game logic in the upper modules.

"With modern Perl, code is usually clean and free of crazy syntax. With a OO architecture where the base classes do most of the work (such as auto authentication, auto encoding/decoding, auto DB joins, etc.) and you do business/game logic in the upper modules."

Ah, OK. That just sounds like Ruby, though, nothing special to Rails about that.

Last time I checked, Rails provides a lot of built-in functionality for building web apps.

But perhaps I got Rails confused with Ruby with my brief experience with it. I thought Rails provided the tools to auto-create your project structure in an MVC style.

If you use something like Catalyst of CGI::Application you get built in things like MVC project structure, auto populate a 'class' from a table entry, etc.

Basically, you get all those built-in functionality for building web apps that you would in Rails. But, I very briefly played with Rails, so I may have its definition confused.

I see. So CGI::Application (and Catalyst) is a built-in part of modern Perl. Interesting.