0
Your cart

Your cart is empty

Browse All Departments
Price
  • R50 - R100 (1)
  • R100 - R250 (12)
  • R250 - R500 (39)
  • R500+ (709)
  • -
Status
Format
Author / Contributor
Publisher

Books > Computing & IT > Computer programming > Object-oriented programming (OOP)

Object-Oriented Programming A Unified Foundation (Hardcover, 1997 ed.): Giuseppe Castagna Object-Oriented Programming A Unified Foundation (Hardcover, 1997 ed.)
Giuseppe Castagna
R2,859 Discovery Miles 28 590 Ships in 18 - 22 working days

by Luea Cardelli Ever since Strachey's work in the 1960's, polymorphism has been classified into the parametric and overloading varieties. Parametric polymorphism has been the subject of extensive study for over two decades. Overloading, on the other hand, has often been considered too ad hoc to deserve much attention even though it has been, in some form, an ingredient of virtually every programming lan guage (much more so than parametric polymorphism). With the introduction of object-oriented languages, and in particular with multiple-dispatch object-oriented languages, overloading has become less of a programming convenience and more of a fundamental feature in need of proper explanation. This book provides a compelling framework for the study of run-time over loading and of its interactions with subtyping and with parametric polymorphism. The book also describes applications to object-oriented programming. This new framework is motivated by the relatively recent spread of programming languages that are entirely based on run-time overloading; this fact probably explains why this subject was not investigated earlier. Once properly understood, overloading reveals itself relevant also to the study of older and more conventional (single dispatch) object-oriented languages, clarifying delicate issues of covariance and contravariance of method types, and of run-time type analysis. In the final chapters, a synthesis is made between parametric and overloading polymorphism."

Beginning Java - A JDK 11 Programming Tutorial (Paperback, 11th ed.): Philip Conrod, Lou Tylee Beginning Java - A JDK 11 Programming Tutorial (Paperback, 11th ed.)
Philip Conrod, Lou Tylee
R2,069 Discovery Miles 20 690 Ships in 18 - 22 working days
Modern Systems Programming with Scala Native (Paperback): Richard Whaling Modern Systems Programming with Scala Native (Paperback)
Richard Whaling
R908 Discovery Miles 9 080 Ships in 10 - 15 working days

Access the power of bare-metal systems programming with Scala Native, an ahead-of-time Scala compiler. Without the baggage of legacy frameworks and virtual machines, Scala Native lets you re-imagine how your programs interact with your operating system. Compile Scala code down to native machine instructions; seamlessly invoke operating system APIs for low-level networking and IO; control pointers, arrays, and other memory management techniques for extreme performance; and enjoy instant start-up times. Skip the JVM and improve your code performance by getting close to the metal. Developers generally build systems on top of the work of those who came before, accumulating layer upon layer of abstraction. Scala Native provides a rare opportunity to remove layers. Without the JVM, Scala Native uses POSIX and ANSI C APIs to build concise, expressive programs that run unusually close to bare metal. Scala Native compiles Scala code down to native machine instructions instead of JVM bytecode. It starts up fast, without the sluggish warm-up phase that's common for just-in-time compilers. Scala Native programs can seamlessly invoke operating system APIs for low-level networking and IO. And Scala Native lets you control pointers, arrays, and other memory layout types for extreme performance. Write practical, bare-metal code with Scala Native, step by step. Understand the foundations of systems programming, including pointers, arrays, strings, and memory management. Use the UNIX socket API to write network client and server programs without the sort of frameworks higher-level languages rely on. Put all the pieces together to design and implement a modern, asynchronous microservice-style HTTP framework from scratch. Take advantage of Scala Native's clean, modern syntax to write lean, high-performance code without the JVM. What You Need: A modern Windows, Mac OS, or Linux system capable of running Docker. All code examples in the book are designed to run on a portable Docker-based build environment that runs anywhere. If you don't have Docker yet, see the Appendix for instructions on how to get it.

Modern Perl 4e (Paperback, 4th Revised edition): Chromatic Modern Perl 4e (Paperback, 4th Revised edition)
Chromatic
R770 R697 Discovery Miles 6 970 Save R73 (9%) Ships in 10 - 15 working days

