![]() |
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
The Complete Guide to Writing Maintainable, Manageable, Pleasing, and Powerful Object-Oriented Applications Object-oriented programming languages exist to help you create beautiful, straightforward applications that are easy to change and simple to extend. Unfortunately, the world is awash with object-oriented (OO) applications that are difficult to understand and expensive to change. Practical Object-Oriented Design, Second Edition, immerses you in an OO mindset and teaches you powerful, real-world, object-oriented design techniques with simple and practical examples. Sandi Metz demonstrates how to build new applications that can "survive success" and repair existing applications that have become impossible to change. Each technique is illustrated with extended examples in the easy-to-understand Ruby programming language, all downloadable from the companion website, poodr.com. Fully updated for Ruby 2.5, this guide shows how to Decide what belongs in a single class Avoid entangling objects that should be kept separate Define flexible interfaces among objects Reduce programming overhead costs with duck typing Successfully apply inheritance Build objects via composition Whatever your previous object-oriented experience, this concise guide will help you achieve the superior outcomes you're looking for. Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
This book constitutes the proceedings of the 38th IFIP WG 6.1 International Conference on Formal Techniques for Distributed Objects, Components, and Systems, FORTE 2018, held in Madrid, Spain, in June 2018, as part of the 13th International Federated Conference on Distributed Computing Techniques, DisCoTec 2018. The 10 full papers presented were carefully reviewed and selected from 28 submissions. The conference is dedicated to fundamental research on theory, models, tools, and applications for distributed systems.
Bringing together idiomatic Python programming, foundational numerical methods, and physics applications, this is an ideal standalone textbook for courses on computational physics. All the frequently used numerical methods in physics are explained, including foundational techniques and hidden gems on topics such as linear algebra, differential equations, root-finding, interpolation, and integration. The second edition of this introductory book features several new codes and 140 new problems (many on physics applications), as well as new sections on the singular-value decomposition, derivative-free optimization, Bayesian linear regression, neural networks, and partial differential equations. The last section in each chapter is an in-depth project, tackling physics problems that cannot be solved without the use of a computer. Written primarily for students studying computational physics, this textbook brings the non-specialist quickly up to speed with Python before looking in detail at the numerical methods often used in the subject.
This book begins by explaining key concepts in programming, and elaborates on characteristic of class, including inheritance, derivation and polymorphism. It also introduces generic programming and Standard Template Library, I/O Stream Library and Exception Handling. The concepts and methods are illustrated via examples step by step, making the book an essential reading for beginners to C++ programming.
A practical guide to data mining using SQL and Excel Data Analysis Using SQL and Excel, 2nd Edition shows you how to leverage the two most popular tools for data query and analysis SQL and Excel to perform sophisticated data analysis without the need for complex and expensive data mining tools. Written by a leading expert on business data mining, this book shows you how to extract useful business information from relational databases. You'll learn the fundamental techniques before moving into the "where" and "why" of each analysis, and then learn how to design and perform these analyses using SQL and Excel. Examples include SQL and Excel code, and the appendix shows how non-standard constructs are implemented in other major databases, including Oracle and IBM DB2/UDB. The companion website includes datasets and Excel spreadsheets, and the book provides hints, warnings, and technical asides to help you every step of the way. Data Analysis Using SQL and Excel, 2nd Edition shows you how to perform a wide range of sophisticated analyses using these simple tools, sparing you the significant expense of proprietary data mining tools like SAS. * Understand core analytic techniques that work with SQL and Excel * Ensure your analytic approach gets you the results you need * Design and perform your analysis using SQL and Excel Data Analysis Using SQL and Excel, 2nd Edition shows you how to best use the tools you already know to achieve expert results.
This book constitutes the proceedings of the 23rd International Conference on Formal Methods for Industrial Critical Systems, FMICS 2018, held in Maynooth, Ireland, in September 2018. The 9 regular papers presented in this volume were carefully reviewed and selected from 17 submissions. The book also contains two invited talks in full-paper length. In addition, there are 8 invited contributions in honor of Susanne Graf (Director of Research at VERIMAG Grenoble, France) on the occasion of her 60th birthday. The aim of the FMICS conference series is to provide a forum for researchers who are interested in the development and application of formal methods in industry. In particular, FMICS brings together scientists and engineers who are active in the area of formal methods and interested in exchanging their experiences in the industrial usage of these methods. The FMICS conference series also strives to promote research and development for the improvement of formal methods and tools for industrial applications.
This book constitutes the proceedings of the 15th Asian Symposium on Programming Languages and Systems, APLAS 2017, held in Suzhou, China, in November 2017. The 24 papers presented in this volume were carefully reviewed and selected from 56 submissions. They were organized in topical sections named: security; heap and equivalence reasoning; concurrency and verification; domain-specific languages; semantics; and numerical reasoning. The volume also contains two invited talks in full-paper length.
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.
The four-volume set LNCS 11244, 11245, 11246, and 11247 constitutes the refereed proceedings of the 8th International Symposium on Leveraging Applications of Formal Methods, Verification and Validation, ISoLA 2018, held in Limassol, Cyprus, in October/November 2018. The papers presented were carefully reviewed and selected for inclusion in the proceedings. Each volume focusses on an individual topic with topical section headings within the volume: Part I, Modeling: Towards a unified view of modeling and programming; X-by-construction, STRESS 2018. Part II, Verification: A broader view on verification: from static to runtime and back; evaluating tools for software verification; statistical model checking; RERS 2018; doctoral symposium. Part III, Distributed Systems: rigorous engineering of collective adaptive systems; verification and validation of distributed systems; and cyber-physical systems engineering. Part IV, Industrial Practice: runtime verification from the theory to the industry practice; formal methods in industrial practice - bridging the gap; reliable smart contracts: state-of-the-art, applications, challenges and future directions; and industrial day.
The four-volume set LNCS 11244, 11245, 11246, and 11247 constitutes the refereed proceedings of the 8th International Symposium on Leveraging Applications of Formal Methods, Verification and Validation, ISoLA 2018, held in Limassol, Cyprus, in October/November 2018. The papers presented were carefully reviewed and selected for inclusion in the proceedings. Each volume focusses on an individual topic with topical section headings within the volume: Part I, Modeling: Towards a unified view of modeling and programming; X-by-construction, STRESS 2018. Part II, Verification: A broader view on verification: from static to runtime and back; evaluating tools for software verification; statistical model checking; RERS 2018; doctoral symposium. Part III, Distributed Systems: rigorous engineering of collective adaptive systems; verification and validation of distributed systems; and cyber-physical systems engineering. Part IV, Industrial Practice: runtime verification from the theory to the industry practice; formal methods in industrial practice - bridging the gap; reliable smart contracts: state-of-the-art, applications, challenges and future directions; and industrial day.
This book constitutes the proceedings of the 17th International Conference on Relational and Algebraic Methods in Computer Science, RAMiCS 2018, held in Groningen, The Netherlands, in October/November 2018. The 21 full papers and 1 invited paper presented together with 2 invited abstracts and 1 abstract of a tutorial were carefully selected from 31 submissions. The papers are organized in the following topics: Theoretical foundations; reasoning about computations and programs; and applications and tools.
This volume is published in honor of Professor Chaochen Zhou's 80th birthday. The Festschrift contains 13 refereed papers by leading researchers who were among the participants of the celebratory conference in Changsha, China that took place in October 2017. The papers cover a broad spectrum of subjects related to Formal Methods for the development of computer systems. Topics include Probabilistic Programming, Concurrency, Quantum Computing, Domain Engineering, Real-time and Hybrid Systems, and Cloud Computing. Chaochen Zhou is internationally recognized for his own contributions and for the wide influence that he has had through his appointments in Oxford (UK) where he collaborated with Professor Tony Hoare, Lyngby (Denmark) where he worked with Professor Dines Bjorner, UNU-IIST (Macau) where he moved from being Principal Research Fellow to his appointed as Director of the Institute, as well as in Beijing. His book on the Duration Calculus (joint with Michael Hansen) made a seminal contribution to specifying and reasoning about real-time systems. Chaochen Zhou's contributions have been marked by his election as a member of the Chinese Academy of Sciences.
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.
Build clustered and scalable Java-based, real-time applications using Spring Framework, Boot, WebSocket, Cassandra, Redis and RabbitMQ. In this book, you'll tie all this together with a dive-in case study, a real-time scalable chat application under differing scenarios. Pro Java Clustering and Scalability also discusses how to horizontally scale the WebSocket chat application using a full STOMP broker such as RabbitMQ. Although this is a programming book, it also discusses many interesting infrastructure topics and tips about continuous delivery, Docker, NoSQL (Cassandra and Redis) and other related technologies. What You Will Learn Handle clustering and scalability using various open source Java, microservices, and web services tools and technologies Use Spring Framework, Boot, and other Spring technologies Integrate with Redis, RabbitMQ, Cassandra, NoSQL, and much more Test the case study code under various scenarios and stresses Who This Book Is For Experienced Java developers with at least some prior experience with Java, especially Spring Framework, Boot and other tools, and some web services.
This book constitutes the proceedings of the 16th Asian Symposium on Programming Languages and Systems, APLAS 2018, held in Wellington, New Zealand, in December 2018.The 22 papers presented in this volume were carefully reviewed and selected from 51 submissions. They are organized in topical sections named: types; program analysis; tools; functional programs and probabilistic programs; verification; logic; and continuation and model checking.
Level up your skills by taking advantage of Clojure's powerful macro system. Macros make hard things possible and normal things easy. They can be tricky to use, and this book will help you deftly navigate the terrain. You'll discover how to write straightforward code that avoids duplication and clarifies your intentions. You'll learn how and why to write macros. You'll learn to recognize situations when using a macro would (and wouldn't!) be helpful. And you'll use macros to remove unnecessary code and build new language features. Clojure offers some sharp tools in its toolbox, and one of the sharpest is its macro system. This book will help you write macros using Clojure, and more importantly, recognize when you should be using macros in the first place. The Lisp "code-as-data" philosophy gives tremendous advantages to macro authors and users. You can use macros to evaluate code in other contexts, move computations to compile time, and create beautiful API layers. You don't need to wait on the Clojure language itself to add new features, you'll learn how to implement even the lowest-level features as macros. You'll step through representative samples of how to use macros in production libraries and applications, find clear details on how to construct macros, and learn pointers to avoid obstacles that often trip up macro amateurs. Clojure macros are more straightforward to use than metaprogramming features in many other languages, but they're different enough from normal programming to present challenges of their own. Mastering Clojure Macros examines some of these issues, along with alternatives to macros where they exist. By the time you finish this book, you'll be thinking like a macro professional. What You Need: The book examples have been developed under Clojure 1.6.0, although earlier and later versions of Clojure may work as well. You'll want to use Leiningen 2.x in order to follow along with the examples that use external projects.
Build an inexpensive cluster of multiple Raspberry Pi computers and install all the required libraries to write parallel and scientific programs in Python 3. This book covers setting up your Raspberry Pis, installing the necessary software, and making a cluster of multiple Pis. Once the cluster is built, its power has to be exploited by means of programs to run on it. So, Raspberry Pi Supercomputing and Scientific Programming teaches you to code the cluster with the MPI4PY library of Python 3. Along the way, you will learn the concepts of the Message Passing Interface (MPI) standards and will explore the fundamentals of parallel programming on your inexpensive cluster. This will make this book a great starting point for supercomputing enthusiasts who want to get started with parallel programming. The book finishes with details of symbolic mathematics and scientific and numerical programming in Python, using SymPi, SciPy, NumPy, and Matplotlib. You'll see how to process signals and images, carry out calculations using linear algebra, and visualize your results, all using Python code. With the power of a Raspberry Pi supercomputer at your fingertips, data-intensive scientific programming becomes a reality at home. What You Will Learn Discover the essentials of supercomputing Build a low-cost cluster of Raspberry Pis at home Harness the power of parallel programming and the Message Passing Interface (MPI) Use your Raspberry Pi for symbolic, numerical, and scientific programming Who This Book Is For Python 3 developers who seek the knowledge of parallel programming, Raspberry Pi enthusiasts, researchers, and the scientific Python community.
This book constitutes the proceedings of the 6th International Conference on Mathematical Software, ICMS 2018, held in South Bend, IN, USA, in July 2018.The 59 papers included in this volume were carefully reviewed and selected from numerous submissions. The program of the 2018 meeting consisted of 20 topical sessions, each of which providing an overview of the challenges, achievements and progress in a subeld of mathematical software research, development and use.
Describes a small verification library with a concentration on user adaptability such as re-useable components, portable Intellectual Property, and co-verification. Takes a realistic view of reusability and distills lessons learned down to a tool box of techniques and guidelines.
The set of papers collected in this issue originated from the AGERE! Workshop series - the last edition was held in 2017 - and concern the application of actor-based approaches to mainstream application domains and the discussion of related issues. The issue is divided into two parts. The first part concerns Web Programming; Data-Intensive Parallel Programming; Mobile Computing; Self-Organizing Systems and the second part concerns Scheduling; Debugging; Communication and Coordination; Monitoring.
For courses in Java Programming. Effective step-by-step Java education Building Java Programs: A Back to Basics Approach introduces new concepts and syntax using a spiral approach, ensuring students are thoroughly prepared as they work through CS1 material. Through the first four editions, Building Java Programs and its back-to-basics approach have proven remarkably effective. The 5th Edition has been extensively updated with incorporation of JShell integration, improved loop coverage, rewritten and revised case studies, examples, updated collection syntax and idioms, expanded self-check and programming exercising sections, and new programming projects. Also available with MyLab Programming MyLab (TM) is the teaching and learning platform that empowers you to reach every student. By combining trusted author content with digital tools and a flexible platform, MyLab personalizes the learning experience and improves results for each student.With MyLab Programming, students work through hundreds of short, auto-graded coding exercises and receive immediate and helpful feedback based on their work. If you would like to purchase both the physical text and MyLab Programming, search for: 0135862353 / 9780135862353 Building Java Programs: A Back to Basics Approach Plus MyLab Programming with Pearson eText -- Access Card Package, 5/e Package consists of: 0135472466 / 9780135472460 MyLab Programming Standalone Access Card 013547194X / 9780135471944 Building Java Programs: A Back to Basics Approach
This book constitutes the proceedings of the 20th International Conference on Fundamental Approaches to Software Engineering, FASE 2017, which took place in Uppsala, Sweden in April 2017, held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2017. The 23 papers presented in this volume were carefully reviewed and selected from 91 submissions. They were organized in topical sections named: learning and inference; test selection; program and system analysis; graph modeling and transformation; model transformations; configuration and synthesis; and software product lines.
This book constitutes the refereed proceedings of the 6th International Conference on Abstract State Machines, Alloy, B, TLA, VDM, and Z, ABZ 2016, held in Southampton, UK, in June 2018. The 20 full and 11 short papers presented in this volume were carefully reviewed and selected from 60 submissions. They record the latest research developments in state-based formal methods Abstract State Machines, Alloy, B, Circus, Event-B, TLS+, VDM and Z.
The two-book set LNCS 10205 + 10206 constitutes the proceedings of the 23rd International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS 2017, which took place in Uppsala, Sweden in April 2017, held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2017.The 48 full papers, 4 tool demonstration papers, and 12 software competition papers presented in these volumes were carefully reviewed and selected from 181 submissions to TACAS and 32 submissions to the software competition. They were organized in topical sections named: verification techniques; learning; synthesis; automata; concurrency and bisimulation; hybrid systems; security; run-time verification and logic; quantitative systems; SAT and SMT; and SV COMP.
Gain the basics of Ruby's map, reduce, and select functions and discover how to use them to solve data-processing problems. This compact hands-on book explains how you can encode certain complex programs in 10 lines of Ruby code, an astonishingly small number. You will walk through problems and solutions which are effective because they use map, reduce, and select. As you read Ruby Data Processing, type in the code, run the code, and ponder the results. Tweak the code to test the code and see how the results change. After reading this book, you will have a deeper understanding of how to break data-processing problems into processing stages, each of which is understandable, debuggable, and composable, and how to combine the stages to solve your data-processing problem. As a result, your Ruby coding will become more efficient and your programs will be more elegant and robust. What You Will Learn Discover Ruby data processing and how to do it using the map, reduce, and select functions Develop complex solutions including debugging, randomizing, sorting, grouping, and more Reverse engineer complex data-processing solutions Who This Book Is For Those who have at least some prior experience programming in Ruby and who have a background and interest in data analysis and processing using Ruby. |
You may like...
Graphical Programming Using LabVIEW (TM…
Julio Cesar Rodriguez-Quinonez, Oscar Real-Moreno
Hardcover
Dark Silicon and Future On-chip Systems…
Suyel Namasudra, Hamid Sarbazi-Azad
Hardcover
R3,940
Discovery Miles 39 400
Introducing Delphi Programming - Theory…
John Barrow, Linda Miller, …
Paperback
(1)R751 Discovery Miles 7 510
Introduction to Computational Economics…
Hans Fehr, Fabian Kindermann
Hardcover
R4,258
Discovery Miles 42 580
|