I know I am going to get down voted probably here.
But seriously, if you are starting out, Java might be a very good thing to start with too.
As a language, it's very mature. The documentation is pretty good.
I know setup might be a a little tricky for a noob, but it's not that bad.
Although, I agree, if you are focusing on ROI, Ruby or python, or even PHP are more inviting.
And you can probably do a lot more faster that way.<p>But for learning things inside out, Java might be a very good choice.
Good books, great amounts of algorithms, in fact great algorithm books too.
One really good one is Effective Java, sEcond edition.
Another algorithm related (short but solid) book is Data structures and algorithm analysis in Java.<p>Now, don't take me wrong. I might be a little biased, because I find it easier to do a lot more in Java on Eclipse IDE, than anything else.<p>Started a startup right after MS, didn't go so well.
Still stuck in Dallas, TX. Would love to move to CA, but immigration issues plus financial burdens.<p>I started out as a C++ job in my current company that hired me, with some more AMPL (Mixed integer programming). Read Ruby on Rails book, Agile programmingusing ROR or something by DHH (David heinemeir hanson). Loved it, but found ROR a little limiting for what I am doing.
But my day job ended up being in Java.
I do prolog hacking, although haven;t really done that in while.
And still for fun, and continuing my startup on side, and completing a dream of solving a bunch of NP complete problems in seconds, still using a mix of C#, Excel, PHP, Prolog.
Very soon jumping onto Javascript or Jquery probably, since I wanna move into making a real Web GUI, instead of a C# GUI.<p>So, yeah after all this, I found easiet and very helpful where C# on Visual studio and Java on Eclipse IDE.
Loved ROR, found it quite easy too, esp the book is great.
For PHP, I still am doing structural coding, although sometime in future I am def reading PHP Objects, Patterns and Practices .<p>I wish that would help you pick one.
Because you sound a lot like me, I was so confused in college, no idea where the world is going.
Personally, my research and doing my startup later opened my eyes to the real world.
Of course, Paul Graham essays and HN were so much more helpful too.<p>Of that reminds me, go read PG's(Paul graham) essays first.
I think you need to understand programming in general first, the startups and then pick up a language to learn.<p>Oh, Oh, MUST READ for you....I wish this came out when I was in high school or early college.<p>This will give you a little more perspective.<p><a href="http://www.paulgraham.com/int.html" rel="nofollow">http://www.paulgraham.com/int.html</a>