|
|
| GeoCommunity Mailing List |
| |
| Mailing List Archives |
| Subject: | RE: [gislist] Learning a GIS language (was: donut polygons - SUM) |
| Date: |
12/12/2003 02:55:00 PM |
| From: |
Dimitri Rotow |
|
|
I agree in part and disagree in part. Some comments:
> to overlook: the work lies not with learning the language, but with > learning its use. Anybody can learn Basic or Avenue in between a few > minutes and few hours, depending on their programming background. > However, > if all you know is Basic or Avenue, then you are in for a shock when you > try to use it in a GIS application. To use Avenue expertly, you
This is a very true and well-made point, that learning a language is not the same as learning how to manipulate a particular application's API. However, I believe it perhaps somewhat understates the effort required to learn a language give that learning a language is really as much about learning how to manipulate the system resources available to that language as it is about the elementary syntax and other mechanicals of the language.
I don't think that the average person can learn, say, Visual Basic or Visual C++ or even Visual Basic Scripting Edition in only a few hours. I agree it is faster if they have previous programming background but there are a lot of nuances involved in Microsoft languages just in matters of syntax and other mechanicals.
Beyond that, there is an immense world of standard Microsoft resources and third party resources that are routinely used. It can take weeks or months of effort even for experienced programmers to become aquainted with these and to learn to leverage them well. Such resources are important, because they free you from the need to re-invent the wheel (part of the appeal of Microsoft languages).
Beyond regular use, expert use of a language will involve even a wider range of issues. See, for example, the Microsoft guidelines for class library developers published recently for work with the .NET framework at
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/ht ml/cpconNETFrameworkDesignGuidelines.asp
The issues discussed in the topics in the above link are highly Microsoft specific and are not the sort of thing that are readily translatable to, say, MapInfo's MapBasic or to Avenue. But they are very valuable within the Microsoft environment and are worth mastering for the benefits they bring.
> need to be > familiar with several thousand 'requests' made to over 900 > classes. To use > ESRI's VBA for ArcGIS expertly, you need to be familiar with many > thousands > of requests made to over 1200 classes. (Several years ago Jack > Dangermond > touted it, with some kind of perverse pride, as "the largest and most > complex COM system ever built according to Microsoft".) I am not
I think there might be some puffery in play with that quote as there are other applications (including products from Microsoft itself) that would appear to be substantially larger and more complex. :-) Given that the "8" series of ESRI products were the very first pure Microsoft things created by the ESRI development team (according to the head of the ESRI team speaking at a Microsoft presentation a few years ago... It was also stated that learning the Microsoft development environment, becoming familiar with Visual Studio, MFC and so on were very difficult for the ESRI development team...), it might be more likely that ArcGIS was not written with the best understanding of how to expertly utilize Microsoft resources.
This helps prove my point that generic experience with languages might not be as important as experience with a specific language within a specific developmental ecosystem. It is true that given enough time and funding the first major application written by a development team that is new to the Microsoft world might well end up being a workmanlike effort (as ArcGIS appears to be), but it will not usually be remotely as good as their fourth or fifth major application, at which point developers will achieve a more forehanded visualization of what is really possible and the very best way to achieve it.
Expertise in the specifics of Microsoft development environments and the massive infrastructure available to a Microsoft developer is something that can only be achieved though investment in Microsoft development skills. Those skills are generally not portable, not even within similar languages (like C++, say, in SUN operating systems) because they depend upon familiarity with many nuances specific to the Microsoft environment. If you spend time investing into Avenue or MapBasic, you are falling behind the learning curve within the Microsoft world as compared to someone else who invests the same time into mastering Microsoft languages.
> familiar > with MapInfo's MapBasic or Manifold's version of VBA scripting, but am > confident that users face similar hurdles to learning. >
It is important not to assume that "Basic" means a Microsoft standard language. MapBasic,
|
|

Sponsored by:

For information regarding advertising rates Click Here!
|