Learning Functional Programming cover

Author

Jack Widman

More by this author

Learning Functional Programming

by Jack Widman

PreviewPDFGoogle Books

About this book

Learn how to think and write code like a functional programmer. With this practical guide, software developers familiar with object-oriented programming will dive into the core concepts of functional programming and learn how to use both functional and OOP features together on large or complex software projects. Author Jack Widman uses samples from Java, Python, C#, Scala, and JavaScript to help you gain a new perspective and a set of tools for managing the complexity in your problem domain. You'll be able to write code that's simpler, reusable, easier to test and modify, and more consistently correct. This book also shows you how to use patterns from category theory to help bridge the gap between OOP and functional programming. Learn functional programming fundamentals and explore the way functional programmers approach problems Understand how FP differs from object-oriented and imperative programming Use a set of practical, applicable design patterns that model reality in a functional way Learn how to incorporate FP and OOP features into software projects Apply functional design patterns appropriately and use them to write correct, robust, and easily modifiable code

Publisher

"O'Reilly Media, Inc."

Published

2022-08-11

Pages

138

Language

EN

Computers / Programming / GeneralComputers / Languages / GeneralComputers / Programming / Object OrientedComputers / Software Development & Engineering / GeneralComputers / Programming / Algorithms

Preview & Source

Google Books provider

Preview bookView on Google BooksFind similar booksExplore category

Preview

Learning Functional Programming cover

This book is available for preview through Google Books.

More by Jack Widman

Learning Functional Programming cover
Computers2022-09-20

Learning Functional Programming

Managing Code Complexity by Thinking Functionally

Jack Widman

Learn how to think and write code like a functional programmer. With this practical guide, software developers familiar with object-oriented programming will dive into the core concepts of functional programming and learn how to use both functional and OOP features together on large or complex software projects. Author Jack Widman uses samples from Java, Python, C#, Scala, and JavaScript to help you gain a new perspective and a set of tools for managing the complexity in your problem domain. You'll be able to write code that's simpler, reusable, easier to test and modify, and more consistently correct. This book also shows you how to use patterns from category theory to help bridge the gap between OOP and functional programming. Learn functional programming fundamentals and explore the way functional programmers approach problems Understand how FP differs from object-oriented and imperative programming Use a set of practical, applicable design patterns that model reality in a functional way Learn how to incorporate FP and OOP features into software projects Apply functional design patterns appropriately and use them to write correct, robust, and easily modifiable code

More in Computers / Programming / General

The Pragmatic Programmer cover
Computers1999-10-20

The Pragmatic Programmer

From Journeyman to Master

Andrew Hunt, David Thomas

What others in the trenches say about The Pragmatic Programmer... “The cool thing about this book is that it’s great for keeping the programming process fresh. The book helps you to continue to grow and clearly comes from people who have been there.” — Kent Beck, author of Extreme Programming Explained: Embrace Change “I found this book to be a great mix of solid advice and wonderful analogies!” — Martin Fowler, author of Refactoring and UML Distilled “I would buy a copy, read it twice, then tell all my colleagues to run out and grab a copy. This is a book I would never loan because I would worry about it being lost.” — Kevin Ruland, Management Science, MSG-Logistics “The wisdom and practical experience of the authors is obvious. The topics presented are relevant and useful.... By far its greatest strength for me has been the outstanding analogies—tracer bullets, broken windows, and the fabulous helicopter-based explanation of the need for orthogonality, especially in a crisis situation. I have little doubt that this book will eventually become an excellent source of useful information for journeymen programmers and expert mentors alike.” — John Lakos, author of Large-Scale C++ Software Design “This is the sort of book I will buy a dozen copies of when it comes out so I can give it to my clients.” — Eric Vought, Software Engineer “Most modern books on software development fail to cover the basics of what makes a great software developer, instead spending their time on syntax or technology where in reality the greatest leverage possible for any software team is in having talented developers who really know their craft well. An excellent book.” — Pete McBreen, Independent Consultant “Since reading this book, I have implemented many of the practical suggestions and tips it contains. Across the board, they have saved my company time and money while helping me get my job done quicker! This should be a desktop reference for everyone who works with code for a living.” — Jared Richardson, Senior Software Developer, iRenaissance, Inc. “I would like to see this issued to every new employee at my company....” — Chris Cleeland, Senior Software Engineer, Object Computing, Inc. “If I’m putting together a project, it’s the authors of this book that I want. . . . And failing that I’d settle for people who’ve read their book.” — Ward Cunningham Straight from the programming trenches, The Pragmatic Programmer cuts through the increasing specialization and technicalities of modern software development to examine the core process--taking a requirement and producing working, maintainable code that delights its users. It covers topics ranging from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse. Read this book, and you'll learn how to Fight software rot; Avoid the trap of duplicating knowledge; Write flexible, dynamic, and adaptable code; Avoid programming by coincidence; Bullet-proof your code with contracts, assertions, and exceptions; Capture real requirements; Test ruthlessly and effectively; Delight your users; Build teams of pragmatic programmers; and Make your developments more precise with automation. Written as a series of self-contained sections and filled with entertaining anecdotes, thoughtful examples, and interesting analogies, The Pragmatic Programmer illustrates the best practices and major pitfalls of many different aspects of software development. Whether you're a new coder, an experienced programmer, or a manager responsible for software projects, use these lessons daily, and you'll quickly see improvements in personal productivity, accuracy, and job satisfaction. You'll learn skills and develop habits and attitudes that form the foundation for long-term success in your career. You'll become a Pragmatic Programmer.

