Hi Andrew, > On the subject of Google Go's encouraging composition over > inheritance, and the use of interfaces: I'm not sure which article you > had in mind, but I found this: > > http://talks.golang.org/2012/splash.article#TOC_15
Yes, that's exactly the bit I was looking for, thanks! I knew it was from 2012 and that I'd read it recently but couldn't locate it. I like this bit... One extreme example is the Plan 9 kernel, in which all system data items implemented exactly the same interface, a file system API defined by 14 methods. This uniformity permitted a level of object composition seldom achieved in other systems, even today. Examples abound. Here's one: A system could import [kind of like a Unix mount] a TCP stack to a computer that didn't have TCP or even Ethernet, and over that network connect to a machine with a different CPU architecture, import its /proc tree, and run a local debugger to do breakpoint debugging of the remote process. This sort of operation was workaday on Plan 9, nothing special at all. The ability to do such things fell out of the design; it required no special arrangement (and was all done in plain C). Christopher, that section 15 is the part I was paraphrasing badly. Cheers, Ralph. -- Next meeting: Bournemouth, Tuesday, 2013-08-06 20:00 Meets, Mailing list, IRC, LinkedIn, ... http://dorset.lug.org.uk/ New thread on mailing list: mailto:dorset@mailman.lug.org.uk How to Report Bugs Effectively: http://goo.gl/4Xue