برنامهنویسی تابعی با #F
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- ریشههای #F در ML و OCaml، تایپهای استاتیک و تایپهای داده جبری را برای نوشتن کد قوی و اکسپرسیو درک کنید.
- به تطبیق الگو، پلیمورفیسم پارامتریک و سینتکس فشرده و تابعی در #F مسلط شوید.
- سیر تکامل #F را از Microsoft Research تا متنباز شدن و یکپارچگی با NET. بررسی کنید.
- با اصول functional-first آشنا شوید: تغییرناپذیری، توابع first-class و سبک اعلامی
- دامنهها را با استفاده از رکوردها، unions متمایز، تطبیق الگو و units of measure مدلسازی کنید.
- ببینید #F چگونه به IL کامپایل میشود و با #C و اکوسیستم NET. تعامل دارد.
- با نقاط قوت #F در امور مالی، علم داده و اپلیکیشنهای cloud-native آشنا شوید.
- به سراغ موضوعات پیشرفته بروید: lexing، تجزیه، AST و type checking و حل constraint
- به تطبیق الگو، چک کردن exhaustiveness و تکنیکهای پیشرفته الگو مسلط شوید.
- درک خود را از سیستم تایپ Hindley–Milner و type inference محلی عمیقتر کنید.
پیشنیازهای دوره
- تجربه پایه در برنامهنویسی با هر زبانی - نیازی به آشنایی قبلی با #F یا برنامهنویسی تابعی نیست.
- آشنایی با مفاهیم عمومی برنامهنویسی مانند متغیرها، توابع و تایپهای داده
- علاقهمندی به یادگیری طراحی زبان، سیستمهای تایپ و توسعه مدرن NET.
- تمایل به تعامل با جنبههای مفهومی و فنی #F
توضیحات دوره
این دوره از هوش مصنوعی استفاده میکند.
این یک دوره نظری است و درباره سینتکس یا نمونهکدها صحبت نمیکند.
آیا آمادهاید #F را واقعاً درک کنید، نه فقط به عنوان یک زبان، بلکه به عنوان ابزاری قدرتمند برای توسعه نرمافزار مدرن؟ این دوره جامع برای یادگیرندگانی طراحی شده که میخواهند فراتر از سینتکس سطحی بروند و به تسلطی عمیق و مفهومی بر #F و اکوسیستم آن برسند.
آنچه یاد خواهید گرفت:
اصول #F:
- ریشههای #F را در خانواده ML و OCaml کشف کنید و ببینید چگونه تایپهای استاتیک، type inference محلی و تایپهای داده جبری (ADTs) هم ایمنی و هم اکسپرسیو بودن را فراهم میکنند.
- همافزایی میان تطبیق الگو، پلیمورفیسم پارامتریک و سینتکس فشرده و ریاضیات #F را درک کنید.
داستان Microsoft Research:
- سیر تحول #F را از آغاز آن در Microsoft Research تا مسیر متنباز شدن و یکپارچگی با اکوسیستم NET. دنبال کنید.
- یاد بگیرید چگونه تصمیمهای مهندسی برنامهمحور و مشارکت کامیونیتی، #F را به زبانی تبدیل کردهاند که خلوص تابعی را با کاربردپذیری واقعی متعادل میکند.
قدرت functional-first و چندپارادایمی:
- اصول اساسی برنامهنویسی تابعی در #F را درک کنید، از جمله تغییرناپذیری، توابع first-class و سبک اعلامی
- ببینید #F در صورت نیاز چگونه از برنامهنویسی شیگرا و امری پشتیبانی میکند و راهنماییهایی برای ترکیب پارادایمها به منظور بیشترین بهرهوری بیاموزید.
مدلسازی دامنه اکسپرسیو:
- به سراغ قابلیتهای زبانی #F برای مدلسازی دامنههای پیچیده بروید: رکوردها و unions متمایز، تطبیق الگو، ماژولها و units of measure
- درک کنید این ویژگیها چگونه با هم کار میکنند تا نمایشهایی دقیق، قابل نگهداری و ایمن از منطق کسبوکار بسازند.
تعاملپذیری با NET. و عملکرد:
- بررسی کنید #F چگونه به .NET Intermediate Language (IL) کامپایل میشود و تعامل بیدردسر با #C و اکوسیستم گسترده NET. را ممکن میکند.
- درباره ایجاد تعادل میان تغییرناپذیری و عملکرد، الگوهای استقرار و بهترین شیوهها برای نوشتن کد کارآمد #F بیاموزید.
کاربردهای واقعی:
ببینید چرا #F در امور مالی، علم داده و اپلیکیشنهای cloud-native میدرخشد؛ به لطف تایپ قوی، تبدیلهای فشرده داده، گردشکارهای غیرهمزمان و Type Providers
مفاهیم پیشرفته زبان:
- با lexing، تجزیه، درخت سینتکس انتزاعی F# (AST) و type checking و unification و حل constraint و رزولوشن جنریک آشنا شوید.
- درک کنید کامپایلر #F چگونه ساختارهای سطح بالا را به کدی کارآمد و قابل اعتماد تبدیل میکند.
تطبیق الگو و ایمنی:
- به مبانی تطبیق الگو، چک کردن exhaustiveness و تکنیکهای پیشرفته مانند الگوهای لیست و مچهای تودرتو و الگوهای فعال مسلط میشوید.
- بیاموزید کامپایلر #F چگونه از طریق تحلیل دقیق الگوها، ایمنی و قابلیت نگهداری را تضمین میکند.
بررسی عمیق سیستم تایپ:
- سیستم تایپ Hindley–Milner و type inference محلی و let-generalization و value restriction و units of measure را بررسی کنید.
- ببینید سیستم تایپ #F چگونه کدی اکسپرسیو و دارای تایپ ایمن و فشرده را ممکن میکند.
تعاملپذیری، عملکرد و NET. مدرن:
درک کنید #F چگونه ساختارها را به IL نگاشت میکند، از کامپایل کردن JIT و AOT بهره میبرد و با مدل حافظه NET. و garbage collection و بهینهسازیهای عملکرد یکپارچه میشود.
چرا این دوره را بگذرانید؟
- عمق و گستره: این دوره فقط به شما یاد نمیدهد چگونه کد #F بنویسید - بلکه ابزارهای مفهومی لازم برای استدلال درباره طراحی زبان، رفتار کامپایلر و معماری اپلیکیشنهای واقعی را در اختیارتان میگذارد.
- شفافیت و دقت: هر موضوع با وضوح توضیح داده شده و با اطلاعات دقیق و بروز پشتیبانی میشود. شما هم مهارتهای عملی و هم درک نظری به دست خواهید آورد.
- ارتباط با دنیای امروز: این دوره تازهترین پیشرفتها در #F و NET. و برنامهنویسی تابعی را پوشش میدهد و شما را برای چالشهای نرمافزاری امروز آماده میکند.
اگر میخواهید واقعا به #F از ریشههای ریاضی آن تا نقش آن در اپلیکیشنهای NET. مدرن و با عملکرد بالا مسلط شوید، این دوره راهنمای ضروری شماست.
این دوره برای چه کسانی مناسب است؟
- توسعهدهندگانی که به دنبال درک عمیق و مفهومی از #F و اکوسیستم آن هستند.
- مهندسان نرمافزار که به برنامهنویسی تابعی و شیوههای مدرن .NET علاقهمند هستند.
- متخصصان حوزه مالی، علم داده یا توسعهی ابر که میخواهند از نقاط قوت #F بهره ببرند.
- کسی که درباره طراحی زبان، رفتار کامپایلر و معماری قوی اپلیکیشنها کنجکاو است.
برنامهنویسی تابعی با #F
-
ریشهها در خانواده ML و OCaml 04:20
-
داستان Microsoft Research و نقاط عطف کلیدی 04:46
-
«Functional-First و چندپارادایمی واقعاً به چه معناست؟ 04:44
-
ویژگیهای زبانی برای مدلسازی اکسپرسیو دامنه 04:47
-
تعاملپذیری با NET. و ملاحظات عملی عملکرد 04:59
-
چرا #F در امور مالی، علم داده و اپلیکیشنهای cloud-native برتری دارد؟ 04:07
-
آزمون 1 None
-
Lexing، تجزیه و AST در #F 05:15
-
Type Checking و type inference محلی 04:04
-
Unification و Constraints و رزولوشن جنریک 05:09
-
تبدیلهای میانی و کامپایل کردن برای تطبیق الگو 05:25
-
نگاشت ساختارهای #F به IL و متادیتا 05:39
-
JIT و AOT و تولید کد نیتیو در ران تایمهای NET. 05:34
-
Garbage Collection، طرحبندی حافظه و الگوهای تخصیص 05:38
-
Tail Calls و Inlining و مبادلات عملکردی 05:16
-
آزمون 2 None
-
تایپهای داده جبری در #F چه هستند؟ 05:19
-
رکوردها - محصولات نامگذاری شده، تغییرناپذیری و copy-and-update 05:10
-
Unions متمایز - جایگزینهای تگدار و Payloads 05:28
-
تاپلها در برابر رکوردها - وقتی داده ناشناس است یا نامگذاری شده 05:14
-
مبانی تطبیق الگو - تطبیق، binding و Guards 05:01
-
exhaustiveness و مچهای جزئی و ایمنی ریفکتورینگ 05:03
-
برابری ساختاری و سمانتیک مقایسه 04:40
-
تکنیکهای پیشرفته الگوهای لیست، مچهای تودرتو و الگوهای فعال 04:34
-
آزمون 3 None
-
اصول Hindley–Milner و type inference محلی در #F 05:40
-
Unification و Occurs‑Check و let-generalization 05:47
-
Constraints جنریک و اینکه چگونه به متادیتا در CLR نگاشت میشوند؟ 06:20
-
Variance و Delegates و سمانتیک جنریک در NET. 05:18
-
پارامترهای تایپ با resolve استاتیک (SRTP) - Inline و Constraints و Specializ 06:54
-
Units of Measure - واحدهای سطح تایپ، erasure و ایمنی عددی 05:47
-
Option و ValueOption و نمایشهای ران تایم 06:24
-
آنچه کامپایلر تولید میکند؟ - از تایپهای جنریک تا IL عینی 06:19
-
آزمون 4 None
-
عبارات رایانشی چیست؟ 04:39
-
Builder API - متدهای اصلی و نقش آنها 05:39
-
قواعد Desugaring - چگونه سینتکس به فراخوانیهای متد تبدیل میشود؟ 04:39
-
Bind و Delay و Continuations - سازوکار کنترل جریان 05:00
-
گردشکارهای غیرهمزمان و تولید state machine 04:59
-
Seq و گردشکارهای تنبل - Enumerables و Yield Semantics 04:22
-
ایمنی منابع - Try/Finally و Using و semantics استثنا 04:48
-
طراحی بیلدرهای سفارشی و الگوهای رایج 04:24
-
آزمون 5 None
-
از الگوها تا درختهای تصمیم 04:18
-
Heuristics و بهینهسازیها در کامپایل الگو 04:23
-
الگوهای تودرتو، OR و As - مسطحسازی و تجزیه 04:52
-
تحلیل exhaustiveness و کیسهای غیرقابلدسترسی 04:52
-
الگوهای فعال - مفاهیم و حالتها 04:50
-
رزولوشن و کامپایل الگوهای فعال 05:13
-
ویژگیهای عملکردی و رفتار fall-through 05:08
-
جایی که الگوها و الگوهای فعال میدرخشند: تجزیه، DSLs و آمادهسازی داده 05:01
-
آزمون 6 None
-
Type Provider چیست؟ 05:19
-
erased Providers در برابر generated Providers - تفاوتهای کلیدی 05:12
-
رفتار در زمان طراحی، ابزارها و IntelliSense 05:00
-
پارامترهای استاتیک، نمونهسازی و سفارشیسازی 04:48
-
رزولوشن provider، کش کردن و مبادلات عملکردی 05:20
-
ملاحظات امنیت، اعتماد و sandbox 06:21
-
پل زدن میان APIs، اسکیماها و کلان داده - اینکه Providers چگونه منابع را در تایپها نگاشت میکنند؟ 06:05
-
نسخهسازی، تکامل اسکیما و تابآوری در ران تایم 06:02
-
آزمون 7 None
-
گردشکارهای غیرهمزمان، Continuations و ماشینهای State 05:46
-
NET Thread Pool و پورتهای تکمیل IO و زمانبندی 05:45
-
تسکها و ValueTask و تعاملپذیری با F# Async 06:24
-
ساختار داخلی MailboxProcessor - ایجنتها و Single‑Threaded Dispatch 04:47
-
Backpressure، صفهای محدود و کنترل جریان 05:36
-
لغو و سمانتیک لغو مشارکتی 06:03
-
همزمانی ساختاریافته، کامپوزیشن تسکها و نظارت 04:40
-
بلاک کردن و SynchronizationContext و ددلاکهای رایج 04:53
-
آزمون 8 None
-
الگوهای تخصیص و garbage collector نسلمحور 05:46
-
Struct در برابر کلاس - طرحبندی حافظه، boxing و سمانتیک کپی 05:54
-
آرایهها، لیستها و دنبالهها - locality داده و هزینههای پیمایش 05:32
-
Span<T> و Memory<T> و اسلایس کردن بدون تخصیص 05:28
-
Inlining و JIT Heuristics و الگوهای IL سودمند 05:25
-
خلوص، تغییرناپذیری و رفتار کش 06:14
-
Tail Calls، بازگشت Tail و واقعیتهای NET. 04:36
-
تکنیکهای رایج کاهش تخصیص بدون ابزارهای اضافی 04:58
-
آزمون 9 None
-
تعاملپذیری با #C و اکوسیستم گستردهتر NET. 05:08
-
تعاملپذیری نیتیو، P/Invoke و قراردادهای فراخوانی مدیریت نشده 04:54
-
نقش و آناتومی FSharp.Core 06:14
-
FSI و اسکریپتنویسی - توسعه تعاملی و نوتبوکها 05:30
-
پیشرفتهای NET SDK. - بررسی AOT و Trimming و ReadyToRun و WASM 06:12
-
ابزارهای ویرایشگر، LSP و تجربه توسعهدهنده 03:33
-
هاتاسپاتهای اکوسیستم - SAFE Stack، علم داده و الگوهای ابری 04:02
-
روندهای نوظهور و مسیر آینده #F 04:31
-
آزمون 10 None
مشخصات آموزش
برنامهنویسی تابعی با #F
- تاریخ به روز رسانی: 1405/04/12
- سطح دوره:Alls
- تعداد درس:88
- مدت زمان :07:06:03
- حجم :4.26GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy