Steve Yegge on Emacs and Google

It’s not Friday but Steve Yegge offers us some juicy red meat with a splendid rant on Google’s constant deprecation of their APIs. His main thesis is that backward compatibility is the hallmark of successful software systems that last for decades. He explains in detail how Google fails to provide this and offloads the cost of keeping things running to their customers. It’s a great and entertaining diatribe and you should definitely spend a few minutes reading it.

The reason this is of interest to Irreal—other than that any post by Yegge is worthwhile—is that he proffers Emacs and its developers as an example of doing things right. Emacs, he says, does have the notion of obsolescence but for Emacs that means the old API is inferior in some way and a new, better one has taken its place but that the old API is still available. Your old software keeps working even when Emacs provides a better way of doing things. As Yegge puts it,

“[W]hen [Emacs developers] make an API obsolete, they are basically saying: “You really shouldn’t use this approach, because even though it works, it suffers from various deficiencies which we enumerate here. But in the end it’s your call.”

He also notes that Emacs code he wrote in 1995 is still working.

As a final note, I offer his description of Emacs, which alone makes the post worth reading:

a sort of hybrid between Windows Notepad, a monolithic-kernel operating system, and the International Space Station. It’s a bit tricky to explain, but in a nutshell, Emacs is a platform written in 1976 (yes, almost half a century ago) for writing software to make you more productive, masquerading as a text editor.

Good stuff.

This entry was posted in General and tagged , . Bookmark the permalink.