Having some competence in programming has become a critical requirement for many geospatial positions. The majority of GIS analyst level positions require some expertise in programming and application development. So which languages should you learn for GIS programming? Python is a popular scripting language in the GIS arena, especially for those wanting to work with ESRI desktop products. Learning Python is the way to go for scripting and creating tools inside of the ArcGIS framework. C# is another recommended programming language that is relatively easy and intuitive to learn. Learning .NET will also allow you to customize ArcGIS. Using VBA is on the decline and ESRI will no longer support VBA beyond ArcGIS 10 (Users who have custom functionality built using VBA should actively plan strategies to rewrite their applications using a supported development language such as Python, VB.NET, or C# so their applications continue to be operational and supported in future releases of ArcGIS.).
Where to get started? Learning the basic concepts of programming is very important. From there, move onto a specific programming language. Below is a guide to finding online resources and books to help you learn programming.
Do you have a recommendation on learning programming for GIS?
Leave your tip or resource link in the comment section.
The Basics of Programming
How to Design Programs: An Introduction to Programming and Computing
A must read for anyone how wants to learn how to program. The September 2003 edition can be accessed free.
C++ in GIS
Object-Oriented Programming with C++
Free online courseware (lectures and tutorials) from University of Southern Queensland’s OpenCourseWare (USQ OCW).
Python and GIS
(also see Python and GIS for more resources)
Beginner’s Guide to Python
Free, online resource to learning Python.
Google’s Python Class
Free class from Google to learn Python.
Python for Software Design: How to Think Like a Computer Scientist
Book that provides a concise introduction to software design using Python. This book is the updated version of How to Think Like a Computer Scientist: Learning with Python which can be downloaded for free under the GNU Free Documentation License.
Geoprocessing with Python using Open Source GIS
Structured course outline by Chris Garrard of Utah State University with links to open source software, course slides, and data.
VBA and GIS
Getting to know ArcObjects: Programming ArcGIS with VBA
Book by Robert Burke that provides a basic overview of programming and programming ArcObjects within the Microsoft Visual Basic for Applications (VBA) development environment.
GIS Programming Makes You Lazy
Tutorial Site that provides and overview of the concepts of Objects, Classes, and Interfaces, VBA, and ArcObjects.