Not to be too pragmatic about it, but it is worth noting which languages are used in the wilds beyond the confines of our libraries.
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
I know everyone has their own style, but I would push newbies towards object-oriented languages, such as C# or Java first. Working in an enforced object-oriented programming [OOP] environment seems like an excellent first step. Moving from either of those languages to Ruby (which is more compatible with procedural programming) is quite simple then.
Clearly I am preaching from the pulpit of OOP though.
Mark / UF
-----Original Message-----
From: Code for Libraries [mailto:[log in to unmask]] On Behalf Of John Fereira
Sent: Monday, February 18, 2013 1:17 PM
To: [log in to unmask]
Subject: Re: [CODE4LIB] You *are* a coder. So what am I?
-----Original Message-----
From: Code for Libraries [mailto:[log in to unmask]] On Behalf Of Joe Hourcle
Sent: Monday, February 18, 2013 12:37 PM
To: [log in to unmask]
Subject: Re: [CODE4LIB] You *are* a coder. So what am I?
On Feb 18, 2013, at 11:17 AM, John Fereira wrote:
>> I suggested PHP primarily because I find it easy to read and understand and that's it's very commonly used. Both Drupal and Wordpress are written in PHP and if we're talking about building web pages there are a lot of sites that use one of those as a CMS.
> And if you're forced to maintain one of those, then by all means, learn PHP ... but please don't recommend that anyone learn it as a first language.
And the reason that I suggested PHP is that one is more likely going to be *forced* to learn PHP because it's so much more commonly used than something like Haskell, or R, or even Python.
> I've looked at both good and bad perl code, some written some very accomplished software developers, and I still don't like it. I am not personally interested in learning to make web pages (I've been making them for 20 years) and have mostly dabbled in Ruby but suspect that I'll be doing a lot more programming in Ruby (and will be attending the LibDevConX workshop at Stanford next month where I'm sure we'll be discussing Hydra). I'm also somewhat familiar with Python but I just haven't found that many people are using it in my institution (where I've worked for the past 15 years) to spend any time learning more about it. If you're going to suggest mainstream languages I'm not sure how you can omit Java (though just mentioning the word seems to scare people).
> It's *really* easy to omit Java:
> http://www.recursivity.com/blog/2012/10/28/ides-are-a-language-smell/
I generally take articles like that with a large heaping of salt when it's fairly obvious that someone is biased against a specific language but that article seems to be more about using an IDE than using Java. In any case, I really didn't start using an IDE (I wrote all my code using a unix text editor) until several years after I learned Java.
>You might as well ask why I didn't suggest C or assembler for beginners. That's not to say that I haven't learned things from programming in those languages >(and I've even applied tricks from Fortran and IDL in other languages), but I wouldn't recommend any of those languages to someone who's just learning to > program.
I remember when Pascal used to be the language of choice (actually, I remember when it was Basic) as an instructional programming language, but I cut my programming teeth using assembly language (more like the raw octal representation) and Fortran before I learned C.
-Joe
> (ps. I'm grumpier than usual today, as I've been trying to get hpn patched openssh to compile under centos 6 ... so that it can be called by a java daemon that is called by another C program that dynamically generates python and shell scripts ... and executes them but doesn't always check the exit status ... this is one of those times when I wish some people hadn't learned to program, so they'd just hire someone else to write it)
I feel your pain. I've had plenty of days like that as well.
|