Yet Another Book Thread

Started by
7 comments, last by Telastyn 15 years, 5 months ago
Hello once again. I just got a programming job and I need to learn a couple more programming languages, as well as make sure that I'm up to speed with the rest of the team in other programming languages. That means I need to get myself some books :) Specifically, right now I need to learn Ruby, Ruby on Rails, PHP, and MySQL. I haven't had any experience in any of those four things, but I have been programming for a few years and I learn pretty quickly. I also need to get into more advanced Java. I have a copy of Java 6 Illuminated right now, but I'm well past that so it isn't really much help. I'll probably need to get into more advanced C++. I'd consider my skill level in C++ as Intermediate, possibly a little further. To be honest I haven't had anything to compare myself to so I'm not sure what do consider myself, but I've been programming in C++ for 5+ years. So, does anyone have any suggestions for books on: Beginner: Ruby Ruby on Rails PHP MySQL Intermediate/Advanced: Java C++
[size=2][ I was ninja'd 71 times before I stopped counting a long time ago ] [ f.k.a. MikeTacular ] [ My Blog ] [ SWFer: Gaplessly looped MP3s in your Flash games ]
Advertisement
What kind of work will you be doing with these languages?
Quote:
What kind of work will you be doing with these languages?


And do you need to learn SQL from nothing, or just the dialect specifics?
some simple advice on the bigger picture ... expect that learning ruby and php deeply will actually take some time (because ruby is quite like a combination of perl and C on the surface, but when you dig deeper it's actually more like python and smalltalk) (and php is a simple language as of version 3, but like VB of old it grew very organically and both 4 and 5 added and changed things, leaving little wormholes waiting to confuse you in the rare cases that someone actually uses the deeper elements of the language).

That said, you won't need to spend more than a few days with a good book and a sense of exploration to get up to speed where you can read and work in either of them. They are very very easy languages to get the core 15-25% of the language that people use 85%+ of the time. A few strange optional syntax forms might throw you in ruby the few 5 times you see them ... but it only takes a short while to know where to look in a language reference.

plan to copy strange lines of code from what you are working in, to another simpler test harness to "see" it more clearly ... since ruby is dynamic, it's very easy to use dynamic debugging to inspect the objects.

ruby-on-rails will take longer, and just like ASP.NET, Net Beans, Java Struts, etc ... this is where actually KNOWING the design and details makes a world of difference between making your project run and making your project run well and be flexible over the long haul. There are dozens of workable ways to build rails pages and apps, but few that mesh well over a broad range of changes and constraints. Personally, this is where I'm still not up to speed (I'm a professional ASP.NET developer and have only spent a few weekends in Rails as a hobby).
Quote:Original post by MikeTacular
Intermediate/Advanced:
Java
C++


Bruce Eckel's Books (Online) You will probably want to use the second book.

There are also links to previous versions of his Thinking In Java book.
∫Mc
Quote:Original post by Telastyn
Quote:
What kind of work will you be doing with these languages?


And do you need to learn SQL from nothing, or just the dialect specifics?

Sorry, it probably would have helped if I had included that bit of information. Basically we have a Java Applet that runs on a user's computer that allows them to convert videos to Flash Video Files and then upload them to a server (kind of like youtube, but the video conversion is done on the user's machine and the video isn't uploaded to youtube, but to another website that has the Java Applet integrated into it). I'm writing some demo websites that showcase the Java Applet integrated with the websites, as well as writing some modules and extensions that easily allow web developers to integrate the Java Applet (and the files converted and uploaded through it) into their website. I don't need a deep knowledge of Ruby, Ruby on Rails, PHP, or MySQL, but I do need to be competent and comfortable and be able to develop maintainable sites and extension modules. The sites and extension modules won't be extremely complex, but it's important to make sure I "get them right." I haven't used any of those four things, nor have I used plain old SQL.

Quote:Original post by smc
Bruce Eckel's Books (Online) You will probably want to use the second book.

There are also links to previous versions of his Thinking In Java book.

Wow, that looks like a great link, thanks! And it's free, even better! I'm definitely going to give this a read.

Quote:Original post by Xai
...

Thanks for the advice, reassurance, and heads up. I'll be sure to keep that all in mind.



Thanks for the help so far everyone, keep the good advice coming.
[size=2][ I was ninja'd 71 times before I stopped counting a long time ago ] [ f.k.a. MikeTacular ] [ My Blog ] [ SWFer: Gaplessly looped MP3s in your Flash games ]
Quote:Original post by MikeTacular
Intermediate/Advanced:
Java
C++

Joshua Bloch - Effective Java
Scott Meyers - Effective C++
Here's a free book on learning Ruby.
If you have been programming in C++ for as long as have PHP/MySQL should be quite easy to pickup. Probably don't even need a book for it.And if you know Python already the Ruby language itself is actually quite similar to Python so you should be able to pick that up easy too.
Ruby on Rails on the otherhand-- is a quite different than your traditional PHP or ASP webprogramming. It focuses more on agile programming practices and seemed quite strange to me after using C++/Java/C#/VB,etc. myself. I mean you don't even really do much coding at all since ROR takes care of alot of stuff that you have to manually setup and do in PHP or ASP.
First thing you should learn is how to get ROR setup on your development machine whatever platform you are using since last time I tried using it there was alot of manual work to get it setup just right.
from ROR website:
"If you don't have the patience to get Ruby on Rails running manually, you can also try one of the pre-packaged solutions. These include everything in one bundle: Web server, database, Ruby, Rails, the works.
"
[size="2"]Don't talk about writing games, don't write design docs, don't spend your time on web boards. Sit in your house write 20 games when you complete them you will either want to do it the rest of your life or not * Andre Lamothe
In that case I recommend SQL for Smarties. Teaches syntax, but also goes over how to design your tables and generally use databases rather than 'here's the syntax, figure it out'. Also assumes you're a fairly competent individual who just hasn't needed SQL before.

And while it's good to have the urge to 'get thing's right' I've found that such desires are impractical when the time comes (or more often, when you work with morons).

This topic is closed to new replies.

Advertisement