کتاب های برچسب coding
تاریخ: ۲۲:۱۶:۳۷ ۱۳۹۹/۷/۲ چهارشنبه
توسط: MotoMan
امتیاز: ۰
برچسب ها: Coding | software engineering |

تعداد کمی کتاب در رشته کامپیوتر به اندازه کتاب Peopleware در مدیریت نرم افزار تأثیری عمیق داشته اند. دید منحصر به فرد این کتاب پرفروش قدیمی این است که عمده مسائل مربوط به توسعه نرم افزار، انسانی است و نه فنی. آنها مسائل ساده ای نیستند؛ اما آنها را حل کنید و شانس موفقیت خود را به حداکثر برساند.

در ویرایش سوم کتاب «Peopleware: پروژه‌ها و تیم‌های سازنده»، نویسندگان کتاب شش فصل جدید اضافه کرده و متن کتاب را به روز کرده اند و آن را با محیط‌ها و چالش‌های توسعه امروزی مطابقت داده اند. به عنوان مثال، این کتاب اکنون به آسیب شناسی‌های رهبری می‌پردازد که قبلاً آسیب شناسی نشده بودند؛ فرهنگ در حال تحقق جلسات؛ تیم‌های ترکیبی متشکل از افرادی از نسل‌های به ظاهر ناسازگار؛ و آگاهی رو به رشدی که برخی از رایج‌ترین ابزارهای ما بیشتر شبیه لنگر هستند تا پروانه. هر کسی که نیاز به مدیریت یک پروژه یا شرکت نرم افزاری دارد، توصیه‌های ارزشمندی را در سراسر کتاب پیدا خواهد کرد.

تعداد بازدید: ۱۹۴
دیدگاه ها: ۰
تاریخ: ۲۲:۴۱:۹ ۱۳۹۹/۷/۱ سه شنبه
توسط: MotoMan
امتیاز: ۱

تا حالا شده که زمان زیادی را برای کد نویسی یک الگوریتم اشتباه هدر داده باشید؟ از ساختمان داده ای استفاده کنید که بسیار پیچیده باشد؟ برنامه ای را تست کرده باشید اما یک مشکل واضح را از قلم انداخته باشید؟ یک روز را صرف جستجوی باگی کرده باشید که باید در عرض پنج دقیقه آن را پیدا می‌کردید؟ لازم است که برنامه سه برابر سریعتر اجرا شود و از حافظه‌ی کمتری استفاده کند؟ تلاش کرده اید که برنامه ای را از یک workstation به یک PC منتقل کنید یا بالعکس؟ سعی کرده اید تغییر ناچیزی در برنامه شخص دیگری ایجاد کنید؟ دوباره برنامه ای را باز نویسی کرده اید زیرا نمی‌توانستید آن را درک کنید؟

جالب بود؟ این موارد به طور مداوم برای برنامه نویسان اتفاق می‌افتد. اما مقابله با چنین مشکلاتی اغلب دشوارتر از آن چیزی است که باید باشد، زیرا مباحثی مانند تست کردن، اشکال زدایی، قابلیت حمل، کارایی، گزینه‌های طراحی، سبک و تمرین برنامه نویسی معمولاً مورد توجه دوره‌های علوم کامپیوتر یا برنامه نویسی قرار نمی‌گیرند. اکثر برنامه نویسان با افزایش تجربه، آنها را به طور اتفاقی یاد می‌گیرند و عده کمی هم هرگز آنها را یاد نخواهند گرفت.

کتاب تمرین برنامه نویسی فراتر از کد نویسی صرف است. برنامه نویسان همچنین باید مصالحه‌ها را ارزیابی کنند، از بین گزینه‌های طراحی یکی را انتخاب کنند، اشکال زدایی و تست کنند، کارایی را بهبود بخشند و نرم افزارهای نوشته شده توسط خود و دیگران را نگهداری کنند. در عین حال، آنها ضمن رعایت مشخصات باید به مواردی مانند سازگاری، استحکام و قابلیت اطمینان نیز بپردازند.