Giants of Computing cover
Computers2013-08-19

Giants of Computing

A Compendium of Select, Pivotal Pioneers

Gerard O’Regan

It has been upon the shoulders of giants that the modern world has been forged. This accessible compendium presents an insight into the great minds responsible for the technology which has transformed our lives. Each pioneer is introduced with a brief biography, followed by a concise account of their key contributions to their discipline. The selection covers a broad spread of historical and contemporary figures from theoreticians to entrepreneurs, highlighting the richness of the field of computing. Suitable for the general reader, this concise and easy-to-read reference will be of interest to anyone curious about the inspiring men and women who have shaped the field of computer science.

Data Structures and Algorithm Analysis in C++ cover
Computers1994

Data Structures and Algorithm Analysis in C++

Mark Allen Weiss

Mark Weiss uses C++ to provide a smooth introduction to object-oriented design for programmers competent in one other language. Using C++, the book delivers a series of carefully developed examples which illustrate the important concepts of object orientation alongside its main theme of data structures.

HTML for the World Wide Web cover
Computers2003

HTML for the World Wide Web

Elizabeth Castro

bull; Task-based approach teaches readers how to combine HTML and CSS to create sharp, consistent Web pages regardless of monitor size, browser, platform, or viewing device. bull; Comprehensive coverage of the transition from HTML to XHTML, including the differences between the languages. bull; Packed with tips, techniques, and illustrations--all updated to reflect newer browsers and the changing use of HTML.

The Flowers of Evil / Les Fleurs du Mal : English - French Bilingual Edition cover
Poetry2018-06-19

The Flowers of Evil / Les Fleurs du Mal : English - French Bilingual Edition

The famous volume of French poetry by Charles Baudelaire in two languages

Charles Baudelaire

