Taking time to explore is rarely a a waste of time in this area, because exploring is how you learn in programming/software engineering.

marijane white wrote:
I may have worded that poorly, abstract reasons to choose a language was
exactly what I was looking for.

Your suggestion matches my natural inclinations, I think I just needed some
reassurance that taking the time to explore wouldn't be a waste of time.
Thank you. =)


On Tue, Jan 5, 2010 at 7:13 PM, Ross Singer <[email protected]> wrote:

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.

Good luck,
-Ross.

On Tue, Jan 5, 2010 at 6:04 PM, marijane white <[email protected]>
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
of javascript yet, either).  I've also given a cursory look at SOPAC and
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
mine?


-marijane


Reply via email to