The Problem with Programming Wisconsin

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

Local Companies

Prepaid Wireless Direct
1-877-947-3577
Box 71101
Shorewood, WI
Montgomery & Associates Inc
(414) 425-5184
6965 W Wildwood Creek Ct
Franklin, WI
Becker Technology Inc
(262) 628-3531
3051 Beechwood Industrial
Hubertus, WI
Link Development Corp
(262) 641-9911
12660 W North Ave
Brookfield, WI
Computerjack
(920) 730-8200
W6232 Contractor Dr
Appleton, WI
Jela Company Inc
(920) 992-3900
N4977 County Road Ss
Rio, WI
Babbage's Etc
(414) 421-8290
5300 S 76th St
Greendale, WI
Journal Sentinel Online
(920) 429-9309
1265 Lombardi Ave
Green Bay, WI
Greenbrier & Russel
(920) 225-6800
1019 Truman St
Kimberly, WI
Aecs Inc
(715) 264-2810
21461 Old Hwy 13
Glidden, WI


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

Prepaid Wireless Direct

1-877-947-3577
Box 71101
Shorewood, WI
http://www.prepaidwireless.2ya.com

Regional Articles
- The Problem with Programming Appleton WI
- The Problem with Programming Baraboo WI
- The Problem with Programming Beaver Dam WI
- The Problem with Programming Beloit WI
- The Problem with Programming Brookfield WI
- The Problem with Programming Burlington WI
- The Problem with Programming Cedarburg WI
- The Problem with Programming Chippewa Falls WI
- The Problem with Programming Cudahy WI
- The Problem with Programming De Pere WI
- The Problem with Programming Delavan WI
- The Problem with Programming Eau Claire WI
- The Problem with Programming Elkhorn WI
- The Problem with Programming Fond Du Lac WI
- The Problem with Programming Fort Atkinson WI
- The Problem with Programming Franklin WI
- The Problem with Programming Green Bay WI
- The Problem with Programming Hartland WI
- The Problem with Programming Janesville WI
- The Problem with Programming Kaukauna WI
- The Problem with Programming Kenosha WI
- The Problem with Programming La Crosse WI
- The Problem with Programming Lake Geneva WI
- The Problem with Programming Manitowoc WI
- The Problem with Programming Marinette WI
- The Problem with Programming Marshfield WI
- The Problem with Programming Menasha WI
- The Problem with Programming Menomonee Falls WI
- The Problem with Programming Menomonie WI
- The Problem with Programming Merrill WI
- The Problem with Programming Middleton WI
- The Problem with Programming Milwaukee WI
- The Problem with Programming Mosinee WI
- The Problem with Programming Mukwonago WI
- The Problem with Programming Muskego WI
- The Problem with Programming Neenah WI
- The Problem with Programming New Berlin WI
- The Problem with Programming Oak Creek WI
- The Problem with Programming Oconomowoc WI
- The Problem with Programming Onalaska WI
- The Problem with Programming Oshkosh WI
- The Problem with Programming Pewaukee WI
- The Problem with Programming Racine WI
- The Problem with Programming Rhinelander WI
- The Problem with Programming Rice Lake WI
- The Problem with Programming River Falls WI
- The Problem with Programming Schofield WI
- The Problem with Programming Shawano WI
- The Problem with Programming Sheboygan WI
- The Problem with Programming South Milwaukee WI
- The Problem with Programming Stevens Point WI
- The Problem with Programming Sturgeon Bay WI
- The Problem with Programming Sun Prairie WI
- The Problem with Programming Superior WI
- The Problem with Programming Thiensville WI
- The Problem with Programming Two Rivers WI
- The Problem with Programming Watertown WI
- The Problem with Programming Waukesha WI
- The Problem with Programming Waupaca WI
- The Problem with Programming Wausau WI
- The Problem with Programming West Bend WI
- The Problem with Programming Whitewater WI
- The Problem with Programming Wisconsin Rapids WI
Related Local Events
2008 Early Stage Symposium
Dates: 11/5/2008 - 11/6/2008
Location: Monona Terrace
Madison WI
View Details

Wisconsin Entrepreneurs' Conference
Dates: 6/9/2008 - 6/10/2008
Location: Hyatt Regency Hotel
Milwaukee WI
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