Dr. Dobb's Journal - April 2008 - (Page 6) d04edit_p2as 2/13/08 8:01 AM Page 6 Hmmmm by Jonathan Erickson Does Geography Really Matter Anymore? I SUSPECTED IT BACK THEN, and know for sure now—Mrs. 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 slack—we could do it continent-bycontinent. 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 workforces— thanks again to the Internet—let 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 many—but admittedly not all—programming 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 collection—C and C++, for instance—are 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 award— and will share the $250,000 prize—for 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? Next Month: Programming languages are our focus in May. Jonathan Erickson Editor-in-Chief jerickson@ddj.com 6 Dr. Dobb’s Journal l www.ddj.com l April 2008 http://www.ddj.com/184410300 http://www.tiobe.com http://www.ddj.com
Table of Contents Feed for the Digital Edition of Dr. Dobb's Journal - April 2008 Dr. Dobb's Journal - April 2008 Contents Hmmmm Alia Vox Developer Diaries Dr. Dobb's Excellence in Programming Award Conversations Fast String Search on Multicore Processors The Byzantine Generals Problem Optimizing Math-Intensive Applications with Fixed-Point Arithmetic Random Numbers in a Range Using Generic Programming The Agile Edge Effective Concurrency Swaine's Flames Dr. Dobb's Journal - April 2008 Dr. Dobb's Journal - April 2008 - Dr. Dobb's Journal - April 2008 (Page Cover1) Dr. Dobb's Journal - April 2008 - Dr. Dobb's Journal - April 2008 (Page Cover2) Dr. Dobb's Journal - April 2008 - Dr. Dobb's Journal - April 2008 (Page 1) Dr. Dobb's Journal - April 2008 - Dr. Dobb's Journal - April 2008 (Page 2) Dr. Dobb's Journal - April 2008 - Dr. Dobb's Journal - April 2008 (Page 3) Dr. Dobb's Journal - April 2008 - Contents (Page 4) Dr. Dobb's Journal - April 2008 - Contents (Page 5) Dr. Dobb's Journal - April 2008 - Hmmmm (Page 6) Dr. Dobb's Journal - April 2008 - Hmmmm (Page 7) Dr. Dobb's Journal - April 2008 - Hmmmm (Page 8) Dr. Dobb's Journal - April 2008 - Hmmmm (Page 9) Dr. Dobb's Journal - April 2008 - Alia Vox (Page 10) Dr. Dobb's Journal - April 2008 - Alia Vox (Page 11) Dr. Dobb's Journal - April 2008 - Developer Diaries (Page 12) Dr. Dobb's Journal - April 2008 - Developer Diaries (Page 13) Dr. Dobb's Journal - April 2008 - Developer Diaries (Page 14) Dr. Dobb's Journal - April 2008 - Developer Diaries (Page 15) Dr. Dobb's Journal - April 2008 - Dr. Dobb's Excellence in Programming Award (Page 16) Dr. Dobb's Journal - April 2008 - Dr. Dobb's Excellence in Programming Award (Page 17) Dr. Dobb's Journal - April 2008 - Conversations (Page 18) Dr. Dobb's Journal - April 2008 - Conversations (Page 19) Dr. Dobb's Journal - April 2008 - Fast String Search on Multicore Processors (Page 20) Dr. Dobb's Journal - April 2008 - Fast String Search on Multicore Processors (Page 21) Dr. Dobb's Journal - April 2008 - Fast String Search on Multicore Processors (Page 22) Dr. Dobb's Journal - April 2008 - Fast String Search on Multicore Processors (Page 23) Dr. Dobb's Journal - April 2008 - Fast String Search on Multicore Processors (Page 24) Dr. Dobb's Journal - April 2008 - Fast String Search on Multicore Processors (Page 25) Dr. Dobb's Journal - April 2008 - Fast String Search on Multicore Processors (Page 26) Dr. Dobb's Journal - April 2008 - Fast String Search on Multicore Processors (Page 27) Dr. Dobb's Journal - April 2008 - Fast String Search on Multicore Processors (Page 28) Dr. Dobb's Journal - April 2008 - Fast String Search on Multicore Processors (Page 29) Dr. Dobb's Journal - April 2008 - The Byzantine Generals Problem (Page 30) Dr. Dobb's Journal - April 2008 - The Byzantine Generals Problem (Page 31) Dr. Dobb's Journal - April 2008 - The Byzantine Generals Problem (Page 32) Dr. Dobb's Journal - April 2008 - The Byzantine Generals Problem (Page 33) Dr. Dobb's Journal - April 2008 - The Byzantine Generals Problem (Page 34) Dr. Dobb's Journal - April 2008 - The Byzantine Generals Problem (Page 35) Dr. Dobb's Journal - April 2008 - The Byzantine Generals Problem (Page 36) Dr. Dobb's Journal - April 2008 - The Byzantine Generals Problem (Page 37) Dr. Dobb's Journal - April 2008 - Optimizing Math-Intensive Applications with Fixed-Point Arithmetic (Page 38) Dr. Dobb's Journal - April 2008 - Optimizing Math-Intensive Applications with Fixed-Point Arithmetic (Page 39) Dr. Dobb's Journal - April 2008 - Optimizing Math-Intensive Applications with Fixed-Point Arithmetic (Page 40) Dr. Dobb's Journal - April 2008 - Optimizing Math-Intensive Applications with Fixed-Point Arithmetic (Page 41) Dr. Dobb's Journal - April 2008 - Optimizing Math-Intensive Applications with Fixed-Point Arithmetic (Page 42) Dr. Dobb's Journal - April 2008 - Optimizing Math-Intensive Applications with Fixed-Point Arithmetic (Page 43) Dr. Dobb's Journal - April 2008 - Random Numbers in a Range Using Generic Programming (Page 44) Dr. Dobb's Journal - April 2008 - Random Numbers in a Range Using Generic Programming (Page 45) Dr. Dobb's Journal - April 2008 - Random Numbers in a Range Using Generic Programming (Page 46) Dr. Dobb's Journal - April 2008 - Random Numbers in a Range Using Generic Programming (Page 47) Dr. Dobb's Journal - April 2008 - Random Numbers in a Range Using Generic Programming (Page 48) Dr. Dobb's Journal - April 2008 - The Agile Edge (Page 49) Dr. Dobb's Journal - April 2008 - The Agile Edge (Page 50) Dr. Dobb's Journal - April 2008 - The Agile Edge (Page 51) Dr. Dobb's Journal - April 2008 - Effective Concurrency (Page 52) Dr. Dobb's Journal - April 2008 - Effective Concurrency (Page 53) Dr. Dobb's Journal - April 2008 - Effective Concurrency (Page 54) Dr. Dobb's Journal - April 2008 - Effective Concurrency (Page 55) Dr. Dobb's Journal - April 2008 - Swaine's Flames (Page 56) Dr. Dobb's Journal - April 2008 - Swaine's Flames (Page Cover3) Dr. Dobb's Journal - April 2008 - Swaine's Flames (Page Cover4)
For optimal viewing of this digital publication, please enable JavaScript and then refresh the page. If you would like to try to load the digital publication without using Flash Player detection, please click here.