کتاب Functional Programming with C#: Create More Supportable, Robust, and Testable Code (برنامهنویسی تابعی با سیشارپ: کدهای قابل پشتیبانی، قوی و قابل آزمایش بیشتری ایجاد کنید) راهنمای جامع و کاربردی برنامهنویسی تابعی با استفاده از سیشارپ است که در 3 بخش مختلف این راهکار مهم در برنامهنویسی را به شما آموزش میدهد.
در ادامه مقدمهای از کتاب Functional Programming with C# را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Functional Programming with C#:
من تا جایی که بتوانم در کنفرانسهای توسعهدهندگان شرکت می کنم و متوجه یک روند شده ام. هر سال، به نظر می رسد که همیشه محتوای بیشتری در مورد برنامهنویسی عملکردی (FP) وجود دارد، نه کمتر. اغلب یک آهنگ کامل به آن اختصاص داده میشود، و گفتگوهای دیگر شامل محتوای FP در جایی به عنوان نقطه صحبت است.
FP به آرامی اما مطمئناً به یک معامله بزرگ تبدیل میشود. چرا اینطور است؟
زیرا FP یکی از بزرگترین نوآوریها در تاریخ توسعه نرمافزار است. باحال هم هست سرگرم کننده نیز.
با رشد مفاهیمی مانند کانتینرسازی و برنامههای بدون سرور، FP فقط برای پروژههای وقت آزاد توسعهدهندگان کمی سرگرمکننده نیست. این مد نیست که چند سال دیگر فراموش شود. سود واقعی برای ذینفعان ما دارد.
علاوه بر این، در دنیای داتنت، چندین فاکتور اضافی در بازی وجود دارد. مادز تورگرسون، طراح اصلی C#، خود از طرفداران FP و یکی از نیروهای محرکه اصلی پذیرش الگوی عملکردی در داتنت است. همچنین F#، زبان کاربردی داتنت وجود دارد. از آنجایی که F# و C# یک زمان اجرا مشترک دارند، بسیاری از ویژگیهای کاربردی درخواست شده توسط تیم F# اغلب در سیشارپ نیز به شکلی در دسترس میشوند.
با این حال، سؤالات بزرگ باقی میمانند: FP چیست؟ و آیا برای اینکه بتوانم از آن استفاده کنم نیاز به یادگیری کامل یک زبان برنامهنویسی جدید دارم؟ خبر خوب این است که اگر یک توسعهدهنده داتنت هستید، نیازی نیست بخشهای زیادی از زمان خود را صرف یادگیری یک فناوری جدید صرف کنید تا بهروز باشید.
شما حتی نیازی به سرمایه گذاری در کتابخانه شخص ثالث دیگری برای افزودن به وابستگیهای برنامه خود ندارید: FP با کد سیشارپ خارج از جعبه امکان پذیر است، البته با کمی سرهمبندی.
کتاب Functional Programming with C# تمام مفاهیم اساسی FP را معرفی میکند، مزایای آنها را نشان میدهد، و نحوه دستیابی به آنها را در سیشارپ توضیح میدهد – نه فقط برای برنامهنویسی سرگرمی شما، بلکه با نگاهی واقعی به سمت سودمندی فوری برای زندگی کاری شما.
این مزایا شامل موارد زیر است:
- کدی که تمیزتر، مرتبتر و راحتتر خوانده شود
- یک پایگاه کد سادهتر برای نگهداری
- برنامههایی که به طور قابل توجهی کمتر از استثناهای کنترل نشده و پیامدهای غیرقابل پیشبینی آنها رنج می برند
- یک پایگاه کد که نوشتن تستهای واحد خودکار برای آن آسانتر است
- نکات و ترفندهای بیشتر!
چه کسی باید کتاب Functional Programming with C# را بخواند؟
این کتاب برای توسعهدهندگان – اعم از حرفهای، دانشجو یا علاقهمند – که در حال حاضر پایه اولیه C# دارند در نظر گرفته شده است. نیازی نیست که یک متخصص باشید، اما باید با اصول اولیه آشنا باشید و در کنار هم قرار دادن حداقل یک برنامه C# نسبتا ساده احساس راحتی کنید.
برخی از موضوعات پیشرفته تر داتنت پوشش داده شده است، اما وقتی مطرح شد توضیحاتی ارائه خواهم کرد.
کتاب Functional Programming with C# با در نظر گرفتن چند دسته از افراد نوشته شده است:
- کسانی از شما که اصول C# را یاد گرفتهاید، اما میخواهید راههایی برای پیشبرد یادگیری خود از طریق تکنیکهای پیشرفتهتر برای نوشتن کدهای بهتر و قویتر بیابید.
- توسعهدهندگان داتنت که نام FP را شنیدهاند و شاید حتی می دانند که چیست، اما می خواهند بدانند چگونه نوشتن کد به این روش در سیشارپ را آغاز کنند.
- توسعهدهندگان F# به دنبال راههایی برای ادامه استفاده از اسباببازیهای کاربردی هستند که به آنها عادت کردهاید.
- کسانی که از زبان کاربردی یا پشتیبانی کننده دیگری (مانند جاوا) به داتنت مهاجرت می کنند.
- هر کسی که واقعاً عاشق کدنویسی است. اگر تمام روز را در دفتر نوشتن کد میگذرانید، سپس برای سرگرمی به خانه میآیید تا بیشتر بنویسید، این کتاب احتمالا برای شما مناسب است.
چرا کتاب Functional Programming with C# را نوشتم؟
من از زمانی که به یاد دارم به برنامهنویسی علاقه داشتم. وقتی پسر جوانی بودم، یک ZX Spectrum داشتیم، یک کامپیوتر خانگی بریتانیایی که توسط Sinclair Research در اوایل دهه 80 ساخته شد.
اگر کسی کومودور 64 را به خاطر بیاورد، کمی شبیه آن بود، اما بسیار ابتدایی تر بود. این فقط 15 رنگ و وضوح صفحه نمایش 256 × 192.1 داشت. من مدل پیشرفته تری با حافظه 48 هزار تومانی داشتم، اگرچه پدرم دستگاه قبلی، ZX81 را داشت که یک کیلوبایت حافظه در دسترس داشت (و کلیدهای لاستیکی).
حتی نمیتواند دارای شخصیتهای رنگارنگ باشد، فقط قسمتهایی از صفحه، بنابراین آواتار بازی شما به رنگ هر چیزی که در مقابل آن ایستاده بودند تغییر میکند. خلاصه روی نان تست عالی بود.
یکی از بهترین چیزها در مورد آن، سیستم عامل آن بود که عملاً از یک رابط برنامهنویسی مبتنی بر متن تشکیل شده بود، و برای بارگذاری یک بازی به کد نیاز بود (از نوار کاست، با دستور LOAD “”)، اما مجلات و کتابهای کودکان در دسترس با کد شما میتوانید خودتان را برای بازی وارد کنید. از اینها بود که من وسواس ماندگار خود را در مورد رمز و رازهای کدهای کامپیوتری توسعه دادم. با تشکر فراوان، انتشارات Usborne!
زمانی که حدوداً 14 ساله بودم، یک برنامه مشاوره شغلی مبتنی بر کامپیوتر در مدرسه به من پیشنهاد داد که بتوانم به شغلی در زمینه توسعه نرمافزار فکر کنم. این اولین باری است که متوجه شدم شما میتوانید از این سرگرمی احمقانه استفاده کنید و آن را به چیزی تبدیل کنید که واقعاً میتوانید از آن درآمد کسب کنید!
بعد از اتمام دانشگاه، زمان پیدا کردن یک شغل مناسب فرا رسیده بود، و اینجا بود که برای اولینبار با سیشارپ آشنا شدم. بنابراین، قدم بعدی، فکر میکردم، یادگیری نحوه توسعه کد به درستی بود. آسان است، درست است؟ صادقانه بگویم، تقریباً دو دهه بعد، من هنوز در تلاش هستم تا آن را حل کنم.
یکی از نقاط عطف بزرگ برای من در حرفه برنامهنویسیام شرکت در کنفرانس توسعهدهندگان در نروژ و در نهایت شروع به درک این موضوع بود که این برنامهنویسی کاربردی که در مورد آن میشنیدم واقعاً درباره چیست. کد عملکردی ظریف، مختصر و آسان برای خواندن است، به گونه ای که به نظر نمیرسد سایر اشکال کد اینطور باشند.
مانند هر نوع کد دیگری، نوشتن پایگاههای کد با ظاهر وحشتناک هنوز امکانپذیر است، اما هنوز اساساً احساس میشود که کدنویسی در نهایت به درستی انجام شده است، به گونه ای که من هرگز واقعاً از سبکهای دیگر کدنویسی احساس نکرده ام. امیدواریم، پس از خواندن این کتاب، نه تنها موافق باشید، بلکه علاقه مند به جستجوی بسیاری از راههای موجود در آنجا برای کاوش بیشتر آن باشید.
پیمایش در کتاب Functional Programming with C#
من این کتاب را به این ترتیب تنظیم کردهام:
فصل 1 کتاب Functional Programming with C# مقدمه است و دربرگیرنده کارهایی است که میتوانید در حال حاضر برای شروع برنامهنویسی کاربردی در سیشارپ انجام دهید، بدون اینکه نیازی به ارجاع به یک بسته NuGet جدید، استفاده از کتابخانه شخص ثالث یا هک کردن آن زبان باشد.
تقریباً تمام مثالهای این فصل تقریباً با هر نسخه از C# از نسخه 3 کار میکنند. این از کتاب Functional Programming with C# فصل اولین گامهای FP را ارائه میکند که همگی کدهای نسبتاً آسانی هستند، که پایهای را برای آنچه در آینده میآیند تنظیم میکند.
بخش اول کتاب Functional Programming with C#، «ما قبلاً چه میکنیم؟» (فصلهای 2 تا 4)، درباره راههایی است که میتوانید چند ایده کاربردی را در برنامهنویسی روزانه سیشارپ خود بدون نیاز به انجام کاری که اساساً ناآشنا است بپذیرید.
بسیاری از نمونههای کد C# ساده و خارج از جعبه هستند. اگر قبلاً نام FP را نشنیدهاید و میخواهید یک معرفی خوب و ملایم داشته باشید، این فصلها را امتحان کنید. به این فکر کنید که انگشتان پای خود را در آب فرو کنید تا ببینید آیا علاقه مند به شنا هستید یا خیر.
قسمت دوم کتاب Functional Programming with C#، «عمیق شدن در توابع» (فصلهای 5 تا 10)، جایی است که دستکشها در میآیند، و من شروع به معرفی برخی از مفاهیم کاربردی «مناسب» میکنم. هر چند وحشت نکنید؛ من شیب ملایمی را به سمت قله طی میکنم و ایدهها را به آرامی و در قطعاتی با هضم آسان و کوچک معرفی خواهم کرد.
قسمت سوم کتاب Functional Programming with C#، «و از طرف دیگر» (فصل 11 تا 14)، همه چیزهایی را که تاکنون آموختهاید جمعبندی و ادغام میکند، و همچنین پیشنهاد میکند که در کجا ممکن است راههایی برای ادامه یادگیری بیشتر در نظر بگیرید.
با خیال راحت در سطحی که برای آن آمادگی دارید عمیق شوید. این یک رمان نیست؛ فصلهای کتاب Functional Programming with C# را به ترتیبی که برای شما منطقی است بخوانید.
سرفصلهای کتاب Functional Programming with C#:
- Preface
- 1. Introduction
- I. What Are We Already Doing?
- 2. What Can We Do Already?
- 3. Functional Coding in C# 7 and Beyond
- 4. Work Smart, Not Hard with Functional Code
- II. Into the Belly of the Functional
- 5. Higher-Order Functions
- 6. Discriminated Unions
- 7. Functional Flow
- 8. Currying and Partial Application
- 9. Indefinite Loops
- 10. Memoization
- III. And Out the Other Side
- 11. Practical Functional C#
- 12. Existing Functional Programming Libraries in NuGet
- 13. The Martian Trail
- 14. Conclusion
- Index
- About the Author
جهت دانلود کتاب Functional Programming with C# میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.