As we move from the "low" level to the "high", say from the domain of machine code all the way up to, for instance, a rich, expressive Ruby DSL, the question arises, as it does for all language: have we acquired a surplus of content that cannot be simply reduced to core rules? At this point things get less…
Even something that has been traditionally seen as the purview of the young—the ability to learn new languages —continues to change the landscape of the brain late into life. When a group of adults took a nine-month intensive course in modern standard Chinese, their brains’ white matter reorganized progressively (as…
let’s revisit that initial encounter in The Sign of Four, when Mary Morstan, the mysterious lady caller, first makes her appearance. Do the two men see Mary in the same light? Not at all. The first thing Watson notices is the lady’s appearance. She is, he remarks, a rather attractive woman. Irrelevant, counters…
Nobody knows more than a tiny fragment of science well enough to judge its validity and value at first hand. For the rest he has to rely on views accepted at second hand on the authority of a community of people accredited as scientists. But this accrediting depends in its turn on a complex organization. For each…
Measurement has too often been the leitmotif of many investigations rather than the experimental examination of hypotheses. Mounds of data are collected, which are statistically decorous and methodologically unimpeachable, but conclusions are often trivial and rarely useful in decision making. This results from an…
For if as scientists we seek simplicity, then obviously we try the simplest surviving theory first, and retreat from it only when it proves false. Not this course, but any other, requires explanation. If you want to go somewhere quickly, and several alternate routes are equally likely to be open, no one asks why you…
It seems to me that every phenomenon, every fact, itself is the really interesting object. Whoever explains it, or connects it with other events, usually only amuses himself or makes sport of us, as, for instance, the naturalist or historian. But a single action or event is interesting, not because it is explainable…
Hypothesis is the most important mental technique of the investigator, and its main function is to suggest new experiments or new observations. Indeed, most experiments and many observations are carried out with the deliberate object of testing an hypothesis. Another function is to help one see the significance of an…
Sometimes we can actually pin down the explanation of a weird coincidence. A great American scientist called Richard Feynman tragically lost his wife to cancer, and the clock in her room stopped at precisely the moment she died. Goose-pimples! But Dr Feynman was not a great scientist for nothing. He worked out the…
Science and technology multiply around us. To an increasing extent they dictate the languages in which we speak and think. Either we use those languages, or we remain mute.
All of these people, should they desire, can indicate events and details they remember differently. But there is one unfortunate exception. In 1958, Rosalind Franklin died at the early age of thirty-seven. Since my initial impressions of her, both scientific and personal (as recorded in the early pages of this book)…
Why do the speakers of different languages hear and produce sounds so differently? Ears and mouths are the same the world over. What differs is our brains. Exposure to a particular language has altered our brains and shaped our minds, so that we perceive sounds differently. This in turn leads speakers of different…
There's obviously different kinds of programming. Without people who are not like me none of this would exist. But I've always seen much more in common with writing prose than math. It feels like you're writing a story and you're trying to express a concept to a very dumb person-the computer—who has a limited…
If you give two programmers the same problem—it depends on the problem, but problems of a more mathematical nature, they can often end up writing the same code. Subject to just formatting issues and relabeling the variables and the function names, it's isomorphic—it's exactly the same algorithms. Are we creating these…
One of the things I've been pushing is reading. I think that is the most useful thing that a community of programmers can do for each other—spend time on a regular basis reading each other's code. Then are's a tendency in project management just to let the programmers go off independently and then we have the big…
Seibel: What do you think is the most important skill for a programmer to have? Fitzpatrick: Thinking like a scientist; changing one thing at a time. Patience and trying to understand the root cause of things. Especially when you're debugging something or designing something that's not quite working. I've seen young…
Java didn't feel right. My old reflexes hit me. Java struck me as too authoritarian. Thats one of the reasons why I mentioned that Perl felt so good, because it's got the safety and the checks but it is so damn multidimensioned that the artist part of me has a lot of free board to express things early and to think…
One of the things that I've been thinking about off and on over the last five-plus years is, "Why is programming so hard?" You have the algorithmic side of programming and that's i close enough to mathematics that you can use mathematics as the basic model, if you will, for what goes on in it. You can use mathematical…
What to do instead So what should we do instead. It's very simple: Ask him what he means. ; interrogate him: "Why do you feel that Python is so bad? What do you find wrong with it?" Agree with him (but use a softer language): "Yes, Perl is a nice language, and I agree that Python has its downsides and/or trade-offs in…
George Malamidis taught me something about code attachment a few years ago: You always gain by allowing someone to show you an alternative solution. If someone wants to solve a problem in a different way, there are several gains to be had. If their way is inferior, you have an opportunity to mentor a team-mate. If…