![]() |
Welcome to Loot.co.za!
Sign in / Register |Wishlists & Gift Vouchers |Help | Advanced search
|
Your cart is empty |
||
|
Books > Computing & IT > Computer programming > Programming languages
Enter a world of hardcore back-end, server-side enterprise programming on the .NET platform. This book presents some of the important aspects of the C++/CLI language that often become a barrier preventing programmers from exploring further. The C++/CLI Primer is a powerful but compact book that will guide you through that barrier. Many of today's complex transactions and enterprise applications count on C++/CLI. Visual Studio 2015 and earlier versions support C++/CLI if you program using an IDE. C++/CLI is unattractive, clumsy, and hard when compared to other modern languages that run on the .NET platform. That's because it is powerful. Like light that can be viewed as a wave or particle, C++/CLI can be exercised as an unmanaged or managed or actually as the sandwich language to do mixed mode programming, which is its real power. That's also why it is unique. What You'll Learn Discover C++/CLI and why is it used in .NET programming Work with types, primitive types, object creation, and managed and abstract classes Use abstract classes in C++/CLI Harness the power of nullptre Implement code that uses boxing/unboxing Use equality/identity, properties, enums, strings, arrays, and more Who This Book Is For Experienced Microsoft .NET application developers, familiar with .NET framework and C++.
A fun, hands-on guide to writing your own compiler for a real-world programming language. Compilers are at the heart of everything programmers do, yet even experienced developers find them intimidating. For those eager to truly grasp how compilers work, Writing a C Compiler dispels the mystery. This book guides you through a fun and engaging project where you’ll learn what it takes to compile a real-world programming language to actual assembly code. Writing a C Compiler will take you step by step through the process of building your own compiler for a significant subset of C—no prior experience with compiler construction or assembly code needed. Once you’ve built a working compiler for the simplest C program, you’ll add new features chapter by chapter. The algorithms in the book are all in pseudocode, so you can implement your compiler in whatever language you like. Along the way, you’ll explore key concepts like:
Compilers aren’t terrifying beasts—and with help from this hands-on, accessible guide, you might even turn them into your friends for life.
This text develops a comprehensive theory of programming languages based on type systems and structural operational semantics. Language concepts are precisely defined by their static and dynamic semantics, presenting the essential tools both intuitively and rigorously while relying on only elementary mathematics. These tools are used to analyze and prove properties of languages and provide the framework for combining and comparing language features. The broad range of concepts includes fundamental data types such as sums and products, polymorphic and abstract types, dynamic typing, dynamic dispatch, subtyping and refinement types, symbols and dynamic classification, parallelism and cost semantics, and concurrency and distribution. The methods are directly applicable to language implementation, to the development of logics for reasoning about programs, and to the formal verification language properties such as type safety. This thoroughly revised second edition includes exercises at the end of nearly every chapter and a new chapter on type refinements.
Quickly obtain solutions to common Java image processing problems, learn best practices, and understand everything OpenCV has to offer for image processing. You will work with a JVM image wrapper to make it very easy to run image transformation through pipelines and obtain instant visual feedback. This book makes heavy use of the Gorilla environment where code can be executed directly in the browser, and image transformation results can also be visualized directly in the browser. Java Image Processing Recipes includes recipes on more advanced image manipulation techniques, such as image smoothing, cartooning, sketching, and mastering masks to apply changes only to parts of the image. You'll see how OpenCV features provide instant solutions to problems such as edges detection and shape finding. Finally, the book contains practical recipes dealing with webcams and various video streams, giving you ready-made code with which to do real-time video analysis. What You Will Learn Create your personal real-time image manipulation environment Manipulate image characteristics with OpenCV Work with the Origami image wrapper Apply manipulations to webcams and video streams Who This Book Is For Developers that want to manipulate images and use other advanced imaging techniques, through code running in the JVM.
Arising from a special session held at the 2010 North American Annual Meeting of the Association for Symbolic Logic, this volume is an international cross-disciplinary collaboration with contributions from leading experts exploring connections across their respective fields. Themes range from philosophical examination of the foundations of physics and quantum logic, to exploitations of the methods and structures of operator theory, category theory, and knot theory in an effort to gain insight into the fundamental questions in quantum theory and logic. The book will appeal to researchers and students working in related fields, including logicians, mathematicians, computer scientists, and physicists. A brief introduction provides essential background on quantum mechanics and category theory, which, together with a thematic selection of articles, may also serve as the basic material for a graduate course or seminar.
This course-tested textbook describes the design and implementation of operating systems, and applies it to the MTX operating system, a Unix-like system designed for Intel x86 based PCs. Written in an evolutional style, theoretical and practical aspects of operating systems are presented as the design and implementation of a complete operating system is demonstrated. Throughout the text, complete source code and working sample systems are used to exhibit the techniques discussed. The book contains many new materials on the design and use of parallel algorithms in SMP. Complete coverage on booting an operating system is included, as well as, extending the process model to implement threads support in the MTX kernel, an init program for system startup and a sh program for executing user commands. Intended for technically oriented operating systems courses that emphasize both theory and practice, the book is also suitable for self-study.
Cover all the machine learning techniques relevant for forecasting problems, ranging from univariate and multivariate time series to supervised learning, to state-of-the-art deep forecasting models such as LSTMs, recurrent neural networks, Facebook's open-source Prophet model, and Amazon's DeepAR model. Rather than focus on a specific set of models, this book presents an exhaustive overview of all the techniques relevant to practitioners of forecasting. It begins by explaining the different categories of models that are relevant for forecasting in a high-level language. Next, it covers univariate and multivariate time series models followed by advanced machine learning and deep learning models. It concludes with reflections on model selection such as benchmark scores vs. understandability of models vs. compute time, and automated retraining and updating of models. Each of the models presented in this book is covered in depth, with an intuitive simple explanation of the model, a mathematical transcription of the idea, and Python code that applies the model to an example data set. Reading this book will add a competitive edge to your current forecasting skillset. The book is also adapted to those who have recently started working on forecasting tasks and are looking for an exhaustive book that allows them to start with traditional models and gradually move into more and more advanced models. What You Will Learn Carry out forecasting with Python Mathematically and intuitively understand traditional forecasting models and state-of-the-art machine learning techniques Gain the basics of forecasting and machine learning, including evaluation of models, cross-validation, and back testing Select the right model for the right use case Who This Book Is For The advanced nature of the later chapters makes the book relevant for applied experts working in the domain of forecasting, as the models covered have been published only recently. Experts working in the domain will want to update their skills as traditional models are regularly being outperformed by newer models.
Diagramming and process are important topics in today's software development world, as the UML diagramming language has come to be almost universally accepted. Yet process is necessary; by themselves, diagrams are of little use. Use Case Driven Object Modeling with UML - Theory and Practice combines the notation of UML with a lightweight but effective process - the ICONIX process - for designing and developing software systems. ICONIX has developed a growing following over the years. Sitting between the free-for-all of Extreme Programming and overly rigid processes such as RUP, ICONIX offers just enough structure to be successful.
This book gives developers - both the experienced and those who have only taken their first few steps - a small, fast-paced primer that will kick-start them into the world of C++/CLI. In twenty no-fluff chapters Microsoft insiders take readers into the heart of the C++/CLI language and explain both how the language elements work and how Microsoft intends them to be used. At the end of this short book readers will have a deep thorough grounding in the core language elements and the confidence to explore further that comes from a solid understanding of a language's syntax and grammar.
Threats to application security continue to evolve just as quickly as the systems that protect against cyber-threats. In many instances, traditional firewalls and other conventional controls can no longer get the job done. The latest line of defense is to build security features into software as it is being developed. Drawing from the author's extensive experience as a developer, Secure Software Development: Assessing and Managing Security Risks illustrates how software application security can be best, and most cost-effectively, achieved when developers monitor and regulate risks early on, integrating assessment and management into the development life cycle. This book identifies the two primary reasons for inadequate security safeguards: Development teams are not sufficiently trained to identify risks; and developers falsely believe that pre-existing perimeter security controls are adequate to protect newer software. Examining current trends, as well as problems that have plagued software security for more than a decade, this useful guide: Outlines and compares various techniques to assess, identify, and manage security risks and vulnerabilities, with step-by-step instruction on how to execute each approach Explains the fundamental terms related to the security process Elaborates on the pros and cons of each method, phase by phase, to help readers select the one that best suits their needs Despite decades of extraordinary growth in software development, many open-source, government, regulatory, and industry organizations have been slow to adopt new application safety controls, hesitant to take on the added expense. This book improves understanding of the security environment and the need for safety measures. It shows readers how to analyze relevant threats to their applications and then implement time- and money-saving techniques
Exploit the Power of Modern JavaScript and Avoid the Pitfalls JavaScript was originally designed for small-scale programming in web browsers, but modern JavaScript is radically different. Nowadays, JavaScript programmers actively embrace functional, object-oriented, and asynchronous programming, while deprecating error-prone concepts from the past. Modern JavaScript for the Impatient is a complete yet concise guide to JavaScript E6 and beyond. Rather than first requiring you to learn and transition from older versions, it helps you quickly get productive with today's far more powerful versions and rapidly move from languages such as Java, C#, C, or C++. Bestselling programming author Cay S. Horstmann covers all you need to know, provided in small chunks organized for quick access and easy understanding. Horstmann's practical insights and sample code help you take advantage of all that's new, avoid common pitfalls and obsolete features, and make the most of modern JavaScript's robust toolchains and frameworks. Quickly master modern JavaScript's implementation of fundamental programming constructs Avoid legacy techniques that create unnecessary complexity and risk Make the most of functional, object-oriented, and asynchronous techniques Use modules to efficiently organize and run complex programs Write more powerful, flexible, and concise programs with metaprogramming Extend JavaScript's power via JavaScript libraries, frameworks, and platforms Whether you're just getting started with JavaScript or you're an experienced developer, this guide will help you write tomorrow's most robust, efficient, and secure JavaScript code. Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
This book provides a platform for addressing human factors challenges in software and systems engineering, both pushing the boundaries of current research and responding to new challenges, fostering new research ideas in the process. This book is intended for researchers, professional software and systems engineers, and human factors and human systems integration experts to help them address societal challenges for next-generation systems with applications for meeting them. Topics include evolutionary and complex systems, human systems integration, smart grids and infrastructure, workforce training requirements, systems engineering education, and defense and aerospace. Based on the AHFE 2016 International Conference on Human Factors, Software, and Systems Engineering, held on July 27-31, 2016, in Walt Disney World (R), Florida, USA. This book represents an inspiring guide for all researchers and professionals in the field of Human Factors, Software, and Systems Engineering.
The SourceForge open source lightweight Wicket project is a Java web application framework that takes simplicity, separation of concerns and ease of development to a new level. This book takes a no-nonsense approach, jumping directly to the practical aspects of Wicket. Chapters include Developing Wicket Forms; Validation with Wicket; Developing a Simple Application; Providing a Common Layout; Spring Integration; Wicket Localization; Wicket and Ajax; Custom Components and Wicket Extensions, and Unit Testing. Pro Wicket gets you quickly up and running with the framework and the attractively simple 'wicket-way' of addressing web development requirements.
Get up to speed with Clojure in this quick and practical primer. You'll learn the nuts and bolts of functional programming, data structures, sequences, destructuring, pattern matching, polymorphism, concurrency, conventions, and more. Author Mark McDonnell talks about organization with namespaces; how to change the language via macros; object-oriented programming; and creating command-line apps. Finally, he shows you how to write Clojure from shell languages and interfaces such as Vim. After reading and using Quick Clojure, you'll come away with first-hand knowledge and advice on how to quickly adopt, use, and apply Clojure without all the theoretical baggage that bigger books can sometimes bring. What You'll Learn Work with data structures and their syntax Discover OOP in Clojure with patterns, polymorphisms, pattern matching, and concurrency Use conventions, organization, and namespaces in Clojure Create command-line apps Build various Clojure projects with the Leiningen IDE tool and framework Who This Book Is For Programmers with experience. A Java background would be helpful, but not required.
Software is pervasive in our lives. We are accustomed to dealing with the failures of much of that software - restarting an application is a very familiar solution. Such solutions are unacceptable when the software controls our cars, airplanes and medical devices or manages our private information. These applications must run without error. SPARK provides a means, based on mathematical proof, to guarantee that a program has no errors. SPARK is a formally defined programming language and a set of verification tools specifically designed to support the development of software used in high integrity applications. Using SPARK, developers can formally verify properties of their code such as information flow, freedom from runtime errors, functional correctness, security properties and safety properties. Written by two SPARK experts, this is the first introduction to the just-released 2014 version. It will help students and developers alike master the basic concepts for building systems with SPARK.
Software is pervasive in our lives. We are accustomed to dealing with the failures of much of that software - restarting an application is a very familiar solution. Such solutions are unacceptable when the software controls our cars, airplanes and medical devices or manages our private information. These applications must run without error. SPARK provides a means, based on mathematical proof, to guarantee that a program has no errors. SPARK is a formally defined programming language and a set of verification tools specifically designed to support the development of software used in high integrity applications. Using SPARK, developers can formally verify properties of their code such as information flow, freedom from runtime errors, functional correctness, security properties and safety properties. Written by two SPARK experts, this is the first introduction to the just-released 2014 version. It will help students and developers alike master the basic concepts for building systems with SPARK.
Learn how to break systems, networks, and software in order to determine where the bad guys might get in. Once the holes have been determined, this short book discusses how they can be fixed. Until they have been located, they are exposures to your organization. By reading Penetration Testing Basics, you'll gain the foundations of a simple methodology used to perform penetration testing on systems and networks for which you are responsible. What You Will Learn Identify security vulnerabilities Use some of the top security tools to identify holes Read reports from testing tools Spot and negate common attacks Identify common Web-based attacks and exposures as well as recommendations for closing those holes Who This Book Is For Anyone who has some familiarity with computers and an interest in information security and penetration testing.
Quickly find solutions to dozens of common programming problems encountered while building Java applications, with recipes presented in the popular problem-solution format. Look up the programming problem that you want to resolve. Read the solution. Apply the solution directly in your own code. Problem solved! Java 17 Recipes is updated to reflect changes in specification and implementation since the Java 9 edition of this book. Java 17 is the next long-term support release (LTS) of the core Java Standard Edition (SE) version 17 which also includes some of the features from previous short term support (STS) releases of Java 16 and previous versions. This new edition covers of some of the newest features, APIs, and more such as pattern matching for switch, Restore Always-Strict-Floating-Point-Semantics, enhanced pseudo-random number generators, the vector API, sealed classes, and enhancements in the use of String. Source code for all recipes is available in a dedicated GitHub repository. This must-have reference belongs in your library. What You Will Learn Look up solutions to everyday problems involving Java SE 17 LTS and other recent releases Develop Java SE applications using the latest in Java SE technology Incorporate Java major features introduced in versions 17, 16, and 15 into your code Who This Book Is For Programmers and developers with some prior Java experience.
Learn ES6 best practices for code optimization and organization and walk through practical, common examples of how to implement complete components of your applications. While this book covers the basic concepts of modern JavaScript, it primarily focuses on the new syntax, data-types, functionalities, and everything else that's new in ES6, the latest standard of JavaScript. You'll examine how to use ES6 in functional programming and explore the new more modular and object-oriented approach to JavaScript. This book will help you sharpen and upgrade your JavaScript language skills so you to easily explore modern ES6 based frameworks or libraries such as ReactJS, ReactNative, Angular4 and Vue.js. ES6 for Humans is a complete guide to writing ES6 and will enable you to start taking advantage of this exciting new version of JavaScript. What You'll Learn Use all the new features added to JavaScript Compare ES5 and ES6 in varied situations Refresh your core JavaScript fundamentals Understand the modular and object-oriented approach to JavaScript Who this Book Is For Any Javascript developer who wants to fully understand and dive into the new features of ES6/ES2015. Developers with some background in programming, preferably in JavaScript. A basic understanding of coding concepts and exposure to object-oriented programming is expected.
Parts 1-4 of Robert Sedgewick's work provide extensive coverage of fundamental data structures and algorithms for sorting, searching, and related applications. They reflect the third edition's greater emphasis on abstract data types (ADTs). Coverage includes more than 100 key algorithms for sorting, selection, priority queue ADT implementations, and symbol table ADT (searching) implementations. Also included are new implementations of binomial queues, multiway radix sorting, Batcher's sorting networks, randomized BSTs, splay trees, skip lists, and multiway tries. Increased quantitative information gives students a more solid basis for comparing algorithms, and hundreds of new exercises reinforce their learning. Algorithms and data structures described in the book are expressed in concise implementations in C, so that students can both appreciate their fundamental properties and test them on real applications.
DESCRIPTION To earn the OCA Java SE 8 Programmer I Certification, readers need to know Java inside and out, and to pass the exam it's good to understand the test itself. This book cracks open the questions, exercises, and expectations readers will face on the OCA exam so they'll be ready and confident on test day. OCA Java SE 8 Programmer I Certification Guide prepares readers for the 1Z0-808 with complete coverage of all exam topics. The book explores important Java topics and systematically teaches what's required. Each chapter starts with a list of exam objectives mapped to section numbers, followed by sample questions and exercises designed to reinforce key concepts. It provides multiple ways to digest important techniques and concepts, including memorable analogies, diagrams, and flowcharts as well as lots of well-commented code. Along the way readers will also get the scoop on common mistakes and ways to avoid traps and pitfalls. KEY FEATURES 100% coverage of exam topics Hands-on coding examples and exercises Helps readers avoid exam traps and pitfalls Hundreds of sample questions Crib Sheets AUDIENCE Written for developers with a working knowledge of Java who want to earn the OCA Java SE 8 Programmer I Certification. ABOUT THE TECHNOLOGY The Oracle Certified Associate (OCA) Java SE 8 measures day-to-day programming and the ability to handle typical situations found in a variety of projects.
This book constitutes the thoroughly refereed proceedings of the 10th International Joint Conference on Software Technologies, ICSOFT 2015, held in Colmar, France, in July 2015. The 23 revised full papers presented were carefully reviewed and selected from 117 submissions. The papers are organized around the following conference tracks: enterprise software technologies; software project management; software engineering methods and techniques; distributed and mobile software systems.
Learn how to develop a complete and robust Node, express.js and MongoDB-based web application and mobile application backend quickly using KeystoneJS. You'll learn how KeystoneJS makes complicated things simple, without limiting the power or flexibility of node.js or the frameworks it is built on. Beginning KeystoneJS shows you how to build database-driven websites, applications, and APIs, all built upon Express, the defacto web server for Node.js that uses MongoDB as its storage backend. What You Will Learn Discover the setup and architecture of the KeystoneJS framework. See how easy it is to extend KeystoneJS Understand the custom types and fields provided out of the box Write clean markup and create templates using Swig Use the powerful editing options in the framework's responsive dashboard Who This Book Is For Technical and non-technical people who would like to build applications quickly to leverage structured data to improve productivity.
Making extensive use of examples, this textbook on Java programming teaches the fundamental skills for getting started in a command-line environment. Meant to be used for a one-semester course to build solid foundations in Java, Fundamentals of Java Programming eschews second-semester content to concentrate on over 180 code examples and 250 exercises.Key object classes (String, Scanner, PrintStream, Arrays, and File) are included to get started in Java programming. The programs are explained with almost line-by-line descriptions, also with chapter-by-chapter coding exercises. Teaching resources include solutions to the exercises, as well as digital lecture slides.
This book constitutes the refereed proceedings of the 4th International Workshop on Formal Techniques for Safety-Critical Systems, FTSCS 2015, held in Paris, France, in November 2015. The 15 revised full papers presented together with one invited talk and two tool papers were carefully reviewed and selected from 41 submissions. The papers are organized in topical sections on timed systems; railway systems; fault tolerance; automotive systems; software and systems analysis; tools. |
You may like...
Java How to Program, Late Objects…
Paul Deitel, Harvey Deitel
Paperback
Introduction to Computational Economics…
Hans Fehr, Fabian Kindermann
Hardcover
R4,258
Discovery Miles 42 580
Dark Silicon and Future On-chip Systems…
Suyel Namasudra, Hamid Sarbazi-Azad
Hardcover
R3,940
Discovery Miles 39 400
|