![]() |
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 > General
Beginning computing students often finish the introduction to programming course without having had exposure to various system tools, without knowing how to optimize program performance and without understanding how programs interact with the larger computer system. Adam Hoover's "System Programming with C and Unix" introduces students to commonly used system tools (libraries, debuggers, system calls, shells and scripting languages) and then explains how to utilize these tools to optimize program development. The text also examines lower level data types with an emphasis on memory and understanding how and why different data types are used.
This book represents an attempt to treat three aspects of digital systems, design, prototyping and customization, in an integrated manner using two major technologies: VHSIC Hardware Description Language (VHDL) as a modeling and specification tool, and Field-Programmable Logic Devices (FPLDs) as an implementation technology. They together make a very powerful combination for complex digital systems rapid design and prototyping as the important steps towards manufacturing, or, in the case of feasible quantities, they also provide fast system manufacturing. Combining these two technologies makes possible implementation of very complex digital systems at the desk. VHDL has become a standard tool to capture features of digital systems in a form of behavioral, dataflow or structural models providing a high degree of flexibility. When augmented by a good simulator, VHDL enables extensive verification of features of the system under design, reducing uncertainties at the latter phases of design process. As such, it becomes an unavoidable modeling tool to model digital systems at various levels of abstraction.
Many times, web services standards do not explicitly address core issues specific to the financial industrywhich makes it difficult to implement standards-compliant systems. But "Web Services in Finance "will bridge the gap in standards awareness. And you will acquire the skills to develop secure applications quickly. If you are a .NET or J2EE developer working in the financial industry, currently migrating applications to become Web services, or writing new Web services, then this book is your ideal companion! The authors thoroughly discuss crucial topics like data representation, messaging, security, privacy, management, monitoring, and more. What's more: the provided examples and API reviews will help you swiftly reach your goals. Table of Contents Introduction to Web Services Enterprise Systems Data Representation Messaging Description and Data Format Discovery and Advertising Alternative Transports Security Quality of Service Conversations, Workflows, and Transactions
Clear, Concise Guide to the Core Language and Libraries--Updated through Java 17 Modern Java introduces major enhancements that impact the core Java technologies and APIs at the heart of the Java platform. Many old Java idioms are no longer needed, and new features and programming paradigms can make you far more effective. However, navigating these changes can be challenging. Core Java for the Impatient, Third Edition, is a complete yet concise guide that reflects all changes through Java SE 17, Oracle's latest Long-Term Support (LTS) release. Written by Cay S. Horstmann--author of the classic two-volume Core Java--this indispensable tutorial offers a faster, easier pathway for learning modern Java. Horstmann covers everything working developers need to know, including the powerful concepts of lambda expressions and streams, modern constructs such as records and sealed classes, and sophisticated concurrent programming techniques. Given the size and scope of Java 17, there's plenty to cover, but it's presented in small chunks organized for quick access and easy understanding, with plenty of practical insights and sample code to help you quickly apply all that's new. Test code as you create it with JShell Improve your object-oriented design with records and sealed classes Effectively use text blocks, switch expressions, and pattern matching Understand functional programming with lambda expressions Streamline and optimize data management with the Streams API Use modern library features and threadsafe data structures to implement concurrency reliably Work with the modularized Java API and third-party modules Take advantage of API improvements for working with collections, input/output, regular expressions, and processes Learn the APIs for date/time processing and internationalization Whether you're an experienced developer just getting started with modern Java, or have been programming with Java for years, this guide will help you write more robust, efficient, and secure Java code. Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
SQL is the ubiquitous language for software developers working with structured data. Most developers who rely on SQL are experts in their favorite language (such as Java, Python, or Go), but they're not experts in SQL. They often depend on antipatterns - solutions that look right but become increasingly painful to work with as you uncover their hidden costs. Learn to identify and avoid many of these common blunders. Refactor an inherited nightmare into a data model that really works. Updated for the current versions of MySQL and Python, this new edition adds a dozen brand new mini-antipatterns for quick wins. No matter which platform, framework, or language you use, the database is the foundation of your application, and the SQL database language is the standard for working with it. Antipatterns are solutions that look simple at the surface, but soon mire you down with needless work. Learn to identify these traps, and craft better solutions for the often-asked questions in this book. Avoid the mistakes that lead to poor performance and quality, and master the principles that make SQL a powerful and flexible tool for handling data and logic. Dive deep into SQL and database design, and learn to recognize the most common missteps made by software developers in database modeling, SQL query logic, and code design of data-driven applications. See practical examples of misconceptions about SQL that can lure software projects astray. Find the greatest value in each group of data. Understand why an intersection table may be your new best friend. Store passwords securely and don't reinvent the wheel. Handle NULL values like a pro. Defend your web applications against the security weakness of SQL injection. Use SQL the right way - it can save you from headaches and needless work, and let your application really shine! What You Need: The SQL examples use the MySQL 8.0 flavor, but other popular brands of RDBMS are mentioned. Other code examples use Python 3.9+ or Ruby 2.7+.
The proceedings represent the state of knowledge in the area of algorithmic differentiation (AD). The 31 contributed papers presented at the AD2012 conference cover the application of AD to many areas in science and engineering as well as aspects of AD theory and its implementation in tools. For all papers the referees, selected from the program committee and the greater community, as well as the editors have emphasized accessibility of the presented ideas also to non-AD experts. In the AD tools arena new implementations are introduced covering, for example, Java and graphical modeling environments or join the set of existing tools for Fortran. New developments in AD algorithms target the efficiency of matrix-operation derivatives, detection and exploitation of sparsity, partial separability, the treatment of nonsmooth functions, and other high-level mathematical aspects of the numerical computations to be differentiated. Applications stem from the Earth sciences, nuclear engineering, fluid dynamics, and chemistry, to name just a few. In many cases the applications in a given area of science or engineering share characteristics that require specific approaches to enable AD capabilities or provide an opportunity for efficiency gains in the derivative computation. The description of these characteristics and of the techniques for successfully using AD should make the proceedings a valuable source of information for users of AD tools.
This volume gives an overview of the state-of-the-art in system-level design trade-off explorations for concurrent tasks running on embedded heterogeneous multiple processors. The targeted application domain covers complex embedded real-time multi-media and communication applications. Many of these applications are concurrent in the sense that multiple subsystems can be running simultaneously. Also, these applications are so dynamic at run-time that the designs based on the worst case execution times are inefficient in terms of resource allocation (e.g., energy budgets). A novel systematical approach is clearly necessary in the area of system-level design for the embedded systems where those concurrent and dynamic applications are mapped. This material is mainly based on research at IMEC and its international university network partners in this area in the period 1997-2006.
After a slow and somewhat tentative beginning, machine vision systems are now finding widespread use in industry. So far, there have been four clearly discernible phases in their development, based upon the types of images processed and how that processing is performed: (1) Binary (two level) images, processing in software (2) Grey-scale images, processing in software (3) Binary or grey-scale images processed in fast, special-purpose hardware (4) Coloured/multi-spectral images Third-generation vision systems are now commonplace, although a large number of binary and software-based grey-scale processing systems are still being sold. At the moment, colour image processing is commercially much less significant than the other three and this situation may well remain for some time, since many industrial artifacts are nearly monochrome and the use of colour increases the cost of the equipment significantly. A great deal of colour image processing is a straightforward extension of standard grey-scale methods. Industrial applications of machine vision systems can also be sub divided, this time into two main areas, which have largely retained distinct identities: (i) Automated Visual Inspection (A VI) (ii) Robot Vision (RV) This book is about a fifth generation of industrial vision systems, in which this distinction, based on applications, is blurred and the processing is marked by being much smarter (i. e. more "intelligent") than in the other four generations."
This study centers on issues of marginality and monstrosity in medieval England. In the middle ages, geography was viewed as divinely ordered, so Britain's location at the periphery of the inhabitable world caused anxiety among its inhabitants. Far from the world's holy center, the geographic margins were considered monstrous. Medieval geography, for centuries scorned as crude, is now the subject of several careful studies. Monsters have likewise been the subject of recent attention in the growing field of "monster studies," though few works situate these creatures firmly in their specific historical contexts. This study sits at the crossroads of these two discourses (geography and monstrosity), treated separately in the established scholarship but inseparable in the minds of medieval authors and artists.
Visual Basic .NET is the most recent version of Microsoft's language for creating Windows programs and developing Internet applications. Visual Basic .NET forms part of the .NET Framework, the development environment now used for all Microsoft programming languages. Visual Basic .NET is an enhanced edition of this popular language, incorporating all the functionality of Visual Basic 6 but with the addition of new object oriented features. Some of the terminology has changed in this new version of the product and the development environment has been enhanced but the main principles remain the same. Visual Basic .NET Made Simple is intended for new programmers, as well as those who are upgrading from earlier versions of Visual Basic and those who have worked in different languages or environments and need to acquire new skills. No previous knowledge of Visual Basic, other languages or object oriented programming is required. However, readers are expected to have a basic knowledge of Windows and its operation. Main topics covered include: * Creating applications for Windows XP * Writing and testing Visual Basic .NET code * Accessing external databases * Developing Internet applications
Concurrent constraint programming (ccp) is a recent development in programming language design. Its central contribution is the notion of partial information provided by a shared constraint store. This constraint store serves as a communication medium between concurrent threads of control and as a vehicle for their synchronization. Objects for Concurrent Constraint Programming analyzes the possibility of supporting object-oriented programming in ccp. Starting from established approaches, the book covers various object models and discusses their properties. Small Oz, a sublanguage of the ccp language Oz, is used as a model language for this analysis. This book presents a general-purpose object system for Small Oz and describes its implementation and expressivity for concurrent computation. Objects for Concurrent Constraint Programming is written for programming language researchers with an interest in programming language aspects of concurrency, object-oriented programming, or constraint programming. Programming language implementors will benefit from the rigorous treatment of the efficient implementation of Small Oz. Oz programmers will get a first-hand view of the design decisions that lie behind the Oz object system.
Case-based reasoning means reasoning based on remembering previous experiences. A reasoner using old experiences (cases) might use those cases to suggest solutions to problems, to point out potential problems with a solution being computed, to interpret a new situation and make predictions about what might happen, or to create arguments justifying some conclusion. A case-based reasoner solves new problems by remembering old situations and adapting their solutions. It interprets new situations by remembering old similar situations and comparing and contrasting the new one to old ones to see where it fits best. Case-based reasoning combines reasoning with learning. It spans the whole reasoning cycle. A situation is experienced. Old situations are used to understand it. Old situations are used to solve a problem (if there is one to be solved). Then the new situation is inserted into memory alongside the cases it used for reasoning, to be used another time. The key to this reasoning method, then, is remembering. Remembering has two parts: integrating cases or experiences into memory when they happen and recalling them in appropriate situations later on. The case-based reasoning community calls this related set of issues the indexing problem. In broad terms, it means finding in memory the experience closest to a new situation. In narrower terms, it can be described as a two-part problem: assigning indexes or labels to experiences when they are put into memory that describe the situations to which they are applicable, so that they can be recalled later; and at recall time, elaborating the new situation in enough detail so that the indexes it would have if it were in the memory are identified. Case-Based Learning is an edited volume of original research comprising invited contributions by leading workers. This work has also been published as a special issues of MACHINE LEARNING, Volume 10, No. 3.
Call-by-push-value is a programming language paradigm that,
surprisingly, breaks down the call-by-value and call-by-name
paradigms into simple primitives. This monograph, written for
graduate students and researchers, exposes the call-by-push-value
structure underlying a remarkable range of semantics, including
operational semantics, domains, possible worlds, continuations and
games.
Designed as the definitive reference on the compilation of the Esterel synchronous reactive real-time language, Compiling Esterel covers all aspects of the language. The book includes a tutorial, a reference manual, formal semantics, and detailed technical information about the many techniques used to compile it. Researchers as well as advanced developers will find this book essential for understanding Esterel at all levels.
This revised edition has more breadth and depth of coverage than the first edition. Information Technology: An Introduction for Today's Digital World introduces undergraduate students to a wide variety of concepts that they will encounter throughout their IT studies and careers. The features of this edition include: Introductory system administration coverage of Windows 10 and Linux (Red Hat 7), both as general concepts and with specific hands-on instruction Coverage of programming and shell scripting, demonstrated through example code in several popular languages Updated information on modern IT careers Computer networks, including more content on cloud computing Improved coverage of computer security Ancillary material that includes a lab manual for hands-on exercises Suitable for any introductory IT course, this classroom-tested text presents many of the topics recommended by the ACM Special Interest Group on IT Education (SIGITE). It offers a far more detailed examination of the computer and IT fields than computer literacy texts, focusing on concepts essential to all IT professionals - from system administration to scripting to computer organization. Four chapters are dedicated to the Windows and Linux operating systems so that students can gain hands-on experience with operating systems that they will deal with in the real world.
For the introductory Data Structures course (CS2) that typically follows a first course in programming. This text continues to offer a thorough, well-organized, and up-to-date presentation of essential principles and practices in data structures using C++. Reflecting the newest trends in computer science, new and revised material throughout the Second Edition places increased emphasis on abstract data types (ADTs) and object-oriented design. \ To access the author's Companion Website, including Solutions Manual, for ADTS, Data Structures and Problem Solving with C++, please go to http://cs.calvin.edu/books/c++/ds/2e/ For other books by Larry Nyhoff, please go to www.prenhall.com/nyhoff
To construct a compiler for a modern higher-level programming languagel one needs to structure the translation to a machine-like intermediate language in a way that reflects the semantics of the language. little is said about such struc turing in compiler texts that are intended to cover a wide variety of program ming languages. More is said in the Iiterature on semantics-directed compiler construction [1] but here too the viewpoint is very general (though limited to 1 languages with a finite number of syntactic types). On the other handl there is a considerable body of work using the continuation-passing transformation to structure compilers for the specific case of call-by-value languages such as SCHEME and ML [21 3]. ln this paperl we will describe a method of structuring the translation of ALGOL-like languages that is based on the functor-category semantics devel oped by Reynolds [4] and Oles [51 6]. An alternative approach using category theory to structure compilers is the early work of F. L. Morris [7]1 which anticipates our treatment of boolean expressionsl but does not deal with procedures. 2 Types and Syntax An ALGOL-like language is a typed lambda calculus with an unusual repertoire of primitive types. Throughout most of this paper we assume that the primi tive types are comm(and) int(eger)exp(ression) int(eger)acc(eptor) int(eger)var(iable) I and that the set 8 of types is the least set containing these primitive types and closed under the binary operation -.
This updated and reorganized Fifth edition of Software Testing: A Craftsman's Approach continues to be a valuable reference for software testers, developers, and engineers, by applying the strong mathematics content of previous editions to a coherent treatment of software testing. Responding to instructor and student survey input, the authors have streamlined chapters and examples. The Fifth Edition: Has a new chapter on feature interaction testing that explores the feature interaction problem and explains how to reduce tests Uses Java instead of pseudo-code for all examples including structured and object-oriented ones Presents model-based development and provides an explanation of how to conduct testing within model-based development environments Explains testing in waterfall, iterative, and agile software development projects Explores test-driven development, reexamines all-pairs testing, and explains the four contexts of software testing Thoroughly revised and updated, Software Testing: A Craftsman's Approach, Fifth Edition is sure to become a standard reference for those who need to stay up to date with evolving technologies in software testing.
FIELD has been a remarkably successful research project. The ideas first exhibited in the environment now form the basis for most of the current generation of programming environments, including Hewlett-Packard's Softbench, DEC's FUSE, Sun's Tooltalk, Lucid's Energize, and SGI's Codevision. FIELD pioneered the notion of broadcast messaging as a basis for tool integration. Moreover, many of the other tool concepts introduced in FIELD have made their way into these environments. Thus in discussing the FIELD environment, this book actually explains the inner workings of today's programming environments. The book will be valuable for those interested in the development of programming tools and environments, as well as serious users of programming environments. It will also be of interest to anyone undertaking a large software project, both by introducing the software tools needed to work on such a project and by demonstrating the concepts of message-based integration which can be applied to a variety of domains.
'One of the best software design books of all time' - BookAuthority Cory Althoff is a self-taught programmer. After a year of self-study, he learned to program well enough to land a job as a software engineer II at eBay. But once he got there, he realised he was severely under-prepared. He was overwhelmed by the amount of things he needed to know but hadn't learned. His journey learning to program, and his experience in first software engineering job were the inspiration for this book. This book is not just about learning to program, although you will learn to code. If you want to program professionally, it is not enough to learn to code; that is why, in addition to helping you learn to program, Althoff also cover the rest of the things you need to know to program professionally that classes and books don't teach you. The Self-taught Programmer is a roadmap, a guide to take you from writing your first Python program to passing your first technical interview. The book is divided into five sections: 1. Learn to program in Python 3 and build your first program. 2. Learn object-oriented programming and create a powerful Python program to get you hooked. 3. Learn to use tools like Git, Bash and regular expressions. Then use your new coding skills to build a web scraper. 4. Study computer science fundamentals like data structures and algorithms. 5. Finish with best coding practices, tips for working with a team and advice on landing a programming job. You can learn to program professionally. The path is there. Will you take it? From the author I spent one year writing The Self-Taught Programmer. It was an exciting and rewarding experience. I treated my book like a software project. After I finished writing it, I created a program to pick out all of the code examples from the book and execute them in Python to make sure all 300+ examples worked properly. Then I wrote software to add line numbers and color to every code example. Finally, I had a group of 200 new programmers 'beta read' the book to identify poorly explained concepts and look for any errors my program missed. I hope you learn as much reading my book as I did writing it. Best of luck with your programming!
The PC Graphics Handbook serves advanced C++ programmers dealing with the specifics of PC graphics hardware and software.
This text teaches the essentials of C programming, concentrating on what readers need to know in order to produce stand-alone programs and so solve typical scientific and engineering problems. It is a learning-by-doing book, with many examples and exercises, and lays a foundation of scientific programming concepts and techniques that will prove valuable for those who might eventually move on to another language. Written for undergraduates who are familiar with computers and typical applications but are new to programming. |
You may like...
Introduction to Computational Economics…
Hans Fehr, Fabian Kindermann
Hardcover
R4,258
Discovery Miles 42 580
Java How to Program, Late Objects…
Paul Deitel, Harvey Deitel
Paperback
Advanced Visual Basic 6 - Power…
Matthew Curland, Gary Clarke
Paperback
R1,273
Discovery Miles 12 730
|