programming
#1
Posted 23 July 2009 - 03:49 AM
I am a regular visitor and member of this forum. I used a lot by this discussion forum . Now I want your help again.
I am a GIS expert but new for programming. I want to learn programming language that is more relevant to my job. Please could you help me which language to select among the following:
C sharp
C++
Visual basic.net
Thank you in advance
Yenenesh Abebe
#2
Posted 23 July 2009 - 03:59 AM
C sharp
C++
Visual basic.net
This is probabely not going to help you much, but I think you should add Python to your list as well
Your question is most easily answered by another one: which GIS application do you currently use and what language(s) does that offer for scripting. This recent discussion might be a good one to read through.
Red Geographics
Email: hans@redgeographics.com / Twitter: @redgeographics
#3
Posted 23 July 2009 - 06:44 AM
I think I remember that you're working with Arc, so if you want to automate processes, Python could be a good scripting language to learn. If what you want to do is create custom tools for ArcGIS, ArcObject with VBA is really easy and fast to learn, but for what I have heard (can't remember my source though), C++ applications are faster within Arc, but maybe a little less user friendly, since the VBA macro editor is built-in in ArcGIS (alt + F11 will lead you straight to it)
Francois Goulet
---
www.fgcartographix.com :: blog.fgcartographix.com :: http://twitter.com/fgcartographix
#4
Posted 23 July 2009 - 08:41 AM
You should also ask yourself what you want to do with the programming... Geoprocessing? Customization?
I think I remember that you're working with Arc, so if you want to automate processes, Python could be a good scripting language to learn. If what you want to do is create custom tools for ArcGIS, ArcObject with VBA is really easy and fast to learn, but for what I have heard (can't remember my source though), C++ applications are faster within Arc, but maybe a little less user friendly, since the VBA macro editor is built-in in ArcGIS (alt + F11 will lead you straight to it)
Thank you Francois,
I want to do some custumization, so I am going to use VB. You said that VBA macro editor is built in ArcGIS and (alt+F11)will lead straight to it. I press alt + F11 while ArcMap is opened but I couldnot go straight to VBA macro editor. Please could you tell me the steps to access the built in editor when Arc Catalog is open , ArcMap is open or both are closed .
Many thanks,
Yenenesh
#5
Posted 23 July 2009 - 08:45 AM
My advice, mainly pertinent to ESRI software.
Best regards,
-Cory
C#
-------------------
Purpose - Great for developing developing any kind of windows desktop tools and applications. Of course this includes ESRI ArcGIS Desktop tools/apps.
Is it hard to learn? - If you are new to programming, then learning C# can be difficult.
Outlook - The effort to learn C# will be well worth it. Since C# is an object oriented programming language, along the way you'll be forced to learn the concepts behind this, and you'll be well positioned for future trends in this area (e.g. new languages, concepts, etc.). C# is widely used to develop all type of Windows applications, not just GIS apps.
Python
-------------------
Purpose - Mainly used within ESRI software for geoprocessing, but with each ESRI release, you can do more with it.
Difficulty to learn - Like any new language, you'll have to the language syntax and the development environment. Python is a scripting language, so you should be able learn faster than say C#.
Outlook - As mentioned, ESRI will allows you to do more and more with Python. I am told also that Python is widely (?) used for scientific programming outside GIS. It isn't easy (or possible?) to develop windows interfaces with PY, so PY is mainly used for batch geoprocessing.
(My personal preference is C#. There I can do both windows applications/tools as well as geoprocessing.)
Other languages
-------------------
-If you plan to do ESRI internet/web GIS development, then you should look the Adobe Flex and Microsoft Silverlight technologies.
-C++ will be even more difficult to learn than C#. The above poster was correct, some things can run faster in C++ than in C#. In most cases the difference will not be noticeable. For heavy-duty processing, or performance-critical code (such as code which runs each time you refresh a map on screen), you might notice a difference.
-VBA - you could start here if you eventually want to learn C#. A lot of ESRI developer documentation is still in VBA, but in a few years ESRI VBA support/help will slowly go away, replaced by Python (at least that's what I understand).
#6
Posted 23 July 2009 - 09:27 AM
-C++ will be even more difficult to learn than C#. The above poster was correct, some things can run faster in C++ than in C#. In most cases the difference will not be noticeable. For heavy-duty processing, or performance-critical code (such as code which runs each time you refresh a map on screen), you might notice a difference.
-VBA - you could start here if you eventually want to learn C#. A lot of ESRI developer documentation is still in VBA, but in a few years ESRI VBA support/help will slowly go away, replaced by Python (at least that's what I understand).
Thanks for the clarification. I'm not a programmer... I learned ArcObject and VBA this spring and find it very useful, but I didn't know that it will not be supporter in the future... That's a bummer!!
Yenenesh, if Alt-F11 doesn't work, go to Tools > Macro > Visual Basic Editor from ArcMap.
Francois Goulet
---
www.fgcartographix.com :: blog.fgcartographix.com :: http://twitter.com/fgcartographix
#7
Posted 23 July 2009 - 09:47 AM
I didn't mean to sound the alarm so loudly. VBA will be around in ESRI software for several years to come. Also, you are right to say that you can do a lot with it very quickly.I learned ArcObject and VBA this spring and find it very useful, but I didn't know that it will not be supporter in the future... That's a bummer!!
I'd put it this way. If you learned ArcObjects using VBA, and you're keen to learn more, then the ESRI developer help is setup pretty well to make the jump to C#.
To do C# development you also need Visual Studio from Microsoft. I think the Express version is free or very low cost: http://www.microsoft...xpress/vcsharp/
-Cory
#8
Posted 24 July 2009 - 09:04 AM
-C++ will be even more difficult to learn than C#. The above poster was correct, some things can run faster in C++ than in C#. In most cases the difference will not be noticeable. For heavy-duty processing, or performance-critical code (such as code which runs each time you refresh a map on screen), you might notice a difference.
-VBA - you could start here if you eventually want to learn C#. A lot of ESRI developer documentation is still in VBA, but in a few years ESRI VBA support/help will slowly go away, replaced by Python (at least that's what I understand).
Thanks for the clarification. I'm not a programmer... I learned ArcObject and VBA this spring and find it very useful, but I didn't know that it will not be supporter in the future... That's a bummer!!
Yenenesh, if Alt-F11 doesn't work, go to Tools > Macro > Visual Basic Editor from ArcMap.
Thank you francois
Visual basic editor and macro are not active. How can I activate them?
#9
Posted 24 July 2009 - 02:36 PM
Thank you francois
Visual basic editor and macro are not active. How can I activate them?
I'm not sure, but it could be for security reasons... Go to Tools > Custumize > Options > Change VBA Security and change the security to Low (or medium) if it's not already the case. If it's not the problem, you better rechange it to its default value.
Other than that, I can't see any reasons...
Francois Goulet
---
www.fgcartographix.com :: blog.fgcartographix.com :: http://twitter.com/fgcartographix
#10
Posted 25 July 2009 - 06:17 PM
#11
Posted 27 July 2009 - 01:49 PM
VBA + Arc Objects combination is good as most experienced programmers develop their proof of concept applications using VBA. This approach helps them in identifying Arc Objects Classes which could be used in the final development.
ESRI is helping developers to learn how to migrate from VB6 or VBA to .Net.
The word is out there that ESRI is departing from VBA after 9.4 and will be using a language from .Net framework but off course they will support it for some time. The following 2 links will confirm this.
http://forums.esri.c...p...93&t=267754
http://events.esri.c...questionId=2607
So it’s worth learning .Net framework and C#.
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users


Sign In
Create Account

Ethiopia
Back to top
Netherlands
Canada
United States
Sweden








