4 ms·
"There are only two hard problems in Computer Science: cache invalidation and naming things." -- Phil Karlton The article is absolutely touching a worth
by moe 17y ago
"There are only two hard problems in Computer Science:
cache invalidation and naming things."
-- Phil Karlton
The article is absolutely touching a worthwhile subject but imho an important tip is missing: Don't be afraid of renaming things later. Modern editors make mass-renaming easy and it's almost impossible to get everything right from the start.
- clawrencewenham 17y agoYou're right, I think I'll put that in.
- patio11 17y agoModern editors make mass-renaming easy I'm in Java-land where we have, bar none, the best refactoring support in the world. Unless you consider the settings files, documentation, publicly exposed APIs, existing customer installations, projects dependent on the current project, web services, Apache configurations, and XML soup. But yeah, other than that, renaming something is a simple matter of alt-shift-R and typing the new name.
- potatolicious 17y ago- Documentation: Is yours not auto-generated? We document our code pretty extensively here and have never had a renaming problem. Use the right tools and code flux won't ever bother you. - Exposed APIs: I don't think the OP was talking about public APIs, which are admittedly much harder to change after the fact. There is plenty of code that is still easy to refactor underneath. That's why we have APIs, right? - Existing installations: Barring API changes, what changes internally would affect your customers? Renaming stuff is still really simple.
- deleted 17y ago[deleted]
- andrewljohnson 17y agoIs Java renaming better than Objective C renaming? I would imagine few people can answer that question with any authority. Java/Mac programmers out there?
- wallflower 17y agoThe expensive IntelliJ editor makes refactoring a non-event.
- haberman 17y agoDistributed algorithms that have to tolerate random machine failure and network partitions are incomparably harder than either of those.
- Periodic 17y agoI'm pretty sure that quote is a bit old. It's definitely true that one of the largest problems facing computer science today is how to parallelize across cores/systems/networks. This problem may only be particularly hard because we're still used to thinking in terms of discrete processors each doing discrete tasks in sequence.
- holygoat 17y agoIt's also somewhat tongue in cheek.