کتاب Parallel Programming with C# and .NET: Fundamentals of Concurrency and Asynchrony Behind Fast-Paced Applications (برنامهنویسی موازی با سیشارپ و داتنت: مبانی همزمانی و ناهمزمانی پشت برنامههای سریع) با مروری بر کتابخانه موازی وظیفه (TPL) و بحث در مورد وظایف شروع میشود. درک این زمینهها برای یادگیری مفاهیمی که در ادامه کتاب آمده است ضروری است. شما از سناریوهای خاصی مانند رسیدگی به استثناها و ابطال، به دنبال آن نمایش تکنیکهای همگامسازی و مجموعههای همزمان عبور خواهید کرد.
شما نمایش حلقههای موازی را برای سرعت بخشیدن به محاسبات مشاهده خواهید کرد و PLINQ را به طور دقیق خواهید فهمید. در نهایت، نحوه سادهسازی برنامهنویسی ناهمزمان با استفاده از کلمات کلیدی async و await را یاد خواهید گرفت.
در ادامه مقدمهای از کتاب Parallel Programming with C# and .NET را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Parallel Programming with C# and .NET:
نرمافزار مدرن بسیار پاسخگو و مقیاسپذیر است. در نتیجه، پشتیبانی از محاسبات موازی بخش ضروری آن است. بیتردید این یک مفهوم پیشرفته است و راهحلها ساده نیستند. بسیاری از توسعهدهندگان توسط آنها سوزانده شدهاند (و همچنان در حال سوختن هستند).
علاوه بر این، برنامهنویسی موازی یک موضوع گسترده است که نیاز به ملاحظات مختلف دارد. همچنین ممکن است متوجه شوید که بسیاری از الگوهای استفاده شده در گذشته برای مقابله با برنامهنویسی ناهمزمان و موازی اکنون توصیه نمیشوند.
کتاب Parallel Programming with C# and .NET سعی دارد با استفاده از ویژگیها و کتابخانههای مدرن C# که مایکروسافت توصیه میکند، این مفهوم را ساده کند. به سفر خود از طریق برنامهنویسی موازی با C# و .NET: اصول اولیه همزمانی و ناهمزمانی پشت برنامههای سریع خوش آمدید.
C# یک زبان برنامهنویسی قدرتمند است، در دنیای برنامهنویسی بسیار پذیرفته شده است، که میتواند به شما در ساخت طیف گستردهای از برنامهها کمک کند. در طول توسعه C#، ویژگیها و کتابخانههای حمایتی برای پشتیبانی از برنامهنویسی موازی توسعه یافتهاند. این یکی از دلایل اصلی است که دائماً در حال رشد است و همیشه تقاضای بالایی دارد. بنابراین، جای تعجب نیست که توسعهدهندگان موجود و آینده (به عنوان مثال، دانشجویان کالج و عاشقان برنامهنویسی) میخواهند از C# برای برنامهنویسی موازی استفاده کنند.
بسیاری از توسعهدهندگان سعی میکنند در کوتاهترین زمان ممکن برنامهنویسی موازی را یاد بگیرند. تلاش برای یادگیری چیزی به سرعت ممکن ستودنی است، اما آیا مشکل را میدانید؟
ما در دنیایی زندگی میکنیم که به شما مطالب، تبلیغات و راهحلهای سریعی زیادی ارائه میدهد تا توجه شما را جلب کند. ما انسانها دوست داریم خیالپردازی کنیم. بنابراین، از این رفتار استفاده میکنند و شروع به ادعا میکنند که میتوانید همه چیز را در یک روز، یک هفته یا یک ماه یاد بگیرید. آیا این درست است؟ از خودتان بپرسید و پاسخ را خواهید گرفت.
مالکوم گلدول در کتاب خود با نام «خارج از قاعده» (Little, Brown, and Company) در مورد قانون 10,000 ساعته صحبت کرد. این قانون میگوید که کلید دستیابی به تخصص جهانی در هر مهارتی، تا حد زیادی، یک موضوع تمرین صحیح به مدت حدود 10,000 ساعت است.
بنابراین، احتمالاً میتوانید ببینید که حتی اگر ممکن است ادعا کنیم که چیزی را بسیار خوب میدانیم، در واقع احتمالاً بسیار کم میدانیم. یادگیری یک فرآیند مداوم است، بدون پایان.
پس باید یادگیری را متوقف کنیم؟ قطعاً، پاسخ خیر است. پس چه باید بکنیم؟ میتوانیم یک فرآیند یادگیری مؤثر را دنبال کنیم که به شما نحوه یادگیری سریع برای خدمت به نیاز را آموزش میدهد. اینجاست که دوست دارم شما را به اصل پارتو یا قانون 80-20 یادآوری کنم.
این قانون به سادگی بیان میکند که 80% از نتایج از 20% از همه علل ناشی میشود. این در برنامهنویسی نیز مفید است. هنگامی که واقعاً اصول و مهمترین جنبههای برنامهنویسی موازی را یاد میگیرید، آن زمان است که میتوانید از آن به طور مؤثر برای بهبود کد خود استفاده کنید. از همه مهمتر، سطح اعتماد به نفس شما افزایش خواهد یافت و شما از آزمایش بیشتر نخواهید ترسید. کتاب Parallel Programming with C# and .NET برای کسانی است که این حقایق را میشناسند.
نحوه سازماندهی کتاب Parallel Programming with C# and .NET
این کتاب به شما کمک میکند تا اصول اصلی برنامهنویسی موازی را با استفاده از شش فصل با بسیاری از مطالب حمایتی درک کنید. برای اینکه ایده ای در مورد نحوه سازماندهی هر فصل داشته باشید، لیست زیر در مورد محتوای کتاب صحبت می کند:
- فصل 1 با مروری بر کتابخانه موازی وظیفه (TPL) شروع میشود و وظایف را مورد بحث قرار میدهد. این موضوعات پایه برای فصلهای آینده هستند.
- فصل 2 سناریوهای خاصی مانند رسیدگی به استثناها و لغوها را مورد بحث قرار میدهد.
- فصل 3 کتاب Parallel Programming with C# and .NET تکنیکهای همگامسازی و مجموعههای همزمان را مورد بحث قرار میدهد.
- فصل 4 کلاس موازی را مورد بحث قرار میدهد که به شما کمک میکند با حلقههای موازی آزمایش کنید تا محاسبات را سرعت بخشید.
- فصل 5 PLINQ موازی را مورد بحث قرار میدهد. فصل 6 سادهسازی برنامهنویسی ناهمزمان با استفاده از کلمات کلیدی async و await را مورد بحث قرار میدهد. سرانجام، ضمیمه برخی از مطالب اضافی را که در فصلهای قبلی مورد بحث قرار نگرفتهاند، به شما ارائه میدهد.
من همیشه از یادگیری هنگام تجزیه و تحلیل مطالعات موردی، پرسیدن سوالات و انجام تمرینات لذت بردهام. بنابراین، در طول کتاب Parallel Programming with C# and .NET، شما کد برنامه جالبی، “جلسات پرسش و پاسخ” و تمرینات را مشاهده خواهید کرد.
با تجزیه و تحلیل این پرسش و پاسخها و انجام تمرینات، میتوانید پیشرفت خود را تأیید کنید. همانطور که ذکر شد، اینها برای آسانتر و لذتبخشتر کردن یادگیری شما ارائه میشوند، اما مهمتر از همه، آنها شما را به عنوان یک توسعهدهنده مطمئن خواهند کرد.
هر سوال در این “جلسات پرسش و پاسخ” با Q<شماره فصل>.<شماره سوال> مشخص شده است. به عنوان مثال، Q5.3 به معنای سوال 3 از فصل 5 است. در پایان فصل، چند تمرین خواهید دید. میتوانید از آنها برای ارزیابی پیشرفت خود استفاده کنید. هر سوال در این تمرینات با E<شماره فصل>.<شماره سوال> مشخص شده است. به عنوان مثال، E6.2 به معنای تمرین 2 از فصل 6 است.
میتوانید تمام کد منبع کتاب را از وب سایت ناشر دانلود کنید.
دانش پیش نیاز
من انتظار دارم که با C# بسیار آشنا باشید. در واقع، دانستن برخی از مفاهیم پیشرفته مانند نمایندگان و عبارات lambda میتواند یادگیری شما را سرعت بخشد. بنابراین، فرض میکنم که میدانید چگونه یک برنامه C# را در Visual Studio کامپایل یا اجرا کنید.
کتاب Parallel Programming with C# and .NET زمان زیادی را صرف موضوعات اساسی مانند نحوه نصب Visual Studio روی سیستم خود، نحوه نوشتن یک برنامه “Hello World” در C# و غیره نمیکند. خلاصه اینکه خوانندگان هدف کتاب Parallel Programming with C# and .NET کسانی هستند که میخواهند با استفاده از قدرت برنامهنویسی شیگرا (OOP) و برنامهنویسی تابعی (FP) بیشترین بهره را از C# ببرند.
کتاب Parallel Programming with C# and .NET برای چه کسانی است؟
اگر بتوانید به سوالات زیر «بله» پاسخ دهید، بیشترین بهره را از این کتاب خواهید برد:
- آیا با .NET، C# و مفاهیم اساسی شیگرا مانند چندشکلی، وراثت، انتزاع و کپسولهسازی آشنا هستید؟
- آیا با برخی از مفاهیم پیشرفته در C# مانند نمایندگان، عبارات lambda و موارد عمومی آشنا هستید؟
- آیا میدانید که چگونه محیط کدنویسی خود را راهاندازی کنید؟
- آیا علاقهمند به دانستن این هستید که چگونه سازههای مدرن C# میتوانند در برنامهنویسی موازی به شما کمک کنند؟
- اگر بتوانید به هر یک از سوالات زیر «بله» پاسخ دهید، احتمالاً با کتاب Parallel Programming with C# and .NET مشکل خواهید داشت:
- آیا به دنبال یک کتاب آموزشی یا مرجع C# هستید؟
- آیا آماده نیستید که با استفاده از یک زبان برنامهنویسی غیر از C# با برنامهنویسی موازی آزمایش کنید؟
- آیا از ویندوز، Visual Studio و/یا .NET بدتان میآید یا میخواهید بدون آنها برنامهنویسی موازی را یاد بگیرید؟
سرفصلهای کتاب Parallel Programming with C# and .NET:
- Table of Contents
- About the Author
- About the Technical Reviewer
- Acknowledgments
- Foreword
- Introduction
- Chapter 1: Understanding Tasks
- Chapter 2: Handling Special Scenarios
- Chapter 3: Exploring Synchronization and Concurrent Collections
- Chapter 4: Working on Parallel Loops
- Chapter 5: Parallel LINQ
- Chapter 6: Simplifying Asynchronous Programming
- Appendix A: Supplementary Notes
- Appendix B: Recommended Reading
- Appendix C: Other Books by the Author
- Index
جهت دانلود کتاب Parallel Programming with C# and .NET میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.