RÉSUMÉ : "Les Fleurs du Mal" de Charles Baudelaire est un recueil de poèmes qui a marqué un tournant dans l'histoire de la littérature française. Publié pour la première fois en 1857, ce chef-d'oeuvre explore les thèmes de la beauté, du spleen, de l'amour, et de la mort, tout en reflétant les tensions et les contradictions de la société urbaine du XIXe siècle. Baudelaire y dépeint un monde où la beauté et le mal se côtoient, offrant une vision poétique à la fois sombre et sublime. À travers des sections telles que "Spleen et Idéal", "Tableaux Parisiens", et "Révolte", l'auteur nous emmène dans un voyage introspectif et émotionnel, utilisant une langue riche et évocatrice. Ce recueil a été controversé à sa sortie, certains poèmes étant même censurés pour leur contenu jugé immoral. Pourtant, "Les Fleurs du Mal" est aujourd'hui reconnu comme une oeuvre fondatrice du symbolisme et continue d'influencer les poètes et les lecteurs du monde entier. Cette édition bilingue permet de découvrir ou redécouvrir la profondeur et la musicalité des vers de Baudelaire, tout en offrant une perspective comparative entre le texte original et sa traduction anglaise. L'AUTEUR : Charles Baudelaire, né le 9 avril 1821 à Paris, est l'un des poètes les plus influents de la littérature française. Fils d'un ancien prêtre devenu fonctionnaire et d'une mère issue d'une famille bourgeoise, Baudelaire a grandi dans un environnement à la fois cultivé et instable. Après des études au lycée Louis-le-Grand, il mène une vie bohème et s'oriente vers la poésie. En 1847, il publie "La Fanfarlo", une nouvelle qui préfigure ses thèmes de prédilection. Cependant, c'est "Les Fleurs du Mal" qui le propulse sur le devant de la scène littéraire. Malgré le scandale et le procès pour outrage aux bonnes moeurs, Baudelaire persiste dans sa quête artistique, explorant des thèmes audacieux et novateurs. En plus de la poésie, il s'essaie à la critique d'art, traduisant également les oeuvres d'Edgar Allan Poe, dont il partage le goût pour le macabre et le mystère. Sa santé déclinante et ses problèmes financiers assombrissent ses dernières années. Il meurt le 31 août 1867, laissant derrière lui une oeuvre qui continue de fasciner et d'inspirer. Baudelaire est souvent considéré comme un précurseur du symbolisme et un maître de la modernité poétique.

Similar books

Learning Functional Programming cover
Computers2022-08-11

Learning Functional Programming

Managing Code Complexity by Thinking Functionally

Jack Widman

Learn how to think and write code like a functional programmer. With this practical guide, software developers familiar with object-oriented programming will dive into the core concepts of functional programming and learn how to use both functional and OOP features together on large or complex software projects. Author Jack Widman uses samples from Java, Python, C#, Scala, and JavaScript to help you gain a new perspective and a set of tools for managing the complexity in your problem domain. You'll be able to write code that's simpler, reusable, easier to test and modify, and more consistently correct. This book also shows you how to use patterns from category theory to help bridge the gap between OOP and functional programming. Learn functional programming fundamentals and explore the way functional programmers approach problems Understand how FP differs from object-oriented and imperative programming Use a set of practical, applicable design patterns that model reality in a functional way Learn how to incorporate FP and OOP features into software projects Apply functional design patterns appropriately and use them to write correct, robust, and easily modifiable code

Learning Functional ProgrammingJack Widman
Book2022

Learning Functional Programming

Jack Widman

Learn how to think and write code like a functional programmer. With this practical guide, software developers familiar with object-oriented programming will dive into the core concepts of functional programming and learn how to use both functional and OOP features together on large or complex software projects. Author Jack Widman uses samples from Java, Python, C#, Scala, and JavaScript to help you gain a new perspective and a set of tools for managing the complexity in your problem domain. You'll be able to write code that's simpler, reusable, easier to test and modify, and more consistently correct. This book also shows you how to use patterns from category theory to help bridge the gap between OOP and functional programming. Learn functional programming fundamentals and explore the way functional programmers approach problems Understand how FP differs from object-oriented and imperative programming Use a set of practical, applicable design patterns that model reality in a functional way Learn how to incorporate FP and OOP features into software projects Apply functional design patterns appropriately and use them to write correct, robust, and easily modifiable code.

Learning Functional Programming in Go cover
Computers2017-11-24

Learning Functional Programming in Go

Change the way you approach your applications using functional programming in Go

Lex Sheehan