رویکرد ما در این کتاب مبتنی بر این اصول اساسی و بهم پیوسته است که در همه سطوح محاسبات اعمال می‌شوند. این اصول شامل سادگی است که برنامه‌ها را کوتاه و قابل مدیریت نگه می‌دارد؛ وضوح، که اطمینان حاصل می‌کند که آنها توسط افراد و همچنین ماشین‌ها به راحتی درک می‌شوند؛ عمومیت، به این معنی که آنها در طیف گسترده ای از موقعیت‌ها به خوبی کار می‌کنند و در صورت بروز شرایط جدید، وفق پیدا می‌کنند؛ و اتوماسیون، که به ماشین‌ها اجازه می‌دهند که برای ما کار کنند و ما را از انجام کارهای پیش پا افتاده خلاص کنند.

تعداد بازدید: ۲۳۳
دیدگاه ها: ۰
تاریخ: ۱۸:۵۱:۵۳ ۱۳۹۹/۶/۲۰ پنج شنبه
توسط: MotoMan
امتیاز: ۱
برچسب ها: Programming Languages | Coding |

کامپیوتر مانند ویولن است. می‌توانید تصور کنید که یک تازه کار ابتدا یک دستگاه گرامافون و سپس یک ویولن را امتحان کند؛ در مورد دومی خواهد گفت که افتضاح است. این استدلالی است که ما از انسان گرایان و اکثر دانشمندان علوم کامپیوترمان شنیده ایم. آنها می‌گویند، برنامه‌های کامپیوتری برای اهداف بخصوصی خوب هستند، اما انعطاف پذیر نیستند. هیچ یک از ویولن‌ها یا ماشین‌های تحریر هم اینگونه نیستند، تا زمانی که نحوه استفاده از آن را یاد بگیرید.
کتاب Structure and Interpretation of Computer Programs، در دهه گذشته تاثیر چشمگیری در برنامه‌ی آموزشی علوم کامپیوتر داشته است. ویرایش دوم کتاب «ساختار و تفسیر برنامه‌های کامپیوتری» که مورد بازنگری قرار گرفته است، شامل تغییراتی در متن کتاب است. پیاده سازی‌های جدیدی از اکثر سیستم‌های اصلی برنامه نویسی در این کتاب وجود دارد، از جمله مفسر‌ها و کامپایلر ها؛ و نویسندگان تغییرات کوچک زیادی را در این کتاب گنجانده اند که منعکس کننده تجربه آنها در تدریس دوره‌ها در MIT از زمان ویرایش اول کتاب است. در این کتاب زمینه جدیدی معرفی شده است که بر نقش اصلی بازی شده توسط رویکرد‌های مختلف در برخورد با زمان در مدل‌های محاسباتی تاکید دارد: اشیا با وضعیت، برنامه نویسی همزمان، برنامه نویسی تابعی، ارزیابی به تاخیر افتاده و برنامه نویسی غیر قطعی. علاوه بر این، تمامی برنامه‌ها باز نویسی شده اند تا در تمامی پیاده سازی‌های Schema که به استاندارد IEEE پایبند هستند، اجرا شوند.

 

تعداد بازدید: ۲۳۹
دیدگاه ها: ۰
تاریخ: ۲۱:۳۰:۳۵ ۱۳۹۹/۵/۱۲ یکشنبه
توسط: MotoMan
امتیاز: ۱
برچسب ها: Coding |

در طول دو دهه گذشته، دنیای پژوهش‌های دانشگاهی به طرز چشمگیری تغییر کرده است. امروزه بیشتر پژوهش‌ها به صورت آنلاین انجام می‌شوند که نه تنها دارایی تقریبا غیر قابل تصوری از منابع جدید را در نوک انگشتان ما قرار داده اند، بلکه همچنین در ارزیابی اعتبار و سودمندی منابع چالش هایی را به همراه داشته اند. شانزدهمین ویرایش کتاب «نگارش مقالات پژوهشی: یک راهنمای کامل» با این چالش‌های جدید مقابله می‌کند و برای کمک به محققان درگیر در همگام بودن با پژوهش‌های آنلاین، انتشار الکترونیکی و قالب‌های جدید اسناد، راهنمایی شفاف و مفصلی را ارائه می‌دهد.

