If you don't have access to Safari or books 24x7 through other means (e.g. work, affiliation with a public or academic library), you can get access to a decent collection of current programming ebooks by joining ACM, see http://pd.acm.org/ for details. A Professional membership is $99 annually. Though I haven't tried them yet myself, Professional membership also provides access to online courses in programming and related topics. Shirley On Thu, Mar 25, 2010 at 6:19 AM, Jon Gorman <[log in to unmask]> wrote: > 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 >> >