Function literals, Monads, Lazy evaluation, Currying, and more About This Book Write concise and maintainable code with streams and high-order functions Understand the benefits of currying your Golang functions Learn the most effective design patterns for functional programming and learn when to apply each of them Build distributed MapReduce solutions using Go Who This Book Is For This book is for Golang developers comfortable with OOP and interested in learning how to apply the functional paradigm to create robust and testable apps. Prior programming experience with Go would be helpful, but not mandatory. What You Will Learn Learn how to compose reliable applications using high-order functions Explore techniques to eliminate side-effects using FP techniques such as currying Use first-class functions to implement pure functions Understand how to implement a lambda expression in Go Compose a working application using the decorator pattern Create faster programs using lazy evaluation Use Go concurrency constructs to compose a functionality pipeline Understand category theory and what it has to do with FP In Detail Functional programming is a popular programming paradigm that is used to simplify many tasks and will help you write flexible and succinct code. It allows you to decompose your programs into smaller, highly reusable components, without applying conceptual restraints on how the software should be modularized. This book bridges the language gap for Golang developers by showing you how to create and consume functional constructs in Golang. The book is divided into four modules. The first module explains the functional style of programming; pure functional programming (FP), manipulating collections, and using high-order functions. In the second module, you will learn design patterns that you can use to build FP-style applications. In the next module, you will learn FP techniques that you can use to improve your API signatures, to increase performance, and to build better Cloud-native applications. The last module delves into the underpinnings of FP with an introduction to category theory for software developers to give you a real understanding of what pure functional programming is all about, along with applicable code examples. By the end of the book, you will be adept at building applications the functional way. Style and approach This book takes a pragmatic approach and shows you techniques to write better functional constructs in Golang. We'll also show you how use these concepts to build robust and testable apps.

The Haskell School of Expression cover
Computers2000-02-28

The Haskell School of Expression

Learning Functional Programming Through Multimedia

Paul Hudak

This book teaches functional programming using Haskell and examples drawn from multimedia applications.

Learning Java Functional Programming cover
Computers2015-10-14

Learning Java Functional Programming

Create robust and maintainable Java applications using the functional style of programming

Richard M Reese, Richard M. Reese

Create robust and maintainable Java applications using the functional style of programming Key Features Explore how you can blend object-oriented and functional programming styles in Java Use lambda expressions to write flexible and succinct code A tutorial that strengthens your fundamentals in functional programming techniques to enhance your applications Book DescriptionFunctional programming is an increasingly popular technology that allows you to simplify many tasks that are often cumbersome and awkward using an object-oriented approach. It is important to understand this approach and know how and when to apply it. Functional programming requires a different mindset, but once mastered it can be very rewarding. This book simplifies the learning process as a problem is described followed by its implementation using an object-oriented approach and then a solution is provided using appropriate functional programming techniques. Writing succinct and maintainable code is facilitated by many functional programming techniques including lambda expressions and streams. In this book, you will see numerous examples of how these techniques can be applied starting with an introduction to lambda expressions. Next, you will see how they can replace older approaches and be combined to achieve surprisingly elegant solutions to problems. This is followed by the investigation of related concepts such as the Optional class and monads, which offer an additional approach to handle problems. Design patterns have been instrumental in solving common problems. You will learn how these are enhanced with functional techniques. To transition from an object-oriented approach to a functional one, it is useful to have IDE support. IDE tools to refactor, debug, and test functional programs are demonstrated through the chapters. The end of the book brings together many of these functional programming techniques to create a more comprehensive application. You will find this book a very useful resource to learn and apply functional programming techniques in Java.What you will learn Use lambda expressions to simplyfy code Use function composition to achieve code fluency Apply streams to simply implementations and achieve parallelism Incorporate recursion to support an application's functionality Provide more robust implementations using Optionals Implement design patterns with less code Refactor object-oriented code to create a functional solution Use debugging and testing techniques specific to functional programs Who this book is for If you are a Java developer with object-oriented experience and want to use a functional programming approach in your applications, then this book is for you. All you need to get started is familiarity with basic Java object-oriented programming concepts.

Book details

Publisher: "O'Reilly Media, Inc."

Published: 2022-08-11

Pages: 138

Language: EN

Categories: Computers / Programming / General, Computers / Languages / General, Computers / Programming / Object Oriented, Computers / Software Development & Engineering / General, Computers / Programming / Algorithms

Preview: Sample available

PDF: Available

Ventari Books links to external provider metadata and access states and does not rehost copyrighted text.

We use optional analytics cookies to understand how visitors use Ventari and improve the experience. This banner controls analytics measurement only. See our Cookie Policy.