ویرایش شانزدهم کتاب Writing Research Papers: A Complete Guide، راهنمای معتبر و کامل مقالات پژوهشی است که رویکردی سنتی اما کاربردی برای روند پژوهش را با جدید‌ترین اطلاعات درباره پژوهش و ارائه الکترونیکی در پیش گرفته است. این کتاب توسط پسر نویسنده اصلی نوشته شده است و در حال حاضر مهمترین کتاب برای راهنمایی در مورد پژوهش دانشگاهی، نگارش و مستند سازی است.

تعداد بازدید: ۳۳۱
دیدگاه ها: ۰
تاریخ: ۱۴:۴۰:۱۷ ۱۳۹۹/۳/۱۶ جمعه
توسط: MotoMan
امتیاز: ۱

برنامه‌های عالی، عملیات مورد نیاز را مطابق آنچه انتظار می‌رود انجام می‌دهند، به کاربران کمک می‌کنند تا داده‌های صحیح را وارد کنند، استثنائات سیستم و برنامه را کنترل می‌کنند و اصلاح و نگهداری کد را برای توسعه دهندگان آینده آسان می‌کنند. کد نویسی دفاعی بر بهبود درک کد از طریق کد تمیز، ارتقای کیفیت کد با تست‌های واحد و بهبود پیش بینی پذیری کد با ساختن متد‌های واضح و آماده سازی برای موارد غیر منتظره تمرکز دارد. در دوره ویدیویی Defensive Coding in C# موسسه Pluralsight که توسط Deborah Kurata تدریس شده است، شما می‌توانید توانایی دفاعی برنامه خود در برابر خطرات موجود در دنیای واقعی را تقویت کنید.

ابتدا، با دنبال کردن تکنیک هایی مانند اصل Single Responsibility، چگونگی بهبود درک کد خودتان را یاد خواهید گرفت. سپس، چگونگی بهبود کیفیت کد را از طریق آزمون‌های واحد بررسی خواهید کرد. در آخر، چگونگی بهبود پیش بینی پذیری کد را با اعتبارسنجی آرگومان‌های متد، مدیریت صحیح null ها، بازگشت نتایج قابل پیش بینی و مدیریت استثنائات بررسی خواهید کرد. پس از اتمام این دوره، مهارت و دانش لازم برای تقویت دفاع کد خودتان را در اختیار خواهید داشت.

تعداد بازدید: ۸۳۶
دیدگاه ها: ۰
تاریخ: ۱۲:۲۸:۱۹ ۱۳۹۹/۳/۱۶ جمعه
توسط: MotoMan
امتیاز: ۱
برچسب ها: C Sharp | dotNET Framework | Coding | Refactoring | .NET Core | Video |

«کد نویسی تمیز» هنر نوشتن کدی است که انسان‌ها بتوانند آن را درک کنند. با دوره #Clean Coding Principles in C موسسه Pluralsight که توسط Cory House تدریس شده است،‌ شما مهارت‌های حرفه ای خود را ارتقا می‌دهید و کیفیت کد سی شارپ خودتان را با در نظر گرفتن کسی که قرار است این کد را بخواند افزایش می‌دهید و همچنین یاد می‌گیرید که کد‌های سی شارپ را به گونه ای بنویسید که به سادگی قابل نوشتن، خواندن و نگهداری باشند.

این دوره بر اساس سه روش اصلی کد نویسی تمیز ساخته شده است: انتخاب ابزار مناسب برای کار، بهینه سازی نسبت سیگنال به نویز و ایجاد منطق خود مستندسازی. در طول این دوره، شما مقایسه‌های واضحی بین کد‌های سی شارپ «کثیف» که باید از آن‌ها دوری کنید و معادل «تمیز» آن‌ها را خواهید دید. شما الگو هایی مانند کد پیکان، شکست سریع، بازگشت زود هنگام، کلاس‌های آهنربا، متغیرهای mayfly، تکنیک‌های کاهش پیچیدگی متد و موارد دیگر را بررسی خواهید کرد. این شیوه ها، پایه و اساس شغل توسعه حرفه ای است و به توسعه دهندگان واژگان واضحی را برای ارزیابی کیفیت کد ارائه می‌دهد.

