The Problem with Programming Texas

Bjarne Stroustrup, the inventor of the C++ programming language, defends his legacy and examines what's wrong with most software code.

Local Companies

Virtually Anywhere
512-454-1680
PO Box 28417
Austin, TX
TIN Systems
866-901-5085
2080 North Hwy 360 #425
Grand Prairie, TX
linefactor
(956) 592-5939
2953 E 28th st
brownsville, TX
SYSTEM SWEEP
972-429-1869
Parker Rd
Plano, TX
Bynari Inc
214-350-5772 X59
6220 Gaston Ave, Suite 403
Dallas, TX
Friedrich Software Resources
713-465-8039
12631 Huntingwick
Houston, TX
Avatar Computer Solutions, Inc.
281-999-1300
256 N Sam Houston Parkway
Houston, TX
Pervasive Software
512-231-6000
12365-B Riata Trace Parkway
Austin, TX
Extentware Technologies
972-965-6166
2762 Keller Springs Place
Carrollton, TX
Global Technologies
956-729-8324
10510 Reposado Dr.
Laredo, TX


The Problem with Programming

provided by: 


In the 1980s and 90s, Bjarne Stroustrup designed and implemented the C++ programming language, which popularized object-oriented programming and influenced numerous other programming languages, including Java.

C++ remains the archetypal "high level" computer language (that is, one that preserves the features of natural, human language), and it is still used by millions of programmers. Many of the systems and applications of the PC and Internet eras were written in C++. For all that, the language remains controversial, largely because it is notoriously difficult to learn and use, and also because Stroustrup's design allows developers to make serious programming mistakes in the interest of preserving their freedom.

Stroustrup, for many years a researcher at AT&T Bell Labs, is now a professor of computer science in the Department of Engineering, at Texas A&M University, near Houston.

Technology Review: Why is most software so bad?

Bjarne Stroustrup: Some software is actually pretty good by any standards. Think of the Mars Rovers, Google, and the Human Genome Project. That's quality software! Fifteen years ago, most people, and especially most experts, would have said each of those examples was impossible. Our technological civilization depends on software, so if software had been as bad as its worst reputation, most of us would have been dead by now.

On the other hand, looking at "average" pieces of code can make me cry. The structure is appalling, and the programmers clearly didn't think deeply about correctness, algorithms, data structures, or maintainability. Most people don't actually read code; they just see Internet Explorer "freeze."

I think the real problem is that "we" (that is, we software developers) are in a permanent state of emergency, grasping at straws to get our work done. We perform many minor miracles through trial and error, excessive use of brute force, and lots and lots of testing, but--so often--it's not enough.

Software developers have become adept at the difficult art of building reasonably reliable systems out of unreliable parts. The snag is that often we do not know exactly how we did it: a system just "sort of evolved" into something minimally acceptable. Personally, I prefer to know when a system will work, and why it will.

TR: How can we fix the mess we are in?

BS: In theory, the answer is simple: educate our software developers better, use more-appropriate design methods, and design for flexibility and for the long haul. Reward correct, solid, and safe systems. Punish sloppiness.

In reality, that's impossible. People reward developers who deliver software that is cheap, buggy, and first. That's because people want fancy new gadgets now. They don't want inconvenience, don't want to learn new ways of interacting with their computers, don't want delays in delivery, and don't want to pay extra for quality (unless it's obvious up front--and often not even then). And without real changes in user behavior, software suppliers are unlikely to change.

We can't just stop the world for a decade while we reprogram everything from our coffee machines to our financial systems. On the other hand, just muddling along is expensive, dangerous, and depressing. Significant improvements are needed, and they can only come gradually. They must come on a broad front; no single change is sufficient.

One problem is that "academic smokestacks" get in the way: too many people push some area as a panacea. Better design methods can help, better specification techniques can help, better programming languages can help, better testing technologies can help, better operating systems can help, better middle-ware infrastructures can help, better understanding of application domains can help, better understanding of data structures and algorithms can help--and so on. For example, type theory, model-based development, and formal methods can undoubtedly provide significant help in some areas, but pushed as the solution to the exclusion of other approaches, each guarantees failure in large-scale projects. People push what they know and what they have seen work; how could they do otherwise? But few have the technical maturity to balance the demands and the resources.

By Jason Pontin

Read article at techreview.com

Featured Local Company

Friedrich Software Resources

713-465-8039
12631 Huntingwick
Houston, TX
www.friedrichsoftware.com

Regional Articles
- The Problem with Programming Abilene TX
- The Problem with Programming Alamo TX
- The Problem with Programming Alice TX
- The Problem with Programming Allen TX
- The Problem with Programming Alvin TX
- The Problem with Programming Amarillo TX
- The Problem with Programming Angleton TX
- The Problem with Programming Arlington TX
- The Problem with Programming Austin TX
- The Problem with Programming Azle TX
- The Problem with Programming Baytown TX
- The Problem with Programming Beaumont TX
- The Problem with Programming Bedford TX
- The Problem with Programming Beeville TX
- The Problem with Programming Bellaire TX
- The Problem with Programming Belton TX
- The Problem with Programming Big Spring TX
- The Problem with Programming Boerne TX
- The Problem with Programming Borger TX
- The Problem with Programming Brenham TX
- The Problem with Programming Brownsville TX
- The Problem with Programming Brownwood TX
- The Problem with Programming Bryan TX
- The Problem with Programming Burleson TX
- The Problem with Programming Canyon TX
- The Problem with Programming Carrollton TX
- The Problem with Programming Cedar Hill TX
- The Problem with Programming Cedar Park TX
- The Problem with Programming Channelview TX
- The Problem with Programming Cleburne TX
- The Problem with Programming Cleveland TX
- The Problem with Programming Clute TX
- The Problem with Programming College Station TX
- The Problem with Programming Colleyville TX
- The Problem with Programming Conroe TX
- The Problem with Programming Converse TX
- The Problem with Programming Coppell TX
- The Problem with Programming Copperas Cove TX
- The Problem with Programming Corpus Christi TX
- The Problem with Programming Corsicana TX
- The Problem with Programming Crosby TX
- The Problem with Programming Crp Christi TX
- The Problem with Programming Cypress TX
- The Problem with Programming Dallas TX
- The Problem with Programming Dayton TX
- The Problem with Programming Deer Park TX
- The Problem with Programming Del Rio TX
- The Problem with Programming Del Valle TX
- The Problem with Programming Denison TX
- The Problem with Programming Denton TX
- The Problem with Programming Desoto TX
- The Problem with Programming Dickinson TX
- The Problem with Programming Donna TX
- The Problem with Programming Dumas TX
- The Problem with Programming Duncanville TX
- The Problem with Programming Eagle Pass TX
- The Problem with Programming Edinburg TX
- The Problem with Programming El Campo TX
- The Problem with Programming El Paso TX
- The Problem with Programming Ennis TX
- The Problem with Programming Euless TX
- The Problem with Programming Floresville TX
- The Problem with Programming Flower Mound TX
- The Problem with Programming Fort Worth TX
- The Problem with Programming Friendswood TX
- The Problem with Programming Frisco TX
- The Problem with Programming Galveston TX
- The Problem with Programming Garland TX
- The Problem with Programming Gatesville TX
- The Problem with Programming Georgetown TX
- The Problem with Programming Gilmer TX
- The Problem with Programming Granbury TX
- The Problem with Programming Grand Prairie TX
- The Problem with Programming Grapevine TX
- The Problem with Programming Greenville TX
- The Problem with Programming Groves TX
- The Problem with Programming Haltom City TX
- The Problem with Programming Harker Heights TX
- The Problem with Programming Harlingen TX
- The Problem with Programming Henderson TX
- The Problem with Programming Houston TX
- The Problem with Programming Humble TX
- The Problem with Programming Huntsville TX
- The Problem with Programming Hurst TX
- The Problem with Programming Irving TX
- The Problem with Programming Jacksonville TX
- The Problem with Programming Joshua TX
- The Problem with Programming Katy TX
- The Problem with Programming Kaufman TX
- The Problem with Programming Keller TX
- The Problem with Programming Kerrville TX
- The Problem with Programming Kilgore TX
- The Problem with Programming Killeen TX
- The Problem with Programming Kingsville TX
- The Problem with Programming Kyle TX
- The Problem with Programming La Porte TX
- The Problem with Programming Lake Jackson TX
- The Problem with Programming Lancaster TX
- The Problem with Programming Laredo TX
- The Problem with Programming League City TX
- The Problem with Programming Leander TX
- The Problem with Programming Levelland TX
- The Problem with Programming Lewisville TX
- The Problem with Programming Livingston TX
- The Problem with Programming Lockhart TX
- The Problem with Programming Longview TX
- The Problem with Programming Lubbock TX
- The Problem with Programming Lufkin TX
- The Problem with Programming Mabank TX
- The Problem with Programming Magnolia TX
- The Problem with Programming Mansfield TX
- The Problem with Programming Marble Falls TX
- The Problem with Programming Marshall TX
- The Problem with Programming Mc Kinney TX
- The Problem with Programming Mcallen TX
- The Problem with Programming Mercedes TX
- The Problem with Programming Mesquite TX
- The Problem with Programming Midland TX
- The Problem with Programming Mineral Wells TX
- The Problem with Programming Mission TX
- The Problem with Programming Missouri City TX
- The Problem with Programming Nacogdoches TX
- The Problem with Programming Navasota TX
- The Problem with Programming Nederland TX
- The Problem with Programming New Braunfels TX
- The Problem with Programming New Caney TX
- The Problem with Programming North Richland Hills TX
- The Problem with Programming Odessa TX
- The Problem with Programming Orange TX
- The Problem with Programming Palestine TX
- The Problem with Programming Pampa TX
- The Problem with Programming Paris TX
- The Problem with Programming Pasadena TX
- The Problem with Programming Pearland TX
- The Problem with Programming Pflugerville TX
- The Problem with Programming Pharr TX
- The Problem with Programming Plainview TX
- The Problem with Programming Plano TX
- The Problem with Programming Port Arthur TX
- The Problem with Programming Port Lavaca TX
- The Problem with Programming Porter TX
- The Problem with Programming Red Oak TX
- The Problem with Programming Richardson TX
- The Problem with Programming Richmond TX
- The Problem with Programming Rio Grande City TX
- The Problem with Programming Robstown TX
- The Problem with Programming Rockport TX
- The Problem with Programming Rockwall TX
- The Problem with Programming Roma TX
- The Problem with Programming Rosenberg TX
- The Problem with Programming Rosharon TX
- The Problem with Programming Round Rock TX
- The Problem with Programming Rowlett TX
- The Problem with Programming San Angelo TX
- The Problem with Programming San Antonio TX
- The Problem with Programming San Benito TX
- The Problem with Programming San Marcos TX
- The Problem with Programming Schertz TX
- The Problem with Programming Seabrook TX
- The Problem with Programming Seagoville TX
- The Problem with Programming Seguin TX
- The Problem with Programming Sherman TX
- The Problem with Programming Silsbee TX
- The Problem with Programming South Houston TX
- The Problem with Programming Southlake TX
- The Problem with Programming Spring TX
- The Problem with Programming Springtown TX
- The Problem with Programming Stephenville TX
- The Problem with Programming Sugar Land TX
- The Problem with Programming Sulphur Springs TX
- The Problem with Programming Temple TX
- The Problem with Programming Terrell TX
- The Problem with Programming Texarkana TX
- The Problem with Programming Texas City TX
- The Problem with Programming The Colony TX
- The Problem with Programming Tomball TX
- The Problem with Programming Tyler TX
- The Problem with Programming Universal City TX
- The Problem with Programming Uvalde TX
- The Problem with Programming Victoria TX
- The Problem with Programming Vidor TX
- The Problem with Programming Waco TX
- The Problem with Programming Waxahachie TX
- The Problem with Programming Weatherford TX
- The Problem with Programming Weslaco TX
- The Problem with Programming Wharton TX
- The Problem with Programming Wichita Falls TX
- The Problem with Programming Willis TX
- The Problem with Programming Woodway TX
- The Problem with Programming Wylie TX
Related Local Events
InnoTech (Business and Technology Innovation Conference and Expo.)
Dates: 10/16/2008 - 10/16/2008
Location: Austin Convention Center (Ballroom D, 4th Floor)
Austin TX
View Details

LISA 2008 - 22nd Large Installation Sysyem Administation Conference
Dates: 11/9/2008 - 11/14/2008
Location:
Dallas TX
View Details

Independent Game Conference - Austin '08
Dates: 11/13/2008 - 11/14/2008
Location: Austin Convention Center
Austin TX
View Details

AustinChips Speaker Series "Austin Robot Technologys autonomous robot vehicle and the DARPA Grand Challenge"
Dates: 11/16/2008 - 11/16/2008
Location: Thompson Conference Center
Austin TX
View Details

US Department of Defense 2008 Technology Transfer Workshop
Dates: 11/17/2008 - 11/21/2008
Location: El Tropicano Riverwalk Hotel
San Antonio TX
View Details
Rate Article
     
Articles Insider

Rss   Delicious   Digg   Add To My Yahoo   Add To My Google   Bookmark   Search Plugin

Topics:
Advertising Engineering Home Services Software
Business Services Entertainment Industrial Goods & Services Technology
Career Family Insurance Telecommunications
Cars Financial Services Internet Transportation & Logistics
Computer Hardware Food & Beverage Legal Travel
Construction Health Real Estate Wedding
Education Home Electronics Retail & Consumer Services