Hacker News new | past | comments | ask | show | jobs | submit login

"Modern language" --- I just agreed with you. And apologized.

Moose --- doesn't Moose just make Perl's metaclass programming as simple as Python and Ruby's already is?

Catalyst is an web MVC framework. DBIx::Class is an ORM. Clearly we can get those libraries elsewhere. Is there something really amazing in CPAN that I can't get in a gem in Ruby? I get that a lot of gems are crappy (Ruby's a younger community), so I'm not going to come back at you with some random -0.1alpha svn trunk thing.




The last time a django core dev looked at DBIx::Class in front of me the response was "shit, we need to steal that".

Sadly I didn't get to catch up with them properly at OSCON to find out if they'd manage to steal much of the awesome stuff yet.

SQLAlchemy probably already has similar features though, so maybe they don't need to.

Ruby can't handle MI. Ruby's metaprogramming seems limited. But I'm not informed. I've had several perl ->ruby guys come back to perl going "hey! it's like ruby but with a flexible object system" to me. But I don't know enough about it to have an opinion myself.


I think you'd have a hard time coming up with something that Ruby's metaprogramming can't handle where Perl's answer would be better than "eval". I could be wrong; I'm equally shady in Perl (I haven't written in it since 1996).

Ruby doesn't do multiple inheritance, though you really do get 90% of what reasonable people do with MI with mixins, which work beautifully.


Mixins are a horrifyingly frightening hack. Traits / roles are the right way to do things, and guess what... Perl has them.


"Is there something really amazing in CPAN that I can't get in a gem in Ruby?"

No. (this is coming from an old PERL programmer)


To be honest, the best thing about CPAN isn't any specific module, it's the sheer breadth of them - and the ability to install everything in a uniform way and have it usually work. Plus things like the cpantesters and cpandeps system that make it fairly trivial to tell if something -will- work on all the platforms you're targeting before you commit yourself to it.

Of course, if you describe yourself as "an old PERL programmer" you may have missed a lot of the recent cool stuff on CPAN - the binary is called 'perl', the language 'Perl', and the mistake of calling it 'PERL' kinda went out with the 2001-era CGI.pm crowd (this isn't meant as an ad hominem - I've simply found that anybody who says 'PERL' as anything except a joke is -hugely- likely not to have taken advantage of most of CPAN and have no way of telling if you're an exception to that :)




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: