I realize you didn't want to start a religious war nor were you
interested in the abstract reasons people chose a particular language,
that being said...
I honestly think choosing the best* development language is very
similar to how one settles on politics, religion, diet, etc.
Environment plays a part, of course, but, in the end, what generally
works best is the language that jibes best with you and your
personality. Since you've dabbled with several different languages,
you've had to have come across this - some languages just "feel
better" than others. This is, however, an entirely personal choice.
Dan Chudnov, for example, seems to think in Python. When I tried
Python, it never really clicked -- I muddled through a few projects
but never really got it. I then got introduced to Ruby, everything
made sense, and I never looked back. I recently did a project in
Groovy/Grails and my takeaway was that it was a scripting language
that only somebody that had spent their career as a Java developer
could love. My coworker (who has spent his career as a Java
developer) LOVES Groovy. He thinks Ruby is a Fisher-Price language.
To each their own.
Since you don't seem to have institutional constraints on what you can
develop in, I would recommend you try something like this:
Take a handful of languages that look interesting to you and try
writing a simple app to take some of your data, model it and shove it
into Solr and make an interface to look at it. Solr's pretty perfect
for this sort of project: it's super simple to work with and
immediately gives you something powerful and versatile to wrap your
app around. If you can't make something useful quickly around Solr,
then move on to the next language because that one's not for you.
If the ones that click happen to be PHP, Python or Ruby, well, there
you go. If not, I, for one, look forward to your new Lua (or
whatever) based discovery interface.
Ultimately, any project you choose for your discovery interface is
going to require a lot of customization to make it work the way you
want -- the key is finding the environment that stands the least in
the way between turning what's in your head into a working app.
On Tue, Jan 5, 2010 at 6:04 PM, marijane white <[log in to unmask]> wrote:
> Greetings Code4Lib,
> Long time lurker, first time poster here.
> I've been turning over this question in my mind for a few weeks now, and Joe
> Hourcle's postscript in the Online PHP Course thread has prompted me to
> finally try to ask it. =)
> I'm interested in hearing how the members of this list have gone about
> choosing development platforms for their library coding projects and/or
> existing open source projects (ie like VuFind vs Blacklight). For example,
> did you choose a language you already were familiar with? One you wanted to
> learn more about? Does your workplace have a standard enterprise
> architecture/platform that you are required to use? If you have chosen to
> implement an existing open source project, did you choose based on the
> development platform or project maturity and features or something else?
> Some background -- thanks to my undergraduate computer engineering studies,
> I have a pretty solid understanding of programming fundamentals, but most of
> my pre-LIS work experience was in software testing and did not require me to
> employ much of what I learned programming-wise, so I've mostly dabbled over
> the last decade or so. I've got a bit of experience with a bunch of
> languages and I'm not married to any of them. I also kind of like having
> excuses to learn new ones.
> My situation is this: I would like to eventually implement a discovery tool
> at MPOW, but I am having a hell of a time choosing one. I'm a solo
> librarian on a content team at a software and information services company,
> so I'm not really tied to the platforms used by the software engineering
> teams here. I know a bit of Ruby, so I've played with Blacklight some, got
> it to install on Windows and managed to import a really rough Solr index.
> I'm more attracted to the features in VuFind, but I don't know much PHP yet
> and I haven't gotten it installed successfully yet. My collection's
> metadata is not in an ILS (yet) and not in MARC, so I've also considered
> trying out more generic approaches like ajax-solr (though I don't know a lot
> Scriblio. My options are wide open, and I'm having a rough time deciding
> what direction to go in. I guess it's kind of similar to someone who is new
> to programming and attempting to choose their first language to learn.
> I will attempt to head off a programming language religious war =) by
> stating that I'm not really interested in the virtues of one platform over
> another, moreso the abstract reasons one might have for selecting one.
> Have any of you ever been in a similar situation? How'd you get yourself
> unstuck? If you haven't, what do you think you might do in a situation like