C++ Primer (5th Edition)
معرفی کتاب «C++ Primer (5th Edition)» نوشتهٔ Stanley B. Lippman، Josée Lajoie و Barbara E. Moo، منتشرشده توسط نشر Addison-Wesley Professional در سال 2012. این کتاب در 976 صفحه، فرمت pdf، زبان انگلیسی ارائه شده است. «C++ Primer (5th Edition)» در دستهٔ برنامهنویسی قرار دارد.
کتاب «C++ Primer, Fifth Edition» نوشتهٔ استنلی بی. لیپمن، ژوزه لژوا و باربارا ای. مو، یکی از معتبرترین و پرفروشترین منابع آموزشی زبان برنامهنویسی سیپلاسپلاس در جهان است که توسط انتشارات Addison-Wesley Professional منتشر شده. این کتاب که برای استاندارد جدید C++11 بهطور کامل بازنویسی و بهروز شده، بر خلاف بسیاری از کتابهای مشابه، از همان ابتدا کتابخانهٔ استاندارد (Standard Library) را معرفی میکند تا خواننده بدون نیاز به یادگیری تمام جزئیات زبان، بتواند برنامههای مفید و کاربردی بنویسد. با مطالعهٔ این مرجع جامع، مسیر تبدیل شدن از یک برنامهنویس تازهکار به یک توسعهدهندهٔ حرفهای و مسلط به مفاهیم پیشرفتهٔ سیپلاسپلاس را هموار خواهید کرد.
دربارهٔ کتاب —
نسخهٔ پنجم کتاب «C++ Primer» که در سال ۲۰۱۲ منتشر شده، یک راهنمای کامل و مرجع برای یادگیری زبان سیپلاسپلاس مدرن است. این کتاب که بیش از ۹۷۶ صفحه محتوای تخصصی دارد، به پنج بخش اصلی تقسیم شده است: بخش اول به مبانی زبان مانند متغیرها، انواع داده، عبارتها، دستورات، توابع و کلاسها میپردازد؛ بخش دوم به معرفی کتابخانهٔ استاندارد شامل ورودی/خروجی، کانتینرهای دنبالهای و الگوریتمهای عمومی اختصاص دارد؛ بخش سوم ابزارهای مورد نیاز برای نویسندگان کلاس را شامل کنترل کپی، عملگرهای بارگذاریشده و برنامهنویسی شیءگرا پوشش میدهد؛ بخش چهارم به مباحث پیشرفتهای مانند مدیریت حافظه، فضاهای نام و ارثبری چندگانه میپردازد؛ و در نهایت بخش پنجم به کتابخانهٔ کامل استاندارد اختصاص دارد. رویکرد اصلی این کتاب، آموزش سیپلاسپلاس نه بهعنوان زبانی با ریشههای سی، بلکه بهعنوان یک زبان مدرن و شیءگرا از ابتدا است. سبک نگارش کتاب بهگونهای است که مفاهیم پیچیده را با زبانی روشن و مثالهای کاربردی توضیح میدهد و به خواننده کمک میکند تا «دلیل پشت قوانین» را درک کند؛ یعنی بفهمد چرا استاندارد C++11 به این شکل کار میکند.دربارهٔ نویسنده
استنلی بی. لیپمن (Stanley B. Lippman) یکی از چهرههای برجستهٔ دنیای سیپلاسپلاس است که بهخاطر سالها همکاری با دکتر بیارنه استراستروپ (Bjarne Stroustrup)، خالق زبان، بر روی پیادهسازی «سیفرانت» (cfront) که پیادهسازی استاندارد سیپلاسپلاس تا پیش از استاندارد ISO بود، شهرت دارد. او سابقهٔ فعالیت بهعنوان معمار تیم توسعهٔ ویژوال سیپلاسپلاس در مایکروسافت و مشاور ارشد در آزمایشگاه پیشرانهٔ جت (JPL) ناسا را در کارنامهٔ خود دارد. ژوزه لژوا (Josée Lajoie)، یکی دیگر از نویسندگان، عضو تیم توسعهٔ کامپایلر C/C++ در IBM کانادا بوده و ریاست کارگروه هستهٔ زبان در کمیتهٔ استانداردسازی اصلی ANSI/ISO C++ را بر عهده داشته است. باربارا ای. مو (Barbara E. Moo) نیز با نزدیک به سی سال تجربهٔ نرمافزاری، در مدت پانزده سال فعالیت خود در شرکت AT&T، با بیارنه استراستروپ همکاری نزدیک داشته و تیم توسعهٔ سیپلاسپلاس را مدیریت میکرده است. هر سه نویسنده با تجربیات ارزشمند خود در صنعت و استانداردسازی، این کتاب را به یکی از معتبرترین منابع آموزشی زبان تبدیل کردهاند.چرا باید «C++ Primer» را بخوانید؟
- آموزش استاندارد مدرن از ابتدا: برخلاف بسیاری از کتابها که سیپلاسپلاس را با زیرمجموعهی سی آن آموزش میدهند، این کتاب از روز اول بر روی ویژگیهای مدرن و شیءگرای زبان تمرکز دارد و از ایجاد عادتهای بد برنامهنویسی جلوگیری میکند.
- معرفی کتابخانهٔ استاندارد از همان ابتدا: با استفاده از کتابخانهٔ استاندارد، خواننده میتواند از همان روزهای اول برنامههای مفید و کاربردی بنویسد و این امر انگیزهٔ یادگیری را افزایش میدهد.
- پوشش جامع و عمیق مفاهیم: از مبانی مانند انواع داده و حلقهها تا مباحث پیشرفتهای مانند اشارهگرهای هوشمند، الگوریتمهای عمومی، و برنامهنویسی شیءگرا، همه در این کتاب پوشش داده شدهاند.
- تمرینها و مثالهای کاربردی: کتاب شامل تمرینها و مثالهای متعددی است که به درک بهتر مفاهیم کمک کرده و نکات کلیدی را برجسته میسازد.
- منبعی برای برنامهنویسان با تجربه: حتی برنامهنویسانی که با نسخههای قدیمیتر سیپلاسپلاس آشنا هستند، میتوانند با مطالعهٔ این کتاب، دانش خود را با استاندارد C++11 بهروز کنند.
این کتاب برای چه کسانی مناسب است؟
این کتاب بهطور ویژه برای افرادی طراحی شده است که پیشزمینهای در برنامهنویسی دارند و میخواهند زبان سیپلاسپلاس را بهصورت حرفهای و اصولی فرا بگیرند. این کتاب برای مبتدیان مطلق در دنیای برنامهنویسی مناسب نیست، زیرا فرض را بر این میگذارد که خواننده با مفاهیم پایهای برنامهنویسی مانند شرط، حلقه و توابع آشنایی دارد. همچنین، این کتاب برای برنامهنویسانی که پیشتر با زبانهای دیگری مانند جاوا یا سیشارپ کار کردهاند و میخواهند به سیپلاسپلاس مهاجرت کنند، یک منبع ایدهآل محسوب میشود. علاوه بر این، توسعهدهندگانی که نسخههای قدیمیتر سیپلاسپلاس را میشناسند و به دنبال بهروزرسانی دانش خود با استاندارد C++11 هستند، نیز مخاطب این کتاب هستند.سوالات متداول
آیا این کتاب برای یک مبتدی که هیچ پیشزمینهٔ برنامهنویسی ندارد مناسب است؟
خیر، این کتاب برای افرادی که تجربهٔ برنامهنویسی ندارند، توصیه نمیشود. نویسندگان فرض را بر آشنایی خواننده با مفاهیم پایهای برنامهنویسی مانند حلقهها، شرطها و توابع گذاشتهاند. برای یادگیری برنامهنویسی از صفر، بهتر است ابتدا با یک کتاب مقدماتیتر مانند کتاب «Programming: Principles and Practice Using C++» نوشتهٔ خود بیارنه استراستروپ شروع کنید.
آیا این کتاب برای بهروزرسانی دانش برنامهنویسان قدیمی به C++11 مناسب است؟
اگرچه کتاب بهطور کامل برای C++11 بازنویسی شده، اما ویژگیهای جدید در سراسر کتاب پخش شدهاند و کتاب بهصورت یک آموزش گامبهگام از ابتدا طراحی شده است. بنابراین، اگر فقط به دنبال یادگیری ویژگیهای جدید C++11 هستید و با نسخههای قبلی این زبان کاملاً آشنا هستید، ممکن است این کتاب برای شما طولانی و دارای مطالب تکراری باشد و بهتر است به سراغ منابع دیگری بروید که صرفاً به ویژگیهای جدید پرداختهاند.
آیا مثالهای کتاب با کامپایلرهای امروزی همخوانی دارند؟
با توجه به اینکه این کتاب بر اساس استاندارد C++11 نوشته شده، مثالهای آن با تمام کامپایلرهای مدرنی که از این استاندارد پشتیبانی میکنند (مانند GCC، Clang و Microsoft Visual C++) کاملاً سازگار هستند. هرچند استانداردهای جدیدتر C++14، C++17، C++20 و C++23 نیز منتشر شدهاند، اما تسلط بر C++11 بهعنوان سنگبنای این نسخهها، همچنان یک پیشنیاز اساسی محسوب میشود.
Fully updated and recast for the newly released C++11 standard, this authoritative and comprehensive introduction to C++ will help you to learn the language fast, and to use it in modern, highly effective ways. Highlighting today’s best practices, the authors show how to use both the core language and its standard library to write efficient, readable, and powerful code.
C++ Primer, Fifth Edition, introduces the C++ standard library from the outset, drawing on its common functions and facilities to help you write useful programs without first having to master every language detail. The book’s many examples have been revised to use the new language features and demonstrate how to make the best use of them. This book is a proven tutorial for those new to C++, an authoritative discussion of core C++ concepts and techniques, and a valuable resource for experienced programmers, especially those eager to see C++11 enhancements illuminated.
Start Fast and Achieve More
- Learn how to use the new C++11 language features and the standard library to build robust programs quickly, and get comfortable with high-level programming
- Learn through examples that illuminate today’s best coding styles and program design techniques
- Understand the “rationale behind the rules”: why C++11 works as it does
- Use the extensive crossreferences to help you connect related concepts and insights
- Benefit from up-to-date learning aids and exercises that emphasize key points, help you to avoid pitfalls, promote good practices, and reinforce what you’ve learned
Access the source code for the extended examples from informit.com/title/0321714113
C++ Primer, Fifth Edition, features an enhanced, layflat binding, which allows the book to stay open more easily when placed on a flat surface. This special binding method—notable by a small space inside the spine—also increases durability.
This classic and definitive text on the C++ language has been extensively revised and expanded. In its third edition, it is based on the final draft specification of ANSI/ISO Standard. Be forewarned, this is a primer in name only; there is nothing simplistic in its presentation or in its breadth and scope. Knowledge of C is NOT assumed, but knowledge of object-oriented programming and a modern language will make this text more understandable. As the authors point out, "This book is intended as a first book on C++; it is not intended as a first book on programming!"