پیشنهاد فرادرس

برنامه نویسی تابعی در سی پلاس پلاس

دسته بندی ها: سی پلاس پلاس ، آموزش های LinkedIn ، برنامه نویسی تابعی

برنامه ‌نویسی تابعی (Functional programming) امکان می دهد کدهای کوتاه تری بنویسید که خواندن، رفع اشکال و نگهداری آن ها آسانتر می باشد.

با استفاده از توابع ریاضی می توانیم به رایانه بگوییم چه چیزی را انجام دهد، به جای آنکه به رایانه بگوییم چگونه انجام دهد. در برنامه ‌نویسی تابعی توسعه دهندگان لازم نیست نگران ترتیب اجرا، حلقه ها و ساختار های شرطی باشند. شما به سادگی نتیجه مطلوب را تعریف می کنید، رایانه بقیه مراحل کار را مدیریت می کند.

این دوره آموزشی مزایا و ویژگی های برنامه ‌نویسی تابعی را معرفی کرده و نحوه استفاده از تکنیک ها و کتابخانه های مختلف موجود در C++، برای برخورداری بیشتر توابع از ویژگی تابعی را نشان می دهد. مدرس، توابع توکار مانند transform، copyif، accumulate، را مرور کرده و نحوه مقید کردن و تبدیل دستورالعمل ها به عبارات تابعی، با استفاده از توابع لامبدا در زبان C++ را نمایش داده و ایجاد می کند. علاوه بر این، برنامه نویسی متا بوسیله الگو های C++ و SLT و کتابخانه های Boost.Hana و برنامه نویسی واکنش گرای تابعی با کتابخانه RxCpp بررسی می شود.

مباحث دوره:

  • آزاد سازی توان برنامه ‌نویسی تابعی در زبان C++
  • آنچه می بایست بدانید
  • مزایای برنامه نویسی تابعی
  • برنامه ‌نویسی تابعی تست واحد
  • برنامه ‌نویسی تابعی در زبان C++ مدرن
  • فعال سازی C++ 17
  • استفاده از تبدیل بجای نگاشت
  • استفاده از copy_if بجای filter
  • مقید سازی
  • توابع
  • توابع لامبدا : متد Curry
  • توابع لامبدا : متد Closures
  • چالش: افزودن مداوم فاکتوریل
  • برنامه ‌نویسی متای الگو
  • الگو های C++
  • فاکتوریل
  • کتابخانه الگوی استاندارد
  • کتابخانه Boost.Hana
  • چالش: سازنده دنباله فیبوناچی
  • برنامه ‌نویسی تابعی واکنش گرا
  • مقدمه ای بر ضمیمه های
  • کتابخانه
  • چالش: شمارنده تعداد کلمات
  • نتیجه گیری
  • گام بعدی
آیا این نوشته را دوست داشتید؟
Introducing Functional Programming in C++ Publisher:Linkedin Author:Troy Miles Duration:1h 15m 13s Level:Intermediate

Write more functional code in C++. Learn functional programming with C++ functions, Lambda functions, templates, and the RxCpp Reactive Extensions library.
Released: : December 11, 2018
Functional programming allows you to write more concise code that's easier to read, debug, and maintain. It revolves around powerful, mathematical functions that tell the computer what to do—not how to do it. The developer doesn't have to worry about order of execution, loops, or conditions. You simply define the desired outcome; the computer takes care of the rest. This course introduces the benefits and features of functional programming, and shows how to use different techniques and libraries in C++ to make code more functional. Instructor Troy Miles reviews built-in functions such as transform, copyif, accumulate, and bind and shows how to convert statements into more functional expressions using C++ Lambda functions. Plus, explore template metaprogramming with C++ templates and the STL and Boost.Hana libraries, and functional reactive programming with the RxCpp Reactive Extensions library for C++.
Introduction
Unleash the power functional programming in C++
What you should know
1. Overview
Benefits of functional programming
Unit testing functional programming
2. Functional Programming in Modern C++
Enabling C++ 17
transform instead of map
copy_if instead of filter
accumulate instead of reduce
bind
Functions
Lambda functions: Curry
Lambda functions: Closures
Challenge: Factorial continuous add
Solution: Factorial continuous add
3. Template Metaprogramming
C++ templates
Factorial
The Standard Template Library
Functional programming libraries
Boost.Hana
Challenge: Fibonacci generator
Solution: Fibonacci generator
4. Functional Reactive Programming
Intro to Reactive Extensions
RxCpp library
Challenge: Word frequency counter
Solution: Word frequency counter
Conclusion
Next steps

پیشنهاد فرادرس