Can Ruby stay ahead?

There is a reason Prawn has a cute name. It's not ready yet. As the
current maintainer of PDF::Writer (more like janitor), I did not want
to create confusion by putting Prawn into the PDF namespace until I
felt it was production ready. When Prawn reaches 1.0, it will at the
very least be aliased to PDF::Document.

So without arguing your main point, Prawn is an example in which this
was intentional, not coincidental.

-greg

···

On Mon, Apr 13, 2009 at 10:40 AM, Mark Thomas <mark@thomaszone.com> wrote:

There's no doubt that CPAN is a great resource. These are a few of its
highlights:

2. A module namespace convention that helps one know what the module
does, rather than 'cute' names (Test::MockClass vs. Mocha,
PDF::ReportWriter vs. prawn, etc)

> But since you're probably going to get this answer from pretty much
> everyone here, what does CPAN have that Rubygems lacks?

There's no doubt that CPAN is a great resource. These are a few of its
highlights:
1. A single, cohesive website that categorizes all modules (http://
search.cpan.org/) for easy browsing.

True, this would be nice. The gems system should allow this -- after all,
there's a single, cohesive website for all local gems (gem server).

2. A module namespace convention that helps one know what the module
does, rather than 'cute' names (Test::MockClass vs. Mocha,
PDF::ReportWriter vs. prawn, etc)

I'm ambivalent about this. I like CPAN namespaces, but I also like the fact
that competing implementations are distinctively named -- for instance,
Hpricot vs Nokogiri. Once a library is known, of course, the namespaces are
usually coherent -- for instance, Nokogiri-related stuff is in the Nokogiri
namespace.

3. A search engine that returns not only description, but also last
update, and reviews. (e.g. Search for "xml\" - metacpan.org)

Not that it's a replacement (as it isn't integrated into Gems), but Github
does expose last update, and makes it quick to find forks, etc.

But yes, this would be useful.

