A magazine about programmers, code, and society. Written by humans since 2018.


Gerald Weinberg

Some books are like mirrors. By that I mean that reading them involves a great deal of looking at oneself, both for praise and loathing. Taking a look back in time, reflecting on all those times we thought we were right and we were wrong, bringing back memories of times long gone, some of them painful, most hopefully fun and joyful.

Douglas Hofstadter

You may be worried that I am going to talk about an author of books that are not about programming, and you are correct and incorrect. Correct, in that Hofstadter's books are not about programming (the intellectually hollow like to claim that they are not about anything at all, or that if you think you know what they are about then you did not understand them; this is untrue). Incorrect, in that Hofstadter's books and computer programs themselves are about the same thing.

Michael Hiltzik

Imagine that you are a fourth grader in California, in 1973. You were 6 or 7 when Neil Armstrong and Buzz Aldrin walked on the moon, and there were still astronauts up there just last year. On the radio you can hear Pink Floyd, Elton John or Led Zeppelin. One day your teacher receives an invitation for an experiment involving school kids in a laboratory somewhere in Palo Alto, a location 40 minutes south of San Francisco. Even stranger, the invitation comes from a well-known firm in the photocopier business.

Steve McConnell

I almost wrote this article not about McConnell, but Microsoft Press. Why? Because developers always have something to learn, books have been a great way to share information for centuries, so reading about computing is central to the software engineering experience. If you do not believe me, reflect on the activity you are undertaking right now, reading an online magazine about computing.

Peter Norton

Some successful computer books have earned memorable nicknames. There is the "K&R" book, the “Gang of Four” book, and, to please generations of board and role game players, there are also the "Wizard Book", the "Dragon Book", and the "Dinosaur Book". There's the "Camel" book and the "Pickaxe" book. And then, with a decidedly more corporate look and feel, let us talk today about the "Pink Shirt" book, officially titled "The Peter Norton Programmer's Guide to the IBM PC." More corporate, yes, because the PC was after all a business machine coming from a business corporation.

Kent Beck

Kent Beck might deny that Kent Beck needs an entry in the programmers' library. "All I did was rediscover what other people had done before," he might say, or "all I did was to interpret what Ward Cunningham was doing." But that discovery, that reinterpretation, is the most important part of the process. One person doing things differently is an oddball. Two are the beginning of a revolution.

How To Choose A Programming Language For Your Book

If you wanted to write a book about any subject related to computers, but not specifically about a particular programming language, which language would you choose? For example: if you wanted to teach programming concepts (algorithms, patterns) to an absolute beginner, which language would convey your thoughts better? Say, if you had to explain algorithms that could be implemented in any Turing-complete language, which one would you pick, and why?

Simson L. Garfinkel & Michael K. Mahoney

Let's start at the end. The last sentence in "NeXTSTEP Programming Step One: Object-Oriented Applications" by Simson L. Garfinkel and Michael K. Mahoney looks like this: "Go out and write a killer app!" This is slightly punchier than the way the same authors signed off in "Building Cocoa Applications: A Step-by-Step Guide": "Now go out and write a killer application!"

Brian Kernighan

Of all the articles I have written in this “Library” section, this has been by far the most difficult to write of them all. It is extremely hard to summarize in a thousand words the major achievements of a person that has defined the way our modern world and our industry work, in the most unfathomable ways.

The Community

It would of course be easy to single out authors who have made important contributions to the world of Free, Libre and Open Source Software for this month's Library article. I'm sure we'll address their work in later issues. One of the most important reasons for the success of Free Software is its collaborative nature so this month we'll acknowledge the community effort to document open source software.

Back to top