A Perl expert can solve a problem in a few lines of well-tested code. Now you can unlock these powers for yourself. Modern Perl teaches you how Perl really works. It's the only book that explains Perl thoroughly, from its philosophical roots to the pragmatic decisions that help you solve real problems--and keep them solved. You'll understand how the language fits together and discover the secrets used by the global Perl community. This beloved guide is now completely updated for Perl 5.22. When you have to solve a problem now, reach for Perl. When you have to solve a problem right, reach for Modern Perl. Discover how to scale your skills from one-liners to asynchronous Unicode-aware web services and everything in between. Modern Perl will take you from novice to proficient Perl hacker. You'll see which features of modern Perl will make you more productive, and which features of this well-loved language are best left in the past. Along the way, you'll take advantage of Perl to write well-tested, clear, maintainable code that evolves with you.Learn how the language works, how to take advantage of the CPAN's immense trove of time-tested solutions, and how to write clear, concise, powerful code that runs everywhere. Specific coverage explains how to use Moose, how to write testable code, and how to deploy and maintain real-world Perl applications. This new edition covers the new features of Perl 5.20 and Perl 5.22, including all the new operators, standard library changes, bug and security fixes, and productivity enhancements. It gives you what you need to use the most up-to-date Perl most effectively, all day, every day. What You Need: Perl 5.16 or newer (Perl 5.20 or 5.22 preferred). Installation/upgrade instructions included.

Pharmaceutical and Medical Devices Manufacturing Computer Systems Validation (Paperback): Orlando Lopez Pharmaceutical and Medical Devices Manufacturing Computer Systems Validation (Paperback)
Orlando Lopez
R1,115 Discovery Miles 11 150 Ships in 10 - 15 working days

Validation of computer systems is the process that assures the formal assessment and report of quality and performance measures for all the life-cycle stages of software and system development, its implementation, qualification and acceptance, operation, modification, requalification, maintenance and retirement (PICS CSV PI 011-3). It is a process that demonstrates the compliance of computer systems functional and non-functional requirements, data integrity, regulated company procedures and safety requirements, industry standards, and applicable regulatory authority's requirements. Compliance is a state of being in adherence to application-related standards or conventions or regulations in laws and similar prescriptions. This book, which is relevant to the pharmaceutical and medical devices regulated operations, provides practical information to assist in the computer validation to production systems, while highlighting and efficiently integrating worldwide regulation into the subject. A practical approach is presented to increase efficiency and to ensure that the validation of computer systems is correctly achieved.

Introduction to the Boost C++ Libraries; Volume II - Advanced Libraries (Hardcover): Robert Demming, Daniel J. Duffy Introduction to the Boost C++ Libraries; Volume II - Advanced Libraries (Hardcover)
Robert Demming, Daniel J. Duffy
R1,497 Discovery Miles 14 970 Ships in 10 - 15 working days

This book is the follow-up of the Boost Volume I book and it has been written for software developers who use Boost C++ libraries to create flexible applications. We discuss approximately 20 advanced libraries that can be classified into the following major categories: Mathematics: special functions, statistical distributions, interval arithmetic and matrix algebra. Special data structures: date and time, circular buffer, UUID, dynamic bitsets, pool memory. TCP and UDP portable network programming using the software interface. Interprocess communication and shared memory programming models. Three chapters on graphs, graph algorithms and their implementation in Boost. The focus is hands-on and each library is discussed in detail and numerous working examples are given to get the reader up to speed as soon as possible. Each library is described in a step-by-step fashion and you can use the corresponding code as a basis for more advanced applications. These libraries are the ideal basis for new applications. We shall use them in Volume III of the current series when we discuss applications to engineering, science and computational finance. About the Authors Robert Demming is software designer, developer and trainer and he has been involved with software projects in the areas of optical technology, process control, CAD and order processing systems since 1993. He has a BSc degree in technical computerscience from Amsterdam Hogeschool. Daniel J. Duffy is founder of Datasim Education BV and has been working with C++ and its applications since 1989 and with software development since 1979. He is designer, algorithm builder and trainer. He has a PhD in numerical analysis from Trinity College, Dublin. One of the projects that he is involved in is applying the Boost libraries to computational finance."

