استک اورفلو از سال ۲۰۰۸ تاکنون توانسته جایش را روزبهروز در میان برنامهنویسان و توسعهدهندگان بیشتر باز کند به طوری که میتوان گفت این سایت قطعاً تبدیل به محبوبترین منبع برای برنامهنویسانی شده که میخواهند سؤالات خود را به اشتراک بگذارند تا به بهترین پاسخ برسند. در طی بحثهایی که در این وبسایت مطرح میشود، خیلی وقتها برنامهنویسان در پاسخ سؤالات، کتابهایی را هم برای موضوعات مربوطه معرفی میکنند که در این مقاله ۱۰ مورد از کتابهای محبوب برنامهنویسی بر اساس دادهکاویهای صورت گرفته روی استک اورفلو را به اشتراک خواهیم گذاشت.
آشنایی با الگوریتم انتخاب کتابها
DevBooks سایتی است که بخش قابلتوجهی از محتوای مربوط به پرسش و پاسخهای کاربران سایت استک اورفلو که چیزی در حدود ۴۰/۰۰۰/۰۰۰ میشود را اصطلاحاً Dump کرده و پس از استخراج نتایج پرسش و پاسخهای صورت گرفته در این وبسایت، تعداد لینکهای ارجاعی به سایت آمازون را محاسبه کرده و در نهایت آمار نهایی را به دست آورده است که در ادامه با ۱۰ مورد از محبوبترین کتابها آشنا خواهید شد.
Working Effectively with Legacy Code
این کتاب بر اساس فلسفهٔ اجایل توسط Michael Feathers نوشته شده است که به منزلهٔ راهنمایی در مورد سیستمهای به اصطلاح Legecy است (سیستمهای لِگِسی معمولاً از روشها، فناوریها و سیستمهای قدیمی و منسوخشده تشکیل شدهاند.) نویسندهٔ این کتاب تمام تلاش خود را به کار گرفته تا به شرح روشهای مختلفی از صفر تا صد برای کار با انبوهی از کدهای لِگِسی بپردازد.
Design Patterns
این کتاب توسط چهار نویسنده به نامهای Erich Gamma ،Richard Helm ،Ralph Johnson و John Vlissides نوشه شده است که حاوی بحثهای ارزشمندی در مورد طراحی نرمافزارهای شیئگرا است. نویسندگان این کتاب به شرح تعداد زیادی دیزاین پترن پرداختهاند که در نهایت یاد خواهید گرفت که چگونه یک نرمافزار شیئگرا (OOP) به صورت کاملاً حرفهای طراحی کنید.
Clean Code
این کتاب توسط Robert C. Martin نوشته شده است که روشهایی مبنی بر نحوهٔ نوشتن کدهای تمیز را آموزش میدهد به طوری که یادگیری این روشها به شما در ساخت اپلیکیشنهای اصولی کمک زیادی خواهد کرد (برای کسب اطلاعات بیشتر، میتوانید به مقالهٔ Clean Code: کتاب راهنمای توسعهٔ نرمافزار به روش اجایل مراجعه نمایید.)
Java Concurrency in Practice
این کتاب اثر Joseph Bowbeer ،Joshua Bloch ،Tim Peierls ،Brian Goetz و David Holmes است که در آن گفتهاند که با استفاده از زبان جاوا چگونه میتوانید اپلیکیشنهایی به اصطلاح کانکارنت بنویسید و با توجه به محبوبیت این زبان، طبیعی است که این کتاب در لیست محبوبترینهای استک اورفلو هم قرار گیرد.
Domain-Driven Design
این کتاب که توسط Eric Evans نوشته شده است، متدهایی را معرفی میکند که در آن Domain Modeling را با توسعهٔ نرمافزار ترکیب کرده است و به شرح مفصل در این باره پرداخته است.
JavaScript: The Good Parts
زبان جاوااسکریپت پیشینهٔ نهچندان مثبتی مثل انتشار عجولانه و زودهنگام در کارنامهٔ خود دارا است اما روی هم رفته بهتر از آن است که بخواهیم در مورد قسمتهای بد آن صحبت کنیم. این کتاب اثر Douglas Crockford است که در آن روی موضوعاتی تمرکز کرده که به شما کمک میکند تا زیباییهای این زبان سطحبالا را به خوبی کشف نمایید.
Patterns of Enterprise Application Architecture
کتابی که Martin Fowler نوشته، نوعی راهنما برای توسعهدهندگان سیستمهای اینترپرایز است که به ایشان کمک میکند تا از طریق ریزهکاریها و بسیاری از راهحلهای اثباتشده بتوانند مشکلات روزمرهٔ خود را در حوزهٔ توسعهٔ نرمافزار حل کنند.
Code Complete
مؤلف این کتاب Steve McConnell است که سعی کرده علم و هنر توسعهٔ نرمافزار را با هم تلفیق کند. این کتاب کلاسیک که نسخهٔ اولیهٔ آن در سال ۱۹۹۳ توسط مایکروسافت منتشر شد، همواره به عنوان یکی از بهترین کتابهای راهنما برای کدنویسی مطرح شده است (برای کسب اطلاعات بیشتر، میتوانید به مقالهٔ Code Complete: کتابی حاوی سولوشنهای کاربردی توسعهٔ نرمافزار مراجعه نمایید.)
Refactoring: Improving the Design of Existing Code
این کتاب که اثر Martin Fowler است، به برنامهنویسان کمک میکند تا طراحی، عملکرد و مدیریت کدنویسی خود را در زمینهٔ OOP بهبود ببخشند.
Head First Design Patterns
این کتاب اثر چهار نویسنده به نامهای Eric Freeman ،Elisabeth Robson، Bert Bates و Kathy Sierra است که مفاهیم مرتبط با الگوهای طراحی را به طور مفصل شرح دادهاند.
در مقالهای تحت عنوان بهترین کتابهای آموزش برنامهنویسی که تاکنون خواندهاید کدامند؟، از کاربران سکان آکادمی خواستیم تا کتابهای آموزشی که تاکنون خواندهاند را با سایرین به اشتراک بگذارند. در همین راستا اگر تاکنون کتابی را مطالعه کردهاید که فکر میکنید برای سایر کاربران نیز مفید خواهد بود، میتوانید به مقالهٔ فوق مراجعه نموده و در بخش نظرات نام کتاب مد نظر خود را درج نمایید.