Software and Mind

Software and Mind
Author: Andrei Sorin
Publisher: Andsor Books
Total Pages: 934
Release: 2013-01-01
Genre: Science
ISBN: 0986938904

Addressing general readers as well as software practitioners, "Software and Mind" discusses the fallacies of the mechanistic ideology and the degradation of minds caused by these fallacies. Mechanism holds that every aspect of the world can be represented as a simple hierarchical structure of entities. But, while useful in fields like mathematics and manufacturing, this idea is generally worthless, because most aspects of the world are too complex to be reduced to simple hierarchical structures. Our software-related affairs, in particular, cannot be represented in this fashion. And yet, all programming theories and development systems, and all software applications, attempt to reduce real-world problems to neat hierarchical structures of data, operations, and features. Using Karl Popper's famous principles of demarcation between science and pseudoscience, the book shows that the mechanistic ideology has turned most of our software-related activities into pseudoscientific pursuits. Using mechanism as warrant, the software elites are promoting invalid, even fraudulent, software notions. They force us to depend on generic, inferior systems, instead of allowing us to develop software skills and to create our own systems. Software mechanism emulates the methods of manufacturing, and thereby restricts us to high levels of abstraction and simple, isolated structures. The benefits of software, however, can be attained only if we start with low-level elements and learn to create complex, interacting structures. Software, the book argues, is a non-mechanistic phenomenon. So it is akin to language, not to physical objects. Like language, it permits us to mirror the world in our minds and to communicate with it. Moreover, we increasingly depend on software in everything we do, in the same way that we depend on language. Thus, being restricted to mechanistic software is like thinking and communicating while being restricted to some ready-made sentences supplied by an elite. Ultimately, by impoverishing software, our elites are achieving what the totalitarian elite described by George Orwell in "Nineteen Eighty-Four" achieves by impoverishing language: they are degrading our minds.

The Programmer's Brain

The Programmer's Brain
Author: Felienne Hermans
Publisher: Simon and Schuster
Total Pages: 254
Release: 2021-10-05
Genre: Computers
ISBN: 163835605X

"A great book with deep insights into the bridge between programming and the human mind." - Mike Taylor, CGI Your brain responds in a predictable way when it encounters new or difficult tasks. This unique book teaches you concrete techniques rooted in cognitive science that will improve the way you learn and think about code. In The Programmer’s Brain: What every programmer needs to know about cognition you will learn: Fast and effective ways to master new programming languages Speed reading skills to quickly comprehend new code Techniques to unravel the meaning of complex code Ways to learn new syntax and keep it memorized Writing code that is easy for others to read Picking the right names for your variables Making your codebase more understandable to newcomers Onboarding new developers to your team Learn how to optimize your brain’s natural cognitive processes to read code more easily, write code faster, and pick up new languages in much less time. This book will help you through the confusion you feel when faced with strange and complex code, and explain a codebase in ways that can make a new team member productive in days! Foreword by Jon Skeet. About the technology Take advantage of your brain’s natural processes to be a better programmer. Techniques based in cognitive science make it possible to learn new languages faster, improve productivity, reduce the need for code rewrites, and more. This unique book will help you achieve these gains. About the book The Programmer’s Brain unlocks the way we think about code. It offers scientifically sound techniques that can radically improve the way you master new technology, comprehend code, and memorize syntax. You’ll learn how to benefit from productive struggle and turn confusion into a learning tool. Along the way, you’ll discover how to create study resources as you become an expert at teaching yourself and bringing new colleagues up to speed. What's inside Understand how your brain sees code Speed reading skills to learn code quickly Techniques to unravel complex code Tips for making codebases understandable About the reader For programmers who have experience working in more than one language. About the author Dr. Felienne Hermans is an associate professor at Leiden University in the Netherlands. She has spent the last decade researching programming, how to learn and how to teach it. Table of Contents PART 1 ON READING CODE BETTER 1 Decoding your confusion while coding 2 Speed reading for code 3 How to learn programming syntax quickly 4 How to read complex code PART 2 ON THINKING ABOUT CODE 5 Reaching a deeper understanding of code 6 Getting better at solving programming problems 7 Misconceptions: Bugs in thinking PART 3 ON WRITING BETTER CODE 8 How to get better at naming things 9 Avoiding bad code and cognitive load: Two frameworks 10 Getting better at solving complex problems PART 4 ON COLLABORATING ON CODE 11 The act of writing code 12 Designing and improving larger systems 13 How to onboard new developers

