Have some competence or expertise in programming

Have some competence or expertise in programming has become an important requirement for working in the field of geospatial technology. Even specifically some GIS job requires programming expertise as one of the conditions. The majority of the GIS analyst positions require some level of expertise in the development and application programs. So what programming language should you learn to compete within the scope of geospatial technology work?

Python is a popular scripting language among GIS software, especially for those who want to work with ESRI desktop products. Learning Python scripting is a way to understand and create a variety of tools within the ArcGIS framework for ease of analysis.
C # is a programming language suggested a relatively easy and intuitive to learn. Learning. NET will also allow you to be able to make customization in ArcGIS. VBA programming language will no longer support the ArcGIS 10. For it to users who have built custom function using VBA, should plan a strategy to rewrite their applications using supported development languages ​​such as Python, VB.NET, or C # so that they are operational and applications continue to be supported in future releases of ArcGIS.
For web-based application development, learning HTML, javascript, and CSS as the basis. Java, PHP, and ASP.NET is an additional programming language for web development is more advanced.
The question is, should I start? Learning the basic concepts of programming is very important. From there, move to a specific programming language. Here is a guide to finding resources on the internet and books to help you learn programming.
The Basics
How to Design Programs: An Introduction to Programming and Computing
Required reading for beginners who want to learn programming. September 2003 edition can be accessed free of charge.
C + +
Object-Oriented Programming with C + +
Free online courseware (Lectures and tutorials) from the University of Southern Queensland's OpenCourseWare (USQ OCW).
Python (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 which provides a brief introduction to design software using Python. This book is the latest version of How to Think Like a Computer Scientist: Learning with Python which can be downloaded free of charge
Geoprocessing with Python using the Open Source GIS
Structured course outline by Chris Garrard of Utah State University with links to open source software, course slides, and data.
Getting to know ArcObjects: Programming ArcGIS with VBA
Book by Robert Burke who gives a basic overview of ArcObjects programming and programming within the Microsoft Visual Basic for Applications (VBA)
GIS Programming Makes You Lazy
The site provides a tutorial and overview the concept of Objects, Classes, and Interfaces, VBA, and ArcObjects.