![]() |
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
Solve real-life programming problems with a fraction of the code that pure object-oriented programming requires. Use Scala and Clojure to solve in-depth problems with two sets of patterns: object-oriented patterns that become more concise with functional programming, and natively functional patterns. Your code will be more declarative, with fewer bugs and lower maintenance costs. Functional languages have their own patterns that enable you to solve problems with less code than object-oriented programming alone. This book introduces you, the experienced Java programmer, to Scala and Clojure: practical, production-quality languages that run on the JVM and interoperate with existing Java. By using both the statically typed, type-inferred Scala and the dynamically typed, modern Lisp Clojure, you'll gain a broad understanding of functional programming. For each pattern, you'll first see the traditional object-oriented solution, and then dig into the functional replacements in both Scala and Clojure. These patterns are common in the functional world and deserve to become part of your problem-solving toolkit. On the object-oriented side, you'll see many common patterns, such as Command, Strategy, and Null Object. On the functional side, you'll learn core functional patterns such as Memoization, Lazy Sequence, and Tail Recursion. Each pattern helps you solve a common programming problem. Working through them gives you a set of patterns you can use to solve problems you come across while writing programs. Finally, you'll learn how to work your existing Java code into new Scala or Clojure projects. You can start off small, adding functional code little by little, so you can complement your existing knowledge with Scala and Clojure as these languages gain popularity on the JVM.
This book explains how to use the symbolic differentiation system D* for applications in computer games and engineering simulation. The authors describe how to create procedural 3D geometric models, link them together to form multibody physical systems, and simulate and display their physical behavior in real time. The symbolic differentiation capabilities of D* can be used in a wide variety of technical applications, including computer graphics, engineering, and mechanical simulation. Two Lagrangian physics simulation and procedural 3D geometric modeling are developed in great detail.
Written in an informal yet informative style, Programming Language Fundamentals by Example uses active learning techniques, giving students a professional learning experience based on professional methods applied with professional standards. It provides an understanding of the many languages and notations used in computer science, the formal models used to design phases, and the foundations of languages including linguistics and logic. To give students a thorough, working knowledge of programming languages, this textbook uses a semester-long project in which students create a programming language. This project brings to life the concepts and theories fundamental to computer languages. The author incorporates "thinking tools" such as concept maps, matrices for analysis, and flowcharts. Designed for fourth year undergraduates and first year graduates with enough exposure to programming to absorb the technical foundations of languages, this textbook offers a unique approach to understanding how programming languages are created and function.
For courses in computer programming. Evaluates the fundamentals of contemporary computer programming languages Concepts of Computer Programming Languages introduces students to the fundamental concepts of computer programming languages and provides them with the tools necessary to evaluate contemporary and future languages. Through a critical analysis of design issues, the text teaches students the essential differences between computing with specific languages, while the in-depth discussion of programming language structures also prepares them to study compiler design. The 12th Edition includes new material on contemporary languages like Swift and Python, replacing discussions of outdated languages.
An open process of restandardization, conducted by the IEEE, has led to the definitions of the new VHDL standard. The changes make VHDL safer, more portable, and more powerful. VHDL also becomes bigger and more complete. The canonical simulator of VHDL is enriched by new mechanisms, the predefined environment is more complete, and the syntax is more regular and flexible. Discrepancies and known bugs of VHDL'87 have been fixed. However, the new VHDL'92 is compatible with VHDL'87, with some minor exceptions. This book presents the new VHDL'92 for the VHDL designer. New features are explained and classified. Examples are provided, each new feature is given a rationale and its impact on design methodology, and performance is analyzed. Where appropriate, pitfalls and traps are explained. The VHDL designer should quickly be able to find the feature needed to evaluate the benefits it brings, to modify previous VHDL'87 code to make it more efficient, more portable, and more flexible. This text should be a useful update for all VHDL designers and managers involved in electronic design.
A complete guide for the developer or student, this text provides an overview of general concepts and terminology, investigates the salient features of the reference processor, thoroughly explores the services and features of the reference RTOS, and culminates with a major case study. Perfect for embedded systems programmers, software engineers, electrical engineers, or firmware engineers with a programming background in C or C++.
Software "style" is about finding the perfect balance between
overhead and functionality... elegance and maintainability...
flexibility and excess. In "Exceptional C++ Style," legendary C++
guru Herb Sutter presents 40 new programming scenarios designed to
analyze not only the what but the why and help you find just the
right balance in your software. Organized around practical problems
and solutions, this book offers new insight into crucial C++
details and interrelationships, and new strategies for today's key
C++ programming techniques--including generic programming, STL,
exception safety, and more. You'll find answers to questions like:
What can you learn about library design from the STL itself?How do
you avoid making templated code needlessly non-generic?Why
shouldn't you specialize function templates? What should you do
instead? How does exception safety go beyond try and catch
statements?Should you use exception specifications, or not? When
and how should you "leak" the private parts of a class?How do you
make classes safer for versioning? What's the real memory cost of
using standard containers?How can using const really optimize your
code?How does writing inline affect performance? When does code
that looks wrong actually compile and run perfectly, and why should
you care?What's wrong with the design of std:: string? "Exceptional
C++ Style" will help you design, architect, and code with
style--and achieve greater robustness and performance in all your
C++ software.
Humans learn best from feedback-we are encouraged to take actions that lead to positive results while deterred by decisions with negative consequences. This reinforcement process can be applied to computer programs allowing them to solve more complex problems that classical programming cannot. Deep Reinforcement Learning in Action teaches you the fundamental concepts and terminology of deep reinforcement learning, along with the practical skills and techniques you'll need to implement it into your own projects. Key features * Structuring problems as Markov Decision Processes * Popular algorithms such Deep Q-Networks, Policy Gradient method and Evolutionary Algorithms and the intuitions that drive them * Applying reinforcement learning algorithms to real-world problems Audience You'll need intermediate Python skills and a basic understanding of deep learning. About the technology Deep reinforcement learning is a form of machine learning in which AI agents learn optimal behavior from their own raw sensory input. The system perceives the environment, interprets the results of its past decisions, and uses this information to optimize its behavior for maximum long-term return. Deep reinforcement learning famously contributed to the success of AlphaGo but that's not all it can do! Alexander Zai is a Machine Learning Engineer at Amazon AI working on MXNet that powers a suite of AWS machine learning products. Brandon Brown is a Machine Learning and Data Analysis blogger at outlace.com committed to providing clear teaching on difficult topics for newcomers.
The authoritative resource to writing clear and idiomatic Go to solve real-world problems Google's Go team member Alan A. A. Donovan and Brian Kernighan, co-author of The C Programming Language, provide hundreds of interesting and practical examples of well-written Go code to help programmers learn this flexible, and fast, language. It is designed to get you started programming with Go right away and then to progress on to more advanced topics. Basic components: an opening tutorial provides information and examples to get you off the ground and doing useful things as quickly as possible. This includes: command-line arguments gifs URLs web servers Program structure: simple examples cover the basic structural elements of a Go program without getting sidetracked by complicated algorithms or data structures. Data types: Go offers a variety of ways to organize data, with a spectrum of data types that at one end match the features of the hardware and at the other end provide what programmers need to conveniently represent complicated data structures. Composite types: arrays slices maps structs JSON test and HTML templates Functions: break a big job into smaller pieces that might well be written by different people separated by both time and space. Methods: declarations with a pointer receiver struct embedding values and expressions Interfaces: write functions that are more flexible and adaptable because they are not tied to the details of one particular implementation. Concurrent programming: Goroutines, channels, and with shared variables. Packages: use existing packages and create new ones. Automated testing: write small programs that check the code. Reflection features: update variables and inspect their values at run time. Low-level programming: step outside the usual rules to achieve the highest possible performance, interoperate with libraries written in other languages, or implement a function that cannot be expressed in pure Go. Each chapter has exercises to test your understanding and explore extensions and alternatives. Source code is freely available for download and may be conveniently fetched, built, and installed using the go get command.
An invaluable companion to the author's best selling CNC Programming Handbook, this book is a general introduction to the subject of macros (known as Custom Macros or User Macros). Its purpose is to make you aware of what macros are, how to develop them, and how to use them effectively. It also explores important related subjects and identifies several other helpful topics in this increasingly important and exciting field of CNC programming. Offers many practical do's and don'ts while covering all the popular Fanuc control systems exclusively. Provides the basis for exploring in great depth the extremely wide and rich field of programming tools that macros are. Numerous examples and sample programs are used throughout that serve as practical applications of the techniques presented and as the basis of ready-to-run macro programs. Includes a CD containing all of the sample programs.
Appropriate for all courses in Tcl/Tk scripting, and many courses in Unix shell scripting. Practical Programming in Tcl/Tk, Fourth Edition is the definitive guide to Tcl/Tk programming for developers at all levels—including experienced Perl and Python programmers who want to use Tk to build high-quality, cross-platform user interfaces. Thoroughly updated for Tcl/Tk 8.4, this book brings together comprehensive, authoritative coverage of every Tcl and Tk command in the core toolkits, along with detailed examples that demonstrate the best ways to use the Tcl/Tk toolkit. Extensive new Tcl/Tk 8.4 coverage includes: the Tcl/Tk virtual filesystem (VFS); spinbox, panedwindow, labelframe, and other new widgets; and improved internationalization support. The book includes an exceptionally clear introduction to the unique Tcl programming model, as well as practical coverage of cross-platform development for Unix, Windows, and Macintosh; Web application development with the TclHttpd web server; and much more. The accompanying CD-ROM contains all sample code from the book, as well as the latest binary distributions of Tcl/Tk, Tcl extensions, and an extensive collection of Tcl/Tk freeware.
With a worldwide community of users and more than a million dedicated programmers, Perl has proven to be the most effective language for the latest trends in computing and business. Every programmer must keep up with the latest tools and techniques. This updated version of "Advanced Perl Programming" from O'Reilly gives you the essential knowledge of the modern Perl programmer. Whatever your current level of Perl expertise, this book will help you push your skills to the next level and become a more accomplished programmer. O'Reilly's most high-level Perl tutorial to date, "Advanced Perl Programming," Second Edition teaches you all the complex techniques for production-ready Perl programs. This completely updated guide clearly explains concepts such as introspection, overriding built-ins, extending Perl's object-oriented model, and testing your code for greater stability. Other topics include: Complex data structures Parsing Templating toolkits Working with natural language data Unicode Interaction with C and other languages In addition, this guide demystifies once complex topics like object-relational mapping and event-based development-arming you with everything you need to completely upgrade your skills. Praise for the Second Edition: "Sometimes the biggest hurdle to problem solving isn't the subject itself but rather the sheer number of modules Perl provides. "Advanced Perl Programming" walks you through Perl's TMTOWTDI ("There's More Than One Way To Do It") forest, explaining and comparing the best modules for each task so you can intelligently apply them in a variety of situations." --Rocco Caputo, lead developer of POE "It has beensaid that sufficiently advanced Perl code is indistinguishable from magic. This book of spells goes a long way to unlocking those secrets. It has the power to transform the most humble programmer into a Perl wizard." --Andy Wardley "The information here isn't theoretical. It presents tools and techniques for solving real problems cleanly and elegantly." --Curtis 'Ovid' Poe " "Advanced Perl Programming" collects hard-earned knowledge from some of the best programmers in the Perl community, and explains it in a way that even novices can apply immediately." --chromatic, Editor of Perl.com
Packed with C++ code examples and screen shots, .NET Programming with Visual C++ explains the .NET framework and managed extensions to C++, and provides a complete reference to the basic and advanced types contained in .NET Framework System namesp
An introduction to advanced C++, specialized for scientific programmers C++ Scientific Programming teaches the design of programs for scientific computation in C++. It introduces unique C++ classes for vectors, dense matrices, and sparse matrices, and defines the particular relationships among these classes. It then demonstrates how to use these fundamental classes in a dozen of the most powerful current applications. The author limits the scope of the book to features that are specifically useful to scientific programmers. He presents a set of practices that allows programmers to embrace the attractive features of C++ without incurring undesired side effects and hidden costs. He illustrates these practices by implementing major contemporary numerical methods and providing examples for execution with a C++ compiler. A collection of source code files correlated with the content of the book can be downloaded from the Wiley ftp site. C++ Scientific Programming shows how C++ improves on both FORTRAN and C and affords greater convenience and efficiency in coding mathematics. It serves as a vital companion to more general C++ texts and treats the unique needs of scientific programmers.
One of the attractive aspects of C++ is that it offers good facilities for object-oriented programming (OOP), but, as a hybrid language, it also supports procedural programming. The significance of this for programmers is that it offers more flexibility allowing them to shift to object-oriented programming if and when they feel the need to do so. In this regard, C++ differs from some purely object-oriented languages, such as Smalltalk, Eiffel and Java. This book offers practical guidance on how to programme in both styles. The C++ language and its standard library have gone through a good many improvements and extensions during their evolution. This third edition has therefore been completely revised in accordance with the C++ language revision, which is embodied in the ANSI/ISO C++ Standard. For example, the new, important type string is used throughout the book and the Standard Template Library (STL) is introduced to readers at an early stage and discussed in more detail later on. All example programs and the solutions to the exercises can be downloaded from the website. http://home.wxs.nl/ ~ammeraal/ Solutions for some of these exercises can be found in the appendix.
Powerful, flexible, easy to use-small wonder that the use of MAPLE® continues to increase, particularly since the latest releases of MAPLE. The built-in nature of its numerical and graphical facilities gives MAPLE a distinct advantage over traditional programming languages, yet to date, no textbook has used that advantage to introduce programming concepts. Moreover, few books based on MAPLE's latest versions even exist.
Developments in Lisp technology have been accelerated by a number of factors, including the increased interest in Artificial Intelligence and the emergence of Common Lisp. Advanced Lisp Technology, the fourth volume in the Advanced Information Processing Technology series, brings together various Japanese researchers working in the field of Lisp technology and reflects the growing interest in parallel and distributed processing. The book is divided into four parts. The first examines Lisp systems design and implementation in a wide variety of parallel and distributed computing environments, which provide the base system with constructs for parallel computation. The second part consists of papers on language features such as evaluation strategy for parallel symbolic computation, extension of first-class continuations for parallel Scheme systems, and lightweight process for real-time symbolic computations. The papers in the third part discuss memory management and garbage collection, and the fourth group of papers consider the programming environment. Graduates, researchers and professional programmers involved with programming language systems, list processing and garbage collection will find this book a valuable compilation of recent research in these fields.
Originally published in 1966. Professor Rescher's aim is to develop a "logic of commands" in exactly the same general way which standard logic has already developed a "logic of truth-functional statement compounds" or a "logic of quantifiers". The object is to present a tolerably accurate and precise account of the logically relevant facets of a command, to study the nature of "inference" in reasonings involving commands, and above all to establish a viable concept of validity in command inference, so that the logical relationships among commands can be studied with something of the rigour to which one is accustomed in other branches of logic.
COMSOL5 Multiphysics (R) is one of the most valuable software modeling tools for engineers and scientists. This book, an updated edition of the previously published, COMSOL for Engineers, covers COMSOL5 which now includes a revolutionary tool, the Application Builder. This component enables users to build apps based on COMSOL models that can be run on almost any operating system (Windows, MAC, mobile/iOS, etc.). Designed for engineers from various disciplines, the book introduces multiphysics modeling techniques and examples accompanied by practical applications using COMSOL5.x. The main objective is to introduce readers to use COMSOL as an engineering tool for modeling, by solving examples that could become a guide for modeling similar or more complicated problems. The book provides a collection of examples and modeling guidelines through which readers can build their own models. The mathematical fundamentals, engineering principles, and design criteria are presented as integral parts of the examples. At the end of chapters are references that contain more in-depth physics, technical information, and data; these are referred to throughout the book and used in the examples. COMSOL5 for Engineers could be used to complement another text that provides background training in engineering computations and methods. Exercises are provided at the end of the text for use in adoption situations. Features: Expands the Finite Element Method (FEM) theory and adds more examples from the original edition Outlines the new features in COMSOL5, the graphical user interface (GUI), and how to build a COMSOL app for models Includes apps for selected model examples-with parameterization of these models Features new and modified, solved model examples, in addition to the models provided in the original edition Companion disc with executable copies of each model and their related animations eBook Customers: Companion files are available for downloading with order number/proof of purchase by writing to the publisher at [email protected].
The huge proliferation of security vulnerability exploits, worms, and viruses place an incredible drain on both cost and confidence for manufacturers and consumers. The release of trustworthy code requires a specific set of skills and techniques, but this information is often dispersed and decentralized, encrypted in its own jargon and terminology, and can take a colossal amount of time and data mining to find. Written in simple, common terms, Testing Code Security is a consolidated resource designed to teach beginning and intermediate testers the software security concepts needed to conduct relevant and effective tests. Answering the questions pertinent to all testing procedures, the book considers the differences in process between security testing and functional testing, the creation of a security test plan, the benefits and pitfalls of threat-modeling, and the identification of root vulnerability problems and how to test for them. The book begins with coverage of foundation concepts, the process of security test planning, and the test pass. Offering real life examples, it presents various vulnerabilities and attacks and explains the testing techniques appropriate for each. It concludes with a collection of background overviews on related topics to fill common knowledge gaps. Filled with cases illustrating the most common classes of security vulnerabilities, the book is written for all testers working in any environment, and it gives extra insight to threats particular to Microsoft Windows (R) platforms. Providing a practical guide on how to carry out the task of security software testing, Testing Code Security gives the reader the knowledge needed to begin testing software security for any project and become an integral part in the drive to produce better software security and safety.
Illustrating the relevance of linear approximation in a variety of fields, Numerical Linear Approximation in C presents a unique collection of linear approximation algorithms that can be used to analyze, model, and compress discrete data. Developed by the lead author, the algorithms have been successfully applied to several engineering projects at the National Research Council of Canada. Basing most of the algorithms on linear programming techniques, the book begins with an introductory section that covers applications, the simplex method, and matrices. The next three parts focus on various L1, Chebyshev, and least squares approximations, including one-sided, bounded variables, and piecewise. The final section presents the solution of underdetermined systems of consistent linear equations that are subject to different constraints on the elements of the unknown solution vector. Except in the preliminary section, all chapters include the C functions of the algorithms, along with drivers that contain numerous test case examples and results. The accompanying CD-ROM also provides the algorithms written in C code as well as the test drivers. To use the software, it is not required to understand the theory behind each function.
Designed for use in a second course on linear algebra, Matrix Theory and Applications with MATLAB covers the basics of the subject-from a review of matrix algebra through vector spaces to matrix calculus and unitary similarity-in a presentation that stresses insight, understanding, and applications. Among its most outstanding features is the integration of MATLAB throughout the text. Each chapter includes a MATLAB subsection that discusses the various commands used to do the computations in that section and offers code for the graphics and some algorithms used in the text.
This book presents the basic knowledge and illustrative examples to build dynamic and robust web applications using the .NET Framework technology. It stresses the use of code-behind procedural coding and useful for those interested in web application development and to visual basic programmers.
Fearlessly change the design of your iOS code with solid unit tests. Use Xcode's built-in test framework XCTest and Swift to get rapid feedback on all your code - including legacy code. Learn the tricks and techniques of testing all iOS code, especially view controllers (UIViewControllers), which are critical to iOS apps. Learn to isolate and replace dependencies in legacy code written without tests. Practice safe refactoring that makes these tests possible, and watch all your changes get verified quickly and automatically. Make even the boldest code changes with complete confidence. Manual code and UI testing get slower the deeper your navigation hierarchy goes. It can take several taps just to reach a particular screen, never mind the actual workflow tests. Automatic unit testing offers such rapid feedback that it can change the rules of development. Bring testing to iOS development, even for legacy code. Use XCTest to write unit tests in Swift for all your code. iOS developers typically reserve unit tests for their model classes alone. But that approach skips most of the code common to iOS apps, especially with UIViewControllers. Learn how to unit test these view controllers to expand your unit testing possibilities. Since good unit tests form the bedrock for safe refactoring, you're empowered to make bold changes. Learn how to avoid the most common mistakes Swift programmers make with the XCTest framework. Use code coverage to find holes in your test suites. Learn how to identify hard dependencies. Reshape the design of your code quickly, with less risk and less fear.
Expanded to include a broader range of problems than the bestselling first edition, Finite Element Method Using MATLAB: Second Edition presents finite element approximation concepts, formulation, and programming in a format that effectively streamlines the learning process. It is written from a general engineering and mathematical perspective rather than that of a solid/structural mechanics basis. |
You may like...
Introducing Delphi Programming - Theory…
John Barrow, Linda Miller, …
Paperback
(1)R751 Discovery Miles 7 510
Advanced Visual Basic 6 - Power…
Matthew Curland, Gary Clarke
Paperback
R1,273
Discovery Miles 12 730
Dark Silicon and Future On-chip Systems…
Suyel Namasudra, Hamid Sarbazi-Azad
Hardcover
R3,940
Discovery Miles 39 400
Research Anthology on Recent Trends…
Information Reso Management Association
Hardcover
R9,802
Discovery Miles 98 020
The Unicode Cookbook for Linguists
Steven Moran, Michael Cysouw
Hardcover
R999
Discovery Miles 9 990
Introduction to Computational Economics…
Hans Fehr, Fabian Kindermann
Hardcover
R4,258
Discovery Miles 42 580
|