Handbook of Neuroevolution Through Erlang (Hardcover, 2013 ed.): Gene I. Sher Handbook of Neuroevolution Through Erlang (Hardcover, 2013 ed.)
Gene I. Sher
R7,821 Discovery Miles 78 210 Ships in 18 - 22 working days

Handbook of Neuroevolution Through Erlang presents both the theory behind, and the methodology of, developing a neuroevolutionary-based computational intelligence system using Erlang. With a foreword written by Joe Armstrong, this handbook offers an extensive tutorial for creating a state of the art Topology and Weight Evolving Artificial Neural Network (TWEANN) platform. In a step-by-step format, the reader is guided from a single simulated neuron to a complete system. By following these steps, the reader will be able to use novel technology to build a TWEANN system, which can be applied to Artificial Life simulation, and Forex trading. Because of Erlang's architecture, it perfectly matches that of evolutionary and neurocomptational systems. As a programming language, it is a concurrent, message passing paradigm which allows the developers to make full use of the multi-core & multi-cpu systems. Handbook of Neuroevolution Through Erlang explains how to leverage Erlang's features in the field of machine learning, and the system's real world applications, ranging from algorithmic financial trading to artificial life and robotics.

Secure Systems Development with UML (Hardcover, 2005 ed.): Jan Jurjens Secure Systems Development with UML (Hardcover, 2005 ed.)
Jan Jurjens
R2,691 Discovery Miles 26 910 Ships in 18 - 22 working days

Attacks against computer systems can cause considerable economic or physical damage. High-quality development of security-critical systems is difficult, mainly because of the conflict between development costs and verifiable correctness.

JA1/4rjens presents the UML extension UMLsec for secure systems development. It uses the standard UML extension mechanisms, and can be employed to evaluate UML specifications for vulnerabilities using a formal semantics of a simplified fragment of UML. Established rules of security engineering can be encapsulated and hence made available even to developers who are not specialists in security. As one example, JA1/4rjens uncovers a flaw in the Common Electronic Purse Specification, and proposes and verifies a correction.

With a clear separation between the general description of his approach and its mathematical foundations, the book is ideally suited both for researchers and graduate students in UML or formal methods and security, and for advanced professionals writing critical applications.

Requirements Modeling And Coding: An Object-oriented Approach (Paperback): Liping Liu Requirements Modeling And Coding: An Object-oriented Approach (Paperback)
Liping Liu
R1,971 Discovery Miles 19 710 Ships in 18 - 22 working days

Requirements Modeling and Coding attempts to bridge the gap between modeling and coding and serves the growing trend of agile development better than existing textbooks in the area. Instead of using toy tools to create modeling and coding examples, the author teaches IBM Rational Rhapsody as a modeling tool and Microsoft Visual C# as a programming tool. C# is the purest object-oriented programming language and the best tool for developing graphical user interfaces, while Rhapsody is a visual development environment that real software developers use to create real-time or embedded systems.This book serves as a text for a capstone course on Systems Analysis and Design in Information Systems programs. It conceptualizes business objects and functions, develops business models and software architectures, and enriches the models and the architectures by storyboarding use cases along with user interface designs.Instructor's resources are provided for free to instructors who adopt the book as textbook. Please send your request to [email protected].

Requirements Modeling And Coding: An Object-oriented Approach (Hardcover): Liping Liu Requirements Modeling And Coding: An Object-oriented Approach (Hardcover)
Liping Liu
R3,322 Discovery Miles 33 220 Ships in 18 - 22 working days

Requirements Modeling and Coding attempts to bridge the gap between modeling and coding and serves the growing trend of agile development better than existing textbooks in the area. Instead of using toy tools to create modeling and coding examples, the author teaches IBM Rational Rhapsody as a modeling tool and Microsoft Visual C# as a programming tool. C# is the purest object-oriented programming language and the best tool for developing graphical user interfaces, while Rhapsody is a visual development environment that real software developers use to create real-time or embedded systems.This book serves as a text for a capstone course on Systems Analysis and Design in Information Systems programs. It conceptualizes business objects and functions, develops business models and software architectures, and enriches the models and the architectures by storyboarding use cases along with user interface designs.Instructor's resources are provided for free to instructors who adopt the book as textbook. Please send your request to [email protected].

