So I am fairly well versed in Javascript, DHTML, CSS et al and have done a good amount of C/C++ in the past.<p>I'm looking for the next thing to add to my skill set and there are a bunch of things I am considering and I am thoroughly confused. The case for each of the above is here :<p>- PHP : Huge installed base. backed and used by Y! so a safe choice and not going away anytime soon. Not a steep learning curve. Hard to find something new / something that hasn't been done before.<p>- Rails : The new 'cool' framework everybody is talking about since it makes front-end dev really easy. Steeper learning curve.<p>- objC : helpful when developing for mobile devices. Fun programming environment.<p>- scala : A brand new way of thinking about things. Arguably more scalable ?<p>Thoughts, suggestions, comments, expriences (good/bad) ?
Hey, if you think Objective C is fun, go for Objective C. If you're not enjoying learning a new language and adding it to your skillset, you're doing it wrong. Do you want do pursue jobs in a language you don't enjoy coding?<p>Scala / Ruby are viewed as "fun" languages as well. You might as well try everything... you might find a groove quickly in one of them.
For your consideration: Django / Python.<p>Not sure why they're not on your list, but I was pretty much in your shoes a few months ago and am having a lot of fun with these at the moment.
If you want to add to your skill set, I would think you have a couple possible motivations...<p>motivation a- expand the mind.<p>If that is the case and you know c/c++, I would say, go with scala as it is the farthest afield from what you already know.<p>motivation b- develop a marketable skill.<p>If that is the case, then I've always been of the opinion that it is better to develop skills that others don't have.
If you learn PHP, you've learned a commodity skill. If you learn scala, you are in a select few for the time being and although their might be fewer jobs, there will also be less competition for them and you can probably charge more. I don't know what the going rate for Rails developers is now but a couple years ago, it was crazy high because the demand outstripped the supply.
If you've done a good amount of C/C++ in the past, you'll find very little trouble picking up objC and PHP if you need them for a particular project. If you want to expand your skills, I would learn scala. MAYBE Rails.
PHP is easy to pick up but will likely teach you bad programming habits. This is coming from someone who got their start with PHP. :-)<p>If you want to do web stuff I think Ruby and Python would be better choices. If you want to avoid the learning curve of Rails, you can start off doing stuff with Sinatra instead, and mostly just tackle the Ruby learning curve first.
The other thing was availability of good projects to work on for the languages.<p>For objC, I can think of a few iPhone apps I could work on to learn the platform. For things like PHP, Rails, Scala (where you'll need a good amount of traffic to really excel at them and get real world experience beyond some small hello-world-like web-apps), how does one get involved with the complicated/ involved stuff ?
PHP + CakePHP framework<p>as one of the commenter pointed out about bad programming habits with PHP, a framework will give you guidelines on good coding practices. It'll also help you develop faster and it's also quite easy to integrate with the front-end. CakePHP is like Rails framework but for PHP