Entries Tagged 'development' ↓

Update On Tuesday Night Football for the Apple II

I’ve had an uptick in people looking for more information on the classic Apple II game Tuesday Night Football based on search hits for my original post. Today, I spent a bit more time trying to get a running version of it going…no luck on that front, but I did come across the source code, which was my main goal from the start.

Stay tuned…I’m on the trail and will document everything fully as soon as I have something interesting to discuss.

For what it’s worth: TNF was written in 1980, and consists of 834 lines of Applesoft Basic. I’m considering doing a Ruby port (for my own edification) since I seem to be having no luck getting the original program to run in one of the many OS X emulators. I’m thinking that a literal port of it will be much fewer than 834 lines (although the Basic source contains many compound lines), but that the size could be greatly reduced after refactoring.

What Kind of Coder Would Ralph Waldo Emerson Be?

This week, while reading Karsten Wagner’s latest piece on psychology as it relates to preferences between static vs dynamic typing, a curious question nagged me: which side of the debate would a great mind of the past have supported?

Ralph Waldo Emerson

Ralph Waldo Emerson immediately came to mind. The 19th-century essayist/philosopher and Transcendentalist wrote often about the intellectual life of the individual, and of the virtues of independent thought and Self-Reliance over the weakness of rote conformity in thought and action.

While he preached self-reliance and ideas originating from within, Emerson remained a man of the world, not drawing inward like his tenant Henry David Thoreau, whom he thought a misanthrope. Emerson writes, “It is easy in the world to live after the world’s opinion; it is easy in solitude to live after our own; but the great man is he who in the midst of the crowd keeps with perfect sweetness the independence of solitude.” Retain your ideals in the world, but let the the neck-beard-wearing idealists be the ones to go into seclusion in their shacks.

The Case Against Emerson Liking Java

“Society is a joint-stock company, in which the members agree, for the better securing of his bread to each shareholder, to surrender the liberty and culture of the eater. The virtue in most request is conformity. Self-reliance is its aversion. It loves not realities and creators, but names and customs.” —Self-Relianace

Reading Emerson, it’s hard to see him embracing the constraints of Java at its most enterprisey. He wouldn’t survive in the typical corporate development shop, where compliance with the standards necessary to steer such a massive ship would produce deep dissatisfaction. But this is just rejection by association; while we can safely say Emerson wouldn’t last at a company such as SAP, where a single four-year project has 2500 developers coding away, this only indirectly condemns him to distrust of strong typing. Conventional wisdom holds that shops running four-year projects involving 2500 coders by necessity must embrace not only more rigid statically typed languages, but a byzantine set of internal standards and expectations of conformity as well. SAP’s future relies not on the will of any individual, but of the collective of 2500 wills to produce great work that conforms. The success comes down to the individual(s) who set the expectations for conformance; if they falter (by, say, following the convention wisdom Emerson distrusts) or fail to subjugate enough of the individuals into alignment, the iceberg-like mass of 10,000 developer-years will not save them from the upstart innovation arising from collections of individual intellects working in harmony.

The Case Against Emerson Digging Design Patterns

Emerson looks not to the past for guidance, but within, and it is hard to imagine him looking at the Gang of Four’s Design Patterns book with anything other than scorn. Emerson would develop his own patterns, no doubt, and his own style, but would routinely reject the old way for the better way. In fact, much of his writing is calling for the rejection of patterns by shredding the patterns of the past with layers of anti-patterns. The only pattern he aspires to is the rejection of received patterns. (Or as the Boomtown Rats put similar words in the mouth of God: “I’ll let you in on my big secret Ray/The final truth is there is no truth.”)

The Case for Emerson Being Refactoring Junky

“Speak what you think now in hard words, and to-morrow speak what to-morrow thinks in hard words again, though it contradict every thing you said to-day.” —Self-Reliance

Emerson valued a very rational, fresh look at problems. He wouldn’t grow attached to a particular design, fall in love and fight against changing it. The code and facts would speak and he would adjust as necessary. Junky might be too strong of a word; his refactoring wouldn’t be endless for the sake of ever-increasing clarity, but would be pragmatic, for the sake of solving the problem as better understood today.

The Case for Emerson Being into Functional Programming

“Take what figure you will, its exact value, nor more nor less, still returns to you.” —Compensation

What Language Would Emerson Use?

Perl
Before reading Self-Reliance and Compensation again, I pegged Emerson as a Ruby guy. He’s too idealistic to go with PHP; too unconventional to go with Java or C#. Despite the functional quote, I don’t see him going down that route. In reading his essays again, I came away with the distinct sense that Emerson’s sweet spot would be something pragmatic, yet baroque in an unconventional way, and not lending itself to patterns other than those that come from the programmer himself. It would have to be a language that let him live in the world, and reflect the sense of an entrepreneurial landlord rather than the idealistic tenant.

In short, Emerson would have hacked Perl.