Data Structures and Abstractions with Java, Global Edition (Paperback, 4th edition): Timothy Henry, Frank Carrano Data Structures and Abstractions with Java, Global Edition (Paperback, 4th edition)
Timothy Henry, Frank Carrano
R2,394 Discovery Miles 23 940 Ships in 10 - 15 working days

Data Structures and Abstractions with Java is suitable for one- or two-semester courses in data structures (CS-2) in the departments of Computer Science, Computer Engineering, Business, and Management Information Systems. This book is also useful for programmers and software engineers interested in learning more about data structures and abstractions. This is the most student-friendly data structures text available that introduces ADTs in individual, brief chapters - each with pedagogical tools to help students master each concept. Using the latest features of Java, this unique object-oriented presentation makes a clear distinction between specification and implementation to simplify learning, while providing maximum classroom flexibility. Teaching and Learning Experience This book will provide a better teaching and learning experience-for you and your students. It will help: Aid comprehension and facilitate teaching with an approachable format and content organization: Material is organized into small segments that focus a reader's attention and provide greater instructional flexibility. Support learning with student-friendly pedagogy: In-text and online features help students master the material.

Effective Modern C++ (Paperback): Scott Meyers Effective Modern C++ (Paperback)
Scott Meyers 1
R1,344 R1,090 Discovery Miles 10 900 Save R254 (19%) Ships in 9 - 17 working days

Coming to grips with C++11 and C++14 is more than a matter of familiarizing yourself with the features they introduce (e.g., auto type declarations, move semantics, lambda expressions, and concurrency support). The challenge is learning to use those features effectively - so that your software is correct, efficient, maintainable, and portable. That's where this practical book comes in. It describes how to write truly great software using C++11 and C++14 - i.e. using modern C++. Topics include: The pros and cons of braced initialization, noexcept specifications, perfect forwarding, and smart pointer make functions The relationships among std::move, std::forward, rvalue references, and universal references Techniques for writing clear, correct, effective lambda expressions How std::atomic differs from volatile, how each should be used, and how they relate to C++'s concurrency API How best practices in "old" C++ programming (i.e., C++98) require revision for software development in modern C++ Effective Modern C++ follows the proven guideline-based, example-driven format of Scott Meyers' earlier books, but covers entirely new material.

Introduction to the Boost C++ Libraries; Volume I - Foundations (Hardcover): Robert Demming, Daniel J. Duffy Introduction to the Boost C++ Libraries; Volume I - Foundations (Hardcover)
Robert Demming, Daniel J. Duffy
R1,491 Discovery Miles 14 910 Ships in 10 - 15 working days

C++ is one of the most important and influential programming languages for application development. It supports the modular, object- oriented and generic programming models and its flexibility has been one of the main reasons why it has been so successful. With the emergence of the Boost Libraries (www.boost.org) we see that C++ is brought to a new level, namely a set of reusable and modular template libraries that C++ developers can use in their applications. This book is dedicated to a number of Boost libraries for higher-order functions, data types and data structures, libraries for text and string processing, multi-threading, random number generation and more. We also discuss how Boost and design patterns are used to promote the flexibility of code. Each library is described in a step-by-step manner. Numerous examples are given to show the functionality of each library. The full source code is freely available to purchasers of the book. Coverage Includes Understanding and using 30 major Boost libraries. Learn about higher-order functions, data structures, memory management, multi-threading and more. Using Boost in new and existing applications. Integrating Boost and the Gang-Of-Four design patterns. Ready-to-run projects for Visual Studio. Appendices and exercises."

Modern C++ Programming with Test-Driven Development (Paperback): Jeff Langr Modern C++ Programming with Test-Driven Development (Paperback)
Jeff Langr
R1,023 R814 Discovery Miles 8 140 Save R209 (20%) Ships in 10 - 15 working days

