دانلود کتاب Pragmatic Programmer
هرکسی که (هر چند کم) برنامهنویسی کرده باشد، به خوبی میداند که دانش برنامهنویسی به هیچ عنوان یادگیری نحو یک زبان برنامهنویسی نیست. این که یک پروژۀ نرمافزاری را از کجا شروع کنیم، چه معیارهایی را در طراحی آن لحاظ کنیم، چطور نظم پروژه را حفظ کنیم، با پیغامهای خطا چگونه برخورد کنیم، با تغییرات احتمالی چگونه برخورد کنیم، چگونه پروژه و خود را برای این تغییرات آماده کنیم و چگونه خطای برنامه را پیدا کنیم از مشغولیتهای ذهنی متداول یک برنامهنویس است که هیچ کدام از این موارد ربط مستقیمی به نحو زبان برنامهنویسی ندارد. کتاب برنامه نویس عملگرا موضوعاتی از این دست را مورد بررسی قرار میدهد.
اگر بخواهیم کمی در مورد تاریخچۀ کتاب صحبت کنیم، باید به ویرایش اول کتاب که در سال ۱۹۹۹ منتشر شده نگاهی داشته باشیم. برنامهنویس عملگرا کتاب معروفی در حوزۀ مهندسی نرمافزار بوده که توسط اندی هانت و دیو توماس نوشته شده است. موفقیت ویرایش اول این کتاب به حدی بود که نویسندگان این کتاب تصمیم به تاسیس انتشاراتی به نام «قفسه کتاب عملگرا» گرفتند. این انتشارات، کتابهای متعددی با شعار «بهبود زندگی توسعهدهندگان حرفهای نرمافزار» به چاپ رسانده است. در گذر زمان و با پیشرفتهای روزبهروز حوزۀ نرمافزار، کتاب برنامه نویس عملگرا از یک کتاب مرجع به یک کتاب قدیمی تبدیل شد که تنها خاطرۀ خوشی از آن به یاد ماند. در سال ۲۰۱۹ به مناسبت بیستمین سالگرد انتشار این کتاب، ویرایش دوم آن با تغییرات عمده منتشر شد و توانست محبوبیت نسخۀ اول را تکرار کند. ویرایش جدید کتاب در سایت آمازون، به عنوان یکی از پرفروشترین کتابهای حوزههای مهندسی نرمافزار، تست نرمافزار و زبانهای برنامهنویسی معرفی شده است.
Andy and Dave wrote this influential, classic book to help their clients create better software and rediscover the joy of coding. Almost twenty years later, its advice is still spot on, and the Pragmatic philosophy has spawned hundreds of books, screencasts, and audio books, as well as thousands of careers and success stories.
This new edition examines the core of modern software development—understanding what is wanted and producing working, maintainable code that delights its users. It covers topics ranging from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse