Hacker News new | ask | show | jobs
by tptacek 5013 days ago
Let me see if I understand the argument you've made: the idea that there are no layering violations is silly because people can make bad designs? Should we blame poor layering discipline for all the C code out there that calls gets(3)?

Modularity is a good thing. Composability often is too. For systems deployed in the large, the end-to-end argument also guides designs to simple cores and complex clients.

But none of that means that any given layer "owns" any piece of functionality. It would indeed make a whole lot of sense to start thinking of IP as the new Ethernet, for instance. But we can't really do that, because the greybeard priesthood uses concepts like "layering violation" to shut down discussion and maintain intellectual turf.

1 comments

I don't think we're arguing about anything substantive. For the record, I shave my neck every day. I also have no problem with thinking of IP as the new Ethernet.

By "layering violation" I really meant "layering" in a systems rather than a protocol sense. For example, it'd be a "layering violation" in this sense if your OS had a system call print_powerpoint_document(2).

Modularity, compositions, and reusable/flexible kernels are strong design components. "Layers" are a straitjacket. I'm automatically suspicious of designers who invoke them, because they tend to have more to do with shutting down discussions than they do with designing. That's all.