Dr. Dobb's Journal - October 2008 - (Page 16) D10lead_p2ds.qxp 8/15/08 10:31 AM Page 16 Strategic Vision by Michael Swaine Is Your Next Language the Federal minimum wage. Government is our favorite spectator sport. IN JULY, citing a budget shortfall, the Governor of California ordered the salaries of 170,000 State employees to be cut to COBOL? Cobol, The First 50 Years In case you need to be reintroduced… Along with Fortran and Lisp, Cobol was one of the three seminal programming languages created in the 1950s. Developed in 1959 by a team led by Grace Hopper and approved in January 1960, Cobol is characterized by a verbose English-like syntax and a strict hierarchical program structure. The language standards specify the handling of decimal currency data more fully than any other language. Cobol was designed for business data processing and remains the quintessential language for that purpose. (Cobol is an acronym for “COmmon Business Oriented Language.”) The Gartner Group has “maturity-rated” all programming languages as: • • • • Adult (actively evolving) Mature (active, in general use) Aging (think Pascal) Elderly (end-of-life languages like VB6). Not so fast, said the State Controller. Because California’s payroll systems are written in antiquated Cobol code, it would take six months to implement the change and nine months to restore salaries later. That’s if we had the Cobol programmers to do the job, which we don’t, because you fired them last week, Governor. And we can’t hire them back because nobody’s going to take a pay cut from Social Security to program Cobol for minimum wage. Blame Cobol It may seem surprising that it takes any programming at all to implement a salary change in a payroll system, but a commenter on Slashdot said it was at least plausible, and that’s good enough for us. What is not surprising is that Cobol would get blamed. Cobol is the most reviled programming language ever created. On Dr. Dobb’s CodeTalk blog this summer, Walter Bright said, “Programming languages are developed by programmers for programmers. This is as it should be. The last language developed for management was Cobol…I’ve never heard a nice word said about it.” There have been plenty of the other “kind” words spoken about this nearly 50-year-old language, though. The Turing Awardwinning computer scientist Edsger Dijkstra famously said, “The use of Cobol cripples the mind; its teaching should, therefore, be regarded as a criminal offense.” Perl creator Larry Wall made his loathing more specific: “I knew I’d hate Cobol the moment I saw they’d used perform instead of do.” Pulling no punches, the Jargon File informs us that Cobol is “a weak, verbose, and flabby language used by card wallopers to do boring mindless things on dinosaur mainframes,” adding that Cobol is “synonymous with evil.” And it’s no fun, either. “As a programming tool,” Charles Petzold once said, “it has roughly the sex appeal of a wrench.” Small wonder Cobol has few ardent enthusiasts. Pretty uncomfortable to be a Cobol programmer today, then, especially since “Cobol programmers are destined to code Cobol for the rest of their lives,” as Bertrand Meyer has said, “and thereafter.” So if all that is true, isn’t it strange that Cobol: 1) is the most widely used language in the 21st century; 2) is critical to some of the hottest areas of software development today; and 3) may be the next language you’ll be learning? 16 Dr. Dobb’s Journal l www.ddj.com l October 2008 By Gartner’s definitions, current Cobol variants are not, as you might think, Elderly, or even Aging, but merely Mature. Hopper handed over governance of the language to ANSI, which helped its wide adoption. The current Cobol standard is Cobol2002, supported by, for example, IBM’s Enterprise Cobol (www-306 .ibm.com/software/awdtools/cobol/). Cobol2008 is in the works. A Quarter-Trillion Lines of Code To say that Cobol is widespread is an understatement. In 1997 the Gartner Group estimated that there were 240 billion lines of Cobol code in active apps. Something like 90 percent of financial transactions are processed by Cobol code, and 75 percent of all business http://www.306.ibm.com/software/awdtools/cobol/ http://www.306.ibm.com/software/awdtools/cobol/ http://www.ddj.com
Table of Contents Feed for the Digital Edition of Dr. Dobb's Journal - October 2008 Dr. Dobb's Journal - October 2008 Contents Friday Night Fish Fry Alia Vox Developer Diaries Developer’s Notebook Is Your Next Language COBOL? Conversations Safe Coding Practices Code Signing in Adobe AIR OpenID Single Sign-On The Book Cipher Algorithm Indexing and Searching Image files Extending Continuous Integration Into ALM The Agile Edge Effective Concurrency Swaine’s Flames Dr. Dobb's Journal - October 2008 Dr. Dobb's Journal - October 2008 - (Page Bellyband1) Dr. Dobb's Journal - October 2008 - (Page Bellyband2) Dr. Dobb's Journal - October 2008 - Dr. Dobb's Journal - October 2008 (Page Cover1) Dr. Dobb's Journal - October 2008 - Dr. Dobb's Journal - October 2008 (Page Cover2) Dr. Dobb's Journal - October 2008 - Dr. Dobb's Journal - October 2008 (Page 1) Dr. Dobb's Journal - October 2008 - Dr. Dobb's Journal - October 2008 (Page 2) Dr. Dobb's Journal - October 2008 - Dr. Dobb's Journal - October 2008 (Page 3) Dr. Dobb's Journal - October 2008 - Contents (Page 4) Dr. Dobb's Journal - October 2008 - Contents (Page 5) Dr. Dobb's Journal - October 2008 - Friday Night Fish Fry (Page 6) Dr. Dobb's Journal - October 2008 - Friday Night Fish Fry (Page 7) Dr. Dobb's Journal - October 2008 - Friday Night Fish Fry (Page 8) Dr. Dobb's Journal - October 2008 - Friday Night Fish Fry (Page 9) Dr. Dobb's Journal - October 2008 - Alia Vox (Page 10) Dr. Dobb's Journal - October 2008 - Alia Vox (Page 11) Dr. Dobb's Journal - October 2008 - Developer Diaries (Page 12) Dr. Dobb's Journal - October 2008 - Developer Diaries (Page 13) Dr. Dobb's Journal - October 2008 - Developer’s Notebook (Page 14) Dr. Dobb's Journal - October 2008 - Developer’s Notebook (Page 15) Dr. Dobb's Journal - October 2008 - Is Your Next Language COBOL? (Page 16) Dr. Dobb's Journal - October 2008 - Is Your Next Language COBOL? (Page 17) Dr. Dobb's Journal - October 2008 - Is Your Next Language COBOL? (Page 18) Dr. Dobb's Journal - October 2008 - Is Your Next Language COBOL? (Page 19) Dr. Dobb's Journal - October 2008 - Conversations (Page 20) Dr. Dobb's Journal - October 2008 - Conversations (Page 21) Dr. Dobb's Journal - October 2008 - Conversations (Page 22) Dr. Dobb's Journal - October 2008 - Conversations (Page 23) Dr. Dobb's Journal - October 2008 - Safe Coding Practices (Page 24) Dr. Dobb's Journal - October 2008 - Safe Coding Practices (Page 25) Dr. Dobb's Journal - October 2008 - Safe Coding Practices (Page 26) Dr. Dobb's Journal - October 2008 - Safe Coding Practices (Page 27) Dr. Dobb's Journal - October 2008 - Safe Coding Practices (Page 28) Dr. Dobb's Journal - October 2008 - Safe Coding Practices (Page 29) Dr. Dobb's Journal - October 2008 - Code Signing in Adobe AIR (Page 30) Dr. Dobb's Journal - October 2008 - Code Signing in Adobe AIR (Page 31) Dr. Dobb's Journal - October 2008 - Code Signing in Adobe AIR (Page 32) Dr. Dobb's Journal - October 2008 - Code Signing in Adobe AIR (Page 33) Dr. Dobb's Journal - October 2008 - Code Signing in Adobe AIR (Page 34) Dr. Dobb's Journal - October 2008 - Code Signing in Adobe AIR (Page 35) Dr. Dobb's Journal - October 2008 - Code Signing in Adobe AIR (Page 36) Dr. Dobb's Journal - October 2008 - Code Signing in Adobe AIR (Page 37) Dr. Dobb's Journal - October 2008 - Code Signing in Adobe AIR (Page 38) Dr. Dobb's Journal - October 2008 - Code Signing in Adobe AIR (Page 39) Dr. Dobb's Journal - October 2008 - OpenID Single Sign-On (Page 40) Dr. Dobb's Journal - October 2008 - OpenID Single Sign-On (Page 41) Dr. Dobb's Journal - October 2008 - OpenID Single Sign-On (Page 42) Dr. Dobb's Journal - October 2008 - OpenID Single Sign-On (Page 43) Dr. Dobb's Journal - October 2008 - OpenID Single Sign-On (Page 44) Dr. Dobb's Journal - October 2008 - OpenID Single Sign-On (Page 45) Dr. Dobb's Journal - October 2008 - The Book Cipher Algorithm (Page 46) Dr. Dobb's Journal - October 2008 - The Book Cipher Algorithm (Page 47) Dr. Dobb's Journal - October 2008 - The Book Cipher Algorithm (Page 48) Dr. Dobb's Journal - October 2008 - The Book Cipher Algorithm (Page 49) Dr. Dobb's Journal - October 2008 - The Book Cipher Algorithm (Page 50) Dr. Dobb's Journal - October 2008 - The Book Cipher Algorithm (Page 51) Dr. Dobb's Journal - October 2008 - Indexing and Searching Image files (Page 52) Dr. Dobb's Journal - October 2008 - Indexing and Searching Image files (Page 53) Dr. Dobb's Journal - October 2008 - Indexing and Searching Image files (Page 54) Dr. Dobb's Journal - October 2008 - Indexing and Searching Image files (Page 55) Dr. Dobb's Journal - October 2008 - Extending Continuous Integration Into ALM (Page 56) Dr. Dobb's Journal - October 2008 - Extending Continuous Integration Into ALM (Page 57) Dr. Dobb's Journal - October 2008 - Extending Continuous Integration Into ALM (Page 58) Dr. Dobb's Journal - October 2008 - Extending Continuous Integration Into ALM (Page 59) Dr. Dobb's Journal - October 2008 - Extending Continuous Integration Into ALM (Page 60) Dr. Dobb's Journal - October 2008 - Extending Continuous Integration Into ALM (Page 61) Dr. Dobb's Journal - October 2008 - Extending Continuous Integration Into ALM (Page 62) Dr. Dobb's Journal - October 2008 - Extending Continuous Integration Into ALM (Page 63) Dr. Dobb's Journal - October 2008 - The Agile Edge (Page 64) Dr. Dobb's Journal - October 2008 - The Agile Edge (Page 65) Dr. Dobb's Journal - October 2008 - The Agile Edge (Page 66) Dr. Dobb's Journal - October 2008 - The Agile Edge (Page 67) Dr. Dobb's Journal - October 2008 - Effective Concurrency (Page 68) Dr. Dobb's Journal - October 2008 - Effective Concurrency (Page 69) Dr. Dobb's Journal - October 2008 - Effective Concurrency (Page 70) Dr. Dobb's Journal - October 2008 - Effective Concurrency (Page 71) Dr. Dobb's Journal - October 2008 - Swaine’s Flames (Page 72) Dr. Dobb's Journal - October 2008 - Swaine’s Flames (Page Cover3) Dr. Dobb's Journal - October 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.