Why learn functional programming? Isn't that some complicated ivory-tower technique used only in obscure languages like Haskell?
In fact, functional programming is actually very simple. It's also very powerful, as Haskell demonstrates by throwing away all the conventional programming tools and using only functional programming features. But it doesn't have to be done that way.
Functional programming is a power tool that you can use in addition to all your usual tools, to whatever extent your current mainstream language supports it. Most languages have at least basic support.
In this book we use Python and Java and, as a bonus, Scala. If you prefer another language, there will be minor differences in syntax, but the concepts are the same.
Give functional programming a try. You may be surprised how much a single power tool can help you in your day-to-day programming.
In fact, functional programming is actually very simple. It's also very powerful, as Haskell demonstrates by throwing away all the conventional programming tools and using only functional programming features. But it doesn't have to be done that way.
Functional programming is a power tool that you can use in addition to all your usual tools, to whatever extent your current mainstream language supports it. Most languages have at least basic support.
In this book we use Python and Java and, as a bonus, Scala. If you prefer another language, there will be minor differences in syntax, but the concepts are the same.
Give functional programming a try. You may be surprised how much a single power tool can help you in your day-to-day programming.
"When a gifted teacher presents a new concept, they first cover every needed building block. The new concept becomes such a necessary and obvious extension of those building blocks, it feels like something you already knew. That is how Dave Matuszek's books read. In sparse, concise language he tells you exactly what you most need to know about programming, and lays it all out so clearly and logically it seems inevitable. His cheerful, intuitive examples progress step by step from introductory to advanced stages carrying you along painlessly.
I cannot recommend this series highly enough to anyone wanting a quick primer on a language they have yet to use. Whether a computer science student or a self-taught programmer, there are treats in store."
- Martha Palmer, Arts and Sciences Professor of Distinction for Linguistics, and the former Helen & Hubert Croft Professor of Engineering in the Computer Science Department, University of Colorado Boulder, USA.
"Dr. David Matuszek has written a great series of books on programming that will be of interest to many experienced programmers... These short, well-written books can help programmers master a new language or technique rapidly and have fun doing so."
- Tim Finin, Willard and Lillian Hackerman Chair in Engineering and a Computer Science and Electrical Engineering professor at the University of Maryland, Baltimore County (UMBC).
I cannot recommend this series highly enough to anyone wanting a quick primer on a language they have yet to use. Whether a computer science student or a self-taught programmer, there are treats in store."
- Martha Palmer, Arts and Sciences Professor of Distinction for Linguistics, and the former Helen & Hubert Croft Professor of Engineering in the Computer Science Department, University of Colorado Boulder, USA.
"Dr. David Matuszek has written a great series of books on programming that will be of interest to many experienced programmers... These short, well-written books can help programmers master a new language or technique rapidly and have fun doing so."
- Tim Finin, Willard and Lillian Hackerman Chair in Engineering and a Computer Science and Electrical Engineering professor at the University of Maryland, Baltimore County (UMBC).