Software Programming Quotes

We've searched our database for all the quotes and captions related to Software Programming. Here they are! All 100 of them:

DNA is like a computer program but far, far more advanced than any software ever created.
Bill Gates (The Road Ahead)
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
Rick Cook (The Wizardry Compiled (Wiz, #2))
I love my job. I love the pay! ~I love it more and more each day. ~I love my boss, he is the best! ~I love his boss and all the rest. ~I love my office and its location. I hate to have to go on vacation. ~I love my furniture, drab and grey, and piles of paper that grow each day! ~I think my job is swell, there's nothing else I love so well. ~I love to work among my peers, I love their leers, and jeers, and sneers. ~I love my computer and its software; I hug it often though it won't care. ~I love each program and every file, I'd love them more if they worked a while. ~I'm happy to be here. I am. I am. ~I'm the happiest slave of the Firm, I am. ~I love this work. I love these chores. ~I love the meetings with deadly bores. ~I love my job - I'll say it again - I even love those friendly men. ~Those friendly men who've come today, in clean white coats to take me away!!!!!
Dr. Seuss
Truth can only be found in one place: the code.
Robert C. Martin (Clean Code: A Handbook of Agile Software Craftsmanship)
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
Douglas Adams
That's the thing about people who think they hate computers. What they really hate is lousy programmers.
Larry Niven
Indeed, the ratio of time spent reading versus writing is well over 10 to 1. We are constantly reading old code as part of the effort to write new code. ...[Therefore,] making it easy to read makes it easier to write.
Robert C. Martin (Clean Code: A Handbook of Agile Software Craftsmanship)
Wit and puns aren't just decor in the mind; they're essential signs that the mind knows it's on, recognizes its own software, can spot the bugs in its own program.
Adam Gopnik
Our biological body itself is a form of hardware that needs re-programming through tantra like a new spiritual software which can release or unblock its potential.
Slavoj Žižek (Living in the End Times)
Walking on water and developing software from a specification are easy if both are frozen.
Edward Berard
So if you want to go fast, if you want to get done quickly, if you want your code to be easy to write, make it easy to read.
Robert C. Martin (Clean Code: A Handbook of Agile Software Craftsmanship)
Premature optimization is the root of all evil.
Donald Ervin Knuth (The Art of Computer Programming, Volume 1: Fundamental Algorithms)
Don’t comment bad code—rewrite it.
Brian W. Kernighan (The Elements of Programming Style)
A long descriptive name is better than a short enigmatic name. A long descriptive name is better than a long descriptive comment.
Robert C. Martin (Clean Code: A Handbook of Agile Software Craftsmanship)
The computer programmer is a creator of universes for which he alone is the lawgiver. No playwright, no stage director, no emperor, however powerful, has ever exercised such absolute authority to arrange a stage or field of battle and to command such unswervingly dutiful actors or troops.
Joseph Weizenbaum
If debugging is the process of removing software bugs, then programming must be the process of putting them in.
Edsger W. Dijkstra
Some of the best programming is done on paper, really. Putting it into the computer is just a minor detail.
Max Kanat-Alexander (Code Simplicity: The Fundamentals of Software)
It is not the language that makes programs appear simple. It is the programmer that make the language appear simple!
Robert C. Martin (Clean Code: A Handbook of Agile Software Craftsmanship)
Redundant comments are just places to collect lies and misinformation.
Robert C. Martin (Clean Code: A Handbook of Agile Software Craftsmanship)
Systems program building is an entropy-decreasing process, hence inherently metastable. Program maintenance is an entropy-increasing process, and even its most skillful execution only delays the subsidence of the system into unfixable obsolescence.
Frederick P. Brooks Jr. (The Mythical Man-Month: Essays on Software Engineering)
It should be noted that no ethically -trained software engineer would ever consent to write a DestroyBaghdad procedure. Basic professional ethics would instead require him to write a DestroyCity procedure, to which Baghdad could be given as a parameter.
Nathaniel S. Borenstein
Is it possible that software is not like anything else, that it is meant to be discarded: that the whole point is to always see it as a soap bubble?
Alan J. Perlis
You Can't Write Perfect Software. Did that hurt? It shouldn't. Accept it as an axiom of life. Embrace it. Celebrate it. Because perfect software doesn't exist. No one in the brief history of computing has ever written a piece of perfect software. It's unlikely that you'll be the first. And unless you accept this as a fact, you'll end up wasting time and energy chasing an impossible dream.
Andrew Hunt (The Pragmatic Programmer: From Journeyman to Master)
Software testing is a sport like hunting, it's bughunting.
Amit Kalantri
Programming is breaking of one big impossible task into several very small possible tasks.
Jazzwant
The value of intangibles derived from intellectual property rights and trademarks from brands, inventions, software code, and programs has never been higher.
Roger Spitz (The Definitive Guide to Thriving on Disruption: Volume IV - Disruption as a Springboard to Value Creation)
I'm a programmer. I like programming. And the best way I've found to have a positive impact on code is to write it.
Robert C. Martin (Clean Architecture)
Code is not like other how-computers-work books. It doesn't have big color illustrations of disk drives with arrows showing how the data sweeps into the computer. Code has no drawings of trains carrying a cargo of zeros and ones. Metaphors and similes are wonderful literary devices but they do nothing but obscure the beauty of technology.
Charles Petzold (Code: The Hidden Language of Computer Hardware and Software)
Generally, the craft of programming is the factoring of a set of requirements into a a set of functions and data structures.
Douglas Crockford (JavaScript: The Good Parts)
What kind of programmer is so divorced from reality that she thinks she'll get complex software right the first time?
James Alan Gardner (Ascending (League of Peoples, #5))
A baseball manager recognizes a nonphysical talent, hustle, as an essential gift of great players and great teams. It is the characteristic of running faster than necessary, moving sooner than necessary, trying harder than necessary. It is essential for great programming teams, too.
Frederick P. Brooks Jr. (The Mythical Man-Month: Essays on Software Engineering)
so many people have been hypnotized by Aristotelian ''yes/ no'' logic to the extent that any step beyond that Bronze Age mythos seems to them a whirling, dizzying plunge into a pit of Chaos and the Dark Night of Nihilism.
Robert Anton Wilson (Quantum Psychology: How Brain Software Programs You & Your World)
Advancement only comes with habitually doing more than you are asked.” —Gary Ryan Blair
John Z. Sonmez (The Complete Software Developer's Career Guide: How to Learn Your Next Programming Language, Ace Your Programming Interview, and Land The Coding Job Of Your Dreams)
Programming is a social activity.
Robert C. Martin
The big optimizations come from refining the high-level design, not the individual routines.
Steve McConnell (Code Complete: A Practical Handbook of Software Construction)
Einstein repeatedly argued that there must be simplified explanations of nature, because God is not capricious or arbitrary. No such faith comforts the software engineer.
Frederick P. Brooks Jr. (The Mythical Man-Month: Essays on Software Engineering)
If the word ''fuck'' is ''obscene'' or ''dirty'', why isn't the word ''duck'' 75% ''dirty''?
Robert Anton Wilson (Quantum Psychology: How Brain Software Programs You & Your World)
Programming is about managing complexity: the complexity of the problem, laid upon the complexity of the machine. Because of this complexity, most of our programming projects fail.
Bruce Eckel (On Java 8)
We see a lot of feature-driven product design in which the cost of features is not properly accounted. Features can have a negative value to customers because they make the products more difficult to understand and use. We are finding that people like products that just work. It turns out that designs that just work are much harder to produce that designs that assemble long lists of features.
Douglas Crockford (JavaScript: The Good Parts)
The conclusion is simple: if a 200-man project has 25 managers who are the most competent and experienced programmers, fire the 175 troops and put the managers back to programming.
Frederick P. Brooks Jr.
The real nightmare, worse than the one in which the Big Machine wants to kill you, is the one in which it sees you as irrelevant, or not even as a discrete thing to know.
Benjamin H. Bratton (The Stack: On Software and Sovereignty (Software Studies))
Programming in machine code is like eating with a toothpick.
Charles Petzold (Code: The Hidden Language of Computer Hardware and Software)
In other words, what you believe—that is, the descriptions of the world around you that you received in childhood—act much like software; they program what is perceivable by your conscious mind.
Stephen Harrod Buhner (Plant Intelligence and the Imaginal Realm: Beyond the Doors of Perception into the Dreaming of Earth)
The numbers of universes perceived by human beings does not equal the population of the planet, but several times the population of the planet. It thus appears some sort of miracle that we sometimes find it possible to communicate with each other at all, at all.
Robert Anton Wilson (Quantum Psychology: How Brain Software Programs You & Your World)
In the end, it all comes down to 0 and 1
Vineet Goel
User interface is the process of shifting from chaotic complexity to elegant simplicity.
Akshat Paul (React Native for iOS Development)
Programmers are not mathematicians, no matter how much we wish and wish for it.
Richard P. Gabriel
All race conditions, deadlock conditions, and concurrent update problems are due to mutable variables.
Robert C. Martin (Clean Architecture)
Men and months are interchangeable commodities only when a task can be partitioned among many workers with no communication among them (Fig. 2.1). This is true of reaping wheat or picking cotton; it is not even approximately true of systems programming.
Frederick P. Brooks Jr. (The Mythical Man-Month: Essays on Software Engineering)
With software there are only two possibilites: either the users control the programme or the programme controls the users. If the programme controls the users, and the developer controls the programme, then the programme is an instrument of unjust power.
Richard Stallman
Non-Aristotelian logic deals with existencial/operacional probabilities. Aristotelian logic deals with certainties, and in the lack of certainties throughout most of life, Aristotelian logic subliminally programs us to ivent fictitious certainties. That rush for fictitious certainties explains most of the Ideologies and damn near all Religions on the planet, I think.
Robert Anton Wilson (Quantum Psychology: How Brain Software Programs You & Your World)
Dijkstra once said, “Testing shows the presence, not the absence, of bugs.” In other words, a program can be proven incorrect by a test, but it cannot be proven correct. All that tests can do, after sufficient testing effort, is allow us to deem a program to be correct enough for our purposes.
Robert C. Martin (Clean Architecture: A Craftsman's Guide to Software Structure and Design)
Life doesn't have a ctrl-z. Type wisely.
Imtiaz Iqbal
So many people set off in a direction in life but don’t think things completely through first.
John Z. Sonmez (The Complete Software Developer's Career Guide: How to Learn Your Next Programming Language, Ace Your Programming Interview, and Land The Coding Job Of Your Dreams)
Without requirements and design, programming is the art of adding bugs to an empty text file.
Louis Srygley
As a software developer, you are your own worst enemy. The sooner you realize that, the better off you’ll be.
Jeff Atwood (Effective Programming: More Than Writing Code)
In fact, flow charting is more preached than practiced. I have never seen an experienced programmer who routinely made detailed flow charts before beginning to write programs
Frederick P. Brooks Jr. (The Mythical Man-Month: Essays on Software Engineering)
If it's not written, it never happened. If it is written, it doesn't matter what happened.
Sercan Leylek
Coding like poetry should be short and concise.
Santosh Kalwar
You can Change Your Organization or Change Your Organization
Martin Fowler
Trying to improve software quality by increasing the amount of testing is like trying to lose weight by weighing yourself more often. What you eat before you step onto the scale determines how much you will weigh, and the software-development techniques you use determine how many errors testing will find.
Steve McConnell (Code Complete: A Practical Handbook of Software Construction)
When human beings acquired language, we learned not just how to listen but how to speak. When we gained literacy, we learned not just how to read but how to write. And as we move into an increasingly digital reality, we must learn not just how to use programs but how to make them. In the emerging highly programmed landscape ahead, you will either create the software or you will be the software. It’s really that simple: Program, or be programmed.
Douglas Rushkoff (Program or Be Programmed: Ten Commands for a Digital Age)
Programming is a science dressed up as art, because most of us don’t understand the physics of software and it’s rarely, if ever, taught. The physics of software is not algorithms, data structures, languages, and abstractions. These are just tools we make, use, and throw away. The real physics of software is the physics of people. Specifically, it’s about our limitations when it comes to complexity and our desire to work together to solve large problems in pieces. This is the science of programming: make building blocks that people can understand and use easily, and people will work together to solve the very largest problems.
Pieter Hintjens (ZeroMQ: Messaging for Many Applications)
When you've known somebody too long, it's like they're talking to a version of you from years ago, even though you've updated all your software. You're the same program, except also you're not. It's a little easier around somebody who doesn't know you as well, who doesn't remember that one bad haircut from fourth grade, or the first kid you had a crush on. Somebody who doesn't feel comfortable calling your parents by their first names. Somebody who doesn't know your parents' names at all.
Christina Hammonds Reed (The Black Kids)
Automated testing is a safety net that protects the program from its programmers
Yegor Bugayenko (Code Ahead)
The perfect kind of architecture decision is the one which never has to be made
Robert C. Martin
Write a program in efficient way as you write for kernel scheduler
Ahmad Moawad
From a shamanic perspective, the psychic blockade that prevents otherwise intelligent adults from considering the future of our world - our obvious lack of future, if we continue on our present path - reveals an occult dimension. It is like a programming error written into the software designed for the modern mind, which has endless energy to spend on the trivial and treacly, sports statistic or shoe sale, but no time to spare for the torments of the Third World, for the mass extinction of species to perpetuate a way of life without a future, for the imminent exhaustion of fossil fuel reserves, or for the fine print of the Patriot Act. This psychic blockade is reinforced by a vast propaganda machine spewing out crude as well as sophisticated distractions, encouraging individuals to see themselves as alienated spectators of their culture, rather than active participants in a planetary ecology.
Daniel Pinchbeck (2012 The Year of the Mayan Prophecy)
The best thing to do is create a lagom number of processes. Erlang comes from Sweden, and the word lagom loosely translated means “not too few, not too many, just about right.” Some say that this summarizes the Swedish character.
Joe Armstrong (Programming Erlang: Software for a Concurrent World (Pragmatic Programmers))
When the veterans in the group were growing up, computers were quite rare and expensive, but Veres went to school in the age when anyone with a little money and skill could make up a small personal system. Veres says that what he does at home is different enough from what he does at work to serve as recreation for him. At work he deals with hardware; when he’s at home, he focuses on software—reading programming manuals and creating new software for his own computer.
Tracy Kidder (The Soul of A New Machine)
Girls practically invented programming,” she said. “Jean Bartik, Marlyn Wescoff, Fran Bilas—they all programmed ENIAC.” I had no idea what she was talking about. “And don’t forget Margaret Hamilton. She wrote the software that let Apollo 11 land on the moon.” “I meant programming video games,” I said. “Dona Bailey, Centipede. Brenda Romero, Wizardry. Roberta Williams, King’s Quest. She designed her first computer game at the kitchen table. I interviewed her for school last year.
Jason Rekulak (The Impossible Fortress)
The linking of rationality with mysticism, knowability with what is unknown, makes it a powerful fetish that offers its programmers and users alike a sense of empowerment, of sovereign subjectivity, that covers over-barely-a sense of profound ignorance.
Wendy Hui Kyong Chun (Programmed Visions: Software and Memory (Software Studies))
Have you ever had a weird and strong feeling that programming is a godlike kind of work? Just as the Lord created our world and the entire Universe based on molecular techniques such as DNA coding, software developers create a digital world based on IT coding.
Sahara Sanders (INDIGO DIARIES: A Series of Novels)
I learned that Bill himself has long appreciated the importance of competencies other than talent. Back in the days when he had a more direct role in hiring software programmers at Microsoft, for instance, he said he’d give applicants a programming task he knew would require hours and hours of tedious troubleshooting. This wasn’t an IQ test, or a test of programming skills. Rather, it was a test of a person’s ability to muscle through, press on, get to the finish line. Bill only hired programmers who finished what they began.
Angela Duckworth (Grit: The Power of Passion and Perseverance)
Almost every software development organization has at least one developer who takes tactical programming to the extreme: a tactical tornado. The tactical tornado is a prolific programmer who pumps out code far faster than others but works in a totally tactical fashion. When it comes to implementing a quick feature, nobody gets it done faster than the tactical tornado. In some organizations, management treats tactical tornadoes as heroes. However, tactical tornadoes leave behind a wake of destruction. They are rarely considered heroes by the engineers who must work with their code in the future. Typically, other engineers must clean up the messes left behind by the tactical tornado, which makes it appear that those engineers (who are the real heroes) are making slower progress than the tactical tornado.
John Ousterhout (A Philosophy of Software Design)
I like my code to be elegant and efficient. The logic should be straightforward to make it hard for bugs to hide, the dependencies minimal to ease maintenance, error handling complete according to an articulated strategy, and performance close to optimal so as not to tempt people to make the code messy with unprincipled optimizations. Clean code does one thing well. -Bjarne Stroustrup, inventor of C++ and author of The C++ Programming Language
Robert C. Martin (Clean Code: A Handbook of Agile Software Craftsmanship)
Here is a minimal list of the things that every software professional should be conversant with: • Design patterns. You ought to be able to describe all 24 patterns in the GOF book and have a working knowledge of many of the patterns in the POSA books. • Design principles. You should know the SOLID principles and have a good understanding of the component principles. • Methods. You should understand XP, Scrum, Lean, Kanban, Waterfall, Structured Analysis, and Structured Design. • Disciplines. You should practice TDD, Object-Oriented design, Structured Programming, Continuous Integration, and Pair Programming. • Artifacts: You should know how to use: UML, DFDs, Structure Charts, Petri Nets, State Transition Diagrams and Tables, flow charts, and decision tables. Continuous
Robert C. Martin (Clean Coder, The: A Code of Conduct for Professional Programmers (Robert C. Martin Series))
Ecofont is designed to save ink, money and eventually the planet, but heaven save us from worthy fonts. Ecofont is a program that adds holes to a font. The software takes Arial, Verdana, Times New Roman and prints them is if they had been attacked by moths. They retain their original shape but not their original form, and so lose their true weight and beauty... a study at the University of Wisconsin claimed that Ecofonts, such as Ecofont Vera Sans, actually uses more ink and toner than lighter fonts such as Century Gothic...
Simon Garfield (Just My Type: A Book About Fonts)
In 1948, while working for Bell Telephone Laboratories, he published a paper in the Bell System Technical Journal entitled "A Mathematical Theory of Communication" that not only introduced the word bit in print but established a field of study today known as information theory. Information theory is concerned with transmitting digital information in the presence of noise (which usually prevents all the information from getting through) and how to compensate for that. In 1949, he wrote the first article about programming a computer to play chess, and in 1952 he designed a mechanical mouse controlled by relays that could learn its way around a maze. Shannon was also well known at Bell Labs for riding a unicycle and juggling simultaneously.
Charles Petzold (Code: The Hidden Language of Computer Hardware and Software)
As for relegated/delegated responsibility to ensure organizational software licensing compliance, management is still accountable when intellectual property rights are violated. If the safeguarding responsibility is assigned to an ineffective and/or inefficient unit within an organization, IT audit should recommend an alternative arrangement after the risks are substantiated.
Robert E. Davis
Let me try to explain to you, what to my taste is characteristic for all intelligent thinking. It is, that one is willing to study in depth an aspect of one's subject matter in isolation for the sake of its own consistency, all the time knowing that one is occupying oneself only with one of the aspects. We know that a program must be correct and we can study it from that viewpoint only; we also know that it should be efficient and we can study its efficiency on another day, so to speak. In another mood we may ask ourselves whether, and if so: why, the program is desirable. But nothing is gained—on the contrary!—by tackling these various aspects simultaneously. It is what I sometimes have called "the separation of concerns", which, even if not perfectly possible, is yet the only available technique for effective ordering of one's thoughts, that I know of. This is what I mean by "focusing one's attention upon some aspect": it does not mean ignoring the other aspects, it is just doing justice to the fact that from this aspect's point of view, the other is irrelevant. It is being one- and multiple-track minded simultaneously.
Edsger W. Dijkstra (Selected Writings on Computing: A personal Perspective (Monographs in Computer Science))
From then on, my computer monitored my vital signs and kept track of exactly how many calories I burned during the course of each day. If I didn’t meet my daily exercise requirements, the system prevented me from logging into my OASIS account. This meant that I couldn’t go to work, continue my quest, or, in effect, live my life. Once the lockout was engaged, you couldn’t disable it for two months. And the software was bound to my OASIS account, so I couldn’t just buy a new computer or go rent a booth in some public OASIS café. If I wanted to log in, I had no choice but to exercise first. This proved to be the only motivation I needed. The lockout software also monitored my dietary intake. Each day I was allowed to select meals from a preset menu of healthy, low-calorie foods. The software would order the food for me online and it would be delivered to my door. Since I never left my apartment, it was easy for the program to keep track of everything I ate. If I ordered additional food on my own, it would increase the amount of exercise I had to do each day, to offset my additional calorie intake. This was some sadistic software. But it worked. The pounds began to melt off, and after a few months, I was in near-perfect health. For the first time in my life I had a flat stomach, and muscles. I also had twice the energy, and I got sick a lot less frequently. When the two months ended and I was finally given the option to disable the fitness lockout, I decided to keep it in place. Now, exercising was a part of my daily ritual.
Ernest Cline (Ready Player One (Ready Player One, #1))
Hollywood and similar “popular culture” sources of disinformation have assigned largely negative images to programmers. For example, we have all seen the solitary, fat, ugly nerd with no social skills who is obsessed with video games and breaking into other people’s computers. He (almost always a male) is as likely to want to destroy the world as he is to want to save it. Obviously, milder versions of such caricatures exist in real life, but in our experience they are no more frequent among software developers than they are among lawyers, police officers, car salesmen, journalists, artists, or politicians.
Bjarne Stroustrup (Programming: Principles and Practice Using C++)
Democracy is a continuous, open process of civility. A democracy can never be “done”; updating democracy can never be over. Democracy can be nothing else but a continuous process, because we use it to organize our life, and life is nothing but a continuous process. Democracy can be compared to an operating system or an anti-virus software; if it does not get perpetually updated, it becomes obsolete very fast. Trusting the updates or the “improvements” of democracy to the elected and the owned mass media is like trusting the updates of an anti-virus program to virus creators; it defeats the purpose of updates or improvements.
Haroutioun Bochnakian (The Human Consensus and The Ultimate Project Of Humanity)
A major part of sustainability is social justice, here and everywhere. Think of it this way: justice is a technology. It’s like a software program that we use to cope with the world and get along with each other, and one of the most effective we have ever invented, because we are all in this together. When you realize that acting with justice and generosity turns out to be the most effective technology for dealing with other people, that’s a good thing.
Kim Stanley Robinson (Sixty Days and Counting (Science in the Capital Book 3))
The truth is that anxiety is at once a function of biology and philosophy, body and mind, instinct and reason, personality and culture. Even as anxiety is experienced at a spiritual and psychological level, it is scientifically measurable at the molecular level and the physiological level. It is produced by nature and it is produced by nurture. It’s a psychological phenomenon and a sociological phenomenon. In computer terms, it’s both a hardware problem (I’m wired badly) and a software problem (I run faulty logic programs that make me think anxious thoughts). The origins of a temperament are many faceted; emotional dispositions that may seem to have a simple, single source—a bad gene, say, or a childhood trauma—may not.
Scott Stossel (My Age of Anxiety: Fear, Hope, Dread, and the Search for Peace of Mind)
In the modern computer, software has developed in such a way as to fill this role of go-between. On one end you have the so-called end user who wants to be able to order up a piece of long division, say, simply by supplying two numbers to the machine and ordering it to divide them. At the other end stands the actual computer, which for all its complexity is something of a brute. It can perform only several hundred basic operations, and long division may not be one of them. The machine may have to be instructed to perform a sequence of several of its basic operations in order to accomplish a piece of long division. Software—a series of what are known as programs—translates the end user’s wish into specific, functional commands for the machine.
Tracy Kidder (The Soul of a New Machine)
Insight, then. Wisdom. The quest for knowledge, the derivation of theorems, science and technology and all those exclusively human pursuits that must surely rest on a conscious foundation. Maybe that's what sentience would be for— if scientific breakthroughs didn't spring fully-formed from the subconscious mind, manifest themselves in dreams, as full-blown insights after a deep night's sleep. It's the most basic rule of the stymied researcher: stop thinking about the problem. Do something else. It will come to you if you just stop being conscious of it... Don't even try to talk about the learning curve. Don't bother citing the months of deliberate practice that precede the unconscious performance, or the years of study and experiment leading up to the gift-wrapped Eureka moment. So what if your lessons are all learned consciously? Do you think that proves there's no other way? Heuristic software's been learning from experience for over a hundred years. Machines master chess, cars learn to drive themselves, statistical programs face problems and design the experiments to solve them and you think that the only path to learning leads through sentience? You're Stone-age nomads, eking out some marginal existence on the veldt—denying even the possibility of agriculture, because hunting and gathering was good enough for your parents. Do you want to know what consciousness is for? Do you want to know the only real purpose it serves? Training wheels. You can't see both aspects of the Necker Cube at once, so it lets you focus on one and dismiss the other. That's a pretty half-assed way to parse reality. You're always better off looking at more than one side of anything. Go on, try. Defocus. It's the next logical step.
Peter Watts (Blindsight (Firefall, #1))
I etch a pattern of geometric shapes onto a stone. To the uninitiated, the shapes look mysterious and complex, but I know that when arranged correctly they will give the stone a special power, enabling it to respond to incantations in a language no human being has ever spoken. ...Yet my work involves no witchcraft. The stone is a wafer of silicon, and the incantations are software. The patterns etched on the chip and the programs that instruct the computer may look complicated and mysterious, but they are generated according to a few basic principles that are easily explained.
William Daniel Hillis
Managers of programming projects aren’t always aware that certain programming issues are matters of religion. If you’re a manager and you try to require compliance with certain programming practices, you’re inviting your programmers’ ire. Here’s a list of religious issues: ■ Programming language ■ Indentation style ■ Placing of braces ■ Choice of IDE ■ Commenting style ■ Efficiency vs. readability tradeoffs ■ Choice of methodology—for example, Scrum vs. Extreme Programming vs. evolutionary delivery ■ Programming utilities ■ Naming conventions ■ Use of gotos ■ Use of global variables ■ Measurements, especially productivity measures such as lines of code per day
Steve McConnell (Code Complete: A Practical Handbook of Software Construction)
It is important to note that the design of an entire brain region is simpler than the design of a single neuron. As discussed earlier, models often get simpler at a higher level—consider an analogy with a computer. We do need to understand the detailed physics ofsemiconductors to model a transistor, and the equations underlying a single real transistor are complex. A digital circuit that multiples two numbers requires hundreds of them. Yet we can model this multiplication circuit very simply with one or two formulas. An entire computer with billions of transistors can be modeled through its instruction set and register description, which can be described on a handful of written pages of text and formulas. The software programs for an operating system, language compilers, and assemblers are reasonably complex, but modeling a particular program—for example, a speech recognition programbased on hierarchical hidden Markov modeling—may likewise be described in only a few pages of equations. Nowhere in such a description would be found the details ofsemiconductor physics or even of computer architecture. A similar observation holds true for the brain. A particular neocortical pattern recognizer that detects a particular invariant visualfeature (such as a face) or that performs a bandpass filtering (restricting input to a specific frequency range) on sound or that evaluates the temporal proximity of two events can be described with far fewer specific details than the actual physics and chemicalrelations controlling the neurotransmitters, ion channels, and other synaptic and dendritic variables involved in the neural processes. Although all of this complexity needs to be carefully considered before advancing to the next higher conceptual level, much of it can be simplified as the operating principles of the brain are revealed.
Ray Kurzweil (How to Create a Mind: The Secret of Human Thought Revealed)
Pham Nuwen spent years learning to program/explore. Programming went back to the beginning of time. It was a little like the midden out back of his father’s castle. Where the creek had worn that away, ten meters down, there were the crumpled hulks of machines—flying machines, the peasants said—from the great days of Canberra’s original colonial era. But the castle midden was clean and fresh compared to what lay within the Reprise’s local net. There were programs here that had been written five thousand years ago, before Humankind ever left Earth. The wonder of it—the horror of it, Sura said—was that unlike the useless wrecks of Canberra’s past, these programs still worked! And via a million million circuitous threads of inheritance, many of the oldest programs still ran in the bowels of the Qeng Ho system. Take the Traders’ method of timekeeping. The frame corrections were incredibly complex—and down at the very bottom of it was a little program that ran a counter. Second by second, the Qeng Ho counted from the instant that a human had first set foot on Old Earth’s moon. But if you looked at it still more closely. . .the starting instant was actually some hundred million seconds later, the 0-second of one of Humankind’s first computer operating systems. So behind all the top-level interfaces was layer under layer of support. Some of that software had been designed for wildly different situations. Every so often, the inconsistencies caused fatal accidents. Despite the romance of spaceflight, the most common accidents were simply caused by ancient, misused programs finally getting their revenge. “We should rewrite it all,” said Pham. “It’s been done,” said Sura, not looking up. She was preparing to go off-Watch, and had spent the last four days trying to root a problem out of the coldsleep automation. “It’s been tried,” corrected Bret, just back from the freezers. “But even the top levels of fleet system code are enormous. You and a thousand of your friends would have to work for a century or so to reproduce it.” Trinli grinned evilly. “And guess what—even if you did, by the time you finished, you’d have your own set of inconsistencies. And you still wouldn’t be consistent with all the applications that might be needed now and then.” Sura gave up on her debugging for the moment. “The word for all this is ‘mature programming environment.’ Basically, when hardware performance has been pushed to its final limit, and programmers have had several centuries to code, you reach a point where there is far more signicant code than can be rationalized. The best you can do is understand the overall layering, and know how to search for the oddball tool that may come in handy—take the situation I have here.” She waved at the dependency chart she had been working on. “We are low on working fluid for the coffins. Like a million other things, there was none for sale on dear old Canberra. Well, the obvious thing is to move the coffins near the aft hull, and cool by direct radiation. We don’t have the proper equipment to support this—so lately, I’ve been doing my share of archeology. It seems that five hundred years ago, a similar thing happened after an in-system war at Torma. They hacked together a temperature maintenance package that is precisely what we need.” “Almost precisely.
Vernor Vinge (A Deepness in the Sky (Zones of Thought, #2))
If you need to visualize the soul, think of it as a cross between a wolf howl, a photon, and a dribble of dark molasses. But what it really is, as near as I can tell, is a packet of information. It’s a program, a piece of hyperspatial software designed explicitly to interface with the Mystery. Not a mystery, mind you, the Mystery. The one that can never be solved. To one degree or another, everybody is connected to the Mystery, and everybody secretly yearns to expand the connection. That requires expanding the soul. These things can enlarge the soul: laughter, danger, imagination, meditation, wild nature, passion, compassion, psychedelics, beauty, iconoclasm, and driving around in the rain with the top down. These things can diminish it: fear, bitterness, blandness, trendiness, egotism, violence, corruption, ignorance, grasping, shining, and eating ketchup on cottage cheese. Data in our psychic program is often nonlinear, nonhierarchical, archaic, alive, and teeming with paradox. Simply booting up is a challenge, if not for no other reason than that most of us find acknowledging the unknowable and monitoring its intrusions upon the familiar and mundane more than a little embarrassing. But say you’ve inflated your soul to the size of a beach ball and it’s soaking into the Mystery like wine into a mattress. What have you accomplished? Well, long term, you may have prepared yourself for a successful metamorphosis, an almost inconceivable transformation to be precipitated by your death or by some great worldwide eschatological whoopjamboreehoo. You may have. No one can say for sure. More immediately, by waxing soulful you will have granted yourself the possibility of ecstatic participation in what the ancients considered a divinely animated universe. And on a day to day basis, folks, it doesn’t get any better than that.
–Tom Robbins, from “You gotta have soul”, Esquire, October 1993
You’re either remarkable or invisible,” says Seth Godin in his 2002 bestseller, Purple Cow.1 As he elaborated in a Fast Company manifesto he published on the subject: “The world is full of boring stuff—brown cows—which is why so few people pay attention…. A purple cow… now that would stand out. Remarkable marketing is the art of building things worth noticing.”2 When Giles read Godin’s book, he had an epiphany: For his mission to build a sustainable career, it had to produce purple cows, the type of remarkable projects that compel people to spread the word. But this left him with a second question: In the world of computer programming, where does one launch remarkable projects? He found his second answer in a 2005 career guide with a quirky title: My Job Went to India: 52 Ways to Save Your Job.3 The book was written by Chad Fowler, a well-known Ruby programmer who also dabbles in career advice for software developers.
Cal Newport (So Good They Can't Ignore You: Why Skills Trump Passion in the Quest for Work You Love)
In 2003, a Dutch clinical psychologist named Christof van Nimwegen began a fascinating study of computer-aided learning that a BBC writer would later call “one of the most interesting examinations of current computer use and the potential downsides of our increasing reliance on screen-based interaction with information systems.”26 Van Nimwegen had two groups of volunteers work through a tricky logic puzzle on a computer. The puzzle involved transferring colored balls between two boxes in accordance with a set of rules governing which balls could be moved at which time. One of the groups used software that had been designed to be as helpful as possible. It offered on-screen assistance during the course of solving the puzzle, providing visual cues, for instance, to highlight permitted moves. The other group used a bare-bones program, which provided no hints or other guidance. In the early stages of solving the puzzle, the group using the helpful software made correct moves more quickly than the other group, as would be expected. But as the test proceeded, the proficiency of the members of the group using the bare-bones software increased more rapidly. In the end, those using the unhelpful program were able to solve the puzzle more quickly and with fewer wrong moves. They also reached fewer impasses—states in which no further moves were possible—than did the people using the helpful software. The findings indicated, as van Nimwegen reported, that those using the unhelpful software were better able to plan ahead and plot strategy, while those using the helpful software tended to rely on simple trial and error. Often, in fact, those with the helpful software were found “to aimlessly click around” as they tried to crack the puzzle.
Nicholas Carr (The Shallows: What the Internet is Doing to Our Brains)
The clarity offered by software as metaphor - and the empowerment allegedly offered to us who know software - should make us pause, because software also engenders a sense of profound ignorance. Software is extremely difficult to comprehend. Who really knows what lurks behind our smiling interfaces, behind the objects we click and manipulate? Who completely understands what one’s computer is actually doing at any given moment? Software as a metaphor for metaphor troubles the usual functioning of metaphor, that is, the clarification of an unknown concept through a known one. For, if software illuminates an unknown, it does so through an unknowable (software). This paradox - this drive to grasp what we do not know through what we do not entirely understand… does not undermine, but rather grounds software’s appeal. Its combination of what can be seen and not seen, can be known and no known - it’s separation of interface from algorithm, of software from hardware - makes it a powerful metaphor for everything we believe is invisible yet generates visible effects, from genetics to the invisible hand of the market, from ideology to culture. Every use entails an act of faith.
Wendy Hui Kyong Chun (Programmed Visions: Software and Memory (Software Studies))
Take for example job applications. In the 21st century the decision wherever to hire somebody for a job while increasingly be made by algorithms. We cannot rely on the machines to set the relevant ethical standards, humans will still need to do that, but once we decide on an ethical standard in the job market, that it is wrong to discriminate against blacks or against women for example, we can rely on machines to implement and maintain these standards better than humans. A human manager may know and even agree that is unethical to discriminate against blacks and women but then when a black woman applies for a job the manager subconsciously discriminate against her and decides not to hire her. If we allow a computer to evaluate job applications and program computers to completely ignore race and gender we can be certain that the computer will indeed ignore these factors because computers do not have a subconscious. Of course it won't be easy to write code for evaluating job applications and there is always the danger that the engineers will somehow program their own subconscious biases into the software, yet once we discover such mistakes it would probably be far easier to debug the software than to get rid humans of their racist and misogynist biases.
Yuval Noah Harari (21 Lessons for the 21st Century)
There was no escape: The entire Elliott 503 Mark II software project had to be abandoned, and with it, over thirty man-years of programming effort, equivalent to nearly one man’s active working life, and I was responsible, both as designer and as manager, for wasting it. ... How did we recover from the catastrophe? First, we classified our 503 customers into groups, according to the nature and size of the hardware configurations which they had bought ... We assigned to each group of customers a small team of programmers and told the team leader to visit the customers to find out what they wanted; to select the easiest request to fulfill, and to make plans (but no promises) to implement it. In no case would we consider a request for a feature that would take more than three months to implement and deliver. The project leader would then have to convince me that the customers’ request was reasonable, that the design of the new feature was appropriate, and that the plans and schedules for implementation were realistic. Above all, I did not allow anything to be done which I did not myself understand. It worked! The software requested began to be delivered on the promised dates. With an increase in our confidence and that of our customers, we were able to undertake fulfilling slightly more ambitious requests. Within a year we had recovered from the disaster. Within two years, we even had some moderately satisfied customers.
C.A.R. Hoare
Computational models of the mind would make sense if what a computer actually does could be characterized as an elementary version of what the mind does, or at least as something remotely like thinking. In fact, though, there is not even a useful analogy to be drawn here. A computer does not even really compute. We compute, using it as a tool. We can set a program in motion to calculate the square root of pi, but the stream of digits that will appear on the screen will have mathematical content only because of our intentions, and because we—not the computer—are running algorithms. The computer, in itself, as an object or a series of physical events, does not contain or produce any symbols at all; its operations are not determined by any semantic content but only by binary sequences that mean nothing in themselves. The visible figures that appear on the computer’s screen are only the electronic traces of sets of binary correlates, and they serve as symbols only when we represent them as such, and assign them intelligible significances. The computer could just as well be programmed so that it would respond to the request for the square root of pi with the result “Rupert Bear”; nor would it be wrong to do so, because an ensemble of merely material components and purely physical events can be neither wrong nor right about anything—in fact, it cannot be about anything at all. Software no more “thinks” than a minute hand knows the time or the printed word “pelican” knows what a pelican is. We might just as well liken the mind to an abacus, a typewriter, or a library. No computer has ever used language, or responded to a question, or assigned a meaning to anything. No computer has ever so much as added two numbers together, let alone entertained a thought, and none ever will. The only intelligence or consciousness or even illusion of consciousness in the whole computational process is situated, quite incommutably, in us; everything seemingly analogous to our minds in our machines is reducible, when analyzed correctly, only back to our own minds once again, and we end where we began, immersed in the same mystery as ever. We believe otherwise only when, like Narcissus bent above the waters, we look down at our creations and, captivated by what we see reflected in them, imagine that another gaze has met our own.
David Bentley Hart (The Experience of God: Being, Consciousness, Bliss)
A great deal of effort has been devoted to explaining Babel. Not the Babel event -- which most people consider to be a myth -- but the fact that languages tend to diverge. A number of linguistic theories have been developed in an effort to tie all languages together." "Theories Lagos tried to apply to his virus hypothesis." "Yes. There are two schools: relativists and universalists. As George Steiner summarizes it, relativists tend to believe that language is not the vehicle of thought but its determining medium. It is the framework of cognition. Our perceptions of everything are organized by the flux of sensations passing over that framework. Hence, the study of the evolution of language is the study of the evolution of the human mind itself." "Okay, I can see the significance of that. What about the universalists?" "In contrast with the relativists, who believe that languages need not have anything in common with each other, the universalists believe that if you can analyze languages enough, you can find that all of them have certain traits in common. So they analyze languages, looking for such traits." "Have they found any?" "No. There seems to be an exception to every rule." "Which blows universalism out of the water." "Not necessarily. They explain this problem by saying that the shared traits are too deeply buried to be analyzable." "Which is a cop out." "Their point is that at some level, language has to happen inside the human brain. Since all human brains are more or less the same --" "The hardware's the same. Not the software." "You are using some kind of metaphor that I cannot understand." "Well, a French-speaker's brain starts out the same as an English-speaker's brain. As they grow up, they get programmed with different software -- they learn different languages." "Yes. Therefore, according to the universalists, French and English -- or any other languages -- must share certain traits that have their roots in the 'deep structures' of the human brain. According to Chomskyan theory, the deep structures are innate components of the brain that enable it to carry out certain formal kinds of operations on strings of symbols. Or, as Steiner paraphrases Emmon Bach: These deep structures eventually lead to the actual patterning of the cortex with its immensely ramified yet, at the same time, 'programmed' network of electrochemical and neurophysiological channels." "But these deep structures are so deep we can't even see them?" "The universalists place the active nodes of linguistic life -- the deep structures -- so deep as to defy observation and description. Or to use Steiner's analogy: Try to draw up the creature from the depths of the sea, and it will disintegrate or change form grotesquely.
Neal Stephenson (Snow Crash)