Software Design for Flexibility: How to Avoid Programming Yourself into a Corner

so-cal-schemer1 pts0 comments

software-design-for-flexibility_how-to-avoid-programming-yourself-into-a-corner_hanson_sussman : Christopher P. Hanson, Gerald J. Sussman : Free Download, Borrow, and Streaming : Internet Archive

Skip to main content

Keep the news in the Wayback Machine. Sign Fight for the Future's letter.

Donate icon<br>An illustration of a heart shape

"Donate to the archive"

User icon<br>An illustration of a person's head and chest.

Sign up<br>Log in

Upload icon<br>An illustration of a horizontal line over an up<br>pointing arrow.

Upload

Search icon<br>An illustration of a magnifying glass.

Internet Archive Audio

Live Music<br>Archive

Librivox<br>Free Audio

Featured

All Audio

Grateful Dead

Netlabels

Old Time Radio

78 RPMs<br>and Cylinder Recordings

Top

Audio Books<br>& Poetry

Computers,<br>Technology and Science

Music, Arts<br>& Culture

News &<br>Public Affairs

Spirituality<br>& Religion

Podcasts

Radio News<br>Archive

Images

Metropolitan Museum

Cleveland<br>Museum of Art

Featured

All Images

Flickr Commons

Occupy Wall<br>Street Flickr

Cover Art

USGS Maps

Top

NASA Images

Solar System<br>Collection

Ames Research<br>Center

Software

Internet<br>Arcade

Console Living Room

Featured

All Software

Old School<br>Emulation

MS-DOS Games

Historical<br>Software

Classic PC<br>Games

Software<br>Library

Top

Kodi<br>Archive and Support File

Vintage<br>Software

APK

MS-DOS

CD-ROM<br>Software

CD-ROM<br>Software Library

Software Sites

Tucows<br>Software Library

Shareware<br>CD-ROMs

Software<br>Capsules Compilation

CD-ROM Images

ZX Spectrum

DOOM Level CD

Texts

Open Library

American<br>Libraries

Featured

All Texts

Smithsonian<br>Libraries

FEDLINK (US)

Genealogy

Lincoln<br>Collection

Top

American<br>Libraries

Canadian<br>Libraries

Universal<br>Library

Project<br>Gutenberg

Children's<br>Library

Biodiversity<br>Heritage Library

Books by<br>Language

Folkscanomy

Government Documents

Video

TV News

Understanding<br>9/11

Featured

All Video

Prelinger<br>Archives

Democracy Now!

Occupy Wall<br>Street

TV NSA Clip<br>Library

Top

Animation<br>& Cartoons

Arts & Music

Computers<br>& Technology

Cultural<br>& Academic Films

Ephemeral Films

Movies

News &<br>Public Affairs

Spirituality<br>& Religion

Sports Videos

Television

Videogame<br>Videos

Vlogs

Youth Media

Search the history of more than 1 trillion<br>web pages.

Search the Wayback Machine

Search icon<br>An illustration of a magnifying<br>glass.

Mobile Apps

Wayback Machine (iOS)

Wayback Machine (Android)

Browser Extensions

Chrome

Firefox

Safari

Edge

Archive-It Subscription

Explore the Collections

Learn More

Build Collections

Save Page Now

Capture a web page as it appears now for use as a trusted<br>citation in the future.

Enter a URL to save

Please enter a valid web address

About

Blog

Events

Projects

Help

Donate

Contact

Jobs

Volunteer

About

Blog

Events

Projects

Help

Donate

Donate icon<br>An illustration of a heart shape

Contact

Jobs

Volunteer

software-design-for-flexibility_how-to-avoid-programming-yourself-into-a-corner_hanson_sussman

Bookreader Item Preview

remove-circle<br>Internet Archive's in-browser bookreader "theater" requires JavaScript to be enabled.<br>It appears your browser does not have it turned on.<br>Please see your browser settings for this feature.

remove-circle<br>Share or Embed This Item

Share to Twitter

Share to Facebook

Share to Reddit

Share to Tumblr

Share to Pinterest

Share via email

Copy Link

EMBED

EMBED (for Archive.org item Description fields)<br>[archiveorg software-design-for-flexibility_how-to-avoid-programming-yourself-into-a-corner_hanson_sussman width=560 height=384 frameborder=0 webkitallowfullscreen=true mozallowfullscreen=true]

Want more?<br>Advanced embedding details, examples, and help!

Favorite

Share

Flag

Flag this item for

Graphic Violence

Explicit Sexual Content

Hate Speech

Misinformation/Disinformation

Marketing/Phishing/Advertising

Misleading/Inaccurate/Missing Metadata

texts

software-design-for-flexibility_how-to-avoid-programming-yourself-into-a-corner_hanson_sussman

by

Christopher P. Hanson, Gerald J. Sussman

Publication date

2021-03-09

Usage<br>Attribution-ShareAlike 4.0 International

Topics<br>software engineering, software architecture, software design, scalability, computer science, lisp, scheme

Collection

programming_books; folkscanomy_computer; folkscanomy

Language

English

Item Size

276.6M

https://mitpress.mit.edu/books/software-design-flexibility

Summary

Strategies for building systems that can be adapted for new situations with only minor programming modifications.<br>Time<br>pressures encourage programmers to write code that works well for a<br>narrow purpose, with no room to grow. But the best systems are<br>evolvable; they can be adapted for new situations by adding code, rather<br>than changing the existing code. The authors describe techniques they<br>have found effective—over their combined 100-plus years of programming<br>experience—that will help programmers avoid programming themselves into<br>corners.<br>The authors explore ways to enhance flexibility by:•<br>Organizing systems using...

software archive programming library share design

Related Articles