I suspected it back then, and know for sure nowMrs. Houston was a nice enough lady, but she had no business teaching high-school geography.
What do I remember about her class? Well, for starters, we had to memorize and recite the name of every country in the world, along with its capital city. She did cut some slackwe could do it continent-by-continent. But I knew even then that the names of countries change and international borders shift, and I was wasting cycles on Upper Volta and Kampuchea when I could have been watching TV.
What's ironic, of course, is that geography is really important to me these days. Not only do I have the opportunity to travel around the globe, but I communicate daily with people like many of you all over the world. And when I get e-mail, for instance, it's nice to recall that, say, Zaporizhzhia is in the Ukraine, or Arapiraca is in Brazil.
But a couple of things have me wondering about the relevancy of geography these days (other than winning the occasional bar bet, of course).
- A recent presentation by a market analyst kept focusing on how software developers in, say, Atlanta responded differently to questions about development tools than developers in, say, Seattle. Bogus. It's been my experience that software developers around the world use the same tools. The Internet facilitates communication and sharing, geography be damned.
- On a recent episode of "Lou Dobbs Tonight," a pundit commented that when manufacturing jobs disappear, worker response often involves uprooting family and lifestyles to chase new jobs. But to some extent, software development is immune to this phenomenon, since distributed workforcesthanks again to the Internetlet programmers live in one end of the country and work in another. The flip side, of course, is that the same Internet lets programming jobs move from the U.S. to India, India to China, China to Russia, Russia to Bulgaria, and so on. My point is that geography doesn't matter with manybut admittedly not allprogramming jobs.
On another subject, Tiobe (www.tiobe.com) has declared Python the "programming language of the year" thanks to a 2.04 percent jump in popularity, as measured by the Tiobe index. Tiobe offers no reason why, but points out that Python surpassed Perl for the first time, suggesting Python has become the "de facto" glue language. The upcoming release of Python 3 ought to give Python another shot in the arm.
The folks at Tiobe also spotted a couple of other interesting trends. Languages without automated garbage collectionC and C++, for instanceare losing ground. And scripting languages are becoming more popular, with Ruby and Lua leading the way. However, Groovy and Factor continue to come on strong. Tiobe's Paul Jansen suspects that C, C++, and Perl will continue to slide in 2008, while Java and C# will eventually be the two most popular languages. As for languages to keep your eyes on in the coming months, watch ActionScript and Groovy.
And finally, congratulations to Edmund Clarke, E. Allen Emerson, and Joseph Sifakis, recipients of the ACM's 2007 Turing Award. They received the awardand will share the $250,000 prizefor their work on model checking, an automated method for finding design errors. Model checking is a type of formal verification that analyzes the logic underlying a design by considering every possible state of design and determines if it is consistent with the designer's specifications. Numerous model-checking systems have been implemented over the years, like that described by Gerard Holzmann in "Spin Model Checking" (www.ddj.com/184410300).
While much of their early work on model checking was done at Carnegie Mellon University, it's worth noting that, these days, Clarke resides in Pennsylvania, Emerson in Texas, and Sifakis in Switzerland. Like I said Mrs. Houston, does geography really matter anymore?