برنامهنویسی دلی! – بخش یک 2 بهمن 1403
پیشگفتار یک: نگاه ریاضیگونه و نگاه مهندسیگونه به برنامهنویسی به گذشته که نگاه میکنم میبینم که آموزش برنامهنویسی همراه بوده با نوعی نگاه که بیشباهت به حل مسالههای ریاضی یا فیزیک نیست. نوعی نگاه حذف جزییات در ابتدا و اضافه کردن جزییات در ادامه. برای نمونه در نگاه ریاضیگونه به برنامهنویسی شما ابتدا باید ساختار […]
قوانین نرمافزار: قانون هایروم (Hyrum’s Law) 23 آذر 1403
طی چند سال گذشته و به دلیل همکاریام برای انتقال (migration) زیرساختهای سطح پایین یکی از پیچیدهترین سیستمهای نرمافزاری روی کرهی خاکی به نکات مهمی دربارهی تفاوت بین رابط (interface) و پیادهسازی آن (implementation) برخورد کردهام. معمولن ما رابط (interface) را تجریدی (abstraction) برای ارتباط با سیستم میدانیم و پیادهسازی (implementation) را هم روشی میدانیم […]
چگونه برنامهنویس خوبی شوم 20 مرداد 1403
پرسش: چه چیزی از یک برنامهنویس، یک برنامهنویس «خوب» میسازه؟ کنت بک: پاسخ این پرسش راحته. «خودت باش» (Be Yourself). تنها یه بازی [چالش] در کل دنیا وجود داره و اون هم اینه:«تمام تلاشت رو بکن» (Do Your Best). ورزش، کار، روابط انسانی فقط سایههایی از همین «یه بازی»اند. برنامهنویسی هم همین طور. سوال اینه […]
برنامه نویس کاردرست 13 مرداد 1403
اگه از من بپرسید برنامهنویس کاردرست کیست خواهم گفت «برنامهنویس خوبی که عادتهای ممتازی دارد». این جمله برگرفته از سخن کنت بک (Kent Beck) دربارهی خودش است: «من برنامهنویس ممتازی نیستم. من برنامهنویس خوبی هستم که عادتهای ممتازی دارم» “I’m not a great programmer; I’m just a good programmer with great habits.” برای من این […]
بهشت راه نرفته! 2 فروردین 1403
در تصمیمگیریها به ویژه در تصمیمگیریهای فنی، گاهی پیش میآید که شما بین دو راهی یا چندراهی تصمیمگیری گیر میکنید. از آنجا که نمیتوانید همهی آن راهها را انتخاب کنید، به ناچار یکی را به عنوان تصمیم نهایی انتخاب میکنید. این انتخاب چندین ویژگی دارد. اول آن که انتخابها ما بر اساس اطلاعاتی است که […]
پوستهی بیشتر – تخممرغ کمتر 7 دی 1402
جان بنتلی (Jon Bentley) که ستونی با نام Programming Pearls در نشریه Communications of the ACM داشت در سال ۱۹۸۶ به برنامهنویسی ادیبانه (literate programming) علاقهمند شد و از دونالد کنوث (Donald Knuth) خواست تا به عنوان نویسندهی مهمان برنامهای با این شیوه بنویسد و از داگ مکلروی (Doug McIlroy) هم خواست نقدی بر برنامهنویسی […]
مفاهیم نیازمندیهای نرمافزار 5 مهر 1402
پیشگفتار-خاطره: یادم میآید دعوت شده بودم به جلسهی دوستانهای در یکی از شرکتها که هدف آن بهبود تحلیل در آن شرکت بود. یکی از دوستان به من گفت که ما طی بررسیهایی که انجام دادیم به این نتیجه رسیدهایم که باید این سه کار رو در شرکت انجام بدیم. بعد هم سه راهکارشون رو برای […]