If you program in C++ you've been neglected. Test-driven development (TDD) is a modern software development practice that can dramatically reduce the number of defects in systems, produce more maintainable code, and give you the confidence to change your software to meet changing needs. But C++ programmers have been ignored by those promoting TDD--until now. In this book, Jeff Langr gives you hands-on lessons in the challenges and rewards of doing TDD in C++.
"Modern C++ Programming With Test-Driven Development," the only comprehensive treatment on TDD in C++ provides you with everything you need to know about TDD, and the challenges and benefits of implementing it in your C++ systems. Its many detailed code examples take you step-by-step from TDD basics to advanced concepts. As a veteran C++ programmer, you're already writing high-quality code, and you work hard to maintain code quality. It doesn't have to be that hard.
In this book, you'll learn:
how to use TDD to improve legacy C++ systems
how to identify and deal with troublesome system dependencies
how to do dependency injection, which is particularly tricky in C++
how to use testing tools for C++ that aid TDD
new C++11 features that facilitate TDD
As you grow in TDD mastery, you'll discover how to keep a massive C++ system from becoming a design mess over time, as well as particular C++ trouble spots to avoid. You'll find out how to prevent your tests from being a maintenance burden and how to think in TDD without giving up your hard-won C++ skills. Finally, you'll see how to grow and sustain TDD in your team.
Whether you're a complete unit-testing novice or an experienced tester, this book will lead you to mastery of test-driven development in C++.
What You Need
A C++ compiler running under Windows or Linux, preferably one that supports C++11. Examples presented in the book were built under gcc 4.7.2.
Google Mock 1.6 (downloadable for free; it contains Google Test as well) or an alternate C++ unit testing tool. Most examples in the book are written for Google Mock, but it isn't difficult to translate them to your tool of choice.
A good programmer's editor or IDE.
cmake, preferably. Of course, you can use your own preferred make too. CMakeLists.txt files are provided for each project. Examples provided were built using cmake version 2.8.9.
Various freely-available third-party libraries are used as the basis for examples in the book. These include: - cURL - JsonCpp - Boost (filesystem, date_time/gregorian, algorithm, assign) Several examples use the boost headers/libraries. Only one example uses cURL and JsonCpp.

The Unified Process Inception Phase - Best Practices in Implementing the UP (Paperback): Scott W Ambler, Larry Constantine The Unified Process Inception Phase - Best Practices in Implementing the UP (Paperback)
Scott W Ambler, Larry Constantine
R1,473 Discovery Miles 14 730 Ships in 9 - 17 working days

The Unified Process methodology for object-oriented component-based development has taken the information technology community by storm. This first volume in a four-book series addresses the Inception Phase, in which developers focus on the initial requirements for a system, determining its scope and organizing the project. These articles from "Software Development" magazine have been written by industry luminaries.

Let Us Java (Paperback): Yashavant Kanetkar Let Us Java (Paperback)
Yashavant Kanetkar
R166 Discovery Miles 1 660 Ships in 10 - 15 working days

"Today's challenges" need "Today's solutions". The way this applies to real-word, it equally applies to programming world. To create solutions that meet today's expectations, one needs to use a modern language like Java. Learning Java can be challenging for anyone. This is where you would find this book immensely useful. It follows simple and easy narration style. It doesn't assume any programming background. It begins with the basics and steadily builds the pace so that the reader finds it easy to handle complex topics towards the end. Each chapter has been designed to create a deep and lasting impression on reader's mind. Object Oriented Programming has been covered in detail to give a strong foundation for Java programming. Well thought out & fully working example programs and carefully crafted exercises of this book, cover every aspect of Java programming. Some of the highlighting features of this book are: Data types & Control Instructions; Object Oriented Programming; Classes & Objects; Arrays & Strings; Interfaces; Packages; Inheritance & Polymorphism; Exception Handling; Effective I/O; and, Bitwise Operators.

Unity in Action (Paperback, 3rd edition): Joseph Hocking Unity in Action (Paperback, 3rd edition)
Joseph Hocking
R1,065 R898 Discovery Miles 8 980 Save R167 (16%) Ships in 5 - 10 working days

