105. The Geospatialist's Guide to Programming Languages

105. Data Tools Header copy.jpeg

Understanding the difference between, let alone actually learning, programming languages can be a big effort...this is coming from personal experience. So, in order to help geospatial newbies to the world of programming, this (far-from-comprehensive/authoritative) post will attempt to distinguish the popular programming languages in a slightly different manner.

105. Geobreadbox Languages Computer.jpeg

NB. Thanks to Florin-Daniel Cioloboc for writing an excellent post on this topic.



105. Data Tools HTML etc.jpeg

HTML is the artistic director of programming languages. It is primarily concerned with the content which is presented to the viewer of a webpage. Composition and arrangement are of utmost importance to HTML and as a result, it spends a lot of time categorizing and describing information. HTML leads a minimalistic lifestyle and likes to spend time in arthouse cafes thinking about epistemological matters.



105. Geobreadbox Languages CSS.jpeg

If HTML is about organising information on your website then CSS is about making it look good. This language has a flair for bringing life to features and text on the page through its ever-growing range of style sheets. CSS allows you to add much-needed space to a text box using some padding, to change a boring dot on a map into a bright coloured pin, and to convert a simple outline shape into a hatched semi-transparent boundary. Fabulous.




105. Data Tools Javascript.jpeg

Javascript is, as the name suggests, the script-writer of programming languages. It is the reason why actions perform on your webpage when you press a button and why features on a map appear or disappear or change style when the scale is changed. Javascript is essentially a library of functions which can be loaded into your application or website and it is very popular in web mapping and mobile development. You can see what Javascript files are being referenced in your page in the <script> section of the HTML page.




105. Data Tools Python.jpeg

Python is a powerful programming language which is used for processing, analyzing and modelling spatial and non-spatial data. The library is commonly used in web mapping, GIS scripting and application development and it can be accessed through the Python console on most GIS software interfaces. Today, Python bench-presses large amounts of Big Data and it, therefore, is commonly used in machine-learning processes in the geospatial world.



105. Geobreadbox Languages R.jpeg


Any programming language which calls itself by one alphabetic letter is bound to be pretty cool....and R is no exception. This scripting library is, like Python, used for processing, analysing and modelling both spatial and non-spatial data in GIS software applications. Due to its statistical origins, R has become increasingly popular among geospatialists who are trying to break into the business intelligence and data analytics circles.


C, C++, C#, Java, .NET

105. Geobreadbox Languages C, C++ etc.jpeg

Every good application or software programme has been constructed using a heavy-weight foundational programming language. These languages are popular among back-end and full-stack developers who use them to build the many opensource and proprietary applications and plugins which we feel at home using.



Structured Query Language ensures that your requests to the geospatial database are properly...well...structured. Like most literate types, SQL can be fussy - but only for your own good. The language can be used in GIS software programmes to create, query and update attribute table data. If you enjoyed algebra at school then you will love writing SQL.A reflection on turning 100...in blogger terms that is. Read here.



105. Data Tools SQL.jpeg
105. Data Tools PHP.jpeg

Last but not least, PHP is a server-side language which can be considered as the 'wheelbarrow' of programming languages. Once it has ensured that requests to the server have been strapped in safely, PHP transports them to and from the backend server. PHP works closely with HTML and SQL in particular.