5 ms·
Ken Thompson said that never happpend; they didn't need to look at each others code, because they were all "pretty god coders": http://www.informationweek.com/s
by Evbn 14y ago
Ken Thompson said that never happpend; they didn't need to look at each others code, because they were all "pretty god coders": http://www.informationweek.com/software/operating-systems/qa-ken-thompson-creator-of-unix/231000037?nomobile=1 http://www.informationweek.com/software/operating-systems/qa...
- enneff 14y agoThat quote (and you misquoted, btw) is from an interview discussing his working relationship with Dennis Ritchie. The particular quote is from a section of the article titled "On Collaborating With Dennis Ritchie" "Dr. Dobb's: Was there any concept of looking at each other's code or doing code reviews? Thompson: [Shaking head] We were all pretty good coders." Nothing to do with Rob Pike, who has worked with Ken for decades since.
- ehsanu1 14y agoKen Thompson was replying to a question about code reviews there. Code reviewing is not quite the same as pair programming (and they probably didn't even call it pair programming then).
- btilly 14y agoYour link is discussing the development of Unix, which was before Rob Pike came on the scene. Rob Pike is discussing an incident that happened a number of years later when Rob would have been significantly junior to Ken. There is no reason that both versions of history can't be true.
- sausagefeet 14y agoOn top of that, things would have grown in complexity since the early days.
- luriel 14y agoIn many ways Plan 9 is simpler than Unix, and Go is simpler than C. Unix was also much simpler than Multics. Software doesn't need to always grow in complexity, but it takes lots of determination to accomplish this.
- sausagefeet 14y agoA Go implementation is likely more complicated than a C one. You don't think that GC is free, do you?
- dscrd 14y agoYou forget the fact that Go is a young language while modern C implementation has to support several standards, countless extensions and probably decades of cruft in the codebase. Additionally, if you factor in that go includes a tool that replaces most of what autotools gdoes in the C world, we're talking about a huge blob of accidentally complex code. It's very reasonable to think that the Go implementation is simpler.
- sausagefeet 14y agoI'm not forgetting. The make tools are not part if the language and irrelevant. Most C developers I know avoid extensions for portability reasons. The cruft part doesn't matter much for this discussion either, you can start from scratch if you want like TCC. The language definition of Go requires some things that C does not for any reasonable implementation. I think it is much more reasonable to think a C implementation will be much simpler.
- dscrd 14y agoEverything else you said I'll grant with "we have differing opinions" except "The make tools are not part if[sic] the language and irrelevant" No, they're quite a lot more than just make replacement. And definitely not irrelevant!
- sausagefeet 14y agoThey are irrelevant to discussing implementation details of the languages.
- duaneb 14y agoActually, the go implementation is very simple, if a little arcane in the style of C used.
- epo 14y agoDon't kid yourself. Systems may be larger and seemingly more complex, the individual parts are as simple or complex as they ever were. Anyway, if things are more complex the necessity of thinking it through are even greater.