تعداد بازدید: ۹۹۶
دیدگاه ها: ۰
تاریخ: ۹:۴۲:۵۶ ۱۳۹۹/۳/۱۶ جمعه
توسط: MotoMan
امتیاز: ۱

با گذشت زمان، طراحی نرم افزار تمایل به ضعیف شدن دارد و نگهداری سیستم‌ها به طور فزاینده ای دشوار می‌شوند. Refactoring یک مهارت مهم برای هر توسعه دهنده ای است که به جلوگیری از از بین رفتن کد در زیر وزن خود کمک می‌کند. در دوره ویدیویی Refactoring for C# Developers موسسه Pluralsight که توسط Steve Smith تدریس شده است، شما یاد می‌گیرید که چگونه نقص‌های احتمالی در طراحی سیستم خود را که با نام «بو‌های کد» شناخته می‌شوند را تشخیص دهید و ارزیابی کنید.

در این دوره، شما با بو‌های کد در برنامه‌های سی شارپ در سطوح عبارت، متد و کلاس آشنا می‌شوید. همچنین شما درباره روند ریفکتور کردن کدتان برای از بین بردن نقص‌های طراحی و بهبود قابلیت نگهداری آن خواهید آموخت. سرانجام، یاد می‌گیرید که چگونه می‌توانید ده‌ها refactoring خاص را برای مشکلات رایج و شناخته شده در برنامه‌های #C اعمال کنید. وقتی که این دوره را به پایان برسانید، مهارت‌ها و دانش لازم را برای شناسایی مشکلات کیفیت کد و تصحیح آنها با تکنیک‌های ریفکتور کردن سریع و قابل اعتماد در اختیار خواهید داشت.

تعداد بازدید: ۸۰۸
دیدگاه ها: ۰
تاریخ: ۲۱:۷:۴۸ ۱۳۹۸/۱۲/۲۲ پنج شنبه
توسط: MotoMan
امتیاز: ۰
برچسب ها: Coding | software engineering |

توسعه دهندگان جدی می‌دانند که کد همیشه می‌تواند بهبود یابد. با هر بار تکرار، بهینه سازی هایی کوچک و بزرگ انجام می‌دهید که می‌تواند تأثیر زیادی در سرعت، اندازه، مقاومت و نگهداری برنامه شما داشته باشد. در کتاب نرم افزار‌های بسیار خوب: کدی که کار می‌کند، زنده می‌ماند و برنده می‌شود، Marco Faella، نویسنده، معلم و متخصص جاوا، تکنیک هایی را برای نوشتن کد بهتر به شما یاد می‌دهد.

کد عالی، مهارت یک برنامه نویس را با تکنیک‌های امتحان شده و بهترین شیوه هایی که توسط کل جامعه توسعه پذیرفته شده اند، می‌آمیزد. اگر چه هر برنامه دارای زمینه و ویژگی‌های خاص خود است، اما برخی از جنبه‌های کیفیت همیشه مهم هستند. این کتاب بر هشت ستون نرم افزار بسیار خوب متمرکز شده است: سرعت، مصرف حافظه، قابلیت اطمینان، خوانایی، thread safety، عمومیت و ظرافت. مثال‌های مبتنی بر جاوا، تکنیک هایی را نشان می‌دهد که برای هر زبان OO کاربرد دارد.

کتاب Seriously Good Software، یک کتابچه راهنما برای هر توسعه دهنده حرفه ای است که در مورد بهبود کیفیت برنامه جدی است. این کتاب ابعاد اساسی کیفیت کد را با ارتقای یک پیاده سازی ساده به یک برنامه قوی و با کیفیت حرفه ای مورد بررسی قرار می‌دهد. پرسش ها، تمرین‌ها و مثال‌های جاوایی اطمینان می‌دهند که شما درک کاملی از مفاهیم پیدا خواهید کرد. هنگامی که آخرین نسخه از پروژه اصلی کتاب را به پایان می‌رسانید، می‌توانید با اطمینان، بهینه سازی‌های مناسب را برای کد خود انتخاب کنید.

