کتاب Professional C++, 6th Edition (سی پلاس پلاس حرفه ای، ویرایش ششم) را به جرات میتوان یکی از بهترین منابع آموزش زبان ++C نامید. این کتاب در 6 بخش مختلف از مقدمات تا نکات پیشرفتهی این زبان را همراه مثالهای متعدد و رفع مشکل بیان میکند.
در ادامه مقدمهای از کتاب Professional C++ را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Professional C++:
توسعه C++ در سال ۱۹۸۲ توسط Bjarne Stroustrup، دانشمند کامپیوتر دانمارکی، به عنوان جانشین C with Classes آغاز شد. در سال ۱۹۸۵ اولین ویرایش کتاب زبان برنامهنویسی C++ منتشر شد. اولین نسخه استاندارد C++ در سال ۱۹۹۸ به نام C++۹۸ منتشر شد.
در سال ۲۰۰۳، C++ نسخه 03 منتشر شد و حاوی چند به روزرسانی کوچک بود. پس از آن، برای مدتی ساکت بود، اما کشش به آرامی شروع به ایجاد کرد، و در نتیجه بهروزرسانی بزرگی از زبان در سال ۲۰۱۱ به نام C++۱۱ انجام شد. از آن زمان به بعد، کمیته استاندارد C++ در یک چرخه سه ساله برای انتشار نسخههای به روز شده، به ما C++۱۴، C++۱۷، C++۲۰، و اکنون C++۲۳ را ارائه میکند.
در مجموع، با انتشار C++۲۳ در سال ۲۰۲۳، C++ تقریباً ۴۰ سال از عمرش میگذرد و همچنان قوی است. در اکثر رتبهبندیهای زبانهای برنامهنویسی در سال ۲۰۲۳، C++ در چهار رتبه برتر قرار دارد.
این در طیف بسیار وسیعی از سختافزار استفاده میشود، از دستگاههای کوچک با ریزپردازندههای تعبیهشده تا ابررایانههای چند رک. علاوه بر پشتیبانی سختافزاری گسترده، C++ را میتوان برای مقابله با تقریباً هر شغل برنامهنویسی، اعم از بازیهای روی پلتفرمهای موبایل، هوش مصنوعی حیاتی (AI) و نرمافزار یادگیری ماشین (ML)، اجزای ماشینهای خودران، در زمان واقعی استفاده کرد.
-موتورهای گرافیکی D، درایورهای سختافزاری سطح پایین، کل سیستم عاملها، پشتههای نرمافزاری برای تجهیزات شبکه، مرورگرهای وب و غیره. عملکرد برنامههای ++C به سختی با هر زبان برنامهنویسی دیگری مطابقت دارد و به همین دلیل، این زبان عملاً برای نوشتن برنامههای سریع، قدرتمند و کلاس سازمانی است.
شرکتهای بزرگ فناوری مانند مایکرؤسافت، فیسبوک، آمازون، گوگل و بسیاری دیگر از سرویسهای نوشته شده در C++ برای اجرای زیرساختهای خود استفاده میکنند. همانطور که C++ محبوب شده است، درک کامل زبان ممکن است دشوار باشد. تکنیکهای ساده، اما قدرتمندی وجود دارد که برنامهنویسان حرفهای C++ از آنها استفاده میکنند که در متون سنتی نشان داده نمیشوند، و بخشهای مفیدی از C++ وجود دارد که حتی برای برنامهنویسان باتجربه C++ نیز یک راز باقی میماند.
اغلب، کتابهای برنامهنویسی به جای استفاده در دنیای واقعی، روی نحو زبان تمرکز میکنند. متن معمولی C++ بخش عمدهای از زبان را در هر فصل کتاب Professional C++، معرفی میکند، نحو را توضیح میدهد و مثالی ارائه میدهد. ++C حرفهای از این الگو پیروی نمیکند.
کتاب Professional C++ به جای اینکه فقط نکات زبانی را با زمینه کاربردی کمی به شما بدهد، نحوه استفاده از C++ را در دنیای واقعی به شما آموزش میدهد. این ویژگیهای کمتر شناخته شدهای را به شما نشان میدهد که زندگی شما را آسانتر میکند، همچنین تکنیکهای برنامهنویسی که تازه کارها را از برنامهنویسان حرفهای جدا میکند.
بیشتر بخوانید: کتاب Strings in C++
کتاب Professional C++ برای چه کسانی است؟
حتی اگر سالها از این زبان استفاده کرده باشید، ممکن است هنوز با ویژگیهای پیشرفتهتر C++ آشنا نباشید، یا ممکن است از تمام قابلیتهای زبان استفاده نکنید. شاید هنوز همه ویژگیهای جدید معرفی شده با آخرین نسخه، C++۲۳ را ندانید.
شاید شما کد C++ را بنویسید اما دوست دارید در مورد طراحی و سبک برنامهنویسی خوب در C++ بیشتر بدانید. یا شاید شما نسبتاً تازه کار با ++C هستید اما میخواهید از همان ابتدا روش \”درست\” برنامهنویسی را یاد بگیرید. این کتاب این نیازها را برآورده میکند و مهارتهای ++C شما را به سطح حرفهای میرساند.
از آنجایی که کتاب Professional C++ بر پیشرفت از دانش پایه یا متوسط C++ تا تبدیل شدن به یک برنامهنویس حرفهای C++ تمرکز دارد، فرض میکند که شما دانشی در مورد برنامهنویسی دارید.
فصل ۱، \”یک دوره آموزشی Crash در C++ و کتابخانه استاندارد\”، مبانی C++ را به عنوان یک تجدیدکننده پوشش میدهد، اما جایگزینی برای آموزش واقعی برنامهنویسی نیست. اگر به تازگی با C++ شروع کردهاید اما در زبان برنامهنویسی دیگری مانند C، Java یا C# تجربه دارید، باید بتوانید بیشتر آنچه را که نیاز دارید از فصل ۱ کتاب Professional C++ انتخاب کنید.
در هر صورت، شما باید یک پایه محکم در اصول برنامهنویسی داشته باشید. شما باید در مورد حلقهها، توابع و متغیرها بدانید. شما باید نحوه ساختار یک برنامه را بدانید و با تکنیکهای اساسی مانند بازگشت آشنا باشید.
شما باید کمی از ساختارهای داده رایج مانند صفها و الگوریتمهای مفید مانند مرتبسازی و جستجو اطلاعات داشته باشید. شما هنوز نیازی به دانستن در مورد برنامهنویسی شی گرا ندارید – که در فصل ۵ کتاب Professional C++، \”طراحی با کلاس ها\” پوشش داده شده است.
همچنین باید با کامپایلری که برای کامپایل کد خود استفاده میکنید آشنا باشید. دو کامپایلر Microsoft Visual C++ و GCC بعداً در این مقدمه معرفی میشوند. برای سایر کامپایلرها، به مستنداتی که با کامپایلر شما ارائه شده است مراجعه کنید.
بیشتر بخوانید: کتاب C++ Programming for Linux Systems
کتاب Professional C++ چه چیزی را پوشش میدهد:
C++ حرفهای از رویکردی برای برنامهنویسی C++ استفاده میکند که هم کیفیت کد شما را افزایش میدهد و هم کارایی برنامهنویسی شما را بهبود میبخشد. در نسخه ششم کتاب Professional C++، بحثهایی در مورد ویژگیهای جدید C++۲۳ خواهید دید. این ویژگیها فقط در چند فصل یا بخش مجزا نیستند. در عوض، نمونهها برای استفاده از ویژگیهای جدید در صورت لزوم به روز شدهاند.
C++ حرفهای به شما بیش از ویژگیهای نحوی و زبانی C++ را میآموزد. همچنین بر روشهای برنامهنویسی، الگوهای طراحی قابل استفاده مجدد و سبک برنامهنویسی خوب تأکید دارد. متدولوژی C++ حرفهای کل فرآیند توسعه نرمافزار، از طراحی و نوشتن کد گرفته تا اشکال زدایی و کار گروهی را در بر میگیرد. این رویکرد شما را قادر میسازد به زبان C++ و ویژگیهای خاص آن تسلط داشته باشید و همچنین از قابلیتهای قدرتمند آن برای توسعه نرمافزار در مقیاس بزرگ بهره ببرید.
کاربرانی را تصور کنید که تمام سینتکس C++ را بدون دیدن نمونهای از کاربرد آن یاد گرفتهاند. آنها به اندازه کافی میدانند که خطرناک باشند! بدون مثال، آنها ممکن است فرض کنند که همه کدها باید در تابع main() برنامه قرار گیرند یا اینکه همه متغیرها باید سراسری باشند – اقداماتی که عموماً نشانههای برنامهنویسی خوب در نظر گرفته نمیشوند.
برنامهنویسان حرفهای C++ علاوه بر نحو، روش صحیح استفاده از زبان را نیز درک میکنند. آنها اهمیت طراحی خوب، تئوریهای برنامهنویسی شیگرا و بهترین راههای استفاده از کتابخانههای موجود را تشخیص میدهند. آنها همچنین زرادخانهای از کدهای مفید وایدههای قابل استفاده مجدد را توسعه دادهاند.
با خواندن و درک این کتاب به یک برنامهنویس حرفهای ++C تبدیل خواهید شد. دانش خود را در C++ گسترش میدهید تا ویژگیهای زبان کمتر شناخته شده و اغلب اشتباه گرفته شده را پوشش دهید. شما از طراحی شی گرا قدردانی خواهید کرد و مهارتهای درجه یک اشکالزدایی را به دست خواهید آورد. شاید مهمتر از همه، شما این کتاب را با انبوهی ازایدههای قابل استفاده مجدد که میتوانید در کار روزانه خود به کار ببرید، به پایان خواهید رساند.
دلایل خوبی برای تلاش برای برنامهنویسی حرفهای C++ در مقابل برنامهنویسانی که C++ میدانند وجود دارد. درک عملکرد واقعی زبان کیفیت کد شما را بهبود میبخشد. یادگیری در مورد روشها و فرآیندهای مختلف برنامهنویسی به شما کمک میکند تا با تیم خود بهتر کار کنید.
کشف کتابخانههای قابل استفاده مجدد و الگوهای طراحی متداول، کارایی روزانه شما را بهبود میبخشد و به شما کمک میکند تا از اختراع مجدد چرخ دست بردارید. همه این درسها شما را به یک برنامهنویس بهتر و کارمند ارزشمندتری تبدیل میکند. در حالی که این کتاب نمیتواند تضمینی برای ارتقای شما باشد، مطمئناً ضرری هم نخواهد داشت.
ساختار کتاب Professional C++ چگونه است؟
این کتاب از پنج بخش تشکیل شده است.
بخش اول کتاب Professional C++، «مقدمهای بر C++ حرفهای»، با یک دوره آموزشی در مبانی C++ شروع میشود تا پایه و اساس دانش C++ را تضمین کند. پس از دوره تصادف، قسمت اول کار با رشتهها را عمیقتر میکند، زیرا رشتهها در بیشتر نمونهها در سراسر کتاب به طور گسترده استفاده میشوند.
فصل آخر قسمت اول کتاب Professional C++، نحوه نوشتن کدهای C++ خوانا را بررسی میکند.
بخش دوم کتاب Professional C++، \”طراحی نرمافزار C++ حرفه ای\”، روشهای طراحی C++ را مورد بحث قرار میدهد. شما در مورد اهمیت طراحی، روش شی گرا و اهمیت استفاده مجدد از کد خواهید خواند.
بخش سوم کتاب Professional C++، «C++ کدنویسی به روش حرفهای»، یک تور فنی از C++ را از دیدگاه حرفهای ارائه میکند. در مورد بهترین روشهای مدیریت حافظه در C++، نحوه ایجاد کلاسهای قابل استفاده مجدد و نحوه استفاده از ویژگیهای مهم زبان مانند ارث میخوانید.
همچنین تکنیکهایی برای ورودی و خروجی، مدیریت خطا، محلیسازی رشته، نحوه کار با عبارات منظم و نحوه ساختار کد خود در اجزای قابل استفاده مجدد به نام ماژولها را یاد خواهید گرفت. شما در مورد نحوه اجرای overloading اپراتور، نحوه نوشتن الگوها، نحوه اعمال محدودیت بر روی پارامترهای قالب با استفاده از مفاهیم، و نحوه باز کردن قدرت عبارات لامبدا واشیاء تابع خواهید خواند.
این بخش از کتاب Professional C++، همچنین کتابخانه استاندارد C++ شامل کانتینرها، تکرارکنندهها، محدودهها و الگوریتمها را توضیح میدهد. همچنین در مورد برخی از کتابخانههای اضافی که در استاندارد موجود هستند، مانند کتابخانههایی برای کار با زمان، تاریخ، منطقه زمانی، اعداد تصادفی و سیستم فایل خواهید خواند.
بخش چهارم کتاب Professional C++، «تسلط بر ویژگیهای پیشرفته C++»، نشان میدهد که چگونه میتوانید بیشترین بهره را از C++ ببرید. این قسمت از کتاب اسرار C++ را آشکار میکند و نحوه استفاده از برخی از ویژگیهای پیشرفتهتر آن را شرح میدهد. شما در مورد نحوه سفارشیسازی و گسترش کتابخانه استاندارد C++ به نیازهای خود، جزئیات پیشرفته برنامهنویسی قالب، از جمله فرابرنامهنویسی الگو، و نحوه استفاده از چند رشتهای برای استفاده از سیستمهای چند پردازندهای و چند هستهای خواهید خواند.
بخش پنجم کتاب Professional C++، \”مهندسی نرمافزار C++\” بر نوشتن نرمافزار با کیفیت سازمانی تمرکز دارد. شما در مورد شیوههای مهندسی که امروزه توسط سازمانهای برنامهنویسی استفاده میشود، خواهید خواند.
نحوه نوشتن کد کارآمد C++؛ مفاهیم تست نرمافزار، مانند تست واحد و تست رگرسیون؛ تکنیکهای مورد استفاده برای اشکالزدایی برنامههای C++. چگونه تکنیکهای طراحی، چارچوبها و الگوهای طراحی مفهومی شی گرا را در کد خود بگنجانید. و راه حلهایی برای کدهای بین زبانی و چند سکویی.
کتاب Professional C++ با یک راهنمای فصل به فصل مفید برای موفقیت در یک مصاحبه فنی ++C، یک کتابشناسی مشروح، خلاصهای از فایلهای سرصفحه C++ موجود در استاندارد، و مقدمهای کوتاه بر زبان مدلسازی یکپارچه (UML) به پایان میرسد.
کتاب Professional C++ مرجع هر کلاس، تابع عضو و تابع موجود در C++ نیست. کتاب مرجع سریع کتابخانه استاندارد C++۱۷ توسط Peter Van Weert و Marc Gregoire (Apress، ۲۰۱۹. ISBN: ۹۷۸-۱-۴۸۴۲-۴۹۲۳-۹) یک مرجع فشرده به تمام ساختارهای داده ضروری، الگوریتمها و توابع ارائه شده توسط کتابخانه استاندارد C++ تا استاندارد C++۱۷.
ضمیمه B، \”کتابشناسی مشروح\”، چند مرجع دیگر را فهرست میکند. دو مرجع عالی آنلاین عبارتند از:
- cppreference.com: میتوانید از این مرجع به صورت آنلاین استفاده کنید یا یک نسخه آفلاین را برای استفاده در زمانی که به اینترنت متصل نیستید دانلود کنید.
- cplusplus.com/reference
وقتی در کتاب Professional C++ به «مرجع کتابخانه استاندارد» اشاره میکنم، به یکی از این مراجع دقیق C++ اشاره میکنم.
موارد زیر منابع آنلاین عالی اضافی هستند:
- github.com/isocpp/CppCoreGuidelines: C++ Core Guidelines یک تلاش مشترک به رهبری Bjarne Stroustrup، مخترع خود زبان C++ است. آنها نتیجه چندین سال بحث و گفتگو و طراحی در تعدادی از سازمانها هستند. هدف از دستورالعملها کمک به مردم برای استفاده مؤثر از C ++ مدرن است. این دستورالعملها بر روی مسائل نسبتاً سطح بالاتر، مانند رابطها، مدیریت منابع، مدیریت حافظه و همزمانی تمرکز دارند.
- github.com/Microsoft/GSL: این پیادهسازی توسط Microsoft از Guidelines Support Library (GSL) شامل توابع و انواعی است که برای استفاده توسط C++ Core Guidelines پیشنهاد شدهاند. این یک کتابخانه فقط هدر است.
- isocpp.org/faq: این مجموعه بزرگی از سؤالات متداول C++ است.
- stackoverflow.com: پاسخ سؤالات رایج برنامهنویسی را جستجو کنید یا سؤالات خود را بپرسید.
سرفصلهای کتاب Professional C++:
- Cover
- Title Page
- Copyright Page
- About the Author
- Contents
- Introduction
- Part I Introduction to Professional C++
- Chapter 1 A Crash Course in C++ and the Standard Library
- Chapter 2 Working with Strings and String Views
- Chapter 3 Coding with Style
- Part II Professional C++ Software Design
- Chapter 4 Designing Professional C++ Programs
- Chapter 5 Designing with Classes
- Chapter 6 Designing for Reuse
- Part III C++ Coding the Professional Way
- Chapter 7 Memory Management
- Chapter 8 Gaining Proficiency with Classes and Objects
- Chapter 9 Mastering Classes and Objects
- Chapter 10 Discovering Inheritance Techniques
- Chapter 11 Modules, Header Files, and Miscellaneous Topics
- Chapter 12 Writing Generic Code with Templates
- Chapter 13 Demystifying C++ I/0
- Chapter 14 Handling Errors
- Chapter 15 Overloading C++ Operators
- Chapter 16 Overview of the C++ Standard Library
- Chapter 17 Understanding Iterators and the Ranges Library
- Chapter 18 Standard Library Containers
- Chapter 19 Function Pointers, Function Objects, and Lambda Expressions
- Chapter 20 Mastering Standard Library Algorithms
- Chapter 21 String Localization and Regular Expressions
- Chapter 22 Date and Time Utilities
- Chapter 23 Random Number Facilities
- Chapter 24 Additional Vocabulary Types
- Part IV Mastering Advanced Features of C++
- Chapter 25 Customizing and Extending the Standard Library
- Chapter 26 Advanced Templates
- Chapter 27 Multithreaded Programming with C++
- Part V C++ Software Engineering
- Chapter 28 Maximizing Software Engineering Methods
- Chapter 29 Writing Efficient C++
- Chapter 30 Becoming Adept at Testing
- Chapter 31 Conquering Debugging
- Chapter 32 Incorporating Design Techniques and Frameworks
- Chapter 33 Applying Design Patterns
- Chapter 34 Developing Cross-Platform and Cross-Language Applications
- Part VI Appendices
- Appendix A C++ Interviews
- Appendix B Annotated Bibliography
- Appendix C Standard Library Header Files
- Appendix D Introduction to UML
- Index
- EULA
جهت دانلود کتاب Professional C++ میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.