Comment Re:Python or Perl? (Score 1, Informative) 897
Im not going to discuss the technical differences between the languages. Because these dont affect if learning a language is a good career choice.
The community of the language also can be a deciding factor, again i dont want to touch on that.
However, I would like to touch on whats important about learning a language from a career point of view, and deciding where the right balance for you is in regards to...
a. ease to find a job for that language (and location)
b. how valuable that skill is in dollar terms
c. what sort of company is using that language
In the case of a. having thousands of available jobs in that language is both good and bad. On the one hand this means that there are lots of positions to apply for, it may also mean that there is competition for that skill - ie you get paid more. It may also be an indication that you will be an easily replacable monkey on a keyboard.
The location of those jobs is a person decision. Obviously less jobs means less choice in this regard.
The value of the skill is related to a. in that if there are lots of jobs and few skilled people, they will be valuable. However on the other hand, if there are lots of people and lots of jobs - again youve become a replaceable monkey on a keyboard, and if there are heaps of people you wont be getting paid much. This is basically what is happening with Java programmers.
And jobs web sites list jobs, they dont list how many people are applying.
** So somewhere in the middle is the sweet spot for you. You want to have a skill thats rare enough to command more money, but not so rare that you cant find a job.
Everyone is learning Java in uni, and Python is cool. Both those key words do well on job search sites. But will you just be another monkey?
c. what type of company is hiring that skill?
This can be important as well. Companies have a different culture which directly influences your happiness in life as you will have to be a part of it for much of your day.
Now, Python is pretty hip currently. Its found a lot of interest with some large newer companies being very keen on it internally (ie Google, Facebook). The downside is that because everyone is coding Python, you become just another monkey with a typewriter. Just like Java programmers.
Java is also hugely saturated. Plenty of programmers, plenty of jobs, not much pay.
Infact, companies are intentionally choosing languages like Java and Python because they can get decent programmers very cheapily. Which is great for the bottom line and great for the share holder - but sucks for your mortgage.
Im not exposed enough to ruby to comment on it. I think its popular in start ups, but im not aware of any who have really hit the big time. That doesnt mean that they wont or dont exist. However, keep in mind that the funk train of Rails has long since run out of steam. Every language has an MVC framework or 3, and they all copy each others features. Im going to go with some advice, that picking a career based on a framework's features is probably unwise.
C will always do well. But you wont be programming web applications. Which you may perceive as a good thing
Perl; there are lots of older companies with huge investments in Perl based infrastructure. Perl is out of fashion, but lots of Perl jobs are in places like Banks and Telecommunications companies. This may not appeal initially. But consider that a. these companies are going to be more stable long term, b. they are going to pay you more and c. youll have more choices. Perl has a very active community and has excellent documentation. Lots of jobs list 'perl or python' - but actually mean 'if you program perl thats cool, but youll need to learn python'