تعداد بازدید: ۶۹۶
دیدگاه ها: ۰
تاریخ: ۲۰:۵۲:۶ ۱۳۹۸/۱۱/۱۱ جمعه
توسط: MotoMan
امتیاز: ۲
برچسب ها: Coding |

کتاب‌های خوب زیادی در بازار وجود دارند که به شما می‌آموزند که چگونه بهتر کد بنویسید، یک فن آوری جدید بیاموزید و یا چگونه در یک تیم کار کنید و یا یک پروژه نرم افزاری را اجرا کنید. حتی ممکن است تعدادی کتاب پیدا کنید که در مورد حرفه شما و چگونگی بهبود آن صحبت کرده اند و یا چگونه به سادگی از عهده سوالات مصاحبه بر بیاییم. ولی آیا تا به حال کتابی را دیده اید که به شما بگوید که چگونه به نسخه‌ی بهتری از یک توسعه دهنده نرم افزاری که در حال حاضر هستید تبدیل شوید؟

آیا تا به حال کتابی را پیدا کرده اید که فقط در مورد چگونگی پیدا کردن شغلی بهتر و بیشتر پول در آوردن صحبت نکرده باشد بلکه در مورد این که چه کاری با پولتان انجام دهید و چگونه سرانجام شغلتان را ترک کنید و اگر تمایل دارید تبدیل به یک کار آفرین شوید؟

آیا تا به حال کتابی را پیدا کرده اید که چگونگی کسب اعتبار در صنعت توسعه نرم افزار را به شما یاد می‌دهد و همزمان به شما می‌آموزد که چگونه از لحاظ جسمی، روحی و روانی قوی‌تر و سالم‌تر شوید؟

من هم پیدا نکرده ام و به همین دلیل تصمیم گرفتم که کتابی درباره همه این‌ها بنویسم.

کتاب Soft Skills: The software developer's life manual، همه چیز از چگونگی گذراندن مراحل مصاحبه و ساخت یک رزومه خفن تا ایجاد یک وبلاگ خیلی موفق و ساختن برند شخصی خودتان، افزایش شدید بازدهی و یادگیری نحوه مقابله با فرسودگی شغلی و حتی سرمایه گذاری در املاک و مستغلات و کاهش وزن را به شما یاد می‌دهد.

تعداد بازدید: ۱۴۸۰
دیدگاه ها: ۰
تاریخ: ۱۸:۳۳:۶ ۱۳۹۸/۷/۴ پنج شنبه
توسط: MotoMan
امتیاز: ۱
برچسب ها: Programming Languages | Coding |

کتاب مفاهیم در زبان‌های برنامه نویسی، مفاهیم اصلی در برنامه نویسی مورد استفاده در زبان‌های برنامه نویسی مدرن مثل تابع ها، نوع ها، مدیریت حافظه و کنترل را توضیح داده است. این کتاب در ارائه جامع و مقایسه زبانهای مهم برنامه نویسی شی گرا بی نظیر است. فصل‌های جداگانه ای، تاریخچه اشیا، Simula و Smalltalk و زبان‌های مهم سی پلاس پلاس و جاوا را مورد بررسی قرار داده اند. در این کتاب، مباحث بنیادی مانند محاسبات لامبدا و denotational semantics، را به شکلی آسان و غیر رسمی و با تمرکز بر بینشهای اصلی ارائه شده توسط این نظریه‌ها ارائه می‌دهد.

مباحث پیشرفته در این کتاب، همزمانی، برنامه نویسی همزمان شی گرا، مولفه‌های برنامه و قابلیت همکاری بین زبان را شامل می‌شود. فصلی نیز در مورد برنامه نویسی منطق، اهمیت روش‌های ویژه برنامه نویسی را برای انواع خاصی از مشکلات نشان می‌دهد.

تعداد بازدید: ۹۹۷
دیدگاه ها: ۰
تاریخ: ۱۲:۱:۱ ۱۳۹۸/۶/۱۹ سه شنبه
توسط: MotoMan
امتیاز: ۲
برچسب ها: Coding | software engineering |

