Print

Print


Thanks, this is more along the lines I was looking for.

I started using Python because PHP (my usual web language of choice) has
quite poor libraries for SOAP requests, and Python was easy to use as a
glue script to fill the SOAP holes in my program.

One of the things I wanted to ask that went largely unanswered is what
kinds of typical library coding activities are not very well supported in
either language? For instance:

-MARC i/o (both have this covered, I know, but it is a prime example)
-XML tools
-SPARQL tools
-Working with Solr
-MySQL/Postgres tools
-Screen scraping tools
-SOAP/REST tools

...etc.

And I am limiting my inquiry to Python and Ruby because I am looking for
quick "glue script" languages and not something to write a whole web app.
For instance, something I can schedule as a cron task to get some remote
data and index it locally. I would use PHP or Java for a full-blown
application. I guess I should include Perl in the discussion, too, but
Perl's syntax is a little heady for me.

I am not trying to be incendiary here, so I hope you all do not respond to
me as such. I think these are pretty reasonable and concrete questions.
It's not like I'm asking "What's the best language?" in a general and
open-ended way.

Josh Welker
Information Technology Librarian
James C. Kirkpatrick Library
University of Central Missouri
Warrensburg, MO 64093
JCKL 2260
660.543.8022


-----Original Message-----
From: Code for Libraries [mailto:[log in to unmask]] On Behalf Of
Scott Turnbull
Sent: Monday, July 29, 2013 12:17 PM
To: [log in to unmask]
Subject: Re: [CODE4LIB] Python and Ruby

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