I think it mostly comes down to what you're looking for out of the language
choice. Both are great language. I love the explicitness and community
around Python, the meta-programming features of Ruby are a lot of fun as
well.
Both have great communities that support a lot of diversity. I feel python
comes out a bit better on this but only just a bit.
Some great fits for Python in libraries.
- Syntax is easy to learn so if you have to get a team working on the same
skillset this is a big advantage.
- If you need to work with scholars who need to learn programming, the
easy of learning python is a big advantage here.
- If you work in natural language processing or with geo-spacial data then
python is particularly well suited.
- You need a stable language with good backwards compatibility.
Some great fits for Ruby in libraries:
- If you do a lot of web development Rails is an obvious advantage, though
rails dominance is almost a disservice to the Ruby community by how much it
obscures the language.
- If you work with unstructured data I think Ruby comes out a little on
top (just a little) and there are some neat meta-programming techniques to
read and work with XML in ruby.
- You work in a DevOps environment and need to do a lot of server
provisioning, the Puppet library offers a lot to a group and leverages Ruby.
- In libraries custom Fedora repository work is often done using the
Hydra gems
I don't think there's one better choice, it just comes down to knowing what
you need to develop as far as a local community goes and picking the one
that is best suited for those use cases.
That said, I tend to enjoy working in Python more than Ruby. Most of my
gripes with Ruby are actually probably with Rails so as a language I really
do think they are both fine and I only have a slight preference for one.
On Mon, Jul 29, 2013 at 11:43 AM, Joshua Welker <[log in to unmask]> wrote:
> Not intending to start a language flame war/holy war here, but in the
> library coding community, is there a particular reason to use Ruby over
> Python or vice-versa? I am personally comfortable with Python, but I have
> noticed that there is a big Ruby following in Code4Lib and similar
> communities. Am I going to be able to contribute and work better with the
> community if I use Ruby rather than Python?
>
> I am 100% aware that there is no objective way to answer which of the two
> languages is the best. I am interested in the much more narrow question of
> which will work better for library-related scripting projects in terms of
> the following factors:
>
> -existing modules that I can re-use that are related to libraries (MARC
> tools, XML/RDF tools, modules released by major vendors, etc)
> -availability of help from others in the community
> -interest/ability of others to re-use my code
>
> Thanks.
>
> Josh Welker
> Information Technology Librarian
> James C. Kirkpatrick Library
> University of Central Missouri
> Warrensburg, MO 64093
> JCKL 2260
> 660.543.8022
>
--
*Scott Turnbull*
APTrust Technical Lead
[log in to unmask]
www.aptrust.org
678-379-9488