برنامهنویسی دلی! – بخش دو
فیلم «پیدا کردن فارستر» (Finding Forrester) به داستان آشنایی یک رماننویس معروف، برندهی جایزه پولیتزر و البته منزوی به نام ویلیام فارستر (با بازی شان کانری) و یک نوجوان دبیرستانی به نام جمال میپردازد. فارستر پس از آن که پی میبرد جمال برای پذیرفته شدن در کالج نیاز دارد متنی ادبی بنویسد، تصمیم میگیرد به […]
برنامهنویسی دلی! – بخش یک
پیشگفتار یک: نگاه ریاضیگونه و نگاه مهندسیگونه به برنامهنویسی به گذشته که نگاه میکنم میبینم که آموزش برنامهنویسی همراه بوده با نوعی نگاه که بیشباهت به حل مسالههای ریاضی یا فیزیک نیست. نوعی نگاه حذف جزییات در ابتدا و اضافه کردن جزییات در ادامه. برای نمونه در نگاه ریاضیگونه به برنامهنویسی شما ابتدا باید ساختار […]
قوانین نرمافزار: قانون کانینگهم (Cunningham’s Law)
بهترین راه برای دریافت پاسخ درست در اینترنت، پرسیدن پرسش درست نیست! بهترین راه، نوشتن پاسخ نادرست است. ورد کانینگهم (Ward Cunningham) مرجع تصویر: xkcd.com
قوانین نرمافزار: قانون هایروم (Hyrum’s Law)
طی چند سال گذشته و به دلیل همکاریام برای انتقال (migration) زیرساختهای سطح پایین یکی از پیچیدهترین سیستمهای نرمافزاری روی کرهی خاکی به نکات مهمی دربارهی تفاوت بین رابط (interface) و پیادهسازی آن (implementation) برخورد کردهام. معمولن ما رابط (interface) را تجریدی (abstraction) برای ارتباط با سیستم میدانیم و پیادهسازی (implementation) را هم روشی میدانیم […]
نرمافزار بینقص و کامل
شما نمی تونید نرم افزاری بنویسید که بینقض و کامل باشه. این موضوع شما رو ناراحت میکنه؟ خوب، نباید ناراحت بشید. این موضوع رو به عنوان یکی از واقعیات زندگی بپذیرید. با اون کنار بیایید. با اون خوش باشید. زیرا نرمافزار بینقص و کامل وجود نداره. هیچ کس در تاریخ کوتاه کامپیوتر، نرمافزاری کامل و […]
پیراهن تیم توسعهی نرمافزار
لوچانو اسپالتی، سرمربی تیم ملی فوتبال ایتالیا در مصاحبهی اخیر خود (اینجا) در پاسخ به پرسشی در مورد دلایل ناکامی تیم ایتالیا در مسابقات یورو ۲۰۲۴ و نقش بازیکنان در این ناکامی گفته بود: «هر اتفاقی که بیفتد صددرصد به عهده من است، در این صورت ممکن است یک درصد تقصیر را به گردن کادرم […]
جزوه دوره تحلیل نیازمندیها
پیشگفتار: دوره تحلیل نیازمندیها برای سالها، دورهای تدریس میکردم با عنوان روش کاربردی تحلیل نیازمندیهای نرمافزار (Software Requirements Analysis: A Practical Approach). این دوره را مثل بقیه دورههایی که تدریس میکردم خیلی دوست داشتم. حس بسیار خوبی داشتم وقتی سر کلاس حاضر میشدم. دلم برای کلاس و شاگردهایم خیلی تنگ میشود. یادش به خیر. در […]