The book provides readers with a solid foundation in the syntax, semantics, and pragmatics of the full range of programming languages, from traditional languages like C to the latest in functional, scripting, and object-oriented programming. This fourth edition has been heavily revised throughout, with expanded coverage of type systems and functional programming, a unified treatment of polymorphism, highlights of the newest language standards, and examples featuring the ARM and x86 64-bit architectures.Updated coverage of the latest developments in programming language design, including C & C++11, Java 8, C# 5, Scala, Go, Swift, Python 3, and HTML 5Updated treatment of functional programming, with extensive coverage of OCamlNew chapters devoted to type systems and composite typesUnified and updated treatment of polymorphism in all its formsNew examples featuring the ARM and x86 64-bit architectures
Dean Wampler, Java expert and author of Programming Scala (O'Reilly), shows you how to apply FP principles such as immutability, avoidance of side-effects, and higher-order functions to your Java code. Each chapter provides exercises to help you practice what you've learned. Once you grasp the benefits of functional programming, you’ll discover that it improves all of the code you write.Learn basic FP principles and apply them to object-oriented programmingDiscover how FP is more concise and modular than OOPGet useful FP lessons for your Java type design—such as avoiding nullsDesign data structures and algorithms using functional programming principlesWrite concurrent programs using the Actor model and software transactional memoryUse functional libraries and frameworks for Java—and learn where to go next to deepen your functional programming skills
If you're a finance professional who is currently using VBA (Excel) to perform financial calculations and quantitative analysis, and would like to use Clojure instead to improve their efficiency, then this book is for you.
Basic knowledge of financial concepts is essential. Basic programming knowledge would also be an added advantage.What You Will LearnQuickly and effectively represent data and calculations using ClojureUse Clojure's basic language tools such as laziness, immutability, and firstclass functions to solve real-world problemsExplore mathematical derivatives to generate different wave formsGet acquainted with the advanced approaches to calculating and transforming data, and building algorithmsUse Clojure's functions to access, update, and compose data structuresBe introduced to the concept of sideeffecting behavior and the different ways to handle itCompose simple and exponential functions together to get a buy or sell signalIn Detail
Clojure is a dynamic programming language with an emphasis on functional programming. Clojure is well suited to financial modeling as it is a functional programming language. Such languages help developers work with high-level mathematical abstractions without having to implement low-level code that handles the arithmetic operations.
Starting with the importance of representing data and calculations effectively, this book will take you all the way to being competent in financial analytics and building financial applications.
First, we introduce the notions of computation and finance, which will help you understand Clojure's utility to solve real-world problems in many domains, especially finance. Next, we will show you how to develop the simple-moving-average function by using the more advanced partition Clojure data transformation function. This function, along with others, will be used to calculate and manipulate data.
You will then learn to implement slightly more complicated equations, how to traverse data, and deal with branching and conditional dispatch. Then, the concept of side-effecting and its various approaches are introduced, along with the strategy of how to use data as the interface to other systems. Finally, you will discover how to build algorithms while manipulating and composing functions.Style and approach
This book is a practical step-by-step tutorial that provides a basic overview of the concepts but focuses on providing the skills required to analyze data.
This book introduces you to the Scala programming language, its object-oriented and functional programming characteristics, and then guides you through Scala constructs and libraries that allow you to assemble small components into high-performance, scalable systems. You will learn why Scala is judiciously used for critical business applications by leading companies such as Twitter, LinkedIn, Foursquare, the Guardian, Morgan Stanley, Credit Suisse, UBS, and HSBC.
Scala is a multi-paradigm programming language that combines both functional and object-oriented features. Moreover, this highly scalable language lends itself well to building cloud-based/deliverable Software as a Service (SaaS) online applications.
Clojure Programming demonstrates the language’s flexibility by showing how it can be used for common tasks like web programming and working with databases, up through more demanding applications that require safe, effective concurrency and parallelism, data analysis, and more. This in-depth look helps tie together the full Clojure development experience, from how to organize your project and an introduction to Clojure build tooling, to a tutorial on how to make the most of Clojure’s REPL during development, and how to deploy your finished application in a cloud environment.
Learn how to use Clojure while leveraging your investment in the Java platformUnderstand the advantages of Clojure as an efficient Lisp for the JVMSee how Clojure is used today in several practical domainsDiscover how Clojure eliminates the need for many verbose and complicated design patternsDeploy large or small web applications to the cloud with Clojure