Which programming languages should I learn?
August 16, 2007 9:10 AM   Subscribe

Which programming languages should I learn? I'm a n00b interested in becoming a GIS analyst.

I have experience with relational databases and SQL, and some extremely basic JavaScript, but that's the extent of my supergeek knowledge. I have ZERO exposure to C, C++, C#, Ruby, Python or Java.

Most of the job ads I've seen in the GIS field require Visual Basic and .NET experience. Where should I start?

There is a tech school nearby that should offer any classes I'd need, but I'm also looking for online classes and programs that allow me to tinker and learn on my own. If I do go the DIY route, are there certifications or whatnot that I can get to prove I know what I say I know?
posted by desjardins to Computers & Internet (9 answers total) 9 users marked this as a favorite
depends on how ambitious you are. if most of the ads are for .NET stuff that is probably your best bet. there are tons of .NET jobs in every IT field, so there is some money and flexibility there. if you really want to get into the development and the science (or art) of programming, learn something like C or C++ first and go from there. nearly all popular languages these days are object oriented, so you'll need to grasp that concept regardless.

IMO, you don't need classes. Get a good book, and spend a few hours a day reading through it and doing the exercises. Start experimenting on your own, and getting involved in the communities online. In my experience, certifications are a wash. Some jobs require them and some don't. I've seen people without certifications out perform their peers and vice versa.
posted by blueplasticfish at 9:32 AM on August 16, 2007

If you're going the .NET route, I'd say learn C# over VB.NET. It will be more akin structurally to other languages that you may find useful down the road, such as Java, JavaScript, and C++. Then again, if a lot of places you're looking at want VB, you may not have a choice. I would also recommend starting with a book, rather than delving right into classes. This book is a pretty good introduction into C# and .NET 2.0. Go to the book store, peruse some books on C# and VB.NET, and you can probably get a good feel as to whether or not those resources will help you learn, or if you'd be better off in a classroom.

I would recommend against going directly for certification. My experience in studying for certification exams is that I would have found the study materials bewildering and disconnected, if I hadn't already spent a fair amount of time using the technologies. Taking cert exams may give you a feel for the important aspects of the technology, but it will not give you a good context for best practices in software development in general.

Finally, there are other good general resources for learning to be a better software developer and designer, but for your needs, I'd start with books relating to the technology you want to explore.
posted by Brak at 9:58 AM on August 16, 2007

VB is only just a language. What makes it useful is the massive library of objects you can control with it. That's by far the biggest part to learn, and since the objects, properties and methods for all that stuff are accessible from other languages as well, time spent getting productive in VB will give you a massive kickstart to being productive in the others.

Proving you know what you say you know is what interviews and probation periods are for. There are any number of drones with certificates that say they know more than they actually do, and competent hirers understand this.
posted by flabdablet at 10:18 AM on August 16, 2007

Microsoft Technical Specialist Certification in .NET (VB or C#)
Visual Studio Express (free)
Learn C# from Microsoft

Also, Amazon is your friend for books on certification. They'll give you a good grounding in the basics, then it's up to you.
posted by blue_beetle at 10:22 AM on August 16, 2007

Brak is right. If you need .NET, then learn C#. It's very very closely related to other "curly bracket programming languages." So much so, that you'll be able to get the gist of any Java, C or C++ code that you happen to come across.

VB isn't really good for anything these days.
posted by bshort at 11:07 AM on August 16, 2007

Most of the job ads I've seen in the GIS field require Visual Basic and .NET experience.

Um, how about you learn Visual Basic .NET? Yeah, C# is a marginally better language, but 90% of your learning is going to carry over between the two should you never need C#. Visual Basic isn't the most lovely of things but it's a very useful and common tool. If your industry is asking for it, learn it.

FWIW, my usual answer for people saying "I wanna be a programmer" is "learn Python".
posted by Nelson at 12:13 PM on August 16, 2007

Isn't classic VB dead, and isn't VB.net largely C# with VB-like syntax in some areas?
posted by Good Brain at 12:38 PM on August 16, 2007

Best answer: Desjardins, you don't think you can just learn on the job? From what I've seen, so many GIS jobs (even ones called "GIS analyst" and not "GIS technician") only barely require programming, and you obviously have a lot of GIS and databse skills. Eg, this job [doc] (though not exactly the most exciting GIS job ever) only wants you to know Arcview itself and a few extension packs. The GIS consulting firm we work with sometimes has about a dozen people, and most have some area of strength beyond GIS (web design, Filemaker, etc.), but they're not all programming. Anyway, you've probably thought all this through, but I had to ask.

Another random thought -- do you have a specific field you'd like to do analysis in? If so, there may be some already-developed tools worth learning to use and you could maybe get your feet wet in programming by learning to modify that application itself. Eg, if you wanted to support, say, The Nature Conservancy or other wildlife groups, it'd be worth learning about the Sites / Spexan / Marxan tool they're doing a lot with.

Anyway, sorry for all this un-asked-for advice. To be a bit more on-topic, have you come across these links yet? Book, PDF, class syllabus with potentially useful links.
posted by salvia at 9:52 AM on August 17, 2007 [1 favorite]

Response by poster: salvia, thanks for the insider perspective and the links.
posted by desjardins at 4:19 PM on August 17, 2007

« Older Hydroelectricity times N   |   seeking weird japanese fim title Newer »
This thread is closed to new comments.