Create your first 2D, 3D, and AR/VR games with the awesome Unity game platform. With this hands-on beginner's guide, you'll start building games fast! In Unity in Action, Third Edition, you will learn how to: Create characters that run, jump, and bump into things Build 3D first-person shooters and third-person action games Construct 2D card games and side-scrolling platformers Script enemies with AI Improve game graphics by importing models and images Design an intuitive user interface for your games Play music and spatially-aware sound effects Connect your games to the internet for online play Deploy your games to desktop, mobile, and the web Thousands of new game developers have chosen Joe Hocking's Unity in Action as their first step toward Unity mastery. This fully updated third edition comes packed with fully refreshed graphics, Unity's latest features, and coverage of the augmented and virtual reality toolkits. Using your existing coding skills, you'll write custom code instead of just clicking together premade scripts. You'll master the Unity toolset from the ground up, adding the skills you need to go from application coder to game developer. Build your next game without sweating the low-level details. The Unity game engine handles the heavy lifting, so you can focus on game play, graphics, and user experience. With support for C#, a huge ecosystem of production-quality prebuilt assets, and a strong dev community, Unity will get your game idea off the drawing board and onto the screen! You can even use Unity for more than game development, with new tools for VR and augmented reality that are perfect for developing useful apps.

Undocumented Secrets of MATLAB-Java Programming (Hardcover, New): Yair M Altman Undocumented Secrets of MATLAB-Java Programming (Hardcover, New)
Yair M Altman
R5,831 Discovery Miles 58 310 Ships in 10 - 15 working days

For a variety of reasons, the MATLAB(r)-Java interface was never fully documented. This is really quite unfortunate: Java is one of the most widely used programming languages, having many times the number of programmers and programming resources as MATLAB. Also unfortunate is the popular claim that while MATLAB is a fine programming platform for prototyping, it is not suitable for real-world, modern-looking applications. Undocumented Secrets of MATLAB(r)-Java Programming aims to correct this misconception.

This book shows how using Java can significantly improve MATLAB program appearance and functionality, and that this can be done easily and even without any prior Java knowledge.

Readers are led step-by-step from simple to complex customizations. Code snippets, screenshots, and numerous online references are provided to enable the utilization of this book as both a sequential tutorial and as a random-access reference suited for immediate use. Java-savvy readers will find it easy to tailor code samples for their particular needs; for Java newcomers, an introduction to Java and numerous online references are provided.

This book demonstrates how

  • The MATLAB programming environment relies on Java for numerous tasks, including networking, data-processing algorithms and graphical user-interface (GUI)
  • We can use MATLAB for easy access to external Java functionality, either third-party or user-created
  • Using Java, we can extensively customize the MATLAB environment and application GUI, enabling the creation of visually appealing and usable applications
Data Structures and Other Objects Using C++ (Paperback, United States ed of 4th revised ed): Michael Main, Walter J. Savitch Data Structures and Other Objects Using C++ (Paperback, United States ed of 4th revised ed)
Michael Main, Walter J. Savitch
R5,028 Discovery Miles 50 280 Ships in 10 - 15 working days

This book successfully balances the introduction of object-oriented concepts with data structures in C++.
KEY TOPICS: Provides interfaces for the principal example classes, which are compliant with the ANSI/ISO C++ Standard Library classes. Thorough coverage of the role of the const keyword in the C++ Standard Library. Covers C++ features such as namespaces, static member constants, typename keyword, and inheritance. Thorough review of C++ syntax and OOP concepts, make the book accessible for programmers at various levels. The book also gives readers a firm grasp of key concepts and allows programmers experienced in another language to adjust easily. A solid foundation in building and using abstract data types is also provided, along with an assortment of advanced topics such as B-trees for project building and graphs.
This book is designed for novice programmers who have learned the concepts of objects and classes and want to move on to the data structures topics of recursion and data abstraction.