تفاوت بین یک برنامه نویس بد و یک برنامه نویس خوب، فهم است؛ یعنی این که برنامه نویسان بد نمی‌فهمند که چه کار می‌کنند در حالی که برنامه نویسان خوب، می‌فهمند. باور کنید یا نه، قضیه به همین سادگی است.

کتاب «سادگی کد» نوشته شده است تا به همه برنامه نویسان کمک کند تا توسعه نرم افزار را در سطح بسیار وسیعی که می‌تواند برای هر زبان برنامه نویسی یا پروژه ای از الان تا ابد استفاده شود، بفهمند. این کتاب، قوانین علمی را برای توسعه نرم افزار، به روشی ساده بیان می‌کند که همه می‌توانند آن را بخوانند.

اگر برنامه نویس باشید، این قوانین توضیح می‌دهند که چرا برخی از روش‌های توسعه نرم افزار کار می‌کنند و چرا برخی از آنها کار نمی‌کنند. آن‌ها شما را در تصمیم گیری‌های روزمره توسعه نرم افزار راهنمایی می‌کنند و به تیم شما کمک می‌کنند تا هوشمندانه با یکدیگر تعامل کنند تا این تعاملات به طرح‌های منطقی ختم شوند.

به طور ایده آل، هر کسی که در صنعت نرم افزار فعالیت دارد باید بتواند این کتاب را بخواند و بفهمد، حتی اگر تجربه برنامه نویسی زیادی نداشته باشند و یا انگلیسی زبان مادری آن‌ها نباشد. داشتن درک فنی بیشتر، به درک برخی از مفاهیم کمک خواهد کرد، اما اکثر آنها برای درک شدن، نیازی به تجربه برنامه نویسی ندارند. در حقیقت، با این که این کتاب در مورد توسعه نرم افزار است، تقریباً هیچ کد برنامه ای در آن وجود ندارد. چطور ممکنه؟ خب، ایده این است که این اصول را بتوان در هر پروژه نرم افزاری به هر زبان برنامه نویسی به کار برد. احتیاجی نیست که شما یک زبان برنامه نویسی خاصی را بدانید تا چیز هایی که در همه‌ی زبان‌های برنامه نویسی به کار برده می‌شوند را بفهمید. در عوض، مثال‌ها و قیاس‌های دنیای واقعی در کل این کتاب استفاده شده اند تا به شما در درک بهتر هر اصول در موقعی که ارائه می‌شود کمک کند.

مهمتر از همه، این کتاب برای کمک به شما، و آوردن خوشفکری، نظم و سادگی به زمینه توسعه نرم افزار نوشته شده است. امیدوارم که از خواندن آن لذت ببرید و زندگی شما و نرم افزار شما را به نوعی بهبود بخشد.

تعداد بازدید: ۱۰۷۲
دیدگاه ها: ۰
تاریخ: ۲۳:۱۰:۱۲ ۱۳۹۸/۵/۳۱ پنج شنبه
توسط: MotoMan
امتیاز: ۱
برچسب ها: Coding |

من یک استخدام کننده نیستم. من یک مهندس نرم افزار هستم، و بدین ترتیب می‌دانم چه حسی دارد وقتی که از شما خواسته می‌شود الگوریتمی درخشان را در مصاحبه به دست آورید و سپس کدی بی عیب و نقص را بر روی تخته سفید بنویسید. من این فرآیند را هم به عنوان داوطلب و هم به عنوان مصاحبه کننده گذرانده ام.

ویرایش ششم کتاب کرک کردن مصاحبه برنامه نویسی، برای کمک به شما در طی کردن این فرآیند، به شما می‌آموزد که چه چیزی را باید بدانید و شما را قادر می‌سازد که بهترین کار خود را ارائه دهید. من صدها مهندس نرم افزار را مربی گری و مصاحبه کردم؛ نتیجه کار این کتاب است.

در این کتاب یاد می‌گیرید که چگونه در یک سوال، نکات و جزئیات پنهان را کشف کنید، راه‌های شکستن مساله به بخش‌های کوچکتر و قابل مدیریت را کشف می‌کنید، تکنیک هایی برای رهایی دادن خود وقتی که گیر کرده اید می‌آموزید، مفاهیم اصلی علوم کامپیوتر را یاد می‌گیرید ( یا مجددا یاد می‌گیرید) و ۱۸۹ سوال و پاسخ مصاحبه‌ها را تمرین می‌کنید.