4. Page for each distribution with links to the classes and files,
dependencies, test results, etc. (Example:
http://search.cpan.org/dist/XML-Twig-3.32/\) Much better interface than
Rubyforge.

This seems to be provided by the rdoc, somewhat -- again, in gem server -- but
again, that's not as useful when looking at new modules.

5. Automated tests run by a cadre of volunteers. New releases of
modules are tested upon release on a variety of Perl versions and
operating systems. See the test reports and Perl/Platform Version
Matrix links on the distribution page.

Ideally, these would be run on release candidates, too, right?

6. Ratings. When there are many options for a particular task, seeing
the star ratings can help you whittle down the options to the best.
The overall highest rated modules tend to be the best-practice ones
you should be using.

This would be helpful. It's easy to see how it might be abused, but the
paradox of choice can be irritating.

7. The 'cpan' command comes with Perl. :slight_smile:

The 'gem' command comes with Ruby 1.9.

9. CPAN has a very rich set of mirrors (http://mirrors.cpan.org/\) and
you can configure your local cpan command to use a subset, say a
primary and a backup (good for environments requiring firewall rules
to be in place for external access).

I'm not sure Gems is to the point where this is necessary, in terms of sheer
popularity.

It seems that this could be simplified as:

1. search.cpan.org
2. better docs, on average
3. community (volunteer) services

1 and 3 should be easy to solve. 2 will take time.

Overall, neither is enough to make me ditch Ruby for Perl, and I doubt I'd end
up using a Perl library over an equivalent Ruby one. But that is compelling.
Thanks.

···

On Monday 13 April 2009 09:40:03 Mark Thomas wrote:

On Apr 12, 3:07 pm, David Masover <ni...@slaphack.com> wrote:

and a sidebar with related modules!

···

On Apr 13, 10:43 am, Martin DeMello <martindeme...@gmail.com> wrote:

On Mon, Apr 13, 2009 at 8:10 PM, Mark Thomas <m...@thomaszone.com> wrote:

> There's no doubt that CPAN is a great resource. These are a few of its
> highlights:

add one more: a really good front page for each project, with
description, quick usage notes and examples.

Number 8 already exists: gem install whatever -t

···

On Tue, Apr 14, 2009 at 12:54:36AM +0900, Tom Copeland wrote:

On Apr 13, 2009, at 10:40 AM, Mark Thomas wrote:

There's no doubt that CPAN is a great resource. These are a few of its
highlights:
1. A single, cohesive website that categorizes all modules (http://
search.cpan.org/) for easy browsing.
2. A module namespace convention that helps one know what the module
does, rather than 'cute' names (Test::MockClass vs. Mocha,
PDF::ReportWriter vs. prawn, etc)
3. A search engine that returns not only description, but also last
update, and reviews. (e.g. http://search.cpan.org/search?query=xml\)
4. Page for each distribution with links to the classes and files,
dependencies, test results, etc. (Example: http://search.cpan.org/dist/XML-Twig-3.32/\)
Much better interface than Rubyforge.
5. Automated tests run by a cadre of volunteers. New releases of
modules are tested upon release on a variety of Perl versions and
operating systems. See the test reports and Perl/Platform Version
Matrix links on the distribution page.
6. Ratings. When there are many options for a particular task, seeing
the star ratings can help you whittle down the options to the best.
The overall highest rated modules tend to be the best-practice ones
you should be using.
7. The 'cpan' command comes with Perl. :slight_smile:
8. The 'cpan' command has a test harness and runs the tests before
installation. If a module doesn't pass its tests on your platform, it
is not installed.
9. CPAN has a very rich set of mirrors (http://mirrors.cpan.org/\) and
you can configure your local cpan command to use a subset, say a
primary and a backup (good for environments requiring firewall rules
to be in place for external access).

That's a good list of features, thanks for putting it together. Let's
see:

1. Tricky one since there's more than one big source of gems. Well,
there are two main ones - github and gems.rubyforge.org - plus a host of
others. We could build such a site for RubyForge... would be
interesting.

2. RubyForge has a "trove" that lets folks categorize their projects...
we could work this into a new site somehow.

3. This would be nice indeed.

4. Same as # 3 :-). A lot of this information is there in the gem spec
or inside the gem itself; would need to extract and render it.

5. Not sure if there's an effort like this going on anywhere in the
Ruby world.

6. Could work this into RubyForge somehow if folks found it useful.

7. I think RubyGems is shipping with newer versions of Ruby (?)

8. This is something for Eric/Luis/other RubyGem guys to weigh in on...
surely this has come up before...

--
Aaron Patterson
http://tenderlovemaking.com/

When I was growing up, my parents told me that if I didn't like my
dinner I would have to cook the next meal.

It sounds like you have a great recipe. :slight_smile:

···

On Tue, Apr 14, 2009 at 01:05:18AM +0900, Marcelo wrote:

On Sun, Apr 12, 2009 at 18:22, M. Edward (Ed) Borasky <zznmeb@gmail.com> wrote:

> *Quantity* ... CPAN far outnumbers Python, Ruby and other languages in
> the number of packages. To paraphrase Garrison Keillor, "If it isn't
> in CPAN, chances are you can build your application without it."

Quality, actually. Quantity is just the cherry on top.

Start here: http://search.cpan.org/

What do you see?

From there, you can go here:

Search for "html parser" - metacpan.org

(I'm picking a not-so-random example, one that's good enough for
illustration purposes)

You see HTML::TreeBuilder there and check it out:

HTML::TreeBuilder - Parser that builds a HTML syntax tree - metacpan.org

What do you see there?

I see a decent introduction, I see examples, I see a documented API,
written from the point of view of someone who wishes to use it yet
doesn't know enough about it, not from the point of view of someone
who already knows about it and wants to be reminded of a particular
detail, I see cross-references, I see links to other relevant
information, among which is this:

HTML-Tree-3.23 - Parser that builds a HTML syntax tree - metacpan.org

What do you see there?

I see history, I see reviews, I see a discussion forum, I see
information that's neatly organized...

I see *usability*.

And this is just scratching the surface of the website representation
of CPAN. CPAN is not only that website. As the name implies, CPAN is
a network of resources.

But David did hint at something else that I see as a problem: a
strange type of hostility towards criticism that not even the Perl
community displays. Oh, and that strange notion that rubygems somehow
works in the same problem domain as CPAN does. If something, rubygems
provides a small subset of the functionality that CPAN does. The main
difference I see is integration.

--
Aaron Patterson
http://tenderlovemaking.com/

But note that there is RAA already! It seems to be mentioned fewer times recently, which makes me wonder whether people still use it.

Kind regards

  robert

···

On 13.04.2009 17:54, Tom Copeland wrote:

On Apr 13, 2009, at 10:40 AM, Mark Thomas wrote:

There's no doubt that CPAN is a great resource. These are a few of its
highlights:
1. A single, cohesive website that categorizes all modules (http://
search.cpan.org/) for easy browsing.
2. A module namespace convention that helps one know what the module
does, rather than 'cute' names (Test::MockClass vs. Mocha,
PDF::ReportWriter vs. prawn, etc)
3. A search engine that returns not only description, but also last
update, and reviews. (e.g. Search for "xml\" - metacpan.org)
4. Page for each distribution with links to the classes and files,
dependencies, test results, etc. (Example: http://search.cpan.org/dist/XML-Twig-3.32/\)
Much better interface than Rubyforge.
5. Automated tests run by a cadre of volunteers. New releases of
modules are tested upon release on a variety of Perl versions and
operating systems. See the test reports and Perl/Platform Version
Matrix links on the distribution page.
6. Ratings. When there are many options for a particular task, seeing
the star ratings can help you whittle down the options to the best.
The overall highest rated modules tend to be the best-practice ones
you should be using.
7. The 'cpan' command comes with Perl. :slight_smile:
8. The 'cpan' command has a test harness and runs the tests before
installation. If a module doesn't pass its tests on your platform, it
is not installed.
9. CPAN has a very rich set of mirrors (http://mirrors.cpan.org/\) and
you can configure your local cpan command to use a subset, say a
primary and a backup (good for environments requiring firewall rules
to be in place for external access).

That's a good list of features, thanks for putting it together. Let's see:

1. Tricky one since there's more than one big source of gems. Well, there are two main ones - github and gems.rubyforge.org - plus a host of others. We could build such a site for RubyForge... would be interesting.

--
remember.guy do |as, often| as.you_can - without end

Robert Klemme wrote:

But note that there is RAA already! It seems to be mentioned fewer
times recently, which makes me wonder whether people still use it.

I certainly use it and I make sure to announce my projects there in
addition to RubyForge and ruby-talk. Also, looking at the homepage[1],
you can see that project entries are being updated quite regularly ---
just like on RubyForge news.

[1]: http://raa.ruby-lang.org/

···

--
Posted via http://www.ruby-forum.com/\.