On Wed, Mar 24, 2010 at 2:24 PM, jenny <[log in to unmask]> wrote:
> My question is, where would you recommend I would begin? What's hot
> right now in the library world? Python, PERL, Ruby? Any advice you'd
> have for a beginner like me or even recommendations for online courses
> would be extremely appreciated
Hi Jenny,
You've gotten lots of good advice and debate about programming
languages but my advice is going to be a little bit on a different
track.
First, in general I'd re-empathize what some other folks have said.
Projects are great way to learn a language, although i find a "intro
to x language" also useful to work through at the very beginning of a
language. I have found that classes are useful for me mainly because
they give me deadlines and I usually try to go above and beyond the
call of duty as far as classes go. It's not so much I'm learning from
the lectures as it provides a structure for me to learn from and
deadlines to work toward. The standards for many classes though are
lower than the standards I set for myself so I tend to do overkill for
actual assignments.
So community college classes might be useful for that purpose. I'd
also say some really good courses in software design and engineering
can be really good, but it's hard to find good courses in those from
what I can tell. Some signs of a good course: frequent group
projects, long-term projects, design being taught, a versioning and
feature/bug tracking framework setup for students and students are
expected to use it, professor does code reviews.
Mostly, lots of reading and lots of coding. Look around for tutorials
on the web that go beyond "hello world". Safari can be really good
here, and 24x7 isn't bad. If you can get someone else to pay for it
or use an institutional account that would be good. Choose some books
on your programming language. Also read some non-programming language
specific books like The Pragmatic Programmer, Peopleware, and the
Mythical Man-month. (The latter two are older but still some of the
best non-technical/management type books I've read).
Find a programming environment that's comfortable for you and also try
out some different operating systems and interfaces. You could start
easy and start looking into various "Live CD" distributions. That way
you can burn a cd or dvd with a new operating system and boot from it
and poke around. Another thing you might want to investigate is using
Virtual Machines. I have to confess that I haven't used virtual
machines in my home environment much, but I suspect it would be
really, really useful for learning. That way you can set up a
"virtual server" and install things like databases or web servers
without worrying about mucking up your own system. There is some
(Indeed, had you asked this question six to eight years ago, I'd say
make sure you have a setup where you can mess up your machine but
recover). Hopefully after trying different operating systems, text
editors, IDEs, version control systems, etc you find tools you really
like. (Oh yeah, try to start learning some version control tools
too...they're life-savers).
Jon Gorman
I
>
> JC
>
|