Quick Functional Programming (Quick Programming)
معرفی کتاب «Quick Functional Programming (Quick Programming)» نوشتهٔ David L. Matuszek، منتشرشده توسط نشر Chapman and Hall/CRC در سال 2023. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است. «Quick Functional Programming (Quick Programming)» در دستهٔ بدون دستهبندی قرار دارد.
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. “Pure” functional programming, abandoning all the conventional programming techniques, really is difficult.Whether you're looking for a crash course in Functional Programming for career progression or supplementary material for a programming course, this book will enable you to quickly add Functional Programming to your programming toolkit. Cover 1 Half Title 2 Title Page 4 Copyright Page 5 Dedication 6 Table of Contents 8 About the Author 12 Preface 14 Chapter 1: What Is Functional Programming? 16 Chapter 2: Methods and Functions 20 2.1 Methods 21 2.1.1 Methods in Python 21 2.1.2 Methods in Java 22 2.1.3 Methods in Scala 24 2.2 Function Literals 25 2.2.1 Function Literals in Python 26 2.2.2 Function Literals in Java 27 2.2.3 Function Literals in Scala 28 2.3 Sorting Examples 29 2.3.1 Sorting in Python 29 2.3.2 Sorting in Java 31 2.3.3 Sorting in Scala 33 Chapter 3: Higher-Order Functions 36 3.1 Higher-Order Functions in Python 37 3.2 Higher-Order Functions in Java 40 3.3 Higher-Order Functions in Scala 42 Chapter 4: Functional Interfaces in Java 46 4.1 Single Abstract Methods 46 4.2 Anonymous Inner Classes 47 4.3 Defining Functional Interfaces 48 4.4 Method References 49 4.5 The Other Method Reference 52 4.6 Provided Functional Interfaces 53 4.6.1 IntPredicate 53 4.6.2 Function Composition 54 4.6.3 Predicates Again 56 4.6.4 Unary Operators 57 4.6.5 More Functions and Operators 58 4.6.6 Suppliers and Consumers 59 Chapter 5: If Expressions 62 5.1 If Expressions in Python 62 5.2 If Expressions in Java 63 5.3 If Expressions in Scala 64 Chapter 6: Comprehensions 66 6.1 List Comprehensions in Python 67 6.2 Comprehensions in Java 69 6.3 For Expressions in Scala 69 6.4 For Comprehensions in Scala 72 Chapter 7: Closures 74 7.1 Closures in Python 75 7.2 Closures in Java 76 7.3 Closures in Scala 78 7.4 Closure Example 79 Chapter 8: Currying 82 8.1 Currying in Python 84 8.2 Currying in Java 86 8.3 Currying in Scala 87 Chapter 9: Function Composition 90 9.1 Function Composition in Python 90 9.2 Function Composition in Java 92 9.3 Function Composition in Scala 93 Chapter 10: Optional Values 94 10.1 Optional in Python 95 10.2 Optional in Java 95 10.3 Option in Scala 96 Chapter 11: Lists 98 11.1 Recursion 99 11.2 Lists in Python 101 11.3 Lists in Java 102 11.4 Lists in Scala 102 Chapter 12: Streams 106 12.1 Generators in Python 107 12.2 Streams in Java 107 12.3 Numeric Streams in Java 110 12.4 Streams in Scala 110 Chapter 13: Important Functions 112 13.1 Important Functions in Python 113 13.2 Important Functions in Java 114 13.3 Important Functions in Scala 117 13.4 Additional Functions in Scala 120 Chapter 14: Pipelines 122 14.1 Pipelines in Python 124 14.2 Pipelines in Java 125 14.2.1 Intermediate Operations 125 14.2.2 Terminal Operations 127 14.2.3 Collectors 129 14.2.4 Example 130 14.3 Pipelines in Scala 131 Chapter 15: Summary and Final Examples 134 15.1 Examples in Python 135 15.2 Examples in Java 137 15.3 Examples in Scala 138 Afterword 140 Index 142 closures;,java;,if,expressions;,streams;,high,order,functions;,pipelines closures,java,if expressions,streams,high order functions,pipelines
دانلود کتاب Quick Functional Programming (Quick Programming)