500 Lines or Less: Experienced Programmers Solve Interesting Problems

500 Lines or Less: Experienced Programmers Solve Interesting Problems

This book provides you with the chance to study how 26 experienced programmers think when they are building something new. The programs you will read about in this book were all written from scratch to solve difficult problems.

Publication date: 28 Jun 2016

ISBN-10: n/a

ISBN-13: 9781329871274

Paperback: 478 pages

Views: 26,951

Type: Book

Publisher: Lulu.com

License: Creative Commons Attribution 3.0 Unported

Post time: 16 Dec 2016 09:30:00

500 Lines or Less: Experienced Programmers Solve Interesting Problems

500 Lines or Less: Experienced Programmers Solve Interesting Problems This book provides you with the chance to study how 26 experienced programmers think when they are building something new. The programs you will read about in this book were all written from scratch to solve difficult problems.
Tag(s): Algorithms and Data Structures Software Libre and Open Source
Publication date: 28 Jun 2016
ISBN-10: n/a
ISBN-13: 9781329871274
Paperback: 478 pages
Views: 26,951
Document Type: Book
Publisher: Lulu.com
License: Creative Commons Attribution 3.0 Unported
Post time: 16 Dec 2016 09:30:00
Summary/Excerpts of (and not a substitute for) the Creative Commons Attribution 3.0 Unported:
You are free to:

Share — copy and redistribute the material in any medium or format
Adapt — remix, transform, and build upon the material for any purpose, even commercially.

The licensor cannot revoke these freedoms as long as you follow the license terms.

Click here to read the full license.
From the Introduction:
Michael Dibernardo wrote:500 Lines or Less focuses on the design decisions that programmers make in the small when they are building something new. The programs you will read about in this book were all written from scratch for this purpose (although several of them were inspired by larger projects that the authors had worked on previously).

Before reading each chapter, we encourage you to first think about how you might solve the problem. What design considerations or constraints do you think the author is going to consider important? What abstractions do you expect to see? How do you think the problem is going to be decomposed? Then, when reading the chapter, try to identify what surprised you. It is our hope that you will learn more by doing this than by simply reading through each chapter from beginning to end.

Writing a useful program in fewer than 500 lines of source code---without resorting to cheap tricks---is a challenging exercise in itself; writing one to be read for pedagogical purposes when neatly rendered in a printed book is even tougher. As such, the editors have occasionally taken liberties with some of the source formatting when porting it into the book. The original source for each chapter can be found in the code subdirectory of its project folder.




About The Editor(s)


Amy worked in the software industry for ten years before quitting to create a freelance editing and book production business. She has an underused degree in Math from the University of Waterloo.

Amy Brown

Amy worked in the software industry for ten years before quitting to create a freelance editing and book production business. She has an underused degree in Math from the University of Waterloo.


Michael DiBernardo is Development Manager at Wave. He earned his Master of Computer Science from The University of British Columbia. Michael has years of experience as software engineer/consultant. He was also the Chair of PyCon Canada 2013 where he built a team of organizers and led planning of the second Canadian national Python conference.

Michael DiBernardo

Michael DiBernardo is Development Manager at Wave. He earned his Master of Computer Science from The University of British Columbia. Michael has years of experience as software engineer/consultant. He was also the Chair of PyCon Canada 2013 where he built a team of organizers and led planning of the second Canadian national Python conference.


Book Categories
Sponsors