The Nature of Software Development

The Nature of Software Development
Author: Ron Jeffries
Publisher: Pragmatic Bookshelf
Total Pages: 264
Release: 2015-02-19
Genre: Computers
ISBN: 1680505084

You need to get value from your software project. You need it "free, now, and perfect." We can't get you there, but we can help you get to "cheaper, sooner, and better." This book leads you from the desire for value down to the specific activities that help good Agile projects deliver better software sooner, and at a lower cost. Using simple sketches and a few words, the author invites you to follow his path of learning and understanding from a half century of software development and from his engagement with Agile methods from their very beginning. The book describes software development, starting from our natural desire to get something of value. Each topic is described with a picture and a few paragraphs. You're invited to think about each topic; to take it in. You'll think about how each step into the process leads to the next. You'll begin to see why Agile methods ask for what they do, and you'll learn why a shallow implementation of Agile can lead to only limited improvement. This is not a detailed map, nor a step-by-step set of instructions for building the perfect project. There is no map or instructions that will do that for you. You need to build your own project, making it a bit more perfect every day. To do that effectively, you need to build up an understanding of the whole process. This book points out the milestones on your journey of understanding the nature of software development done well. It takes you to a location, describes it briefly, and leaves you to explore and fill in your own understanding. What You Need: You'll need your Standard Issue Brain, a bit of curiosity, and a desire to build your own understanding rather than have someone else's detailed ideas poured into your head.

Building a Second Brain

Building a Second Brain
Author: Tiago Forte
Publisher: Simon and Schuster
Total Pages: 272
Release: 2022-06-14
Genre: Business & Economics
ISBN: 1982167386

"Building a second brain is getting things done for the digital age. It's a ... productivity method for consuming, synthesizing, and remembering the vast amount of information we take in, allowing us to become more effective and creative and harness the unprecedented amount of technology we have at our disposal"--

The Computer and the Brain

The Computer and the Brain
Author: John Von Neumann
Publisher: Yale University Press
Total Pages: 116
Release: 2000-01-01
Genre: Computers
ISBN: 9780300084733

This book represents the views of one of the greatest mathematicians of the twentieth century on the analogies between computing machines and the living human brain. John von Neumann concludes that the brain operates in part digitally, in part analogically, but uses a peculiar statistical language unlike that employed in the operation of man-made computers. This edition includes a new foreword by two eminent figures in the fields of philosophy, neuroscience, and consciousness.

Grokking Simplicity

Grokking Simplicity
Author: Eric Normand
Publisher: Simon and Schuster
Total Pages: 590
Release: 2021-05-18
Genre: Computers
ISBN: 1617296201

