What is the best route or place to get started with ArcObjects if one is not a developer and not aiming to become a developer?

I've been using gis professionally for a long time, almost two decades, arcinfo/arcgis for most of that; I'm pretty good. I'm learning software development, and even have a modestly successful small python application used in a public project; I'm not good! I don't want to become a full fledged software developer but I keep running into things I just can't do without programming (example). In the arcgis world this puts me pretty squarely in the python camp, which is fine by me since I like python, however python does not have straightforward access to ArcObjects. (Python and ArcObjects is possible, but it's an unsupported route. This question is about following a beaten path.)

I need to get started, but where? Arcgis help says to get started with the ESRI Developer Network but $1500/yr is definitely not in my budget, and sounds like using a sledge hammer to swat mosquitos. And which language .NET, Visual Basic, or Visual C++?

UPDATE: Thank you everyone for the wonderful answers. In light of them I realise I unecessarily narrowed the scope of my question be pre-supposing "ArcObjects" is the direction I need to go in. A more open ended formulation is more along the lines of:

I keep running into problems I just can't solve with arcgis and python alone. What else can I learn/use to solve problems like X? I've no interest or intention of becoming a software developer. I just need to do a couple things which aren't exposed to the arcgis python modules.

  • this is a recycled question from Stack Overflow, (ref)which for whatever reason they've decided not to migrate here. So I'm asking again to get more comprehensive answer from the people in a better position to help. Apr 27, 2011 at 15:05
  • What software do you have at your disposal? ArcGIS I have to assume. Visual Studio 2008/2010 Pro/Express? Apr 27, 2011 at 15:10
  • I have ArcGIS 9 & 10. I haven't selected any development software. Apr 27, 2011 at 15:38

10 Answers 10


VB.Net Add-Ins for sure. The ESRI walk-troughs will get you on the way.

I've been using VB6 and VBA for years and personally I find VB fairly intuitive. Of course VB .Net is an entirely different animal but the add-in structure is relatively simple to learn and deploy. I just took a technical workshop in ArcPy at an ESRI conference and I have to say that I will be sticking with the VB.Net add-ins. I was crying rivers when it become apparent that VBA will be replaced by add-ins but after breaching the learning curve I must say that it is the single best improvement to ArcGIS 10. There is nothing I cannot do with this setup. I have custom tools all over the place. The things people complain about in ArcGIS I simply customize to my liking. Writing a tool and distributing it in an office environment is a breeze...

All you need is the free Visual Studio Express and the SDK installed.

Here is the walk-trough: http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/Building_add_ins_for_ArcGIS_Desktop/0001000000w2000000/

As for ArcObjects, there are so many examples and code snippets that you can add directly into Visual Studio that you might just be able to learn the basics from the examples.

In version 8 ESRI actually published ArcObjects books; 2 huge volumes that were a great reference and included many examples for C and VB. All can now be found online but I wish ESRI would again publish these.

  • 3
    Agreed on all points, buuuuttt, I would say go C# if you don't have prior VBA/VB6 experience. Apr 27, 2011 at 18:11
  • Yes I am partial to VB. If I was a developer and used various platforms I would for sure go with C# but I find (and so is the popular opinion) VB clearer visually and easier comprehend and as a result better suited for a beginner. Apr 28, 2011 at 16:47
  • 1
    +1 on going with C#. It's clearly the favorite .NET language by leaders in the industry. I have used both VB and C# as beginner and actually think it's easier to learn and understand. Also it closer to other C-based languages like JavaScript and Java.
    – wilbev
    Apr 29, 2011 at 4:51

Here's a shameless plug for a article I wrote last year for ArcUser on getting started with ArcObjects in .NET.


If you don't want to be a serious developer then I would question your move in stepping into the world of programming. The issue here is that to write code you should understand what is happening under the hood. Otherwise you could do something to your data, application and even your computer that you had no intention of doing, just from a lack of understanding (yes you could do in Python too but .NET is a step further in making mistakes a bit easier to comimt).

In terms of your question about field aliases (I'm not sure if I have understood it correctly) were you asking to change the aliases of fields in a feature class? If so then you could use featureclass_to_featureclass with field mapping. Yes it creates another feature class but you could just have an output area to copy data and change aliases whilst it's doing it.

As Steve suggests ArcPy may also answer your requirements in ArcGIS 10 with the new access to layer properties in the map.


Looking at the online resources for Esri I couldn't help but notice how ArcObjects doesn't have its share of rich and up to date resources as other ArcGIS technologies.

That is the reason I started the IGeometry Youtube channel to discuss ArcObjects, the series, which I called .NET Programming with ArcObjects, has reached its 14th episode so far and a lot of GIS folks are really benefiting from it.

The series are based on a fictional project that I created called "Bestaurants", where you have to create an application on top of ArcMap to search, manage, add, delete restaurants. With each episode we introduce a new interface and learn about the fine grained objects in ArcObjects in a fun way!

I post videos weekly, whenever the chance permits, as this is something I do on my own time.

Feel free to check it out now, and share it with any GIS geek you may know. Suggestions are always welcomed to improve the series.

Who knows, maybe once we finish this, I might start another series.



You don't need an EDN subscription to develop with ArcObjects, nor for accessing the SDK documentation.


  • But you DO need EDN to access the SDK itself, do you not? And, let's be honest, pulling the code out of your behind is not exactly an option for someone who is not interested in the nit and grit of such development.
    – Nathanus
    Apr 27, 2011 at 16:31
  • 2
    No, it's on the install CD.
    – blah238
    Apr 27, 2011 at 17:02
  • It ships with every version of the product?
    – Nathanus
    Apr 27, 2011 at 17:04
  • Just the major releases I believe. The samples are in the online help as well, although the .NET one doesn't seem to have a list of them, the Java one does: help.arcgis.com/en/sdk/10.0/java_ao_adf/conceptualHelp/engine/… The help file installed with the SDK is much more handy though.
    – blah238
    Apr 27, 2011 at 17:14
  • 4
    If you have a copy of ArcGIS Desktop then you do not need an EDN subscription to develop add-ins. An EDN subscription is simply a way to give developers a copy of just about everything in the ArcGIS stack without burning much more expensive production licenses. EDN is also good for developing if you own no production licenses at all. You do not need EDN to code and develop with the ArcObjects API.
    – JimBarry
    Apr 28, 2011 at 2:56

I posted a similar question about the best ArcObjects resources:

ArcObjects Resources

The code snippets provided by the ArcGIS Resource Center are very helpful, and offered in C# and VB.NET.


I would suggest learning arc.py if you don't already know arcobjects since esri is moving away from vba arcobjects as a scripting language. Otherwise you'd want visual studio and c# to start writing arc objects. This is a great book. http://www.amazon.com/Exploring-ArcObjects-Two-Michael-Zeiler/dp/1589480007


A new book on ArcObjects is available now (covers 10.1 as well).

Beginning ArcGIS for Desktop Development using .NET


The Pennsylvania State University recently released for free acces its GIS Application Development course.
It teaches basics of ArcObjects in VB.NET


Not a real answer as you have already stated you don't want to be a developer.
I have posted here for the formatting advantage over comments.
This blog just came and is quite extensive in giving direction to the development community concerning arcgis server.
It outlines the intent to move away from ADF and encourages embracing web services.
I hope it helps in some slight way your decision.

ESRI Blogs - ArcGISServer

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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