Wednesday, September 18, 2013

Why Are There So Many Programming Languages, And Which Should I Learn?

     A Google search for "the history of programming languages" produces a number of notable links describing the development of the many programming languages that have been created throughout history.  For example, a Wikipedia entry titled "Timeline of programming languages" lists dozens and dozens of the languages that are considered to be merely 'important'.  But why are there so many, and which ones should I learn (can't I learn just one)?  Unfortunately, the answer to the question of why there are so many languages doesn't seem clear; but I think we can at least answer the questions about which languages I should learn.  

According to Bjarne Stroustrup, the creator of C++: "…nobody should call himself a professional if they knew only one language…", and that "…3 to 5 languages is a good number (to learn)…" (Big Think, YouTube).  Bjarne cites C++ 'of course', Java, and 'maybe' Python as being very important to learn, and he also mentions JavaScript, Ruby, C, and C# as being other relevant and related languages.


Aside from Bjarne Stroustrup's personal views, compiles a monthly list (Jobs Tractor language trends) which ranks programming languages in order of most job postings advertised on twitter.  Java, PHP, Objective C, and Java(Android) are consistently ranked in the top four, with Java and PHP battling for 1st place.  Ruby has also been in the top 10 for at least the past 18 months or so, and it ranked as high as 5th place back in November 2011.  

So, in accordance with these findings (and after having learned about Java, and now Ruby); I'm thinking that the next best language to learn will be PHP.  As the authors of our textbook have noted, Ruby is powerful and easy to get along with (I see what they mean after doing much of the codeacademy exercises).  Regarding PHP, our classmate Kevin pointed out in his post that PHP is most-used for (and was made for) web server development (almost 80% of web servers; PHP = 'Personal Home Page').  Seeing as how we're learning about how SaaS is the future, I'm going to have to learn more about web development anyway.  

No comments:

Post a Comment