105. The Geospatialist's Guide to Programming Languages

105. The Geospatialist's Guide to Programming Languages

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.

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


HTML

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.


CSS

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.


Javascript

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.


Python

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.


R

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

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.


SQL

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.


PHP

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.


Python is such a good 'in between' programming language in this group. Definitely a good start for those new to programming. If you can nail down something like Java or C++, you can absolutely learn any language.

Yatender Rawat

Frontend Developer

7 年

nice explanation

Mike Miller

Lead Analyst at Miller Mountain LLC

7 年

That was fun!

Nicolas Pucino, PhD

Remote Sensing & Geoinformation Scientist

7 年

Nice how you give personalities to programming languages! It was fun reading it

要查看或添加评论,请登录

Niall Conway的更多文章

社区洞察

其他会员也浏览了