As an information technology professional, one involved in the realm of geographic information systems and mapping technology, students often ask what technologies they can learn to become more competitive in the job market. I stress two technologies, programming, and databases. For databases, I don’t point them in any particular direction, Oracle, SQL Server; even IBM offers DB2. Plus, there are open source offerings, like SQLite, and MySQL. From my perspective, a database is a database, and SQL is a common language allowing for the management of database tables. I simply stress to them to learn database structures and techniques, and whether they choose SQL Server, or MySQL, they will be more or less fine.
That same philosophy does not translate to programming languages, in my opinion. Programming is much like writing; the more you write, the better you become at forming thoughts, ideas, and communicating such. Programming helps evolve thinking, problems-solving, designing plans for handling problems and issues – not only for programming tasks, but for Life challenges, in general. When I began programming, I found myself handling issues in my Life much like I would handle a programming task, developing "If/Then" and "Case" statements for handling chores. Really 🙂
I’ve read many comments from programmers who state people who want to learn programming should simply learn to program, without much regards to the language, as all languages are essentially structured the same. Thus, learning one is tantamount to learning all. I would not necessarily agree. There are some languages that are better for some tasks than others, and some programming languages that one would simply not be useful at all for other tasks. And some languages are structured very unlike others, such as XML and C. To an educated eye, we might see similarities; for a neophyte, programming languages look as similar as Cyrillic does to Korean.
For people interesting in programming for social media, programming for Android, or iPhone, programming for web-based mapping and location-based services, I have compiled a list of programming languages that are popular. These languages will continue to be popular, too, as more people develop apps using these languages. Some of these languages are increasing in popularity, such as Ruby-On-Rails.
Web/Internet-related programming languages
Ruby-on-Rails
Python
Java
HTML5
JavaScript
PHP
.NET
General Use/Android or iOS programming languages
Java (Android)
C#
C++
Objective-C (iOS)
Other might disagree with my list. Order does not imply importance. Also, I am looking at programming from the perspective of someone who is interested in web-based and internet mapping-based applications. Thus, I do have a bias.