About This Title

Pages: 282
Published: January 2025
ISBN: pending
In Print

The Art of Functional Programming

by Minh Quang Tran

The Art of Functional Programming is a masterclass in the fundamentals and principles of functional programming. The unique selling point of this book lies in its simple, easy-to-understand explanations, designed to help you grasp the essence of this powerful and elegant—yet often misunderstood—programming paradigm, empowering you to apply it confidently in your daily work. Regardless of your experience level, this book is guaranteed to transform the way you think about programming. Thousands of software engineers have read this book and praised it as one of the best resources on functional programming.


This work was written and produced entirely by the author. We are proud to be distributing it.

(Not currently available for purchase)


Functional programming is a powerful and elegant programming paradigm. Initially only popular among university researchers, it’s gained much traction in the software industry in the last few years. From big companies to start-ups, engineers and managers have realized that functional programming excels at abstraction and composition. Functional programming allows for highly concise solutions with increased safety. This has led to rising demand for software engineers with functional programming skills. This book will help you move your programming skills to the next level by acquiring functional programming as a new skill in your programming toolbox.

There are tons of programming languages, frameworks, and tools out there—with many more coming in the future. The only way to stay ahead of the game in this vast and quickly changing software industry is to master the fundamentals and principles that cut across programming languages, frameworks, and tools. In the case of functional programming, learning to adopt the functional way of solving problems is much more productive than memorizing how to write functional code in a particular language. This book teaches this functional way of thinking. We’ll also learn many fundamental techniques from programming languages, such as parsing, compilation, and type checking.

We’ll also look at examples and exercises that are typically encountered in a programmer’s day-to-day job. Furthermore, an entire chapter is dedicated to applying what we’ve learned to real-world scenarios. In particular, we’ll use functional programming to process collections of data for an e-commerce application and handle the JSON datatype.

What You Need

A computer.

Resources

Releases:

Contents & Extracts

Chapter 1: Introduction

  • About This Book
  • A Bite of Functional Programming
  • Why Functional Programming Matters?
  • Required Tools
  • Quiz on Imperative vs. Functional Programming
  • Answers to Quiz on Imperative vs. Functional Programming

Chapter 2: Expressions - Building Blocks of Functional Programs

  • Everything is an Expression
  • Syntax of Expressions
  • Parsing of Expressions
  • Types of Expressions
  • Values of Expressions
  • Assign Names to Expressions
  • Programming Challenges
  • Solutions to Programming Challenges
  • Quiz on Expressions
  • Answers to Quiz on Expressions

Chapter 3: Building Abstractions with Functions

  • Lambda Calculus: Foundations of Functional Programming
  • Function Abstraction and Function Application
  • Use Currying for Function Chaining
  • General Computation Methods as Higher-Order Functions
  • Recursive Functions
  • Programming Challenges
  • Solutions to Programming Challenges
  • Quiz on Functions
  • Answers to Quiz on Functions

Chapter 4: Compound Data Types

  • Group Data Objects into Tuples
  • Destruct Tuples with Pattern Matching
  • Store Sequences of Data with Lists
  • Declare User-defined Types with Algebraic Data Types
  • Programming Challenges
  • Solutions to Programming Challenges
  • Quiz on Compound Data Types
  • Answers to Quiz on Compound Data Types

Chapter 5: Common Computation Patterns

  • The map Function
  • The filter Function
  • The fold Function
  • The zip Function
  • Programming Challenges
  • Solutions to Programming Challenges
  • Quiz on Common Computation Patterns
  • Answers to Quiz on Common Computation Patterns

Chapter 6: Dataflow Programming with Functions

  • List-based Dataflow Programming
  • Stream-based Dataflow Programming
  • Programming Challenges
  • Solutions to Programming Challenges
  • Quiz on Dataflow Programming with Functions
  • Answers to Quiz on Dataflow Programming with Functions

Chapter 7: Applying Functional Programming in Practice

  • Handle Collections in Data Processing Applications
  • Handle JSON

Chapter 8: Conclusion

  • Wrap Up
  • Where to Go from Here?

Author

Minh Quang Tran has more than 20 years of experience studying software development and working in the software industry. He has worked in various tech startups and big software companies in Europe. He received a Bachelor of Computer Science from Furtwangen University, Germany, a M.Sc. in Computer Science from McMaster University, Canada, and Ph.D. in Computer Science from Technical University of Berlin, Germany. His interest lies in understanding and mastering the fundamentals and principles that cut across programming languages, frameworks, and tools. Minh Quang Tran is currently living and working in Berlin, Germany.

(Not currently available for purchase)

Related Titles:

About This Title

Pages: 282
Published: January 2025
ISBN: pending
Edition: 1
In Print