Network programming is notoriously hard to understand: one has to deal with a variety of protocols (IP, ICMP, UDP, TCP etc), concurrency, packet loss, host failure, timeouts, the c...
Today, the choice for a particular programming language limits the alternative products that can be used to deploy the program. The purpose of this work is to break the strong tie...