• Complain

Max Kanat-Alexander - Understanding Software

Here you can read online Max Kanat-Alexander - Understanding Software full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. year: 2017, publisher: Packt Publishing Limited, genre: Romance novel. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:

Romance novel Science fiction Adventure Detective Science History Home and family Prose Art Politics Computer Non-fiction Religion Business Children Humor

Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.

Max Kanat-Alexander Understanding Software

Understanding Software: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "Understanding Software" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

Max Kanat-Alexander: author's other books


Who wrote Understanding Software? Find out the surname, the name of the author of the book and a list of all author's works by series.

Understanding Software — read online for free the complete book (whole text) full work

Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "Understanding Software" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.

Light

Font size:

Reset

Interval:

Bookmark:

Make
Understanding Software

Understanding Software

Copyright 2017 Packt Publishing

All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.

Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.

Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.

First published: September 2017

Production reference: 1270917

Published by Packt Publishing Ltd.

Livery Place

35 Livery Street

Birmingham B3 2PB, UK.

ISBN 978-1-78862-881-5

www.packtpub.com

Credits

Author

Max Kanat-Alexander

Acquisition Editor

Dominic Shakeshaft

Content Development Editor

Dominic Shakeshaft

Editor

Amit Ramadas

Indexer

Pratik Shirodkar

Production Coordinator

Arvindkumar Gupta

Cover Work

Arvindkumar Gupta

About the Author

Legendary code guru Max Kanat-Alexander brings you his writings and thoughts so that your code and your life as a developer can be healthy, and embrace simplicity. Why make life hard when making software can be simple?

www.PacktPub.com
eBooks, discount offers, and more

Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at > for more details.

At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters and receive exclusive discounts and offers on Packt books and eBooks.

httpswwwpacktpubcommapt Get the most in-demand software skills with Mapt - photo 1

https://www.packtpub.com/mapt

Get the most in-demand software skills with Mapt. Mapt gives you full access to all Packt books and video courses, as well as industry-leading tools to help you plan your personal development and advance your career.

Why subscribe?
  • Fully searchable across every book published by Packt
  • Copy and paste, print, and bookmark content
  • On demand and accessible via a web browser
Customer Feedback

Thanks for purchasing this Packt book. At Packt, quality is at the heart of our editorial process. To help us improve, please leave us an honest review on this book's Amazon page at https://www.amazon.com/dp/1788628810.

If you'd like to join our team of regular reviewers, you can e-mail us at <>. We award our regular reviewers with free eBooks and videos in exchange for their valuable feedback. Help us be relentless in improving our products!

Foreword

I started writing on www.codesimplicity.com in 2008 for one reason only I wanted to make the world of software development a better place. I wasn't trying to be famous, or get contracting jobs, or push some ideology on people. My intention was purely to help people.

What I had observed was that there was a lot of opinion in the field of software engineering, but not a lot of facts or basic principles. Now, this might seem like a shocking statement to some people, because surely software development is a scientific field where we all know exactly what we're doing we work with highly technical machines and we use a lot of complex systems to accomplish our jobs. There must be a science to it, right?

Well, the problem is that in order to be a science you must have laws and a system of organized information based on those laws. Usually, you also must demonstrate that your laws and your system actually work without exception in the physical universe. It's not sufficient to just have some information about technology. You must have basic principles .

There are many ways to derive these basic principles. The most popular and accepted way is through the scientific method. There are other ways, too. The whole subject of how you discover these things is covered by a study called "epistemology," which is a word that means "the study of how knowledge is known." For example, you know your name. How do you know that that is your name? How do you know that's true? If you wanted to understand how to build a house, what would you do to gain that knowledge? And so on.

I'm sort of over-simplifying it, and perhaps some philosophy professors will come after me and write bad reviews because I'm not really explaining epistemology or how I used it, but I hope that what I've written here is enough for the common reader to get that what I wanted was some method that would lead to the development of basic principles . Various methods of epistemology, including the scientific method, helped me discover these.

My first book, Code Simplicity , is a description of those basic principles of software development. But there's more to know than just those basics. True, you could derive everything there is to know about software design from those laws in Code Simplicity , but since I've already derived a lot of stuff from them, why not just share that with you now?

This book is a collection of my writings since Code Simplicity , as well as some additional content that I wrote before Code Simplicity but which didn't really fit in that book. Most of the content in this book is also on my website, but in this book it's been organized, curated, and edited for maximum readability. Also, you get to read it in book format, which is often easier to digest and understand.

There is one chapter in the book that is not on my website and never will be the one called "Excellent Software." I actually wrote it years ago as part of the first draft of Code Simplicity, but could never bring myself to give it away for free.

The book doesn't have to be read in order. It's designed so that it reads nicely if you go from page to page and read each section in sequence, but you can also skip around and read any of the sections you want if you think some part will be more interesting than another.

To help both kinds of readers, I've split the book into a few parts. That way, people reading in order get a consistent flow, and people who want to skip around know what each part covers.

The first three parts of the book cover some foundational principles of being a programmer and then get into aspects of software complexity and simplicity. After that comes "Engineering in Teams," a whole new set of principles developed since Code Simplicity based on my experience successfully applying the principles of Code Simplicity across large engineering organizations.

Then comes a section where I write about the philosophy behind the principles of software design, "Understanding Software." This includes the article "The Philosophy of Testing," which is a more thorough coverage of the basic principles of testing than was found in my first book.

Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «Understanding Software»

Look at similar books to Understanding Software. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.


Reviews about «Understanding Software»

Discussion, reviews of the book Understanding Software and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.