4 Languages you should learn in 2009
JavaScript
Best known for it use in client side web application, it was touted as a language that was supposed to be easier to learn than Java for non programmers. It has seen many ups and downs over the last 13 years since it was released, but it has never shown more promise than today. With almost every website becoming “Web 2.0ified”, the language is finally showing it’s strengths. Developers who think that JavaScript is simply a presentation layer language are going to miss out the ability to create really great applications.
Python
This language has been around for 17 years and has a tremendous following and deploy base. Though, for some reason, it always seems to be a language that takes a back seat to other more ‘enterprisey’ languages. It is one of two official languages used at Google and it does power a lot of their most profitable products. It’s also going thru a major point release that I am convinced is going to bring it to the front of dynamic language queue. 3.0 is guaranteed to break backwards computability but it’s doing so in order to dramatically clean up the language. It’s getting more DRY and obvious.
Erlang
After developing and becoming proficient with Object Oriented Languages for the last 10 years, I can’t express strongly enough how much joy it can be to develop with a functional language. Your mind is forced to think in different more creative ways. In Erlang, there is no looping construct (for, do-while, etc), but there is tail-recursion. There are no Objects, so how do you maintain state? There are no variables, only single assigned values. No such things as threads, but it’s a language that allows you to create highly concurrent and scalable systems.
Mandarin Cantonese, Hindi, Russian – Pick one
They are not programming languages, but they are important for two reasons:
- With the economic slow down, countries with emerging technology sectors and talented, well educated developers will be getting a second look as a means of cutting applicationd development costs. Don’t think major outsourcing, think one-off employment opportunities and telecommuting. You’re next pair-programmer just might be an ocean away discussing data structures over iChat.
- This is by far the most important reason to learn a second language – You’re doing something that is different that developing application. For the love of all things Holy, get off your ass and do something else!
Cantonese? Not Mandarin?
Ouch! Yes, I meant Mandarin. Thanks for pointing that out.
It has been interesting to watch Javascript grow up. What I find interesting about the current trend with Javascript libraries like SproutCore is that we are seeing the push for more and more of the application to run on the client, exposing the application’s source code. Companies are becoming comfortable with this (out of necessity), but in 2009 will we see a backlash when managers realize that their proprietary and confidential source code is being pushed out to every browser that requests it?
What about Ruby ?
In India most of the techie people speak English as the business language. We speak Hindi and other regional languages after office hours or for informal communication with colleagues/peers in office hours.
So Hindi is not really mandatory.
But yeah if someone is willing to learn we are more than happy to know that
Roopinder Singh, sure Ruby is a great language. It’s received much of the coverage that I think Python equally deserves. They both exist in the same category of Dynamic Language, so you should learn that too, if you don’t already know it.
Substitute Haskell for Python. Its got better performance, but most importantly it will change the way you think about programming. Python is OK, but once you get past the syntax its much the same as Javascript. Haskell will also cause you to rethink your opinions on the static/dynamic typing war. Not necessarily to change them, but definitely rethink them.
Majority of Indians do not speak Hindi. This is especially true in South India where most of the IT companies are situated – Bangalore, Hyderabad and Chennai. Most techies converse (think, even?) in English because we have *22* official languages in the country and English is the only common language every Indian IT-professional knows.
Interesting post. If you are looking out for Javascript video tutorials, check this out
http://technofriends.in/2008/05/17/what-is-javascript-and-some-must-watch-tutorial-videos/
Cheers
I have been working 4 years in java development and just months of python but I recognize that python is superior in terms of clean code, if you want to make classes and be completely OO then it allows you to, if you just want modules with methods, it is still valid, no concept for private vars, it really follows the spirit of C programing language. Performance is so relative. Mostly, the application that performs better in many aspects are the ones that is the least necessary performant, because there is no need to spend more time to optimize something that is fast enough
To me you should replace JavaScript with Scala or Clojure. And as the predecessors pointed out Ruby and Python together. Finally Erlang is really fast when processing high amounts on events (e.g. on couchDB and not only on telephone systems) for me the language itself is not powerful enough.
If you feel, there is a common language in India, it is nothing other than English.
This is the only language that all techies know. So you guys don’t have to learn any language.
Be happy.
Mentioning Hindi got quite a response – I fear you’ll refrain from now on mentioning this particular language; but IMHO it is worth learning a natural language outside ones scope. The other rythms, melodies, formulations are interesting too. One might find both brain halves usefull. Some tips: Bulgarian, where the Cyrillic Alphabet began, quite phonetic, and having some Greek and Turkish influences. Esperanto, easy, schematic, if you want to actively use and at native-level know some language.
From the programming languages Scala is interesting and merits reading.
Learning JavaScript seems like a poor use of time to me. There’s so many frameworks and pre-built scripts that you can easily get by with a rudimentary understanding of programming in general. Sure, it’s good to know how to get in and get your hands dirty when something’s not working as expected, but this is still a minor concern.
Really, since the main focus here is languages that will help you in 2009, the list should probably consist of Ruby, Python, PHP, and Objective-C (iPhone development is blowing up right now and there’s plenty of jobs to be had if you can do it).
If you’re looking for long-term sustainability, there’s always the two market behemoths, Java and .NET. But, who wants to learn those?
I have an unactivated iPhone that i need to unlock, but i can’t figure out what firmware it is running. I can’t get on the homescreen and go to settings, the general and find it out there cuz i don’t have at&t. And when i plug it into itunes it says insert sim or activate account or something and doesnt let me do anything.
________________
unlock iphone 3g
very nice site, good work!!!
Great site, its cool!!!
Great site, its cool!!!
It has been interesting to watch Javascript grow up. What I find interesting about the current trend with Javascript libraries like SproutCore is that we are seeing the push for more and more of the application to run on the client, exposing the application’s source code
Companies are becoming comfortable with this (out of necessity), but in 2009 will we see a backlash when managers realize that their proprietary
Mentioning Hindi got quite a response – I fear you’ll refrain from now on mentioning this particular language
good site, good work!!!
very nice site!!!
Great site. Keep doing.
Great site. Keep doing.
Great site. Keep doing.
very impressive site, thanks!!!
Perfect site, its very nice, thanks!
I recently upgraded to the 1st gen apple iphone (not 3G) and am wondering if you can actually have songs as a ringtone? If so how would you go about it? Do you have to purchase them from itunes? FYI – this is an unlocked phone on tmobile’s network.
________________
unlock iphone