Learning GIS programming: An overview


progLanguages 

The diversity of programming languages and tools being used in GIS (in general in the Geospatial industry) today is truly staggering. Depending on what the position requires, one would be expected to have expertise in SQL, python, C++, Java or JavaScript, Flex and PHP (just to name a few). Knowledge and competence in programming is a essential skill set and a critical requirement for most Geospatial job opportunities these days.  A vast majority of job openings in the Geospatial industry require some expertise in programming, application development and software management.
As Geospatial professionals/graduates/students, some of us overlook the importance of programming in our careers. Some of us believe that our spatial skill sets are niche enough to compensate for the lack of our programming expertise. Well that might not be totally wrong. However, knowledge of programming is most certainly going to open up a whole new array of possibilities! It might be a good idea to have a look at recent job postings in the Geospatial industry to get an overview of the requirements

So which language(s) should you be learning to excel in the Geospatial industry? Here’s an overview of programming languages that are widely used in the Geospatial industry.
Overview of Programming languages for GIS
JavaScript: WebGIS is certainly the next big thing in GIS and right from big data to twitter visualizations, everything that involves Web User Interfaces is being written using JavaScript. Google Maps, OpenLayers and a whole lot of other applications run on JavaScript. Personally, it has been a great experience for me using JavaScript for WebGIS projects. It might have its own drawbacks, but its amazing to see what JavaScript can help you achieve. (JavaScript for Geospatial applications; An Overview).
Java: Java is one of the most commonly taught programming language in universities and many Geospatial solutions like GeoServer and GeoTools are written using Java and is certainly one of the most popular languages among Open Source GIS developers.
C++: A vast majority of the software we use is written using C++. Most companies still prefer to develop applications using C++ due to this very reason. In fact, GRASS GIS, QGIS and many other GIS software were written using C++ (and python). Most GPS receivers have their firmwares written in C++. If you are look at Geospatial industry as a whole, C++ is a certainly good language to know.
SQL: GIS is incomplete without a database and SQL is a arguably the most famous database access and management language. Most databases have their own additional SQL extensions but the syntax for common tasks is standard. It is definitely worth spending sometime to learn at least the basics of SQL.
Python: Very popular with Geospatial professionals working in the ESRI environment and is considered as the primary scripting language for ArcGIS. Python is a great “integrator” and is fairly easy to work with and is sometimes regarded as more of a scripting language but that debate is still raging.
Programming Coding Geoawesomeness 

There are a many more programming languages like C, C#, Visual Basic.NET, Flex, ActionScript, PHP, VBA for ArcObjects, etc that are being used in the Geospatial industry.  If you want a complete overview of all the languages used in GIS programming, have a look at this link (Penn State – Geography Department). 

There are many options and it is rather difficult to say which programming language is “the” one to learn. It might be a good idea to have a grasp of both Desktop and Web development languages, say Python and JavaScript for example. An even better idea would be to have a look at the company where you would like to apply for a job in the future and examine their programming language requirements. Here’s a list of tutorials/resources that might be handy.

5 comments:

  1. A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.
    website: geeksforgeeks.org

    ReplyDelete
  2. A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.
    website: geeksforgeeks.org

    ReplyDelete
  3. A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.
    website: geeksforgeeks.org

    ReplyDelete
  4. A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.
    website: geeksforgeeks.org

    ReplyDelete
  5. A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.
    website: geeksforgeeks.org

    ReplyDelete