دفتر سوم: طراحی
چنین فرمود استاد برنامه نویس :
((زمانی که برنامه تست می شود برای تغییر در طراحی خیلی دیر شده است.))
۳٫۱
مردی به نمایشگاه کامپیوتر رفت. او هر روز که وارد می شد، به نگهبان جلوی درب می گفت:
((من دزد بزرگی هستم. شهرت من به علت شاهکارهای دزدی از مغازه هاست . اخطار می دهم که از دستبرد این نمایشگاه راه گریزی برایتان نیست.))
این گفتگو نگهبان را بر آشفت،چون میلیون ها دلار لوازم کامپیوتری در آنجا بود، پس با دقت آن مرد را زیر نظر گرفت. اما مرد فقط از این غرفه به آن غرفه سرگردان بود و
با خودش به آرامی زمزمه می کرد.
وقتی می خواست آنجا را ترک کند، نگهبان او را به داخل آورد و لباسهایش را تفتیش کرد اما چیزی نیافت.
روز بعد، آن مرد بازگشت و از نگهبان گله کرد و گفت: ((من دیروز از اینجا با غنیمت فراوانی گریختم، اما امروز حتی بهتر از دیروز خواهد بود.)) نگهبان او را دقیقتر زیر نظر
گرفت، اما چیزی عایدش نشد.
در روز آخر نمایشگاه، نگهبان نتوانست حس کنجکاویش را کنترل کند. او گفت: ((آقای دزد، من کاملا گیج شدم، نمی توانم راحت زندگی کنم. لطفا برایم روشن کنید، شما چه چیزی را می دزدید؟))
مرد خندید و پاسخ داد : ((من دزد ایده ها هستم.))
۳٫۲
استاد برنامه نویسی بود که برنامه های غیر ساختیافته می نوشت . برنامه نویس تازه کاری می خواست از او تقلید کند، بنابراین او هم شر وع به نوشتن برنامه های غیر
ساختیافته کرد. وقتی تازه کار از استاد خواست که روند کاری او را ارزیابی کند، استاد از او به خاطر نوشتن برنامه های غیر ساختیافته انتقاد کرد و گفت: ((آنچه برای استاد پسندیده است برای کارآموز پسندیده نیست. تو باید ابتدا دائو را درک کنی، قبل از آنکه از ساختار فراتر روی.))
۳٫۳
رفت . فرمان روا از برنامه نویس (Wu) برنامه نویسی بود که به بارگاه فرمان روای وو پرسید: ((طراحی یک بسته نرم افزاری مالی آسانتر است یا یک سیستم عامل؟))
برنامه نویس پاسخ داد: ((سیستم عامل))
فرمانروا از سر ناباوری بانگی برآورد و گفت : ((یقینا پیچیدگی یک بسته نرم افزاری مالی در مقابل یک سیستم عامل ناچیز است.))
برنامه نویس گفت: ((اینطور نیست، زمان طراحی یک بسته نرم افزاری مالی برنامه نویس همچون واسطه ای میان مردمی با ایده های مختلف است: عملکرد برنامه باید به
چه صورت باشد، چه گزارشاتی باید داشته باشد و چگونه باید با قوانین مالیاتی مطابقت کند. از طرف دیگر یک سیستم عامل به ظواهر خارجی محدود نیست . زمان طراحی
یک سیستم عامل، برنامه نویس به دنبال ساده ترین توازن میان ماشین و ایده هاست .
این دلیل ساده تر بودن طراحی سیستم عامل نسبت به بسته نرم افزاری مالی است.))
فرمانروا وو، سری تکان داد و لبخند زد : ((همه آنچه گفتی درست بود، اشکال زدائی کدامیک آسانتر است؟))
برنامه نویس پاسخی نداد.
۳٫۴
مدیری نزد استاد برنامه نویس رفت و به او نیازها و اسناد یک برنامه جدید را نشان داد.
مدیر از استاد پرسید: ((طراحی این سیستم با پنج برنامه نویس چقدر طول خواهد کشید؟))
استاد بیدرنگ پاسخ داد: ((یک سال))
((اما ما این سیستم را هر چه سریعتر نیاز داریم! با ده برنامه نویس چقدر طول خواهد کشید؟))
استاد چهره اش را در هم کشید و گفت : ((در آن صورت دو سال طول خواهد کشید.))
((و اگر صد برنامه نویس به آن اختصاص دهم چطور؟))
استاد برنامه نویس با بی قیدی پاسخ داد : ((در این صورت هرگز طراحی آن تمام نخواهد شد.))