The Rust Programming Language is the official book on Rust; a community-developed, systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety. Rust’s memory safety guarantees, enforced at compile time, safeguard your programs against the many problems that pervade other systems languages. Rust offers the control and performance of a low-level language with the helpful abstractions of a high level one, and does this all without having a garbage collector. These characteristics make Rust useful for embedding in other languages, programs with specific space and time requirements, and writing low-level code, like device drivers and operating systems. The Rust Programming Language begins with a quick hands-on project to introduce the basics, then explores key concepts in depth, such as ownership, the type system, error handling, and fearless concurrency. Detailed explanations of Rust-oriented takes on topics like pattern matching, iterators, and smart pointers combine with examples and exercises to take you from theory to practice. In addition to its thorough coverage of more granular topics, The Rust Programming Language will show you how to: -Grasp important concepts unique to Rust like ownership, borrowing, and lifetimes -Use Cargo, Rust’s built-in package manager, to build your code, including downloading and building dependencies -Effectively use Rust’s zero-cost abstractions and learn to build your own Developed with help from the community, The Rust Programming Language is your official guide to becoming a productive Rust programmer.
Published by No Starch Press on 07/10/2018
Book details: 552 pages.
A perfect companion to Computer Science Illuminated or Concepts in Computing, as well as an excellent primer, Perl: The Programming Language offers a clear introduction to this practical language. Perl has been known to be the all-purpose tool in programming and system administration. This overview describes the fundamentals of this efficient open-source programming system. Beginning programmers will be relieved this dynamic language is not only easy to learn but easy to implement as well.
Published by Jones & Bartlett Publishers on 11/01/2011
Book details: 52 pages.
A comprehensive undergraduate textbook covering both theory and practical design issues, with an emphasis on object-oriented languages.
Published by Cambridge University Press on 03/23/2019
Book details: 529 pages.
D is a programming language built to help programmers address the challenges of modern software development. It does so by fostering modules interconnected through precise interfaces, a federation of tightly integrated programming paradigms, language-enforced thread isolation, modular type safety, an efficient memory model, and more. The D Programming Language is an authoritative and comprehensive introduction to D. Reflecting the author’s signature style, the writing is casual and conversational, but never at the expense of focus and pre¿cision. It covers all aspects of the language (such as expressions, statements, types, functions, contracts, and modules), but it is much more than an enumeration of features. Inside the book you will find In-depth explanations, with idiomatic examples, for all language features How feature groups support major programming paradigms Rationale and best-use advice for each major feature Discussion of cross-cutting issues, such as error handling, contract programming, and concurrency Tables, figures, and “cheat sheets” that serve as a handy quick reference for day-to-day problem solving with D Written for the working programmer, The D Programming Language not only introduces the D language—it presents a compendium of good practices and idioms to help both your coding with D and your coding in general.
Published by Addison-Wesley Professional on 06/02/2010
Book details: 456 pages.
This document constitutes a detailed set of lecture slides on the C++ programming language and is current with the C++14 standard. Many aspects of the language are covered from introductory to more advanced. This material includes: language basics (objects, types, values, operators, expressions, control-flow constructs, functions, and namespaces), classes, templates (function, class, alias, and variable templates; template specialization; and variadic templates), lambda expressions, inheritance and run-time polymorphism, exceptions (exception safety, RAII, and smart pointers), rvalue references (move semantics and perfect forwarding), concurrency (sequential consistency, atomic memory operations, data races; threads, mutexes, condition variables, promises and futures, atomics, and fences; happens-before and synchronizes-with relationships; and sequentially-consistent and other memory models). A number of best practices, tips, and idioms regarding the use of the language are also presented. Some aspects of the C++ standard library are covered, including: containers, iterators, and algorithms; the std::vector and std::basic_string classes; I/O streams; and time measurement. Various general programming-related topics are also presented, such as material on: good programming practices, finite-precision arithmetic, and software documentation.
Published by Michael Adams on 01/18/2016
Book details: 903 pages.
Published by Technical Publications on 01/01/2009
Book details: 392 pages.
Programming Language Pragmatics, Fourth Edition, is the most comprehensive programming language textbook available today. It is distinguished and acclaimed for its integrated treatment of language design and implementation, with an emphasis on the fundamental tradeoffs that continue to drive software development. The book provides readers with a solid foundation in the syntax, semantics, and pragmatics of the full range of programming languages, from traditional languages like C to the latest in functional, scripting, and object-oriented programming. This fourth edition has been heavily revised throughout, with expanded coverage of type systems and functional programming, a unified treatment of polymorphism, highlights of the newest language standards, and examples featuring the ARM and x86 64-bit architectures. Updated coverage of the latest developments in programming language design, including C & C++11, Java 8, C# 5, Scala, Go, Swift, Python 3, and HTML 5 Updated treatment of functional programming, with extensive coverage of OCaml New chapters devoted to type systems and composite types Unified and updated treatment of polymorphism in all its forms New examples featuring the ARM and x86 64-bit architectures
Published by Elsevier on 11/30/2015
Book details: 992 pages.
The new C++11 standard allows programmers to express ideas more clearly, simply, and directly, and to write faster, more efficient code. Bjarne Stroustrup, the designer and original implementer of C++, has reorganized, extended, and completely rewritten his definitive reference and tutorial for programmers who want to use C++ most effectively. The C++ Programming Language, Fourth Edition, delivers meticulous, richly explained, and integrated coverage of the entire language—its facilities, abstraction mechanisms, standard libraries, and key design techniques. Throughout, Stroustrup presents concise, “pure C++11” examples, which have been carefully crafted to clarify both usage and program design. To promote deeper understanding, the author provides extensive cross-references, both within the book and to the ISO standard. New C++11 coverage includes Support for concurrency Regular expressions, resource management pointers, random numbers, and improved containers General and uniform initialization, simplified for-statements, move semantics, and Unicode support Lambdas, general constant expressions, control over class defaults, variadic templates, template aliases, and user-defined literals Compatibility issues Topics addressed in this comprehensive book include Basic facilities: type, object, scope, storage, computation fundamentals, and more Modularity, as supported by namespaces, source files, and exception handling C++ abstraction, including classes, class hierarchies, and templates in support of a synthesis of traditional programming, object-oriented programming, and generic programming Standard Library: containers, algorithms, iterators, utilities, strings, stream I/O, locales, numerics, and more The C++ basic memory model, in depth This fourth edition makes C++11 thoroughly accessible to programmers moving from C++98 or other languages, while introducing insights and techniques that even cutting-edge C++11 programmers will find indispensable. This book features an enhanced, layflat binding, which allows the book to stay open more easily when placed on a flat surface. This special binding method—noticeable by a small space inside the spine—also increases durability.
Published by Addison-Wesley on 07/10/2013
Book details: 1363 pages.
This book provides adequate discussion on fundamental concepts and paradigms related to Programming. It lays emphasis on building semantics and syntactic concepts required for implementation of various programming languages. Simple and coherent explanations, well supported by solved as well as programming examples, are the hallmarks of this text.
Published by Tata McGraw-Hill Education
Book details: 1363 pages.
Programming Language Pragmatics addresses the fundamental principles at work in the most important contemporary languages, highlights the critical relationship between language design and language implementation, and devotes special attention to issues of importance to the expert programmer. Thanks to its rigorous but accessible teaching style, you'll emerge better prepared to choose the best language for particular projects, to make more effective use of languages you already know, and to learn new languages quickly and completely. * Addresses the most recent developments in programming language design, spanning more than forty different languages, including Ada 95, C, C++, Fortran 95, Java, Lisp, Scheme, ML, Modula-3, Pascal, and Prolog. * Places a special emphasis on implementation issues how the techniques used by compilers and related tools influence language design, and vice versa. * Covers advanced topics in language design and implemenation, such as iterators, coroutines, templates (generics), separate compilation, I/O, type inference, and exception handling. * Reviews language-related topics in assembly-level architecture critical for understanding what a compiler does to a program. * Offers in-depth coverage of object-oriented programming, including multiple inheritance and dynamic method binding. * Devotes a special section to static and dynamic linking. * Includes a comprehensive chapter on concurrency, with detailed coverage of both shared-memory and message-passing languages and libraries. * Provides an accessible introduction to the formal foundations of compilation (automata theory), functional programming (lambda calculus), and logic programming (predicate calculus).
Published by Morgan Kaufmann on 03/23/2019
Book details: 856 pages.