The Problem with Software: Why Smart Engineers Write Bad Code

The Problem with Software: Why Smart Engineers Write Bad Code

by Adam Barr
The Problem with Software: Why Smart Engineers Write Bad Code

The Problem with Software: Why Smart Engineers Write Bad Code

by Adam Barr

eBook

$17.99 

Available on Compatible NOOK Devices and the free NOOK Apps.
WANT A NOOK?  Explore Now

Related collections and offers


Overview

An industry insider explains why there is so much bad software—and why academia doesn't teach programmers what industry wants them to know.

Why is software so prone to bugs? So vulnerable to viruses? Why are software products so often delayed, or even canceled? Is software development really hard, or are software developers just not that good at it? In The Problem with Software, Adam Barr examines the proliferation of bad software, explains what causes it, and offers some suggestions on how to improve the situation.

For one thing, Barr points out, academia doesn't teach programmers what they actually need to know to do their jobs: how to work in a team to create code that works reliably and can be maintained by somebody other than the original authors. As the size and complexity of commercial software have grown, the gap between academic computer science and industry has widened. It's an open secret that there is little engineering in software engineering, which continues to rely not on codified scientific knowledge but on intuition and experience.

Barr, who worked as a programmer for more than twenty years, describes how the industry has evolved, from the era of mainframes and Fortran to today's embrace of the cloud. He explains bugs and why software has so many of them, and why today's interconnected computers offer fertile ground for viruses and worms. The difference between good and bad software can be a single line of code, and Barr includes code to illustrate the consequences of seemingly inconsequential choices by programmers. Looking to the future, Barr writes that the best prospect for improving software engineering is the move to the cloud. When software is a service and not a product, companies will have more incentive to make it good rather than “good enough to ship."


Product Details

ISBN-13: 9780262348218
Publisher: MIT Press
Publication date: 10/23/2018
Series: The MIT Press
Sold by: Penguin Random House Publisher Services
Format: eBook
Pages: 320
File size: 900 KB
Age Range: 18 Years

About the Author

Adam Barr worked as a programmer and manager at Microsoft for more than twenty years. He is the author of Find the Bug and Proudly Serving My Corporate Masters.

Table of Contents

Acknowledgments ix

Introduction 1

1 Early Days 5

2 The Education of a Programmer 27

3 Layers 49

4 The Thief in the Night 73

5 Making It Right 99

6 Objects 119

7 Design Thinking 143

8 Your Favorite Language 167

9 Agile 193

10 The Golden Age 217

11 The Future 231

Notes 259

Index 295

What People are Saying About This

Endorsement

“This book is valuable reading for both academics and practitioners. It is an in-depth look at the complexities of software and the problems of software development. It presents a historical walkthrough of the promises of the various programming languages and methods along with their strengths and weaknesses, in trying to solve the complex problem of building quality software. The author provides numerous examples, many from his own vast experience. He makes the case for the poor state of academic software engineering education in preparing a software engineer for the profession and the lack of industry's willingness to evolve and support innovation.”

Victor Basili, Professor Emeritus, Computer Science, the University of Maryland

From the B&N Reads Blog

Customer Reviews