On Wed, Mar 24, 2010 at 2:24 PM, jenny <jennynotanyd...@gmail.com> 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 >