I am already working as GIS Consultant in UK. Being an engineering consultancy (not IT or GIS based) company there wasn't any need of GIS development in the organisation.

But due to some recent project requirements my company is trying to promote us towards GIS development.

So my question is that, which route should I progress my career, like: Python - C# - .Net
OR Java?

Quicker advice will be much appreciated as I am in India for my 3 weeks and have an opportunity to join some basic programming courses. Recent visit to the local computer institute, C# and .Net was the main stress.

closed as primarily opinion-based by PolyGeo Oct 28 '15 at 13:57

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.


If I had to focus my efforts on a single language, than I concur with Bill in that Python is probably the shortest learning curve and would give you the most bang for your training buck. It sounds like you have short term access to some training other than Python. The three languages that you mention above (Java, C#, VB.net) can all be used to accomplish similar results. Just pick one and dig in.

Personally, I would choose VB.net because my shop has a lot of in-house expertise and I'm fond of the warm fuzzy Visual Studio IDE. Those are the kinds of considerations that you ought to take into account when you choose your weapon.


It's a hard question to answer. With regard to programming languages, it's always good to know quite a few. If I had to pick one to start with now (with the intent of working with GIS), I think Python would be my first choice as it's reasonably applicable across open-source tools (such as QGIS and others) as well as proprietary tools (such as Esri). It's also equally at home in web and non-web applications and on various operating systems.

That said, C# and .Net have broad applicability across a number of GIS platforms as well. FWIW, I'm doing a lot of C# work right now but I still think I'd start with Python if I were in your position.

Not sure if that helped or not. ;-)

  • 2
    I concur wholly. – Brad Nesom Dec 12 '10 at 3:02
  • Thanks Bill, but its really hard to find an institute who teaches python. I will keep your advice in my mind and wait for few more responses to take any step. – B.B Dec 12 '10 at 18:39
  • 2
    The beauty of learning Python is the size and depth of the open source community behind it. So many people (many of which are right here on gis.se) are always willing to help. – Chad Cooper Dec 13 '10 at 18:33
  • I agree. There are plenty of online resources as well. I've been able to pick it up without any formal coursework. Python is also more than a scripting language for novices. There's a lot of advanced work going on with it. You can do pretty much anything you need to do. – Bill Dollins Dec 13 '10 at 18:37
  • To learn Python there are a few (new?) introdutory Python courses in the Internet. Check link and link. – Alexandre Neto Dec 1 '12 at 11:21

If you don't have any prior programming experience, I'd go with Python. It's easy enough for a novice to learn pretty quickly from a 'Learning Python' book. If you're also an ArcGIS user, it's easy to get started using Python with ArcGIS.


If you want a technical answer, then yes, start with Python where you can get quick results. If you're looking for a career focused answer, go with C# or Java.

  • Thanks guy for the advice. At least I am getting an idea about which way to go. So far Python and C# is the best way forward. – B.B Dec 13 '10 at 8:06

Not the answer you're looking for? Browse other questions tagged or ask your own question.