Distributed across servers, difficult to test, and resistant to modification--modern software is complex. Grokking Simplicity is a friendly, practical guide that will change the way you approach software design and development. It introduces a unique approach to functional programming that explains why certain features of software are prone to complexity, and teaches you the functional techniques you can use to simplify these systems so that they''re easier to test and debug. Available in PDF (ePub, kindle, and liveBook formats coming soon). about the technology Even experienced developers struggle with software systems that sprawl across distributed servers and APIs, are filled with redundant code, and are difficult to reliably test and modify. Adopting ways of thinking derived from functional programming can help you design and refactor your codebase in ways that reduce complexity, rather than encouraging it. Grokking Simplicity lays out how to use functional programming in a professional environment to write a codebase that''s easier to test and reuse, has fewer bugs, and is better at handling the asynchronous nature of distributed systems. about the book In Grokking Simplicity, you''ll learn techniques and, more importantly, a mindset that will help you tackle common problems that arise when software gets complex. Veteran functional programmer Eric Normand guides you to a crystal-clear understanding of why certain features of modern software are so prone to complexity and introduces you to the functional techniques you can use to simplify these systems so that they''re easier to read, test, and debug. Through hands-on examples, exercises, and numerous self-assessments, you''ll learn to organize your code for maximum reusability and internalize methods to keep unwanted complexity out of your codebase. Regardless of the language you''re using, the ways of thinking in this book will help recognize problematic code and tame even the most complex software. what''s inside Apply functional programming principles to reduce codebase complexity Work with data transformation pipelines for code that''s easier to test and reuse Tools for modeling time to simplify asynchrony 60 exercises and 100 questions to test your knowledge about the reader For experienced programmers. Examples are in JavaScript. about the author Eric Normand has been a functional programmer since 2001 and has been teaching functional programming online and in person since 2007. Visit LispCast.com to see more of his credentials.

Making Software

Making Software
Author: Andy Oram
Publisher: "O'Reilly Media, Inc."
Total Pages: 624
Release: 2010-10-14
Genre: Computers
ISBN: 144939776X

Many claims are made about how certain tools, technologies, and practices improve software development. But which claims are verifiable, and which are merely wishful thinking? In this book, leading thinkers such as Steve McConnell, Barry Boehm, and Barbara Kitchenham offer essays that uncover the truth and unmask myths commonly held among the software development community. Their insights may surprise you. Are some programmers really ten times more productive than others? Does writing tests first help you develop better code faster? Can code metrics predict the number of bugs in a piece of software? Do design patterns actually make better software? What effect does personality have on pair programming? What matters more: how far apart people are geographically, or how far apart they are in the org chart? Contributors include: Jorge Aranda Tom Ball Victor R. Basili Andrew Begel Christian Bird Barry Boehm Marcelo Cataldo Steven Clarke Jason Cohen Robert DeLine Madeline Diep Hakan Erdogmus Michael Godfrey Mark Guzdial Jo E. Hannay Ahmed E. Hassan Israel Herraiz Kim Sebastian Herzig Cory Kapser Barbara Kitchenham Andrew Ko Lucas Layman Steve McConnell Tim Menzies Gail Murphy Nachi Nagappan Thomas J. Ostrand Dewayne Perry Marian Petre Lutz Prechelt Rahul Premraj Forrest Shull Beth Simon Diomidis Spinellis Neil Thomas Walter Tichy Burak Turhan Elaine J. Weyuker Michele A. Whitecraft Laurie Williams Wendy M. Williams Andreas Zeller Thomas Zimmermann

Designing the Mind: The Principles of Psychitecture

Designing the Mind: The Principles of Psychitecture
Author: Designing The Mind
Publisher:
Total Pages: 270
Release: 2021-01-10
Genre: Philosophy
ISBN: 9781737846208

The Instant Cult Classic on the Art of Reprogramming Your Own Psychological SoftwareA bold and fascinating dive into the nuts and bolts of psychological evolution, Designing the Mind: The Principles of Psychitecture is part philosophical manifesto, part practical self-development guide, all based on the teachings of legendary thinkers like Marcus Aurelius, Lao Tzu, Friedrich Nietzsche, and Abraham Maslow. The ideas and techniques it offers are all integrated into a vital theory for helping individuals scale the heights of self-mastery and lead great lives."A fascinating framework" - Scott Barry Kaufman, PhD, author of Transcend: The New Science of Self-ActualizationThis visionary guide argues that the mind can be compared to software, made up of many interwoven algorithms which were originally programmed by natural selection. Though most never learn to alter their default programming, it is possible to rewire cognitive biases, change ingrained habits, and transform emotional reactions. The process of psychitecture enables you to unplug from your own mind, identify its underlying patterns, and become the architect of your own enlightenment.