001480854 000__ 06714cam\\22005537a\4500 001480854 001__ 1480854 001480854 003__ OCoLC 001480854 005__ 20231031003312.0 001480854 006__ m\\\\\o\\d\\\\\\\\ 001480854 007__ cr\cn\nnnunnun 001480854 008__ 230916s2023\\\\cau\\\\\o\\\\\000\0\eng\d 001480854 019__ $$a1396974671 001480854 020__ $$a9781484296974$$q(electronic bk.) 001480854 020__ $$a1484296974$$q(electronic bk.) 001480854 020__ $$z9781484296967 001480854 020__ $$z1484296966 001480854 0247_ $$a10.1007/978-1-4842-9697-4$$2doi 001480854 035__ $$aSP(OCoLC)1397571297 001480854 040__ $$aEBLCP$$beng$$cEBLCP$$dORMDA$$dGW5XE$$dYDX$$dEBLCP$$dOCLCO 001480854 049__ $$aISEA 001480854 050_4 $$aQA76.76.M52 001480854 08204 $$a005.13/3$$223/eng/20230919 001480854 1001_ $$aSarcar, Vaskaran,$$eauthor. 001480854 24510 $$aIntroducing functional programming using C# :$$bleveraging a new perspective for OOP developers /$$cVaskaran Sarcar. 001480854 260__ $$aBerkeley, CA :$$bApress L. P.,$$c2023. 001480854 300__ $$a1 online resource (314 p.) 001480854 500__ $$aDescription based upon print version of record. 001480854 500__ $$aPart II: Harnessing the Power of Functional Programming 001480854 5050_ $$aIntro -- Table of Contents -- About the Author -- About the Technical Reviewers -- Acknowledgments -- Introduction -- How Is This Book Organized? -- Prerequisite Knowledge -- Who Is This Book For? -- Useful Software -- Guidelines for Using This Book -- Source Code -- Conventions Used in This Book -- Final Words -- Part I: Getting Familiar with Functional Programming -- Chapter 1: Functional Programming Overview -- C# Supports Multiple Paradigms -- Functions and Methods Are Equivalent in C# -- QA Session -- Important Characteristics of FP -- FP Treats Functions as First-Class Citizens 001480854 5058_ $$aDemonstration 1 -- Output -- Analysis -- FP Prefers Immutability -- Demonstration 2 -- Output -- Q&A Session -- Demonstration 3 -- Output -- Analysis -- FP Prefers Pure Functions -- Demonstration 4 -- Output -- Discussion of Side Effects -- Functions with I/O -- Are Side Effects Bad? -- Q&A Session -- FP Follows a Declarative Style -- Demonstration 5 -- Output -- Demonstration 6 -- Output -- Q&A Session -- Demonstration 7 -- Output -- FP vs. OOP -- FP Benefits -- Q&A Session -- Exercises -- Summary -- Solutions to Exercises -- E1.1 -- E1.2 -- E1.3 -- E1.4 -- E1.5 -- E1.6 -- E1.7 -- E1.8 001480854 5058_ $$aChapter 2: Understanding Functions -- Mathematical Background of Functions -- Mathematical Functions vs. C# Functions -- Representing Functions in C# -- Using Static Methods -- Demonstration 1 -- Output -- Simplifying the Code -- QA Session -- Using Delegates and Lambdas -- A Quick Review -- Demonstration 2 -- Output -- Additional Note -- Using a Dictionary -- Demonstration 3 -- Output -- QA Session -- Demonstration 4 -- Built-in Delegates Are Important -- Higher-Order Function -- Custom HOF -- Demonstration 5 -- Output -- Additional Note -- Built-in HOF -- Demonstration 6 -- Output -- Analysis 001480854 5058_ $$aFirst-Order Function -- Refactoring Impure Functions -- Program with Impurities -- Demonstration 7 -- Output -- Removing Impurities -- Demonstration 8 -- Output -- Additional Note -- Q&A Session -- Exercises -- Summary -- Solutions to Exercises -- E2.1 -- E2.2 -- E2.3 -- E2.4 -- E2.5 -- E2.6 -- Chapter 3: Understanding Immutability -- What Is Immutability? -- Immutable Objects in .NET -- Q&A Session -- Reviewing Mutable Types -- Programming with a Mutable Type -- Demonstration 1 -- Output -- Analysis -- The Path Toward Immutability -- Achieving External Immutability -- Demonstration 2 -- Output 001480854 5058_ $$aEnforcing Internal Immutability -- Demonstration 3 -- Output -- Better Code Using Modern Features -- Demonstration 4 -- Output -- Q&A Session -- More on Immutability -- Understanding Shallow Immutability -- Demonstration 5 -- Output -- Analysis -- Searching for a Solution -- Demonstration 6 -- Output -- Analysis -- Making a Better Solution -- Demonstration 7 -- Output -- Analysis -- Implementing Popsicle Immutability -- Demonstration 8 -- Output -- Analysis -- Q&A Session -- Exercises -- Summary -- Solutions to Exercises -- E3.1 -- E3.2 -- E3.3 -- E3.4 -- E3.5 001480854 506__ $$aAccess limited to authorized users. 001480854 520__ $$aUnderstand the power of C#, a multi-paradigm language. This book will help you learn, analyze, and harness the functional aspects of C# so you can create a better program. The book is divided into two parts. Part I starts with an overview of functional programming (FP). It covers the building blocks for FP: functions and immutability. You will learn about the built-in supports for FP, first- and higher-order functions (HOF), functional purity and side effects, different forms of immutability, and much more. Part II includes discussions on functional composition using pipelining and currying. It also explains how to handle temporal coupling and discusses partial functions and useful functional patterns (such as Map, Bind, Filter, and Fold). Author Vaskaran Sarcar takes you through functional exception-handling mechanisms and provides additional tips to make your programs more efficient. After reading the book, you will understand and be able to implement key aspects of FP. You will be able to produce better code (and refactor existing code) by combining the best techniques from both FP and object-oriented programming (OOP) paradigms. What Will You Learn Understand how the concepts of functional programming (FP) can be implemented using C# Refactor existing code (following the FP paradigm) to make it more readable, maintainable, and predictive Know how advanced features (such as delegates, lambdas, generics) can be used differently Understand how to efficiently use features such as lambda expressions and type inference as C# includes explicit language extensions to support functional programming Who This Book Is For C# developers familiar with object-oriented programming (OOP) who want to harness the power of functional programming (FP). 001480854 650_6 $$aC# (Langage de programmation) 001480854 650_6 $$aProgrammation fonctionnelle. 001480854 650_0 $$aC# (Computer program language)$$0(DLC)sh2001001705 001480854 650_0 $$aFunctional programming (Computer science)$$0(DLC)sh 87007844 001480854 655_0 $$aElectronic books. 001480854 77608 $$iPrint version:$$aSarcar, Vaskaran$$tIntroducing Functional Programming Using C#$$dBerkeley, CA : Apress L. P.,c2023$$z9781484296967 001480854 852__ $$bebk 001480854 85640 $$3Springer Nature$$uhttps://univsouthin.idm.oclc.org/login?url=https://link.springer.com/10.1007/978-1-4842-9697-4$$zOnline Access$$91397441.1 001480854 909CO $$ooai:library.usi.edu:1480854$$pGLOBAL_SET 001480854 980__ $$aBIB 001480854 980__ $$aEBOOK 001480854 982__ $$aEbook 001480854 983__ $$aOnline 001480854 994__ $$a92$$bISE