لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش برنامهنویسی تابعی در C++
- آخرین آپدیت
دانلود Functional Programming in C++
نکته:
ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:
کاربرد اصول برنامهنویسی تابعی (Functional Programming) در C++ مدرن را با استفاده از ویژگیهای معرفی شده در استانداردهای C++17، C++20 و C++23 کشف کنید. در این دوره، مدرس Troy Miles به شما نشان میدهد که چگونه با بهرهگیری از قابلیتهایی مانند Lambdas، Ranges، Coroutines و Concepts، کدهایی ماژولارتر، گویاتر و بهینهتر بنویسید. در طول مسیر، بیاموزید که چگونه خط لولههای تابعی (Functional Pipelines)، متاپروگرمینگ و مشخصکننده constexpr میتوانند رویکرد شما را در حل مسئله در C++ متحول کنند. این دوره همچنین برنامهنویسی واکنشی تابعی (FRP)، تطبیق الگو (Pattern Matching) و تلفیق سبکهای تابعی و دستوری (Imperative) را پوشش میدهد تا شما را در تسلط بر تکنیکهای پیشرفته C++ یاری دهد.
این دوره با GitHub Codespaces ادغام شده است؛ یک محیط توسعه ابری فوری که تمام قابلیتهای IDE مورد علاقه شما را بدون نیاز به نصب محلی فراهم میکند. با GitHub Codespaces میتوانید در هر زمان و روی هر دستگاهی تمرینات عملی را انجام دهید—در حالی که از ابزاری استفاده میکنید که احتمالاً در محیطهای کاری واقعی با آن مواجه خواهید شد. برای شروع، بخش «استفاده از GitHub Codespaces» را در این دوره بررسی کنید.
سرفصل ها و درس ها
مقدمه
Introduction
مقدمه
Introduction
1. برنامهنویسی تابعی در C++ مدرن
1. Functional Programming in Modern C++
توابع Accumulate و Reduce
Accumulate and reduce
لامبداها و Closureها
Lambdas and closures
راه حل: جمع مستمر فاکتوریل
Solution: Factorial continuous add
ترکیب توابع با الگوریتمهای کتابخانه استاندارد
Composing functions with standard library algorithms
الگوریتمهای استاندارد (transform, views, accumulate)
Standard algorithms (transform, views, accumulate)
چالش: جمع مستمر فاکتوریل
Challenge: Factorial continuous add
برنامهنویسی تابعی چیست؟
What is functional programming?
اعمال جزئی و Currying (std::bind)
Partial application and currying (std::bind)
2. مفاهیم (Concepts) و محدودیتهای نوع در C++20
2. Concepts and Type Constraints in C++20
چالش: تابعی محدود شده توسط Concepts
Challenge: Function constrained by concepts
سینتکس پایه Concepts
Basic concept syntax
تعریف Concepts سفارشی
Defining custom concepts
راه حل: تابعی محدود شده توسط Concepts
Solution: Function constrained by concepts
چرا از Concepts استفاده کنیم؟
Why concepts?
مقایسه Concepts با SFINAE (قبل از C++20)
Concepts vs. SFINAE (Pre-C++20)
ترکیب Conceptsها
Combining concepts
3. رنجها (Ranges) و خط لولهها در C++20/23
3. Ranges and Pipelines in C++20/23
ارزیابی تنبل با کوروتینها (مولد فیبوناچی نامحدود)
Lazy evaluation with coroutines (infinite Fibonacci generator)
راه حل: ساخت یک خط لوله تابعی
Solution: Build a Functional pipeline
رنجها و خط لولهها در C++20/23
Ranges and pipelines in C++20/23
چرا از Ranges استفاده کنیم؟ (تغییر شکل یک مجموعه)
Why use ranges? (transforming a collection)
ترکیب عملیاتهای متعدد Range برای تغییر مجموعهها
Combining multiple range operations to transform collections
ترکیب فیلترها و Transformها
Combining filters and transforms
چالش: ساخت یک خط لوله تابعی
Challenge: Build a functional pipeline
4. متاپروگرمینگ تمپلیتها و constexpr
4. Template Metaprogramming and constexpr
Troy Miles مهندس نرم افزار ، بلندگو و نویسنده برنده جوایز است.
تروی بازی های نویسندگی خود را در مونتاژ های 6502 و x86 برای رایانه های اولیه مانند Commodore 64 ، Apple II و IBM PC آغاز کرد. این روزها ، وی برنامه های وب و موبایل را برای یک شرکت ارزیابی و اتومبیل سازی مستقر در کالیفرنیای جنوبی می نویسد. او کلاه زبان مونتاژ خود را آویزان کرده است ، اما مسلط به JavaScript ، C # ، C ++ ، Java ، Kotlin و Clojure است.
نمایش نظرات