This is definitely one of those "what language should I learn threads?", but I'm not a beginner. Let me give a little background: I graduated in 2007 with a degree in computer technology (not science) with a focus on software development and web development. While in school, I hired on with an automotive supplier as a contracted radio technician with hopes of getting my foot in the door with writing software. It's taken a while, but I'm now getting ready to be trained in our next product we're working on and will possibly be writing test scripts in C# .NET. I'm looking forward to the experience and knowledge I will gain but long-term, it's not where my passion is. I enjoy some web development, but haven't had much experience with it since college and haven't had any reason to delve deeper into it. Recently, I've had a few people approach me about building websites for them for a salary, so it's started to spark some interest into that field again. I have experience with several languages: Java, HTML, C#, ASP, SQL, PL/SQL, some Objective-C, C. But it's only at a very intermediate level, nothing advanced like Java servlets, Cocoa, or .NET framework specific. In my spare time, I'd like to delve deeper into something more advanced. I love the Mac platform for development just because a lot of things are built into the system already. Some languages I'm thinking of looking into are: 1. Java (specifically Tomcat and Spring) 2. Objective-C (Cocoa, iPhone) 3. Ruby (Rails) I know #1 and #3 are more web specific and might be beneficial because of my background in web development, but I really like the surge going on with Objective-C and the Mac and iPhone platforms. But would this help on a career level? I want to pick one where there's a strong demand for it and something that puts food on the table. I'm not talking about just writing apps for the app store, but writing apps for businesses that use Macs. It just seems like it's hard to land an entry or junior level job out therre without some type of experience. My main experience now is just education and I'd like to dig deeper into these frameworks out there that are used to work on a project that might gain me experience to show employers. Are there advantages to learning one framework over another or should I just pick one and go with it? I know Java and .NET are used a lot in the enterprise, but it seems like there's no shortages of these developers out there. Would learning a niche language like Objective-C or Ruby be an advantage since there are fewer experts in these languages? I'm open to any ideas or questions that people might have. Thanks.