این سؤالات مصاحبه واقعی هستند؛ آنها از کتابهای درسی علوم کامپیوتر در نیاورده شده اند. این سوالات منعکس کننده آنچه که در شرکت‌های برتر پرسیده می‌شود هستند، به گونه ای که شما را تا حد امکان آماده کنند.

تعداد بازدید: ۱۸۶۲
دیدگاه ها: ۲
تاریخ: ۱۲:۳۸:۱۸ ۱۳۹۸/۵/۱۱ جمعه
توسط: MotoMan
امتیاز: ۲
برچسب ها: Coding |

در دهه ۱۹۹۰، ما با شرکتهایی کار کردیم که پروژه هایشان مشکل داشت. بعد از مدتی به این نتیجه رسیدیم که به همه‌ی آن‌ها یک سری چیز‌های یکسان را داریم می‌گوییم: شاید باید قبل از اینکه آن را تحویل می‌دادید، تستش می‌کردید؛ چرا کد فقط بر روی سیستم «ماری» بیلد می‌شود؟ چرا هیچکس از کاربران نمی‌پرسد؟

برای اینکه در ارتباط با مشتریان جدید خود وقت صرفه جویی کنیم، شروع به یادداشت برداری کردیم و آن یادداشت‌ها تبدیل به کتابی به نام The Pragmatic Programmer شد. در کمال تعجب ما، به نظر می‌رسید که این کتاب درد مشترکی را بیان می‌کرد و در این ۲۰ سال گذشته نیز محبوب باقی مانده است.

اما ۲۰ سال در دنیای نرم افزار، به معنی چند بار زندگی کردن است. برای مثال یک توسعه دهنده را از سال ۱۹۹۹ بردارید و آن را امروز داخل یک تیم قرار دهید و خواهید دید که چگونه در این دنیای جدید عجیب و غریب تقلا می‌کند. اما دنیای دهه ۱۹۹۰ برای توسعه دهندگان امروزی کاملا بیگانه است. نسخه قبلی کتاب به چیزهایی مانند CORBA، CASE tools و indexed loops اشاره کرده بود که در بهترین حالت عجیب و گیج کننده بودند.

بنابراین وقتی زمان نوشتن ویرایش بیستمین سالگرد رسید، ما باید تصمیمی می‌گرفتیم. ما می‌توانستیم تکنولوژی هایی که به آن‌ها اشاره کرده ایم را به روز کنیم، یا با توجه به دو دهه تجربه دیگری که به دست آورده ایم، فرضیات پشت روشهایی را که توصیه کرده ایم مجددا بررسی کنیم. در نهایت ما هر دو کار را انجام دادیم.

در نتیجه، این کتاب چیزی از «کشتی تسئوس» است. تقریباً یک سوم مباحث موجود در کتاب کاملاً جدید است. بقیه مطالب، اکثریت به صورت کلی یا جزئی بازنویسی شده اند. هدف ما این بود که مطالب را واضح‌تر ، مرتبط‌تر و امیدوارم تا حدودی بدون تاثیر از زمان بکنیم.

ما با توجه به وفور فعلی سخت افزار موازی و کمبود راه‌های خوب برای کار با آن ها، موضوعات مرتبط به همزمانی را بازنویسی کردیم. در این ویرایش ما مطالبی را اضافه کردیم تا تغییرات در نگرش‌ها و محیط‌ها از جنبش چابک که ما در راه اندازی آن کمک کردیم تا افزایش پذیرش اصطلاحات برنامه نویسی تابعی و نیاز رو به رشد در نظر گرفتن حریم و خصوصی و امنیت را منعکس کنیم.

جالب اینجاست که، در مورد محتوای این نسخه، بحث و گفتگوی کمتری وجود داشت تا زمانی که نسخه اول آن را می‌نوشتیم. هر دوی ما احساس کردیم که چیزهای که مهم بودند آسان‌تر شناسایی شدند.

