![]() |
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
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.
Used by sites as varied as Hulu, GitHub, Shopify, and Airbnb, Ruby on Rails is one of the most popular frameworks for developing web applications, but it can be challenging to learn and use. Whether you're new to web development or new only to Rails, Ruby on Rails (TM) Tutorial, Seventh Edition, is the solution. Best-selling author and leading Rails developer Michael Hartl teaches Rails by guiding you through the development of three example applications of increasing sophistication. The tutorial's examples focus on the general principles of web development needed for virtually any kind of website. The updates to this edition include full compatibility with Rails 7. This indispensable guide provides integrated tutorials not only for Rails, but also for the essential Ruby, HTML, CSS, and SQL skills you need when developing web applications. Hartl explains how each new technique solves a real-world problem, and then he demonstrates it with bite-sized code that's simple enough to understand while still being useful. Whatever your previous web-development experience, this book will guide you to true Rails mastery. This book will help you Set up your Rails development environment Record version changes with Git and create a secure remote repository at GitHub Deploy your applications early and often with Heroku Go beyond generated code to truly understand how to build Rails applications from scratch Learn testing and test-driven development (TDD) Effectively use the model-view-controller (MVC) pattern Structure applications using the REST architecture Build static pages and transform them into dynamic ones Master the Ruby programming skills all Rails developers need Create high-quality site layouts and data models Implement registration and authentication systems, including validation and secure passwords Update, display, and delete users Upload and display images using Active Storage and Amazon S3 Implement account activation and password reset, including sending email with Rails Integrate JavaScript with Rails using Importmap Add social features and microblogging, including an introduction to Hotwire and Turbo "Ruby on Rails (TM) Tutorial by Michael Hartl has become a must-read for developers learning how to build Rails apps." --Peter Cooper, Editor of Ruby Inside Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
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.
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.
* Targests readers with a background in programming, interested in an introduction/refresher in statistical hypothesis testing * Uses Python throughout * Provides the reader with the opportunity of using the book whenever needed rather than following a sequential path.
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.
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 book constitutes the refereed proceedings of the 4th International Conference on Tools and Methods for Program Analysis, TMPA 2017, Moscow, Russia, March 3-4, 2017. The 12 revised full papers and 5 revised short papers presented together with three abstracts of keynote talks were carefully reviewed and selected from 51 submissions. The papers deal with topics such as software test automation, static program analysis, verification, dynamic methods of program analysis, testing and analysis of parallel and distributed systems, testing and analysis of high-load and high-availability systems, analysis and verification of hardware and software systems, methods of building quality software, tools for software analysis, testing and verification. |
You may like...
Introducing Delphi Programming - Theory…
John Barrow, Linda Miller, …
Paperback
(1)R785 Discovery Miles 7 850
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
|