Download PDF of this issue.
Welcome to the twenty-third issue of De Programmatica Ipsum, dedicated to the subject of Academia. In this edition, Graham explains the current state of software engineering in research, and how it could be improved; Adrian tells his own personal story of wrong choices, lost time, and experiences learnt in university campuses; and in the Library section, Graham talks about a foundational title for NeXTSTEP and Mac OS X software development: “NeXTSTEP Programming Step One: Object-Oriented Applications” by Simson L. Garfinkel and Michael K. Mahoney.
Let's be plain upfront: academia dropped the ball on software engineering. Go back to the genesis of the field, and you see that computing was being advanced mostly by needs in the public sector, with the private sector playing a role. The first publicly demonstrated computer was produced by Konrad Zuse in 1941, and marketed by his company Zuse Apparatebau. But it was actually funded by the Nazi government in Germany, specifically the aerodynamic research institute, for its use in designing and flying cruise missiles.
Regular readers of this column already know much of my personal story, including the fact that I am a self-taught software developer. They know that I started programming my Casio fx-180p programmable calculator in the 1980s. They also know that in 1992 I bought my first PC, a venerable 380 SX tower with a whooping 128 MB hard disk and 2 MB or RAM, where I wrote my first "Hello, World!" program in QBasic. What they do not know is how I dropped out of college. Not once, but five times.
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!"