top | item 19122731

The Hideous Name (1985) [pdf]

9 points| abvr | 7 years ago |3e8.org | reply

3 comments

order
[+] sctb|7 years ago|reply
Follow-up by Russ Cox: https://research.swtch.com/name.
[+] theoh|7 years ago|reply
The lambda calculus has got to be one of the worst notations in CS. It's taught as if it was a timeless given, when the reality is that the men who defined it didn't care about how easy it would be to read or learn. They were only interested in deeper mathematical issues, so the lambda calculus syntax is just a minimum viable tool.
[+] gumby|7 years ago|reply
I never liked this essay because it attacked a problem from the wrong perspective. Uniformity of reference is a desirable goal (I'm a Lisp programmer, how could I say otherwise? :-) but should not become a fetish. Not all names have equivalent semantics.

In the case of email, the "unix" approach described requires a lot of knowledge on the part of the user: hence foovax!kremvax!ourgateway!mymachine!you requires a hell of a lot of network connectivity knowledge! While saying "mit.edu will know what to do with this MIT address or else will let me know" is much easier and meets the "cloud" promise of the original 1970s TCP papers, even if the latter was talking solely about routing. The baroque (and transitional) email addresses described are actually appropriate: "I know some extra routing info and though I can't do it, SU-CSLI.ARPA can" (amusingly I used to use that very machine!)

And the same is true of the filesystem naming; while I agree that the VMS naming architecture was a bit baroque, the (optional) explicit version info was available to everyone, as if you could refer to a particular git revision from any program.