10 کتاب برنامه نویسی که باید آنها را بخوانید

 مقدمه:

برنامه نویسی هنری است که به واسطه آن می توان در زمینه های مختلف برنامه های کامپیوتری نوشت و برای مشکلات راه حل ابداع کرد.اگر چه programming و coding به جای یکدیگر استفاده می شوند اما programming فقط نوشتن کد نیست. Coding آن بخش از برنامه نویسی را نشان می دهد که شامل کد کامپیوتر است.

از سوی دیگر, Programming یک فرایند گسترده تر است که شامل رویکرد ایجاد ایده ها برای توسعه یک برنامه و همچنین تست آن و موارد دیگر می شود.

در ادامه به 10 تا از کتاب های مهم برنامه نویسی میپردازیم:

1.Clean Code: کتاب راهنمای توسعه نرم‌افزار به روش Agile

نویسنده: رابرت سی مارتین

آخرین ویرایش: اول

انتشارات: Prentice Hall

کاش راهی برای استفاده از اشتباهات دیگر برنامه نویسان وجود داشت. خوشبختانه کتاب Clean Code برای این کار است، این کتاب یک راهنمای توسعه نرم‌افزار به روش Agile از عمو باب افسانه ای (Uncle Bob)است.

این کتاب پیشنهادهای ارزشمندی در مورد Clean Code و توسعه نرم افزار می دهد.  این پیشنهادها شامل انجام گام به گام cleaning, writing  و refactoring code است. در این کتاب مثال های عملی زیادی در مورد تمیز کردن کد وجود دارد.

برای دانلود این کتاب کلیک کنید

2.Introduction to Algorithms ( مقدمه ای بر الگوریتم ها)

نویسنده : Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein

آخرین ویرایش: سوم

انتشارات: MIT Press

نام این کتاب خود توضیحی است یعنی همان چیزی که نمایش داده می شود. به عنوان مثال معرفی الگوریتم ها. این کتاب برنامه نویسی با نام CLRS شناخته شد که حروف اول نام خانوادگی نویسندگان آن می باشد.

تمام الگوریتم هایی که در کتاب Introduction to Algorithms بحث شده است به طور کامل توضیح داده شده و همراه با شبه کد آورده شده است تا در تمام سطوح قابل خواندن باشد حتی برای کسانی که تازه شروع به یادگیری برنامه نویسی کرده اند.

برای دانلود این کتاب کلیک کنید

برای خرید کتاب اینجا کلیک کنید.

