The issue of how does the network impact the design of a programming language is huge. As soon as you’ve got a network, you have to deal with diversity; you have to deal with communication; you really have to think about how failures affect things; you have to worry a lot more about reliability. In particular, you have to worry about how to build systems that can be robust and continue operating in the face of partial failures, because most of the systems that people are building that are of any interest are ones where there’s always something that’s broken. And the traditional view of software has been that it’s sort of an all-or-nothing thing; it’s working, or it’s not. And a lot of those sort of concerns feed into things like the Java exception mechanism, the strong type system, the garbage collector, the virtual machine, and on and on. I mean, the network had really profound effects on the design of Java, the language and the virtual machine. - James Gosling