The Problem with Programming Indiana

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

Local Companies

TiBVA
864.421.2268
7040 W. Carrie Dr.
New Palestine, IN
Database Development Services, Inc
317 431-6592
7997 Wolford Court
Fishers, IN
Affiliated Computer Services
(812) 373-0445
2840 Roadway Dr
Columbus, IN
Tiburon Technologies
(260) 969-5397
6429 Oakbrook Pkwy Ste B
Fort Wayne, IN
Information Management Consultants Inc
(812) 421-0045
5035 Charlotte Ave
Evansville, IN
Action Micro Technologies Inc
(317) 216-7988
5757 W 73rd St
Indianapolis, IN
I T Training and Consulting
(317) 567-6170
11990 Royalwood Dr
Fishers, IN
Absolute Design Services
(812) 723-5588
5463 E County Road 400 S
Hardinsburg, IN
C & C Consultants Inc
(260) 637-4467
15030 Tally Ho Dr Apt 19
Huntertown, IN
Design Software
(574) 773-4695
70599 Windsor St
Nappanee, IN


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

TiBVA

864.421.2268
7040 W. Carrie Dr.
New Palestine, IN
http://www.tibva.com

Regional Articles
- The Problem with Programming Anderson IN
- The Problem with Programming Angola IN
- The Problem with Programming Bedford IN
- The Problem with Programming Bloomington IN
- The Problem with Programming Brazil IN
- The Problem with Programming Brownsburg IN
- The Problem with Programming Carmel IN
- The Problem with Programming Chesterton IN
- The Problem with Programming Columbia City IN
- The Problem with Programming Columbus IN
- The Problem with Programming Connersville IN
- The Problem with Programming Crawfordsville IN
- The Problem with Programming Crown Point IN
- The Problem with Programming Dyer IN
- The Problem with Programming East Chicago IN
- The Problem with Programming Elkhart IN
- The Problem with Programming Evansville IN
- The Problem with Programming Fishers IN
- The Problem with Programming Fort Wayne IN
- The Problem with Programming Franklin IN
- The Problem with Programming Gary IN
- The Problem with Programming Goshen IN
- The Problem with Programming Granger IN
- The Problem with Programming Greenfield IN
- The Problem with Programming Greenwood IN
- The Problem with Programming Hammond IN
- The Problem with Programming Hobart IN
- The Problem with Programming Huntington IN
- The Problem with Programming Indianapolis IN
- The Problem with Programming Jeffersonville IN
- The Problem with Programming Kendallville IN
- The Problem with Programming Kokomo IN
- The Problem with Programming Lafayette IN
- The Problem with Programming Laporte IN
- The Problem with Programming Logansport IN
- The Problem with Programming Marion IN
- The Problem with Programming Martinsville IN
- The Problem with Programming Merrillville IN
- The Problem with Programming Michigan City IN
- The Problem with Programming Mishawaka IN
- The Problem with Programming Muncie IN
- The Problem with Programming Munster IN
- The Problem with Programming New Albany IN
- The Problem with Programming New Castle IN
- The Problem with Programming Newburgh IN
- The Problem with Programming Noblesville IN
- The Problem with Programming North Vernon IN
- The Problem with Programming Peru IN
- The Problem with Programming Portage IN
- The Problem with Programming Richmond IN
- The Problem with Programming Schererville IN
- The Problem with Programming Seymour IN
- The Problem with Programming Shelbyville IN
- The Problem with Programming South Bend IN
- The Problem with Programming Terre Haute IN
- The Problem with Programming Valparaiso IN
- The Problem with Programming Vincennes IN
- The Problem with Programming Wabash IN
- The Problem with Programming Warsaw IN
- The Problem with Programming West Lafayette IN
- The Problem with Programming Zionsville IN
Related Local Events
Indiana Telecommunications Association's Midwest Telecommunication Exposition
Dates: 10/7/2008 - 10/9/2008
Location: Grand Wayne Center
Fort Wayne IN
View Details

Fort Wayne Hamfest/Computer Expo
Dates: 11/15/2008 - 11/16/2008
Location: Memorial Coliseum
Fort Wayne IN
View Details

ITEC Indianapolis
Dates: 6/18/2008 - 6/18/2008
Location: Indianapolis Convention Center & RCA Dome
Indianapolis IN
View Details

ITEC Indianapolis
Dates: 6/17/2008 - 6/17/2008
Location: Indianapolis Convention Center & RCA Dome
Indianapolis IN
View Details

The Indianapolis Entrepreneur June Meeting
Dates: 6/12/2008 - 6/12/2008
Location: Must sign up to attend for event details and location
Indianapolis IN
View Details
Rate Article
     
Articles Insider

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

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