Hands-On Functional Programming with C++: An effective guide to writing accelerated functional code using C++17 and C++20

Packt Publishing Ltd
Free sample

Learn functional programming and build robust applications using the latest functional features in C++Key Features
  • Learn programming concepts such as loops, expressive code, and simple parallelization
  • Understand the working of Lambdas and Currying and write Pure functions
  • Explore event sourcing and other functional patterns to improve the efficiency of your applications
Book Description

Functional programming enables you to divide your software into smaller, reusable components that are easy to write, debug, and maintain. Combined with the power of C++, you can develop scalable and functional applications for modern software requirements. This book will help you discover the functional features in C++ 17 and C++ 20 to build enterprise-level applications.

Starting with the fundamental building blocks of functional programming and how to use them in C++, you’ll explore functions, currying, and lambdas. As you advance, you’ll learn how to improve cohesion and delve into test-driven development, which will enable you in designing better software. In addition to this, the book covers architectural patterns such as event sourcing to help you get to grips with the importance of immutability for data storage. You’ll even understand how to “think in functions” and implement design patterns in a functional way.

By the end of this book, you’ll be able to write faster and cleaner production code in C++ with the help of functional programming.

What you will learn
  • Understand the fundamentals of functional programming
  • Structure your code by understanding the building blocks of functional programming
  • Compare design styles in functional programming and object-oriented programming (OOP)
  • Use the concept of currying to create new functions in C++
  • Become skilled at implementing design patterns in a functional way
  • Get to grips with multithreading by means of functional programming
  • Learn how to improve memory consumption when using functional constructs
Who this book is for

This book is for C++ developers who want to learn functional programming but have little to no knowledge of the paradigm. Although no prior knowledge of functional programming is necessary, basic C++ programming experience will help you understand key concepts covered in the book.

Read more
Collapse

About the author

With 20 years' experience in the software development industry, Alexandru Bolboaca has gone from being a junior C++ programmer to a technical lead and software architect, before becoming a technical coach and trainer. He has extensive experience in helping customers to improve the way they work, as well as their code and approach to testing. He is also the author of Usable Software Design, and the co-author of Coderetreat.
Read more
Collapse
Loading...

Additional Information

Publisher
Packt Publishing Ltd
Read more
Collapse
Published on
Jun 28, 2019
Read more
Collapse
Pages
358
Read more
Collapse
ISBN
9781789809213
Read more
Collapse
Read more
Collapse
Read more
Collapse
Language
English
Read more
Collapse
Genres
Computers / Bioinformatics
Computers / Buyer's Guides
Computers / General
Computers / Hardware / General
Reference / Consumer Guides
Science / Life Sciences / Biology
Read more
Collapse
Content Protection
This content is DRM free.
Read more
Collapse
Read Aloud
Available on Android devices
Read more
Collapse

Reading information

Smartphones and Tablets

Install the Google Play Books app for Android and iPad/iPhone. It syncs automatically with your account and allows you to read online or offline wherever you are.

Laptops and Computers

You can read books purchased on Google Play using your computer's web browser.

eReaders and other devices

To read on e-ink devices like the Sony eReader or Barnes & Noble Nook, you'll need to download a file and transfer it to your device. Please follow the detailed Help center instructions to transfer the files to supported eReaders.
A concise introduction to key computing skills for biologists

While biological data continues to grow exponentially in size and quality, many of today’s biologists are not trained adequately in the computing skills necessary for leveraging this information deluge. In Computing Skills for Biologists, Stefano Allesina and Madlen Wilmes present a valuable toolbox for the effective analysis of biological data.

Based on the authors’ experiences teaching scientific computing at the University of Chicago, this textbook emphasizes the automation of repetitive tasks and the construction of pipelines for data organization, analysis, visualization, and publication. Stressing practice rather than theory, the book’s examples and exercises are drawn from actual biological data and solve cogent problems spanning the entire breadth of biological disciplines, including ecology, genetics, microbiology, and molecular biology. Beginners will benefit from the many examples explained step-by-step, while more seasoned researchers will learn how to combine tools to make biological data analysis robust and reproducible. The book uses free software and code that can be run on any platform.

Computing Skills for Biologists is ideal for scientists wanting to improve their technical skills and instructors looking to teach the main computing tools essential for biology research in the twenty-first century.

Excellent resource for acquiring comprehensive computing skills
Both novice and experienced scientists will increase efficiency by building automated and reproducible pipelines for biological data analysis
Code examples based on published data spanning the breadth of biological disciplines
Detailed solutions provided for exercises in each chapter
Extensive companion website
©2019 GoogleSite Terms of ServicePrivacyDevelopersArtistsAbout Google|Location: United StatesLanguage: English (United States)
By purchasing this item, you are transacting with Google Payments and agreeing to the Google Payments Terms of Service and Privacy Notice.