TL;DR: Constants shouldn't be hard coded in the software, they should always be in a separate config The problem is that it's the 60s. My first thought was "security", but unless you an also teach them about elliptic curves, they're going to use the security of the 1960s, which as we now know isn't very secure. Maybe at least having security baked in would help make it easier to switch to better security later, like…
I really don't understand what stopped ipv4 from being extended like this: w.x.y.z == 0.0.0.0.w.x.y.z In fact, you can even ping any 32 bit unsigned integer and it will turn it into an ipv4. Try it: `ping 134744072` will ping `8.8.8.8` So why not 64 bit? 32 bits fit in 64. Instead we now have 2 concurrent protocols. ps. 8*256^3 + 8*256^2 + 8*256 + 8 = 134744072
For example, if an old router got a packet for 1.2.3.4.5.6.7.8, where would it send it, if it didn't crash just trying to read that address?