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.
What you'll learn
This book is the primary document specifying the language from a developer's point of view and act as the formal language user's guide. It covers:
How to program applications in packetC.
The parallel programming model of packetC
Deviations from C99 and the unique aspects of packetC
How to leverage existing C code and the applicability of the C standard libraries
Who this book is forpacketC Programming is written for a wide variety of potential programmers. Most importantly, it's for people who need to use packetC to program for the Internet backbone. Still, knowledge of the packetC language will help a much wider array of programmers who need to write effective code that will be optimized for the cloud and work effectively and efficiently through complex network structures. Finally, readers will learn about how and why packetC is needed, and to better understand the technologies, standards and issues surrounding the 'net. If you really want to understand this level of programming, this book is a must-have!