تعداد بازدید: ۱۶۵۱
دیدگاه ها: ۰
تاریخ: ۲۰:۲:۲۵ ۱۳۹۸/۴/۲۰ پنج شنبه
توسط: MotoMan
امتیاز: ۱

برنامه نویسی کامپیوتر انتزاعی نیست و برنامه‌ها بر روی یک ماشین اجرا می‌شوند. دانستن این که کامپیوتر‌ها چگونه کار می‌کنند و برنامه‌ها به چه شکل بر روی آن‌ها اجرا می‌شوند، برای این که برنامه نویس بهتری شوید، ضروری است. همچنین درک تکنولوژی‌های پایه می‌تواند به شما کمک کند تا وقتی که چیزی درست کار نمی‌کند از آن سر در آورید.

کتاب Secret Life of Program یا Foundations of Computer Programming سابق، شکاف‌های موجود در آموزش کامپیوتر را با نشان دادن آن چه در پشت صحنه برنامه نویسی در سطح ماشین رخ می‌دهد، پر می‌کند. خوانندگان این کتاب یاد می‌گیرند که نرم افزار وقتی که بر روی سخت افزار اجرا می‌شود چگونه رفتار می‌کند؛ چگونه برنامه‌ها داده‌ها را در حافظه دستکاری می‌کنند؛ چگونه کامپیوتر‌ها زبان‌ها را پردازش می‌کنند و این که مرورگرهای وب چگونه کار می‌کنند. در این کتاب همچنین یاد خواهید گرفت که چگونه برنامه‌های کارآمد بنویسید و مبانی امنیت کامپیوتر و ملاحظاتی که هنگام کد نویسی باید در ذهن داشته باشید را رعایت کنید.

تعداد بازدید: ۹۸۶
دیدگاه ها: ۰
تاریخ: ۲۰:۲۷:۲۷ ۱۳۹۸/۴/۵ چهارشنبه
توسط: MotoMan
امتیاز: ۱
برچسب ها: Coding |

دوره‌های رایج برنامه نویسی، رویکرد «سرهم بندی کن تا وقتی که کار می‌کند» را آموزش می‌دهند. هنگامی که کار می‌کند، دانشجویان فریاد می‌زنند که «کار می‌کنه!» و ادامه می‌دهند. متاسفانه، این عبارت کوتاه‌ترین دروغ در کامپیوتر نیز است و ساعت‌های زیادی از عمر آدم‌ها را صرف خود کرده است. در مقابل، کتاب نحوه طراحی برنامه ها، بر روی عادت‌های خوب برنامه نویسی کردن تمرکز کرده است که برنامه نویسان فنی و حرفه ای را مخاطب قرار داده است.

تعداد بازدید: ۹۸۷
دیدگاه ها: ۰
تاریخ: ۲۲:۲۹:۴۲ ۱۳۹۸/۱/۲۹ پنج شنبه
توسط: MotoMan
امتیاز: ۱
برچسب ها: Coding |

شما در حال حاضر کد نویسی عالی هستید، اما همیشه فقط کد نویسی عالی برای هدایت کردن شما در پروژه‌های سخت کافی نیست. شما به این ۵۰ تا دانش و حکمت نیاز دارید. برنامه نویسان کهنه کار: اشتیاق خود را برای توسعه‌ی برنامه‌های وب تقویت کنید. برنامه نویسان تازه کار: این کتاب راهنمایی است که برای شروع به آن احتیاج دارید. با این کتاب شما در مورد کار خود با شیوه ای جدید و مدرن فکر خواهید کرد.

کتاب The Developer's Code درباره‌ی کدی که می‌نویسید نیست، بلکه درباره کدی است که با آن زندگی می‌کنید.

شما خواهید دید که چطور حتی در طولانیترین پروژه‌ها پر حاصل باشد. شما گردش کاری ایجاد می‌کنید که برای شما کار می‌کند نه بر علیه شما. و شما یاد خواهید گرفت که چگونه با مشتریانی که اهدافشان با شما هماهنگ نیست برخورد کنید.

تعداد بازدید: ۱۴۰۵
دیدگاه ها: ۰
loading...

لطفا منتظر بمانید...