3. (Structure and Interpretation of Computer Programs (SICP

نویسنده: Harold Abelson, Gerald Jay Sussman, Julie Sussman

آخرین ویرایش: دوم

انتشارات: MIT Press

این کتاب یکی از بهترین کتاب ها برای یادگیری اصول برنامه نویسی است. این کتاب به عنوان یک دوره مقدماتی برنامه‌نویسی در دانشگاه MIT مورد استفاده قرار می‌گیرد .

اگرچه SCIP یک کتاب ضروری برای برنامه نویسان است اما یادگیری یک یا دو زبان بعد از آن باعث بدست آوردن تجربه های بهتری می شود. این کتاب یک پایه محکم برای شروع برنامه نویسی است و همچنین به برنامه نویسی تابعی نیز می پردازد.

برای دانلود این کتاب کلیک کنید

4- The Clean Code: یک کد برای هدایت برنامه نویسان حرفه ای

نویسنده: رابرت سی مارتین

آخرین ویرایش: اول

انتشارات: Prentice Hall

کتاب Clean Coder توسط نویسنده و مهندس نرم افزار آقای رابرت مارتین  معروف به عمو باب نوشته شده است که شیوه ها, تکنیک ها, و ابزارهای کارآفرینی واقعی نرم افزار را در بر می گیرد. این کتاب نه تنها به شما می گویند چگونه یک کد تمیز بنویسید بلکه نگرش شما را مانند یک برنامه نویس حرفه ای نشان می دهد.

Clean Coder یک ایده مناسب برای کسانی است که می خواهند یک برنامه نویس حرفه ای شوند.

برای دانلود این کتاب کلیک کنید

5- Code Complete: دفترچه راهنمای ساخت نرم افزار

نویسنده: Steve McConnell

آخرین ویرایش: دوم

انتشارات: Microsoft Press

می خواهید بدانید چگونه یک کد قدرتمند بدون توجه به معماری زبان برنامه نویسی بنویسید؟ Code Complete یک راهنمای ساخت نرم افزار است که به صورت جامع تمام جنبه های ساخت نرم افزار را پوشش می دهد.

Code Complete به عنوان یکی از بهترین کتابهای ساخت عملی نرم افزار معرفی شده است. در این کتاب هیچ کمبودی برای نمونه کد وجود ندارد و به صورت کامل هنر توسعه نرم افزار را نشان می دهد.

تکنیک‌ها و استراتژی‌های تست شده در این کتاب به برنامه نویسان و توسعه دهندگان نرم‌افزار در زمینه های زیر کمک می‌کند:

  • بهره مندی از توسعه مشارکتی
  • توسعه نرم افزار باحداقل پیچیدگی
  • اولویت بندی فرایند اشکال زدایی
  • به حداکثر رساندن خلاقیت
  • کاهش خطاها و مشکلات
  • Refactor و کامل کردن کد

صرف نظر از تخصص خوانندگان, محیط برنامه نویسی یا اندازه پروژه, این کتاب در تحریک ذهن برنامه نویس کمک می کند.

برای دانلود این کتاب کلیک کنید

6- Design Patterns : عناصر قابل استفاده مجدد در نرم افزار شی گرا

نویسنده: Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Grady Booch (Foreword)

آخرین ویرایش: اول

انتشارات: Addison-Wesley Professional

آیا می دانید نرم افزار design patterns چیست؟ design patterns نام کتابی است که به این موضوع پرداخته است و خواندن آن اسان نیست.

اگر درک درستی از UML ندارید ممکن است در خواندن مثال ها و اطلاعات آورده شده در این کتاب به مشکل بخورید هر چند که این موضوع شما را از خواندن این کتاب آموزنده باز نمی دارد.

این کتاب به طور جامع 23 الگوی طراحی (design patterns) را توضیح می دهد که می تواند به توسعه دهندگان نرم افزار و طراحان در ساخت و تولید بهتر , ظریف تر و قابل انعطاف تر پروژه ها کمک کند. در این کتاب راه حل های زیادی برای حل مشکلات در طراحی نرم افزار بحث شده است.

با اینکه شما می دانید design patterns چیست ولی لازم است که این کتاب را داشته باشید تا درک شما را از نرم افزارهای شی گرا اصلاح کند و در زمان نیاز به راحتی به این مرجع دسترسی داشته باشید.

برای دانلود این کتاب کلیک کنید

7- The Pragmatic Programmer

نویسنده: Andrew Hunt, David Thomas

آخرین ویرایش: دوم (بیستمین سالگرد انتشار)

انتشارات: Addison-Wesley Professional

از زمان نوشتن آن در سال 1999 توسط نویسندگان این شرکت برای کمک به تولید بهتر نرم افزار The Pragmatic Programmer که یکی از موفق ترین کتاب هاست نوشته شد. این کتاب برای همه برنامه نویسان که به دنبال توسعه نرم افزار هستند و می خواهند در این زمینه مهارت کسب کنند مفید است.

مهم نیست که چند بار است که کتاب The Pragmatic Programmer را می خوانید زیرا در هر بار خواندن چیز جدید برای یادگیری هست. استفاده از مثال های کلاسیک و مدرن باعث شده است که در هر بخش این کتاب جالب و سرگرم کننده باشد.

کتاب The Pragmatic Programmer نه تنها طیف وسیعی از مباحث برنامه نویسی و توسعه نرم افزار را در بر میگیرد بلکه موضوعات دیگری که برای برنامه نویس مهم نیستند هم مانند پیشرفت شغلی, مسئولیت شخصی هنگام تولید نرم افزار و … را نیز در بر می گیرد.

برای دانلود این کتاب کلیک کنید

8- Head First Design Patterns: راهنمای دوستانه برای مغز

نویسنده: Eric Freeman, Bert Bates, Kathy Sierra, Elisabeth Robson

آخرین ویرایش: اول

انتشارات: O’Reilly Media

مجموعه کتابهای The Head First به دلیل روش ابتکاری در تجزیه و تحلیل موضوعات پیچیده به قسمت های کوچکتر و قابل فهم تر به عنوان یکی از کتاب های خوب شناخته شده است.

در کتاب Head First Design Patterns نمونه های برجسته و چالش برانگیز برای مغز وجود دارد که می تواند کارآمد و سرگرم کننده باشد.این کتاب بر خلاف سایر کتاب های برنامه نویسی که متن سنگینی دارند از یک فرمت فکری و تصاویر استفاده کرده است.

کتاب Head First Model Patterns به راحتی الگوهای طراحی نرم افزار, که توسط توسعه دهندگان نرم افزار و برنامه نویسان سراسر جهان به کار گرفته شده است، را برای تولید و طراحی نرم افزار کاربردی قابل انعطاف و قابل استفاده مجدد را توضیح می دهد.

برای دانلود این کتاب کلیک کنید

9- کتاب Refactoring (بهبود طراحی کد نوشته شده)

نویسنده: Martin Fowler

آخرین ویرایش: دوم

انتشارات: Addison-Wesley Professional

Refactoring یک مفهوم برنامه نویسی مهم برای درک جنبه های اساسی نوشتن یه کد قدرتمند و تمیز است.  کتاب Refactoring نوشته مارتین فاولر یکی دیگر از بهترین کتاب های برنامه نویسی می باشد.

خواندن و یادگیری کتاب Refactoring به برنامه نویسان کمک می کنند تا کد خود را بهبود ببخشند یا کدهای قدیمی خود را بروز کنند. اخرین ویرایش refactoring  دارای ویژگیها و مثال هایی از کد JS است که نشان دهنده تغییر پذیری بدون کلاس است.

Refactoring چیست؟ چرا refactor code؟ چگونه کدی که نیاز به اصلاح دارد را تشخیص دهیم؟ همه این سوال ها و سوالهای مهم دیگر که در رابطه با Refactoring در ذهن شماست را می توانید در این کتاب بیابید.

با اتمام این کتاب خواننده قادر خواهد بود:

  • انجام تست های جامع برای refactoring
  • بررسی refactoring
  • شناسایی مسائل و مشکلات هنگام refactoring
  • اصلاح سریع و ساده کردن برنامه

برای دانلود این کتاب کلیک کنید

10- The Art of Computer Programming, Volumes (هنر برنامه نویسی کامپیوتر, جلد 1 تا 4)

نویسنده: Donald E. Knuth

آخرین ویرایش: اول

انتشارات: Addison-Wesley Professional

برخلاف سایر کتاب های برنامه نویسی که معرفی شد کتاب The Art of Computer Programming فقط یک کتاب نیست بلکه شامل 4 کتاب می باشد که عبارتند از :

الگوریتم های پایه،الگوریتم های نیمه کاره،الگوریتم های مرتب سازی و جستجو،الگوریتم های ترکیبی

برای دانلود این کتاب کلیک کنید

خلاصه

در این مقاله ما 10 مورد از بهترین کتاب های برنامه نویسی را معرفی کردیم. اگر چه کتاب یکی از بهترین راه های یادگیری برنامه نویسی است اما راه های دیگری نیز برای تقویت برنامه نویسی وجود دارد مانند آموزش های آنلاین, سمینارها, مقالات وب, آموزش های ویدئویی  و ….

شما باید بطور مداوم به دنبال ارتقا دانش و یادگیری باشید تا بتوانید برنامه نویس ماهری شوید و به راحتی برنامه های خود را توسعه دهید.

فهرست مطالب