Object-Oriented Metrics in Practice - Using Software Metrics to Characterize, Evaluate, and Improve the Design of... Object-Oriented Metrics in Practice - Using Software Metrics to Characterize, Evaluate, and Improve the Design of Object-Oriented Systems (Hardcover, 2006 ed.)
Michele Lanza; Foreword by S Ducasse; Radu Marinescu
R1,756 Discovery Miles 17 560 Ships in 18 - 22 working days

Presents a novel metrics-based approach for detecting design problems in object-oriented software.

Introduces an important suite of detection strategies for the identification of different well-known design flaws as well as some rarely mentioned ones.

Pragmatic Scala 2e (Paperback, 2nd Revised edition): Venkat Subramaniam Pragmatic Scala 2e (Paperback, 2nd Revised edition)
Venkat Subramaniam
R964 R741 Discovery Miles 7 410 Save R223 (23%) Ships in 10 - 15 working days

Our industry is moving toward functional programming, but your object-oriented experience is still valuable. Scala combines the power of OO and functional programming, and Pragmatic Scala shows you how to work effectively with both. Updated to Scala 2.11, with in-depth coverage of new features such as Akka actors, parallel collections, and tail call optimization, this book will show you how to create stellar applications. This thorough introduction to Scala will get you coding in this powerful language right away. You'll start from the familiar ground of Java and, with easy-to-follow examples, you'll learn how to create highly concise and expressive applications with Scala. You'll find out when and how to mix both imperative and functional style, and how to use parallel collections and Akka actors to create high-performance concurrent applications that effectively use multicore processors. Scala has evolved since the first edition of this book, and Pragmatic Scala is a significant update. We've revised each chapter, and added three new chapters and six new sections to explore the new features in Scala. You'll learn how to: * Safely manage concurrency with parallel collections and Akka actors * Create expressive readable code with value classes and improved implicit conversions * Create strings from data with no sweat using string interpolation * Create domain-specific languages * Optimize your recursions with tail call optimization Whether you're interested in creating concise, robust single-threaded applications or highly expressive, thread-safe concurrent programs, this book has you covered. What You Need: The Scala compiler (2.x) and the JDK are required to make use of the concepts and the examples in this book.

Practical UML Statecharts in C/C++ - Event-Driven Programming for Embedded Systems (Paperback, 2nd New edition): Miro Samek Practical UML Statecharts in C/C++ - Event-Driven Programming for Embedded Systems (Paperback, 2nd New edition)
Miro Samek
R1,866 Discovery Miles 18 660 Ships in 10 - 15 working days

Practical UML Statecharts in C/C++ Second Edition bridges the gap between high-level abstract concepts of the Unified Modeling Language (UML) and the actual programming aspects of modern hierarchical state machines (UML statecharts). The book describes a lightweight, open source, event-driven infrastructure, called QP that enables direct manual coding UML statecharts and concurrent event-driven applications in C or C++ without big tools. This book is presented in two parts. In Part I, you get a practical description of the relevant state machine concepts starting from traditional finite state automata to modern UML state machines followed by state machine coding techniques and state-machine design patterns, all illustrated with executable examples. In Part II, you find a detailed design study of a generic real-time framework indispensable for combining concurrent, event-driven state machines into robust applications. Part II begins with a clear explanation of the key event-driven programming concepts such as inversion of control ("Hollywood Principle"), blocking versus non-blocking code, run-to-completion (RTC) execution semantics, the importance of event queues, dealing with time, and the role of state machines to maintain the context from one event to the next. This background is designed to help software developers in making the transition from the traditional sequential to the modern event-driven programming, which can be one of the trickiest paradigm shifts. The lightweight QP event-driven infrastructure goes several steps beyond the traditional real-time operating system (RTOS). In the simplest configuration, QP runs on bare-metal microprocessor, microcontroller, or DSP completely replacing the RTOS. QP can also work with almost any OS/RTOS to take advantage of the existing device drivers, communication stacks, and other middleware. The accompanying website to this book contains complete open source code for QP, ports to popular processors and operating systems, including 80x86, ARM Cortex-M3, MSP430, and Linux, as well as all examples described in the book.

Agile Software Development, Principles, Patterns, and Practices - Pearson New International Edition (Paperback, Pearson New... Agile Software Development, Principles, Patterns, and Practices - Pearson New International Edition (Paperback, Pearson New International Edition)
Robert Martin
R2,035 R1,643 Discovery Miles 16 430 Save R392 (19%) Ships in 5 - 10 working days

For courses in Object-Oriented Design, C++ Intermediate Programming, and Object-Oriented Programming. Written for software engineers "in the trenches," this text focuses on the technology-the principles, patterns, and process-that help software engineers effectively manage increasingly complex operating systems and applications. There is also a strong emphasis on the people behind the technology. This text will prepare students for a career in software engineering and serve as an on-going education for software engineers.

Data-Oriented Programming (Paperback): Yehonathan Sharvit Data-Oriented Programming (Paperback)
Yehonathan Sharvit
R1,366 R1,233 Discovery Miles 12 330 Save R133 (10%) Ships in 10 - 15 working days

Data-Oriented Programming teaches you to design and implement software using the data-oriented programming paradigm. In it, you'll learn author Yehonathan Sharvit's unique approach to DOP that he has developed over a decade of experience. Every chapter contains a new light bulb moment that will change the way you think about programming. As you read, you'll build a library management system using the DOP paradigm. You'll design data models for business entities, manipulate immutable data collections, and write unit tests for data-oriented systems. About the Technology Data-oriented programming is an exciting new paradigm that eliminates the usual complexity caused by combining data and code into objects and classes. In DOP, you maintain application data in persistent generic data structures separated from the program's code. You use general-purpose functions to manipulate the data without mutating it. This approach rids your applications of state-related bugs and makes your code much easier to understand and maintain.

Systems Engineering with SysML/UML - Modeling, Analysis, Design (Paperback): Tim Weilkiens Systems Engineering with SysML/UML - Modeling, Analysis, Design (Paperback)
Tim Weilkiens
R1,235 Discovery Miles 12 350 Ships in 10 - 15 working days

UML, the Universal Modeling Language, was the first programming language designed to fulfill the requirement for "universality." However, it is a software-specific language, and does not support the needs of engineers designing from the broader systems-based perspective. Therefore, SysML was created. It has been steadily gaining popularity, and many companies, especially in the heavily-regulated Defense, Automotive, Aerospace, Medical Device and Telecomms industries, are already using SysML, or are plannning to switch over to it in the near future.
However, little information is currently available on the market regarding SysML. Its use is just on the crest of becoming a widespread phenomenon, and so thousands of software engineers are now beginning to look for training and resources. This book will serve as the one-stop, definitive guide that provide an introduction to SysML, and instruction on how to implement it, for all these new users.
*SysML is the latest emerging programming language--250,000 estimated software systems engineers are using it in the US alone
*The first available book on SysML in English
*Insider information The author is a member of the SysML working group and has written sections of the specification
*Special focus comparing SysML and UML, and explaining how both can work together

Free Delivery
Pinterest Twitter Facebook Google+
You may like...
Enterprise Modeling and Computing with…
Hardcover R2,490 Discovery Miles 24 900
Object-oriented Design Knowledge…
Mario Piattini, Javier Garzas Hardcover R2,507 Discovery Miles 25 070
Agile Scrum Implementation and Its…
Kenneth R Walsh, Sathiadev Mahesh, … Hardcover R5,994 Discovery Miles 59 940
Structured Finance - The Object Oriented…
U Cherubini Hardcover R2,100 Discovery Miles 21 000
ISE Object-Oriented Software…
David Kung Paperback R1,796 Discovery Miles 17 960
Python For Beginners - Learn Python In 5…
James Tudor Hardcover R667 Discovery Miles 6 670
UML 2 Certification Guide - Fundamental…
Tim Weilkiens, Bernd Oestereich Paperback R1,260 Discovery Miles 12 600
Object-Oriented Analysis and Design for…
Raul Sidnei Wazlawick Paperback R1,120 Discovery Miles 11 200
Python Programming For Beginners In 2021…
James Tudor Hardcover R673 Discovery Miles 6 730
C# From Beginner to Pro - With…
Rick Phillips Hardcover R1,244 Discovery Miles 12 440

 

Partners