At 10:13 AM 12/12/2003 -0800, Dimitri Rotow wrote: >IMHO if you are going to take the time >to learn a language it would be wisest to learn a Microsoft language. >Microsoft languages are used in a vast array of modern applications, so that >if you learn a Microsoft language your expertise is valuable in many more >circumstances than it would be with a proprietary language that works only >with a single, aging application. ESRI appears to agree, given the direction >their newer products are taking.
I have to agree in part, since Dimitri has his facts right as usual, but I would like to clarify an important point that his post and many others seem 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 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 familiar with MapInfo's MapBasic or Manifold's version of VBA scripting, but am confident that users face similar hurdles to learning.
By far the worst attempts I have seen made to program any GIS come from people who either (a) do not know anything about programming or (b) know only the rudiments of Basic (it's like the proverbial hammer: once you've learned Basic, you try to do everything the Basic way, which--being a least common denominator among computer languages--is usually bad) or (c) know nothing about GIS. The common thread here is that these are the people who _only_ learned the GIS language, but never picked up how to use it appropriately or well.
IMHO, the intellectual efforts that pay off both immediately and during a career of using computers (which is part of the GIS profession) are those that (a) focus on learning good programming and software engineering principles such as data structures, algorithms, writing reusable code, etc.: and (b) focus on understanding how GIS-related objects 'work': this can include database design principles, computer graphics, map projections, network algorithms, map algebra, etc., etc. Notice I said nothing here about learning the details of any one particular language, because that teaches little of permanent value.
From this point of view, very little is wasted when one puts effort into learning Avenue, ESRI's VBA, Manifold's Basic, or whatever, because learning at the more general, abstract level I advocate translates fairly well from one product to another. After all, although the long-term future of any software product is uncertain, one thing is guaranteed: the language you will be using to interact with a GIS when you retire will bear very little resemblance to the language you learned at the beginning of your career. ALL applications age. Be prepared to learn and change.
Cheers, Bill Huber Quantitative Decisions www.quantdec.com
_______________________________________________ gislist mailing list gislist@lists.geocomm.com http://lists.geocomm.com/mailman/listinfo/gislist
_________________________________ This list is brought to you by The GeoCommunity http://www.geocomm.com/
Get Access to the latest GIS & Geospatial Industry RFPs and bids http://www.geobids.com
|