کدنویسی تمیز Clean Code
نویسنده: رابرت سی. مارتین
مترجم: علیرضا کشاورز باحقیقت
انتشارات: انتشارات نبض دانش
این روزها برنامه نویسی همانند یادگیری زبان انگلیسی و استفاده از کامپیوتر در حال تبدیل به یکی از ضرورتهای زندگی در این دنیای بهسرعت در حال رشد و عجینشده با تکنولوژی است. زبانهای برنامهنویسی انواع مختلفی دارند و حتی میتوان گفت با توجه به هدف استفاده، اختصاصی هستند. چهار دستهی کلی برای زبانهای برنامهنویسی وجود دارد: زبانهای برنامهنویسی تحت وب، تحت ویندوز، زبانهای مناسب اپلیکیشنهای موبایل و زبانهای چند منظوره. زبان برنامهنویسی همچون پایتون، جاوا و C++ در هر سه دسته به چشم میخورند. ما سعی کردهایم در این یادداشت از وبلاگ طاقچه، به معرفی برخی از کتابهای مفید درخصوص یادگیری زبان برنامهنویسی برای طراحی نرمافزار، زبان برنامهنویسی C++ ، جاوا و پایتون بپردازیم تا دوستداران یادگیری این مهارت با تعدادی از مراجع آموزشی مفید و خواندنی آشنا شوند.
کدنویسی تمیز Clean Code
نویسنده: رابرت سی. مارتین
مترجم: علیرضا کشاورز باحقیقت
انتشارات: انتشارات نبض دانش
زمانی که کدنویسی میکنیم در اصل در حال برقراری ارتباط و آموزش به کامپیوتر هستیم و باید با زبان خودش صحبت کنیم، زبانی ساده، تمیز و قابل فهم. این مهارت و تبحر با تمرین فراوان به دست میآید و مانند هر مهارت دیگری نیاز به تجربه دارد. اما عمر انسانها کوتاهتر از آن است که همهی مسیرها را تنهایی بروند تا تجربه لازم و کافی را به دست آورند پس چه بهتر که از تجربه افراد مجربتر استفاده کرد. رابرت سسیل مارتین یا همان عمو باب، با نگارش کتاب کدنویسی تمیز سعی کرده است راه کدنویسی تمیز و صحیح را برای علاقه مندان هموار کند. با مطالعهی این کتاب یاد میگیریم چطور کدها را تحلیل کنیم که چالشی بسیار بزرگ و مهارتی به غایت ارزشمند است. کتاب کدنویسی تمیز با ترجمه ارجاسب محمدی و علیرضا کشاورز باحقیقت توسط انتشارات نبض دانش در سال ۱۴۰۳ منتشر و چاپ شده است.
کدنویس تمیز (The Clean Coder)
نویسنده: رابرت سی. مارتین
مترجم: مهرداد عباسی
انتشارات: نشر تولید علم فرزانگان برنا
بعد از کسب مهارت کافی در برنامهنویسی برای حرفهایتر شدن و آشنایی با تکنیکهای ساخت یک نرمافزار واقعی از تجربههای بیشتر رابرت سی مارتین که در کتاب کدنویس تمیز آنها را با ما به اشتراک گذاشته است میتوان بهره برد. این کتاب با ترجمهی حسین مسعودی و مهرداد عباسی توسط انتشارات فرزانگان برنا در سال ۱۴۰۰ به چاپ رسیده و نسخهی الکترونیک آن نیز موجود است. مارتین در این کتاب که در اصل میتواند بهعنوان مشاور عمل کند، بایدها و نبایدها و چگونگی حرفهایبودن در کدنویسی بهویژه کدنویسی برای توسعهی نرمافزارها را آموزش میدهد و البته که به چگونگی کدنویسی، آزمون کدها و ارزیابی آنها پرداخته است.
معماری تمیز (Clean Architecture)
نویسنده: رابرت سی. مارتین
مترجم: علیرضا کشاورز باحقیقت
انتشارات: انتشارات نبض دانش
برنامهنویسان حرفهای مدت زمان زیادی را صرف توسعه و تهیه نرمافزارها میکنند که به طور معمول یک کار گروهی است. این نرمافزارها وقتی در دسترس کاربران قرار میگیرند، مشکلات مخفیشده در آنها خود را نشان میدهند. مشکلاتی از قبیل خطاهای مختلف و تکراری، عدم پاسخگویی به نیاز کاربران، کیفیت کم نرمافزارهای تولید شده و افزایش هزینهها. برنامهنویسان هرقدر هم مسلط باشند، طبق برنامهریزی حرکت کنند و نیازهای مشتری را در نظر بگیرند، باز هم با مشکلاتی غیر قابل پیشبینی روبهرو خواهند شد. برای جلوگیری از مشکلات بیان شده، کمک به برنامهنویسان و افزایش سرعت تولید، اصلاح و توسعه نرم افزارها در سال ۲۰۰۱ گروهی از محققین نرمافزار مانیفستی دادند به نام Agile Alliance یا تیمهای چابک (اجایل) که کمک به جلب رضایت بیشتر کاربران میکند. از جمله مزایای توسعهی نرمافزار با این روش، افزایش سرعت با تولید قطعه نرمافزار و قراردادن آن در اختیار کاربران است؛ مورد دیگر پذیرش تغییرات مورد نظر کاربران از سوی اعضای گروه طراحی نرمافزار است و در نهایت انتخاب سریعترین و بهترین مسیر برای رسیدن به هدف پروژه. آقای رابرت سی مارتین در کتاب معماری تمیز راهنمایی برای توسعهی نرمافزار به روش چابک ارائه داده است. این کتاب که توسط ارجاسب محمدی و علیرضا کشاورز باحقیقت ترجمه شده و در انتشارات نبض دانش به چاپ رسیده است از سال ۱۴۰۳ در دسترس علاقهمندان هم به صورت فیزیکی و هم الکترونیک قرار دارد.
طراحی الگوریتم با رویکرد عملی
نویسنده: شهرام حاجتی چناری
انتشارات: موسسه فرهنگی هنری دیباگران تهران
شهرام حاجتی چناری با همکاری موسسه فرهنگی هنری دیباگران تهران کتابی با عنوان طراحی الگوریتم با رویکرد عملی منتشر کردند. این کتاب در شش فصل در دسترس دوستداران طراحی نرمافزار قرار گرفته است. نویسنده این کتاب را با هدف آموزش طراحی الگوریتمهای تخصصی برای نرمافزارهای خاص که در حوزهی تولید کاربرد دارند نوشته است. الگوریتمها در اصل مجموعهای از فرایندها را شامل میشوند که تعدادی داده را به عنوان ورودی اولیه میگیرند، آنها را پردازش میکنند و یک خروجی به ما میدهند. آقای حاجتی چناری در این کتاب که در شش فصل طراحی شده است، ابتدا یک نگاه کلی به کاربرد الگوریتمها در طراحی نرمافزارها دارد و انواع مختلف الگوریتمها را معرفی میکند، در فصلهای بعدی جزئیات بیشتری از یک الگوریتم را آموزش میدهد، جزئیاتی همچون پیچیدگی زمانی را که در اصل همان زمان اجرا و توقف پیادهسازی الگوریتم است، بیان میکند. در فصل سوم الگوریتمها را با رویکردی عملی آموزش میدهد. در فصل چهارم، روش تقسیم یک مسئله به مسئلههای کوچکتر آموزش داده شده است که یک الگوی طراحی الگوریتم است. در فصل پنجم کتاب به برنامهنویسی پویا اختصاص دارد. در این نوع برنامهنویسی مسائل به ریز مسئلههایی تقسیم میشوند و نتایج آنها ذخیره میشود تا در صورت نیاز به استفاده مجدد، از اول محاسبات انجام نشوند. در فصل آخر هم ابزار گیت معرفی شده است. این ابزار برای مدیریت، توسعه و کنترل کدهای نرمافزار استفاده میشود.
برنامه نویسی کامپیوتری
نویسنده: اوا هالند
مترجم: نیلوفر رحیمزاده
انتشارات: انتشارات آوند دانش
کریس مینینک و اوا هالند که هر دو مدرس کامپیوتر هستند، کتابی با عنوان کتاب برنامهنویسی کامپیوتری را نوشتهاند که قدم قدم زبان عجیب و غریب کامپیوتر را به نوجوانان آموزش میدهد. این کتاب با ترجمه نیلوفر رحیمزاده و توسط آوند دانش به چاپ رسیده است. با کمک این کتاب میتوانید ربات خود را بسازید، صفاتی همچون رنگ و شکل به آن بدهید و از همه جالبتر به رباتتان آموزش دهید برقصد!
برنامه نویسی به زبان ++C
نویسنده: علیرضا پولادوند
انتشارات: انتشارات مینوفر
از میان زبانهای برنامه نویسی، زبان سی، جاوا و پایتون را میتوان به عنوان شناختهشدهترینها در نظر گرفت. زبان برنامه نویسی سی در سال ۱۹۷۲ توسط دنیس ریچی در آزمایشگاه بل ساخته شد. این زبان به عنوان یکی از زبانهای سطح بالا شناخته شده و پایهای برای سیستمهای عامل مختلف است. علیرضا پولادوند کتابی با عنوان کتاب برنامهنویسی به زبان C++ را منتشر کرده است که توسط نشر مینوفر در سال ۱۳۹۶ به چاپ رسیده و نسخهی الکترونیک آن نیز موجود است. در این کتاب ابتدا با مفاهیم پایهی این زبان آشنا میشویم و در فصلهای بعدی با ساختارهای کنترلی، آرایهها و توابع و در آخرین فصل هم در رابطه با شیءگرایی توضیح داده شده است.
آموزش تضمینی جاوا اسکریپت (JavaScript)
نویسنده: پائول مک فدریئس
مترجم: ارجاسب محمدی
انتشارات: انتشارات نبض دانش
در سال ۱۹۹۰ محققین شرکتی به نام سان مایکرو سیستمز تلاش کردند تا نسخه بهتری از C++ را توسعه دهند تا هم پرتابل باشد و هم مناسب استفاده افراد مبتدی، اما این تحقیقات خروجی بهتری داشت و آن خلق یک زبان جدید به نام جاوا بود. این زبان یکی از پرطرفدارترین زبانهای برنامهنویسی است که سالهاست در گروه برترینهای برنامهنویسی قرار دارد. انتشارات نبض دانش کتابی با نام آموزش تضمینی جاوا اسکریپت منتشر کرده است. پاول مک فدریس در این کتاب سعی کرده است به معرفی و آموزش کامل این زبان تحت وب از مسائل ابتدایی تا مرحلهی پیشرفته آموزش دهد و متغیرهای زبان جاوا را معرفی کند. این کتاب کمک میکند تا با نحوهی ساخت عبارتها و عملکرد آنها آشنا شوید. حتی رفع اشکالات کدها که چالشی بسیار بزرگ در ابتدای شروع برنامهنویسی است در این کتاب آموزش داده شده است. این کتاب با ترجمه ارجاسب محمدی در دسترس است.
آموزش تضمینی (مرجع کامل) پایتون
نویسنده: اریک ماتیس
مترجم: علیرضا یعقوبی بیجاربنه
انتشارات: انتشارات نبض دانش
از بین زبانهای برنامهنویسی معرفیشده شاید بتوان گفت پایتون از همه شناختهشدهتر است و متخصصان در علومی غیر از کامپیوتر هم سعی در یادگیری و استفاده از آن دارند. از علل محبوبیت این زبان میتوان بهسادگی آن برای افراد مبتدی، دسترسی به کتابخانههای گسترده، کاربردهای وسیع آن، منابع آموزشی مختلف و سازگاری با زبانهای دیگر اشاره کرد.
یکی از پرفروش ترین منابع آموزشی پایتون، کتاب آموزش تضمینی پایتون اثر اریک ماتیس با ترجمه علیرضا یعقوبی بیجارینه است که توسط انتشارات نبض دانش به چاپ رسیده. این کتاب ابتدا یک معرفی کلی از پایتون دارد و از مقدماتیترین مفاهیم و روشهای کدزنی در پایتون شروع به آموزش میکند. در ادامه انواع دستورهای پایتون، توابع، حلقهها، متغیرها و کلاسها را آموزش میدهد و در نهایت با پروژههای جذابی که طراحی بازی هستند کاربرد عملی و پروژهمحور پایتون را به مخاطبان آموزش میدهد.
مرجع کامل برنامهنویسی پایتون
نویسنده: رمضان عباس نژادورزی
انتشارات: انتشارات فناوری نوین
در کتاب دیگری به نام مرجع کامل برنامهنویسی پایتون جواد وحیدی و رمضان عباس نژادورزی سعی کردهاند ابتدا مخاطبین را با تاریخچهای از زبان برنامهنویسی پایتون آشنا کنند و بعد وارد مفاهیم اصلی میشوند و به آموزش ساختارها، رشتهها، لیستها، دیکشنریها میپردازند. علاوه بر سرفصلهای فوق به بانکهای اطلاعاتی در پایتون و حل مسائل مهندسی در پایتون نیز پرداختهاند. این کتاب از جمله معدود کتابهای آموزشی پایتون است که زبان اول آن فارسی بوده است و شاید به برقراری ارتباط بیشتر و فهم راحتتر آموزشهای قدم به قدم این کتاب کمک شایانی کند. یکی دیگر از ویژگیهای قابل توجه این کتاب آن است که یک فصل آن به حل مسائل فیزیک اختصاص دارد.
حل مسائل پایتون (حل ۱۰۰۰ برنامه – مرجع کامل)
نویسنده: محمد نادعلیزاده چاری
انتشارات: انتشارات فناوری نوین
از جمله کتابهای حل مسئله پایتون که اختصاصی به دانشجویان مهندسی و مهندسی کامپیوتر میتوان معرفی کرد؛ کتاب حل مسائل پایتون است به نویسندگی رمضان عباسنژادورزی، محمد ناد علیزاده چاری، و یوسف عباس نژادورزی. این کتاب در سال ۱۳۹۹ در انتشارات فناوری نوین به چاپ رسید و نسخهی الکترونیک آن نیز موجود است. مزیت بسیار قابل توجه و با اهمیت این کتاب در ارائهی مثالها و تمرینهایی برای هر موضوع است. این کتاب در مجموع هشت فصل دارد و ۷۱۰ تمرین که حل آنها به شما در کسب مهارت بیشتر بسیار کمک میکند. در آخر هم یک پیوست الکترونیکی ارائه شده است که ۲۹۰ تمرین دیگر دارد و انتظار میرود پس از خوانش کتاب و حل برنامهها در موضوعاتی همچون دستورهای ورودی و خروجی، ساختارهای تکرار و تصمیم، تعریف توابع و فراخوانی آنها، آرایههای یک تا چندبعدی، رشتهها، لیستها، دیکشنری، کلاسها و مفاهیمی همچون باینری و چند خطی به تسلط کافی برسیم.
برنامه نویسی با پایتون برای مهندسان
نویسنده: گوکتورک اوچولوک
مترجم: مازیار کلاگر درونکلایی
انتشارات: انتشارات فناوری نوین
کتاب برنامهنویسی برای مهندسان از جمله کتابهایی است که سعی دارد با زبانی ساده هم جزئیات کامپیوتر و برنامهنویسی را بیان کند و هم زبان برنامهنویسی پایتون را آموزش دهد. برنامهنویسی برای مهندسان سه بخش دارد، بخش اول در اصل چیستی نرمافزارها و سختافزارها و زبانهای برنامهنویسی را معرفی میکند. در بخش دوم، وارد زبان برنامهنویسی پایتون میشود، چراکه هم زبانی ساده است و هم کتابخانههای مناسب برای حل مسائل مهندسی را دارد. و در بخش آخر به طور مفصل در مورد ابزارهای کاربردی و قدرتمند در حل مسائل مهندسی و علوم پایه صحبت شده است که به حل و حتی رسم نتایج مسائل کمک میکند و تمرینهایی کاربردی در انتهای کتاب آورده شده است. نویسندگان این کتاب سینان کالکان و اونور تولگا سهیتوغلو و گوکتورک اوچولوک هستند و ترجمهی کتاب به اهتمام جواد عیسی زاده و مازیار کلاگر درونکلایی انجام شده است. انتشارات فناوری نوین در سال ۱۴۰۳ این کتاب را وارد بازار کرده است.
هوش مصنوعی با پایتون
نویسنده: ژنگ رانگ
مترجم: علیرضا یعقوبی بیجاربنه
انتشارات: انتشارات نبض دانش
از زمانی که کاربرد هوش مصنوعی در علوم مختلف نمایانتر شد و ابزارهای مبتنی بر آن وارد بازار شدند و به کارها سرعت بخشیدند و سیستمهای خودکارسازی را پیاده کردند، بحث هوش مصنوعی بسیار داغ شده است و بسیاری از افراد بسته به حرفه و یا از روی علاقه به دنبال یادگیری هوش مصنوعی رفتهاند. یکی از بازوهای اجرایی هوش مصنوعی یادگیری زبان برنامهنویسی پایتون است. پایتون به کتابخانههای بسیار کاربردی که اجرای الگوریتمهای هوش مصنوعی را بسیار ساده میکنند دسترسی دارد و برای استفاده از آنها نیاز به تجربه و دانش خیلی تخصصی در این زمینه نیست. کتاب هوش مصنوعی با پایتون که زبان اصلی آن انگلیسی است، توسط تیک تو تئو و ژنگ رانگ نوشته شده و در انتشارات معتبر اسپرینگر چاپ شده است در ایران با تلاش علیرضا یعقوبی بیجارینه به فارسی ترجمه شده و توسط نبض دانش منتشر شده است. این کتاب به مبانی هوش مصنوعی، یادگیری ماشین و برنامههای کاربردی پرداخته است و تلاش کرده تا پلی بین پایتون و یادگیری ماشین برای افراد مبتدی و کمتجربه برقرار کند تا بتوانند یادگیری را شروع کنند و طعم توسعهی اولین مدلهای یادگیری ماشین را بچشند.
دانلود کتاب از اپلیکیشن طاقچه