3 ms·
Wait, isn't TCP(/IP) the quick and dirty practical implementation that beat the much more theoretical OSI model ? (And the same thing happened to GNU/Linux, so
by BlueTemplar 6y ago
Wait, isn't TCP(/IP) the quick and dirty practical implementation that beat the much more theoretical OSI model ?
(And the same thing happened to GNU/Linux, so Linus would know something about it !)
- msla 6y ago> Wait, isn't TCP(/IP) the quick and dirty practical implementation that beat the much more theoretical OSI model? Yes, it is. It even has its own (four-layer) model but the IETF People aren't nearly as interested in layering as the OSI people were: Layering Considered Harmful https://tools.ietf.org/html/rfc3439#section-3 https://tools.ietf.org/html/rfc3439#section-3 Point being, this is why people who know history get a bit perturbed when people insist on shoving TCP/IP into the OSI Model, or, worse, insist that TCP/IP "implements" OSI somehow. OSI had its chance, it lost, and now we use POP and SMTP for email, not X.400.
- josephg 6y agoHah good question. When I was learning it in school, TCP/IP sure seemed complicated with frame numbers and window sizes and whatnot. It seems much more simple to me now. I suspect that everything sounds like "useless, complex theory" until you understand it and use it regularly, and then it mysteriously transforms into "obvious, simple practical knowledge". Are transactional databases useless theory or simple and pragmatic? Hash tables? Nagle's algorithm? CRDTs? SSA compilers? Your answer probably says more about your experience than it does about the technologies themselves. And thats why I don't trust Linus's rant. He's familiar with the garbage fire of the current posix filesystem APIs. I suspect deep down he's just arguing from status quo bias and doesn't like the "useless theory" of transactional filesystems because he hasn't seen the practical side of them and he hasn't thought through how they could be implemented efficiently in the kernel. And thats fine; but it might mean if we want transactional filesystems to happen in linux, it might make sense to start by implementing them in a BSD.
- BlueTemplar 6y agoFunnily enough, I don't know that much about networking myself, I was mostly repeating what our networking teacher told us to illustrate the importance of practice vs theory. Another Linus example would be git, which he allegedly threw together in a couple of weeks, compared to pijul, which seems to have required years of work, but now is going to have a very hard time to catch up...