3 ms·
These are not "Rules of Programming", but are excellent "Guidelines for Performance". Having 30yrs under my belt I have come to all the same conclusions as Rob
by fergazen 9y ago
These are not "Rules of Programming", but are excellent "Guidelines for Performance". Having 30yrs under my belt I have come to all the same conclusions as Rob Pike over my years, so these are very deserving of some serious contemplation for those with < 10yrs experience.
In my current job we have lots of large and often 'sparsely populated' objects which means basically you can never count on any of the properties you were hoping would be present will actually be present. This means the data objects are essentially useless (at least for knowing what data you have to work with as you are writing code), and violate Pike's rules mentioned about data object design being critically important. In the modern world the younger generation of developers thinks "functional programming is great, and OOP (inheritance, etc) is obsolete", and only after 20yrs of coding they look back and eventually realize OOP had it right all along.
In architectures with massive numbers of sparsely populated objects only the guy who originally wrote any given function will be able to understand it, and everyone else who tries to work in the code is pretty much screwed.
- fergazen 9y agoOh I forgot. Asshat hackernews admins banned this account because I got into a disagreement withsomeone. What a bunch of snowflakes. use VPN account from now on and incognito mode, to distrupt their censorship capability.
- icebraining 9y ago"Object-oriented design is the roman numerals of computing." -- Rob Pike (He also designed his latest language without inheritance)
- cutler 9y ago".. in the modern world", "... younger generation". Maybe you're just getting old? If "OOP had it right all along" there wouldn't be a revival of interest in FP. OOP encourages mutable state and the bigger your programme the harder it is to keep track of it. Rampant mutable state also makes concurrency difficult and concurrency is now more important than it was due to multi-core hardware.
- yeukhon 9y agoPerformance is part of computer programming.
- inimino 9y agoI'm wondering what on earth "large and often sparsely populated objects" has to do with functional programming, could you elaborate on that?