This book introduces the tools you'll need to program with the packetC language. packetC speeds the development of applications that live within computer networks, the kind of programs that provide network functionality for connecting "clients" and "servers" and "clouds." The simplest examples provide packet switching and routing while more complex examples implement cyber security, broadband policies or cloud-based network infrastructure. Network applications, such as those processing digital voice and video, must be highly scalable, secure and maintainable.
Such application requirements translate to requirements for a network programming language that leverages massively-parallel systems and ensures a high level of security, while representing networking protocols and transactions in the simplest way possible. packetC meets these requirements with an intuitive approach to coarse-grained parallelism, with strong-typing and controlled memory access for security and with new data types and operators that express the classic operations of the network-oriented world in familiar programming terms. No other language has addressed the full breadth of requirements for tractable parallelism, secure processing and usable constructs. The packetC language is growing in adoption and has been used to develop solutions operating in some of the world's largest networks. This important new language, packetC, has now been successfully documented in this book, in which the language's authors provide the materials and tools you'll need in a readable and accessible form.