وبلاگ بلیان

Functional Programming For Dummies (For Dummies (Computer/Tech))

معرفی کتاب «Functional Programming For Dummies (For Dummies (Computer/Tech))» نوشتهٔ John Paul Mueller، منتشرشده توسط نشر For Dummies در سال 2019. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است. «Functional Programming For Dummies (For Dummies (Computer/Tech))» در دستهٔ بدون دسته‌بندی قرار دارد.

Your guide to the functional programming paradigm Functional programming mainly sees use in math computations, including those used in Artificial Intelligence and gaming. This programming paradigm makes algorithms used for math calculations easier to understand and provides a concise method of coding algorithms by people who aren't developers. Current books on the market have a significant learning curve because they're written for developers, by developers--until now. Functional Programming for Dummies explores the differences between the pure (as represented by the Haskell language) and impure (as represented by the Python language) approaches to functional programming for readers just like you. The pure approach is best suited to researchers who have no desire to create production code but do need to test algorithms fully and demonstrate their usefulness to peers. The impure approach is best suited to production environments because it's possible to mix coding paradigms in a single application to produce a result more quickly. Functional Programming For Dummies uses this two-pronged approach to give you an all-in-one approach to a coding methodology that can otherwise be hard to grasp. Learn pure and impure when it comes to coding Dive into the processes that most functional programmers use to derive, analyze and prove the worth of algorithms Benefit from examples that are provided in both Python and Haskell Glean the expertise of an expert author who has written some of the market-leading programming books to date If you’re ready to massage data to understand how things work in new ways, you’ve come to the right place! Title Page 3 Copyright Page 4 Table of Contents 5 Introduction 13 About This Book 13 Foolish Assumptions 15 Icons Used in This Book 15 Beyond the Book 16 Where to Go from Here 17 Part 1 Getting Started with Functional Programming 19 Chapter 1 Introducing Functional Programming 21 Defining Functional Programming 22 Understanding its goals 23 Using the pure approach 23 Using the impure approach 24 Considering Other Programming Paradigms 25 Imperative 25 Procedural 25 Object-oriented 26 Declarative 26 Using Functional Programming to Perform Tasks 27 Discovering Languages That Support Functional Programming 28 Considering the pure languages 28 Considering the impure languages 29 Finding Functional Programming Online 29 Chapter 2 Getting and Using Python 31 Working with Python in This Book 32 Creating better code 32 Debugging functionality 32 Defining why notebooks are useful 33 Obtaining Your Copy of Anaconda 33 Obtaining Analytics Anaconda 33 Installing Anaconda on Linux 34 Installing Anaconda on MacOS 35 Installing Anaconda on Windows 36 Understanding the Anaconda package 38 Downloading the Datasets and Example Code 39 Using Jupyter Notebook 40 Defining the code repository 40 Getting and using datasets 45 Creating a Python Application 46 Understanding cells 47 Adding documentation cells 48 Other cell content 50 Running the Python Application 50 Understanding the Use of Indentation 51 Adding Comments 53 Understanding comments 53 Using comments to leave yourself reminders 55 Using comments to keep code from executing 55 Closing Jupyter Notebook 56 Getting Help with the Python Language 57 Chapter 3 Getting and Using Haskell 59 Working with Haskell in This Book 60 Obtaining and Installing Haskell 60 Installing Haskell on a Linux system 62 Installing Haskell on a Mac system 62 Installing Haskell on a Windows system 64 Testing the Haskell Installation 66 Compiling a Haskell Application 68 Using Haskell Libraries 71 Getting Help with the Haskell Language 72 Part 2 Starting Functional Programming Tasks 75 Chapter 4 Defining the Functional Difference 77 Comparing Declarations to Procedures 78 Understanding How Data Works 79 Working with immutable data 80 Considering the role of state 80 Eliminating side effects 81 Seeing a Function in Haskell 81 Using non-curried functions 81 Using curried functions 82 Seeing a Function in Python 85 Creating and using a Python function 85 Passing by reference versus by value 86 Chapter 5 Understanding the Role of Lambda Calculus 89 Considering the Origins of Lambda Calculus 90 Understanding the Rules 92 Working with variables 92 Using application 93 Using abstraction 94 Performing Reduction Operations 97 Considering α-conversion 97 Considering β-reduction 98 Considering η-conversion 100 Creating Lambda Functions in Haskell 101 Creating Lambda Functions in Python 101 Chapter 6 Working with Lists and Strings 103 Defining List Uses 104 Creating Lists 105 Using Haskell to create Lists 106 Using Python to create lists 107 Evaluating Lists 108 Using Haskell to evaluate Lists 109 Using Python to evaluate lists 111 Performing Common List Manipulations 112 Understanding the list manipulation functions 113 Using Haskell to manipulate lists 113 Using Python to manipulate lists 114 Understanding the Dictionary and Set Alternatives 115 Using dictionaries 115 Using sets 116 Considering the Use of Strings 117 Understanding the uses for strings 117 Performing string-related tasks in Haskell 118 Performing string-related tasks in Python 118 Part 3 Making Functional Programming Practical 121 Chapter 7 Performing Pattern Matching 123 Looking for Patterns in Data 124 Understanding Regular Expressions 125 Defining special characters using escapes 126 Defining wildcard characters 127 Working with anchors 127 Delineating subexpressions using grouping constructs 128 Using Pattern Matching in Analysis 129 Working with Pattern Matching in Haskell 130 Performing simple Posix matches 130 Matching a telephone number with Haskell 132 Working with Pattern Matching in Python 133 Performing simple Python matches 133 Doing more than matching 135 Matching a telephone number with Python 136 Chapter 8 Using Recursive Functions 137 Performing Tasks More than Once 138 Defining the need for repetition 138 Using recursion instead of looping 139 Understanding Recursion 140 Considering basic recursion 141 Performing tasks using lists 143 Upgrading to set and dictionary 144 Considering the use of collections 146 Using Recursion on Lists 147 Working with Haskell 147 Working with Python 148 Passing Functions Instead of Variables 149 Understanding when you need a function 150 Passing functions in Haskell 150 Passing functions in Python 151 Defining Common Recursion Errors 152 Forgetting an ending 152 Passing data incorrectly 153 Defining a correct base instruction 153 Chapter 9 Advancing with Higher-Order Functions 155 Considering Types of Data Manipulation 156 Performing Slicing and Dicing 158 Keeping datasets controlled 158 Focusing on specific data 159 Slicing and dicing with Haskell 159 Slicing and dicing with Python 162 Mapping Your Data 163 Understanding the purpose of mapping 163 Performing mapping tasks with Haskell 164 Performing mapping tasks with Python 165 Filtering Data 166 Understanding the purpose of filtering 166 Using Haskell to filter data 167 Using Python to filter data 168 Organizing Data 169 Considering the types of organization 169 Sorting data with Haskell 170 Sorting data with Python 171 Chapter 10 Dealing with Types 173 Developing Basic Types 174 Understanding the functional perception of type 174 Considering the type signature 174 Creating types 176 Composing Types 182 Understanding monoids 182 Considering the use of Nothing, Maybe, and Just 186 Understanding semigroups 188 Parameterizing Types 188 Dealing with Missing Data 190 Handling nulls 190 Performing data replacement 192 Considering statistical measures 192 Creating and Using Type Classes 193 Part 4 Interacting in Various Ways 195 Chapter 11 Performing Basic I/O 197 Understanding the Essentials of I/O 198 Understanding I/O side effects 198 Using monads for I/O 200 Interacting with the user 200 Working with devices 201 Manipulating I/O Data 203 Using the Jupyter Notebook Magic Functions 204 Receiving and Sending I/O with Haskell 207 Using monad sequencing 207 Employing monad functions 207 Chapter 12 Handling the Command Line 209 Getting Input from the Command Line 210 Automating the command line 210 Considering the use of prompts 210 Using the command line effectively 211 Accessing the Command Line in Haskell 212 Using the Haskell environment directly 212 Making sense of the variety of packages 213 Obtaining CmdArgs 214 Getting a simple command line in Haskell 216 Accessing the Command Line in Python 217 Using the Python environment directly 217 Interacting with Argparse 218 Chapter 13 Dealing with Files 219 Understanding How Local Files are Stored 220 Ensuring Access to Files 221 Interacting with Files 221 Creating new files 222 Opening existing files 223 Manipulating File Content 224 Considering CRUD 225 Reading data 226 Updating data 227 Completing File-related Tasks 229 Chapter 14 Working with Binary Data 231 Comparing Binary to Textual Data 232 Using Binary Data in Data Analysis 233 Understanding the Binary Data Format 234 Working with Binary Data 237 Interacting with Binary Data in Haskell 237 Writing binary data using Haskell 238 Reading binary data using Haskell 239 Interacting with Binary Data in Python 240 Writing binary data using Python 240 Reading binary data using Python 241 Chapter 15 Dealing with Common Datasets 243 Understanding the Need for Standard Datasets 244 Finding the Right Dataset 245 Locating general dataset information 245 Using library-specific datasets 246 Loading a Dataset 248 Working with toy datasets 249 Creating custom data 250 Fetching common datasets 251 Manipulating Dataset Entries 253 Determining the dataset content 253 Creating a DataFrame 255 Accessing specific records 256 Part 5 Performing Simple Error Trapping 259 Chapter 16 Handling Errors in Haskell 261 Defining a Bug in Haskell 262 Considering recursion 262 Understanding laziness 263 Using unsafe functions 264 Considering implementation-specific issues 265 Understanding the Haskell-Related Errors 265 Fixing Haskell Errors Quickly 268 Relying on standard debugging 268 Understanding errors versus exceptions 270 Chapter 17 Handling Errors in Python 271 Defining a Bug in Python 272 Considering the sources of errors 272 Considering version differences 274 Understanding the Python-Related Errors 275 Dealing with late binding closures 275 Using a variable 276 Working with third-party libraries 276 Fixing Python Errors Quickly 277 Understanding the built-in exceptions 277 Obtaining a list of exception arguments 278 Considering functional style exception handling 279 Part 6 The Part of Tens 281 Chapter 18 Ten Must-Have Haskell Libraries 283 binary 283 Hascore 285 vect 285 vector 286 aeson 286 attoparsec 287 bytestring 287 stringsearch 288 text 288 moo 289 Chapter 19 Ten (Plus) Must-Have Python Packages 291 Gensim 292 PyAudio 293 PyQtGraph 294 TkInter 295 PrettyTable 295 SQLAlchemy 296 Toolz 296 Cloudera Oryx 297 funcy 297 SciPy 298 XGBoost 299 Chapter 20 Ten Occupation Areas that Use Functional Programming 301 Starting with Traditional Development 301 Going with New Development 302 Creating Your Own Development 303 Finding a Forward-Thinking Business 304 Doing Something Really Interesting 304 Developing Deep Learning Applications 305 Writing Low-Level Code 305 Helping Others in the Health Care Arena 306 Working as a Data Scientist 306 Researching the Next Big Thing 307 Index 309 EULA 323 **Your guide to the functional programming paradigm**Functional programming mainly sees use in math computations, including those used in Artificial Intelligence and gaming. This programming paradigm makes algorithms used for math calculations easier to understand and provides a concise method of coding algorithms by people who aren't developers. Current books on the market have a significant learning curve because they're written for developers, by developers--until now.__Functional Programming for Dummies__explores the differences between the pure (as represented by the Haskell language) and impure (as represented by the Python language) approaches to functional programming for readers just like you. The pure approach is best suited to researchers who have no desire to create production code but do need to test algorithms fully and demonstrate their usefulness to peers. The impure approach is best suited to production environments because it's possible to mix coding paradigms in a single application to produce a result more quickly.__Functional Programming For Dummies__uses this two-pronged approach to give you an all-in-one approach to a coding methodology that can otherwise be hard to grasp.Learn pure and impure when it comes to coding Dive into the processes that most functional programmers use to derive, analyze and prove the worth of algorithms Benefit from examples that are provided in both Python and Haskell Glean the expertise of an expert author who has written some of the market-leading programming books to date If you're ready to massage data to understand how things work in new ways, you've come to the right place! Functional programming mainly sees use in math computations, including those used in Artificial Intelligence and gaming. This programming paradigm makes algorithms used for math calculations easier to understand and provides a concise method of coding algorithms by people who aren't developers. Current books on the market have a significant learning curve because they're written for developers, by developers?until now. Functional Programming for Dummies explores the differences between the pure (as represented by the Haskell language) and impure (as represented by the Python language) approaches to functional programming for readers just like you. The pure approach is best suited to researchers who have no desire to create production code but do need to test algorithms fully and demonstrate their usefulness to peers. The impure approach is best suited to production environments because it's possible to mix coding paradigms in a single application to produce a result more quickly. Functional Programming For Dummies uses this two-pronged approach to give you an all-in-one approach to a coding methodology that can otherwise be hard to grasp. ·Learn pure and impure when it comes to coding ·Dive into the processes that most functional programmers use to derive, analyze and prove the worth of algorithms ·Benefit from examples that are provided in both Python and Haskell ·Glean the expertise of an expert author who has written some of the market-leading programming books to date If you?re ready to massage data to understand how things work in new ways, you?ve come to the right place! -amazon.com "Especially for nondevelopers, functional programing can be the perfect tool for coding an endless variety of problems. If you've been afraid that the paradigm was too complex, this book will quickly dispel those fears. You'll see how functional programming processes are used to derive, analyze, and prove the worth of algorithms; explore the differences in Haskell abd Python and learn when to use pure and impure approaches; see why functional programming is vital for AI and gaming applications; and put your new skills to work."-- Provided by publisher
دانلود کتاب Functional Programming For Dummies (For Dummies (Computer/Tech))