طریقت برنامه نویسی – دفتر نهم : سخن آخر
ارسال شده توسط رضا شیرازی مفرد در ۱۸م اسفند ۱۳۸۸دفتر نهم: سخن آخر
چنین فرمود استاد برنامه نویس :
((اکنون زمان آن فرارسیده است که رهسپار شوی.))
چنین فرمود استاد برنامه نویس :
((اکنون زمان آن فرارسیده است که رهسپار شوی.))
چنین فرمود استاد برنامه نویس :
((بدون وزش باد سبزه زار بی حرکت است. بدون نرم افزار سخت افزار بی استفاده است.))
۸٫۱
کارآموز از استاد پرسید: ((من دریافتم شرکت کامپیوتری وجود دارد که از سایر شرکتها خیلی بزرگتر است. بر بالای سر رقبایش ایستاده است مانند غولی برابر آدم کوتوله ها .
هر یک از بخشهای آن کل تجارت را شامل می شود. چرا چنین است؟))
استاد پاسخ داد: ((این چه سوال ابلهانه ای است که می پرسی؟ آن شرکت بزرگ است چون بزرگ است. اگر فقط سخت افزار می ساخت، هیچ کس نمی خرید. اگر فقط نرم
افزار می ساخت، هیچ کس استفاده نمی کرد. اگر فقط کار پشتیبانی انجام می داد، مردم با او همانند خدمتکار رفتار می کردند. اما چون همه این کارها را با هم یکپارچه
کرده است، مردم فکر می کنند او یکی از خدایان است . ب ی هیچ تلاش ی پیروز می شود.))
۸٫۲
روزی استاد برنامه نویس از کنار کارآموزی گذشت، استاد متوجه شد که کارآموز مشغول بازی با یک رایانه جیبی است. استاد گفت: ((ببخشید، می توانم آن را امتحان
کنم؟))
کارآموز جهت ادای احترام از جا جست و دستگاه را به دست استاد داد . استاد گفت :
((می بینم که این دستگاه ادعا کرده که سه سطح بازی دارد. مقدماتی، میانه، پیشرفته. با این حال دستگاه هایی از این دست، سطح دیگری نیز برای بازی دارند، سطحی که
دستگاه به دنبال رقابت با انسان نیست، بلکه انسان می خواهد با او رقابت کند.))
کارآموز التماس کرد: ((تقاضایی دارم استاد بزرگ، چگونه افراد این تنظیمات پیچیده را تشخیص دهند؟))
استاد دستگاه را به زمین انداخت و زیر پایش خرد کرد و ناگهان کارآموز آگاه شد.
۸٫۳
روزی برنامه نویسی بود که بر روی ریزکامپیوتر ها کار می کرد . او به برنامه نویس کامپیوتر بزرگ که برای بازدید آمده بود گف ت:((من سیستم عامل خودم و دستگاه
ذخیره سازی خودم را دارم. من نباید منابع در اختیارم را با دیگران به اشتراک بگذارم . نرم افزار من متکی به خود است و استفاده کردن از آن ساده است. چرا از شغل فعلی
ات کناره نمی گیری تا در اینجا به من بپیوندی؟))
سپس برنامه نویس کامپیوتر بزرگ شروع به شرح دادن سیستم اش کرد و گفت :
((پردازنده مرکزی ابرکامپیوتر، همچون پیر کهن مراقبه در قلب مرکز داده ها می نشیند. گرداننده های دیسک آن همچون اقیانوس بزرگی است . نرم افزار های آن
همچون الماس، چند وجهی و به هم پیچیده همچون جنگلی کهن است . برنامه ها، هرکدامشان همچون رودی چالاک در بین سیستمها حرکت می کنند از این رو من از
جایی که در آن کار می کنم راضی هستم.))
برنامه نویس ریزکامپیوترها به محض شنیدن این حرف ساکت شد . اما آن دو برنامه نویس تا آخرین روزها همچنان دوست باقی ماندند.
۸٫۴
سخت افزار و نرم افزار در مسیر ((یانگ تسه)) همدیگر را ملاقات کردند. نرم افزار گفت:
((تو یین هستی و من یانگ. اگر من و تو با هم سفر کنیم، مشهور خواهیم شد و پول هنگفتی بدست خواهیم آورد.)) پس با هم همراه شدند و فکر کردند که چگونه در
را ملاقات کردند که تن پوش (Firmware) جهان رقابت کنند. ناگهان نرم افزار ثابت مندرسی پوشیده بود و در یک تیغستان می لنگید. نرم افزار ثابت به آنها گفت : ((دائو
ورای یین و یانگ قرار دارد. او خموش است همچون برکه آب . او به دنبال شهرت نیست، در نتیجه هیچکس حضورش را درک نمی کند. او خوشبختی را جستجو نمی کند، چون خودش به تنهایی کامل است. او ورای زمان و مکان است.))
نرم افزار و سخت افزار خجالت زده به خانه هایشان بازگشتند.
چنین فرمود استاد برنامه نویس:
((شما می توانید یک برنامه را برای مدیران سازمان نمایش دهید ولی نمی توانید سواد کامپیوتری به آنها بیاموزید.))
۷٫۱
کارآموزی از استاد پرسید: ((در شرق ساختار درختی بزرگی وجود دارد که مردم به آن اداره مرکزی می گویند. آن اداره مرکزی با تعداد کثیر ی معاون و حسابدار ، گسترش
یافته و ا ز شکل خارج شده است. یادداشت های فراوانی صادر می کند که در هر یک از آنها نوشته شده ((به آن طرف برو!)) و یا ((به این طرف بیا!)) و هیچکس نمی داند که
معنی آن چیست. هر سال اسامی جدید به شاخه های آن اضافه می شود، بدون آنکه سودی داشته باشد. چگونه چنین نهاد غیر طبیعی وجود دارد؟))
استاد پاسخ داد: ((تو این ساختار گسترده را درک کردی و برآشفتی از اینکه چنین ساختاری هیچ هدف منطقی ندارد. آیا می توانی به این گردش بی انتها سرگرم نشوی؟
آیا لذت نمی بری از سادگی برنامه نویسی سطح پایین که به انشعاب پناه داده است ؟ چرا از بی فایده بودن آن پریشان می شوی؟))
۷٫۲
در مشرق زمین کوسه ماهی وجود دارد که از همه ماهی های دیگر بزرگتر است. او می تواند به پرنده ای تبدیل شود که بالهایش آسمان را پر می کند. وقتی این پرنده بر روی
شهر حرکت می کند پیامی از اداره مرکزی دارد . پیامی که او در میان قلب برنامه نویسان می اندازد، همانند نشانه ای است که مرغ دریایی از خود در ساحل به جای می گذارد. سپس پرنده سوار بر باد، آسمان آبی را پشت سر گذاشته و به خانه باز می گردد.
برنامه نویس تازه کار با تعجب به پرنده خیره می ماند، چون او را درک نمی کند. برنامه نویس متوسط از آمدن پرنده هراس دارد، ترس از پیام او . استاد برنامه نویس پشت
ترمینال به کارش ادامه می دهد، چون نمی داند که پرنده آمده و رفته است.
۷٫۳
جادوگر برج عاج آخرین اختراع خود را برای آزمایش نزد استاد برنامه نویس آورد .
جادوگر جعبه سیاهی را به دفتر استاد برنامه نویس هل می داد در حالی که استاد در سکوت منتظر بود.
جادو گر شروع به صحبت کرد: ((این یک ایستگاه کار کامل، توزیع شده و همه منظوره است. با سیستم عامل اختصاصی، زبانهای نسل ششم و واسط کاربرهای چندگانه مدرن.
چند سال زمینی به طول انجامیده است تا دستیاران من آنرا ساخته اند . شگفت انگیز نیست؟))
استاد ابروانش را اندکی بالا برد و گفت : ((به راستی شگفت انگیز است.))
جادوگر ادامه داد:((اداره مرکزی دستور داده است که همه افراد از این ایستگاه کار به عنوان محیطی برای برنامه های جدیدشان استفاده کنند. آیا شما موافقید؟))
استاد پاسخ داد: ((حتما، بلافاصله دستور انتقال آن به مرکز داده ها را خواهم داد !)) وجادوگر راضی و خشنود به قلعه اش بازگشت.
چند روز بعد، یک کارآموز، سرگردان وارد دفتر استاد برنامه نویس شد و گفت : ((من فهرست برنامه های جدیدم را پیدا نمی کنم، آیا شما می دانید کجا ممکن است باشد؟))
استاد پاسخ داد: ((بله، فهرستها در مرکز داده ها انباشته شده اند.))
۷٫۴
استاد برنامه نویس بدون هراس از این برنامه به آن برنامه نقل مکان می کند . هیج تغییری در مدیریت آسیبی به او نمی رساند. حتی اگر قرارداد فسخ شود، او اخراج
نخواهد شد. چرا چنین است؟ او لبریز از دائو است.
چنین فرمود استاد برنامه نویس :
((بگذارید برنامه نویسان زیاد باشند و مدیران اندک، پس همه چیز پربار خواهد شد.))
۶٫۱
وقتی مدیران در جلسات تمام نشدنی شرکت می کنند، برنامه نویسان بازی می نویسند. وقتی حسابداران درباره گزارش سود سه ماهه صحبت می کنند، بودجه های توسعه باید قطع شود. وقتی دانشمندان برجسته راجع به آسمان آبی صحبت می کنند، ابرها در آسمان پهن می شوند. در حقیقت، این طریقت برنامه نویسی نیست.
وقتی مدیران تعهد ایجاد می کنند، برنامه نویسان بازی، کنار می روند. وقتی حسابداران اهداف بلند مدت را تنظیم می کنند، توازن و نظم باید بازسازی شود. وقتی دانشمندان برجسته به مشکلات موجود اشاره می کنند، مشکلات به سرعت حل می شوند.
در واقع این طریقت برنامه نویسی است.
۶٫۲
چرا برنامه نویسان محصول گرا نیستند؟
چون وقت آنها در ملاقاتها هدر می رود.
چرا برنامه نویسان متمرد هستند؟
چون مدیران، زیاد در کار آنها دخالت می کنند.
چرا برنامه نویسان یکی پس از دیگری استعفا می دهند؟
چون از خستگی از پا در می آیند.
آنها با کار کردن برای مدیران بی مایه بعد از مدتی دیگر برای کارشان ارزشی قایل نیستند.
۶٫۳
مدیری در آستانه اخراج قرار داشت، اما برنامه نویسی که برای او کار می کرد برنامه جدیدی ابداع کرد که محبوب شد و فروش خوبی داشت. در نتیجه آن مدیر در مقامش ابقا شد.
مدیر سعی کرد به برنامه نویس پاداشی بدهد، اما برنامه نویس آنرا رد کرد و گفت : ((من آن برنامه را نوشتم چون فکر می کردم موضوع آن جالب است، بنابراین من انتظار قدردانی ندارم.))
مدیر به محض شنیدن این تذکر گفت : ((این برنامه نویس، اگر چه شهرت کمی را برای خودش خواسته، اما وظایف یک کارمند واقعی را به درستی درک کرده است. بهتراست او را به مقام مشاور مدیریت ترفیع دهم.))
اما وقتی این را به برنامه نویس گفت، او بیشتر مخالفت کرد و گفت : ((من هستم چون میتوانم برنامه بنویسم. اگر ترفیع داده شوم، هیچ کاری نخواهم کرد بجز آنکه وقت همه را هدر دهم. آیا می توانم اکنون بروم؟ برنامه ای دارم که باید روی آن کار کنم.))
۶٫۴
مدیری نزد برنامه نویسانش رفت و به آنها گفت: ((درباره ساعت کارتان: شما ملزمید از ساعت ۹ صبح تا ۵ بعد از ظهر سر کار حضور داشته باشید.)) از این موضوع، همه آنها
عصبانی شدند و چندین نفر در همان لحظه استعفا دادند.
پس مدیر گفت: ((بسیار خوب، در این صورت شما می توانید ساعت کارتان را خودتان تعیین کنید، با این شرط که پروژه ها را طبق زمانبندی به اتمام برسانید .)) برنامه نویسان راضی شدند، وسط روز سر کار می آمدند و تا اندکی به صبح مانده کارشان را ادامه می دادند.
چنین فرمود استاد برنامه نویس :
((حتی یک برنامه سه خطی هم روزی به پشتیبانی نیاز خواهد داشت.))
۵٫۱
دری که از آن به درستی استفاده شود، هیچگاه لولاهایش به روغن نیاز ندارد.
یک نهر جاری هیچگاه راکد نمی ماند.
نه صدا و نه اندیشه در خلا سفر نمی کنند.
اگر از نرم افزار استفاده نشود، فاسد می شود.
اینها اسرار خوبی هستند.
۵٫۲
مدیری از برنامه نویسی پرسید چقدر زمان نیاز دارد تا برنامه ای را که می نویسد تمام
کند. برنامه نویس بیدرنگ پاسخ داد: ((فردا تمامش خواهم کرد.))
مدیر گفت: ((من فکر می کنم تو واقع بین نیستی، حقیقتا چقدر زمان نیاز دارد؟))
برنامه نویس اندکی فکر کرد و سپس پاسخ داد: ((امکاناتی هست که من آرزو دارم آنها
را اضافه کنم. این حداقل دو هفته طول می کشد.))
مدیر پافشاری کرد و گفت : ((این هم خیلی بیشتر از آن چیزی است که من انتظار
داشتم. من خوشحال و راضی می شوم اگر تو به من بگویی برنامه کی تکمیل می
شود.))
برنامه نویس موافقت کرد.
سال ها بعد، مدیر بازنشسته شد. در راه میهمانی بازنشستگی متوجه شد که برنامه
نویس پشت ترمینالش خواب است. او تمام شب را کار می کرده است.
۵٫۳
روزی برنامه نویس تازه کاری به نوشتن نرم افزار مالی ساده ای گمارده شد.
تازه کار، روزهای زیادی با جدیت کار کرد، اما وقتی استادش کار او را مرور کرد، متوجه
شد برنامه او شامل یک ویرایشگر، مجموعه ای از رویه های گرافیکی و یک واسط هوش
مصنوعی است، اما در آن کوچکترین اثری از هیچ مبحث مالی نبود.
وقتی استاد علت آن را جویا شد، تازه کار رنجیده پاسخ داد : ((اینقدر ناشکیبا نباشید .
نهایتا مباحث مالی را در آن خواهم گنجاند.))
۵٫۴
آیا یک کشاورز خوب از محصولی که کاشته است غفلت می کند؟
آیا یک معلم خوب از یک شاگرد کودن خود چشم پوشی می کند؟
آیا یک پدر خوب می گذارد تنها فرزندش از گرسنگی بمیرد؟
آیا یک برنامه نویس خوب از نگهداری برنامه اش سرباز می زند؟
چنین فرمود استاد برنامه نویس :
((برنامه ای که به درستی نوشته شده، بهشت خودش و برنامه ای که بد نوشته شده جهنم خودش است.))
۴٫۱
برنامه باید سبک و سریع باشد، رویه های آن باید مانند رشته های مروارید به هم متصل باشند. روح و معنای برنامه باید در سراسر آن حفظ شود . نباید خیلی کم یا خیلی زیاد باشد، حلقه های زاید و متغیر های بی استفاده نداشته باشد، نه تنها نقص ساختار بلکه استحکام بیش از حد نیز نداشته باشد.
یک برنامه باید از ((قانون حداقل شگفتی)) پیروی کند. این قانون چیست؟ به طور ساده برنامه باید همیشه طوری به کاربر پاسخ دهد که حداقل شگفتی را برای او ایجاد کند.
یک برنامه، هرچقدر هم که پیچیده باشد، باید کاری خاص را انجام دهد. برنامه باید بر اساس منطق درونی خودش عمل کند نه با نماد بیرونی. اگر برنامه اینگونه نباشد، برنامه ای نا مرتب و به هم ریخته است . تنها راه اصلاح آن، بازنویسی برنامه است.
۴٫۲
کارآموز از استاد پرسید: ((برنامه ای دارم که گاهی اجرا می شود و گاهی نمی شود .کلیه قوانین برنامه نویسی را رعایت کرده ام، اکنون کاملا گیج شده ام . علت این امر چیست؟))
استاد پاسخ داد: ((تو گیج شدی چون دائو را درک نکردی . فقط یک شخص نادان انتظار رفتار منطقی از افراد عامی را دارد. از دستگاهی که ساخته دست بشر است چه انتظاری داری؟ رایانه ها قطعیت را شبیه سازی می کنند؛ فقط دائو کامل است.))
((قوانین برنامه نویسی ناپایدار هستند؛ فقط دائو ابدی است . بنابراین باید به دائو بیندیشی قبل از آنکه به دانائی برسی.))
کارآموز پرسید: ((اما چگونه بفهمم که به دانائی رسیده ام؟))
استاد پاسخ داد: ((آنگاه برنامه تو به درستی اجرا خواهد شد.))
۴٫۳
استاد برنامه نویس ماهیت دائو را برای یکی از کارآموزانش شرح می داد. استاد گفت : ((دائو در تمام نرم افزارها متجلی است، هرچند ناچیز٫))
کارآموز پرسید: ((آیا دائو در یک ماشین حساب جیبی نیز وجود دارد؟))
پاسخ آمد: ((وجود دارد.))
کارآموز ادامه داد: ((آیا دائو در یک بازی ویدئویی هم وجود دارد؟))
استاد گفت : ((حتی در بازی ویدئویی هم وجود دارد.))
((آیا دائو در سیستم عامل داس رایانه شخصی هم وجود دارد؟))
استاد سرفه ای کرد و به آرامی اندکی از جایش تکان خورد و گفت : ((درس امروز تمام شد.))
۴٫۴
برنامه نویس شاهزاده ونگ در حال نوشتن برنامه بود. انگشتانش بر روی صفحه کلید می رقصید. برنامه بدون هیچ پیغام خطائی ترجمه شد و همچون نسیمی آرام اجرا گردید.
شاهزاده فریاد زد: ((عالی بود! تکنیک تو بدون خطاست!))
برنامه نویس از جلوی ترمینالش چرخید و گفت: ((تکنیک؟ آنچه من از آن پیروی می کنم دائوست، ماورای همه تکنیک ها! وقتی شروع به برنامه نویسی کردم قبل از خودم همه حجم موضوع را یکجا دیدم. بعد از سه سال دیگر هرگز این حجم را ندیدم . در عوض از زیر برنامه ها استفاده کردم. اما حالا هیچ چیز نمی بینم . تمام وجود من در
یک فضای بی شکل زنده است. حواس من بیکار است. روح من برای کار کردن بدون برنامه، آزاد است و از غریزه اش پیروی می کند . به طور خلاصه، برنامه های من،
خودشان خودشان را می نویسند. درست است، گاهی مسائل سختی وجود دارد. آنها را می بینم که می آیند، من کندتر حرکت می کنم و با آرامش نگاه می کنم. سپس خطی
از کد را تغییر می دهم و سختی ها ناپدید می شود مانند دود سیگار . سپس برنامه را ترجمه می کنم. آرام می نشینم و اجازه می دهم لذت کار وجودم را لبریز کند .
چشمهایم را برای لحظه ای می بندم و سپس از سیستم کامپیوتر خارج می شوم.))
شاهزاده ونگ گفت : ((ای کاش تمام برنامه نویسان من اینقدر خردمند بودند.))
چنین فرمود استاد برنامه نویس :
((زمانی که برنامه تست می شود برای تغییر در طراحی خیلی دیر شده است.))
۳٫۱
مردی به نمایشگاه کامپیوتر رفت. او هر روز که وارد می شد، به نگهبان جلوی درب می گفت:
((من دزد بزرگی هستم. شهرت من به علت شاهکارهای دزدی از مغازه هاست . اخطار می دهم که از دستبرد این نمایشگاه راه گریزی برایتان نیست.))
این گفتگو نگهبان را بر آشفت،چون میلیون ها دلار لوازم کامپیوتری در آنجا بود، پس با دقت آن مرد را زیر نظر گرفت. اما مرد فقط از این غرفه به آن غرفه سرگردان بود و
با خودش به آرامی زمزمه می کرد.
وقتی می خواست آنجا را ترک کند، نگهبان او را به داخل آورد و لباسهایش را تفتیش کرد اما چیزی نیافت.
روز بعد، آن مرد بازگشت و از نگهبان گله کرد و گفت: ((من دیروز از اینجا با غنیمت فراوانی گریختم، اما امروز حتی بهتر از دیروز خواهد بود.)) نگهبان او را دقیقتر زیر نظر
گرفت، اما چیزی عایدش نشد.
در روز آخر نمایشگاه، نگهبان نتوانست حس کنجکاویش را کنترل کند. او گفت: ((آقای دزد، من کاملا گیج شدم، نمی توانم راحت زندگی کنم. لطفا برایم روشن کنید، شما چه چیزی را می دزدید؟))
مرد خندید و پاسخ داد : ((من دزد ایده ها هستم.))
۳٫۲
استاد برنامه نویسی بود که برنامه های غیر ساختیافته می نوشت . برنامه نویس تازه کاری می خواست از او تقلید کند، بنابراین او هم شر وع به نوشتن برنامه های غیر
ساختیافته کرد. وقتی تازه کار از استاد خواست که روند کاری او را ارزیابی کند، استاد از او به خاطر نوشتن برنامه های غیر ساختیافته انتقاد کرد و گفت: ((آنچه برای استاد پسندیده است برای کارآموز پسندیده نیست. تو باید ابتدا دائو را درک کنی، قبل از آنکه از ساختار فراتر روی.))
۳٫۳
رفت . فرمان روا از برنامه نویس (Wu) برنامه نویسی بود که به بارگاه فرمان روای وو پرسید: ((طراحی یک بسته نرم افزاری مالی آسانتر است یا یک سیستم عامل؟))
برنامه نویس پاسخ داد: ((سیستم عامل))
فرمانروا از سر ناباوری بانگی برآورد و گفت : ((یقینا پیچیدگی یک بسته نرم افزاری مالی در مقابل یک سیستم عامل ناچیز است.))
برنامه نویس گفت: ((اینطور نیست، زمان طراحی یک بسته نرم افزاری مالی برنامه نویس همچون واسطه ای میان مردمی با ایده های مختلف است: عملکرد برنامه باید به
چه صورت باشد، چه گزارشاتی باید داشته باشد و چگونه باید با قوانین مالیاتی مطابقت کند. از طرف دیگر یک سیستم عامل به ظواهر خارجی محدود نیست . زمان طراحی
یک سیستم عامل، برنامه نویس به دنبال ساده ترین توازن میان ماشین و ایده هاست .
این دلیل ساده تر بودن طراحی سیستم عامل نسبت به بسته نرم افزاری مالی است.))
فرمانروا وو، سری تکان داد و لبخند زد : ((همه آنچه گفتی درست بود، اشکال زدائی کدامیک آسانتر است؟))
برنامه نویس پاسخی نداد.
۳٫۴
مدیری نزد استاد برنامه نویس رفت و به او نیازها و اسناد یک برنامه جدید را نشان داد.
مدیر از استاد پرسید: ((طراحی این سیستم با پنج برنامه نویس چقدر طول خواهد کشید؟))
استاد بیدرنگ پاسخ داد: ((یک سال))
((اما ما این سیستم را هر چه سریعتر نیاز داریم! با ده برنامه نویس چقدر طول خواهد کشید؟))
استاد چهره اش را در هم کشید و گفت : ((در آن صورت دو سال طول خواهد کشید.))
((و اگر صد برنامه نویس به آن اختصاص دهم چطور؟))
استاد برنامه نویس با بی قیدی پاسخ داد : ((در این صورت هرگز طراحی آن تمام نخواهد شد.))
چنین فرمود استاد برنامه نویس :
((پس از سه روز برنامه ننوشتن زندگی بی معنا می شود.))
۲٫۱
برنامه نویسان قدیمی، مرموز و عمیق بودند. ما نمی توانیم عمق افکار آنها را درک کنیم، تنها می توانیم ظاهر آنها را توصیف کنیم: آگاه، همچون روباهی که از آب عبور می کند. هوشیار، ما نند سرداری که در میدان جنگ است. مهربان، همچون میزبانی که به مهمانهایش خوش آمد می گوید . ساده، همچون قطعات چوب نتراشیده. مبهم، مانند برکه های سیاه در غار های تاریک.
چه کسی می تواند رموز افکار و احساسات آنها را بیان کند؟ پاسخ آن تنها در دائو موجود است.
۲٫۲
یک بار استاد بزرگ، تورینگ، در خواب دید که ماشین است . وقتی بیدار شد فریاد برآورد که:
((نمی دانم که آیا تورینگ ام و خواب می بینم که ماشین هستم یا اینکه ماشین ام وخواب می بینم که تورینگ هستم!))
۲٫۳
برنامه نویسی از یک شرکت بزرگ کامپیوتری به یک همایش نرم افزاری رفت و سپس به مدیر خود این گونه گزارش داد : ((اینها چه جور برنامه نویسانی هستند که برای
شرکتهای کامپیوتری کار می کنند؟ رفتارشان بد بود و ظاهرشان نشان می داد که بی تمرکز هستند. مو هایشان بلند و ژولیده و لباسهایشان چروک و کهنه بود . آنها سالن
مجلل پذیرائی ما را بهم ریخته بودند و هنگام ارایه مطالب من صداهای ناهنجار در می آوردند.
مدیر گفت : ((من هرگز نباید تو را به آن سمینار می فرستادم. آن برنامه نویس ها در ورای دنیای فیزیکی زندگی می کنند. به عقیده آنها زندگی، پوچ و رویدادی غیر مترقبه
است. آنها در رفت و آمدند، بدون آنکه محدودیتها را بدانند. بی آنکه اهمیتی بدهند،
تنها برای برنامه هایشان زندگی می کنند . چرا باید خودشان را با همایش های اجتماعی آزار دهند؟))
((آنها با دائو زنده اند.))
۲٫۴
کارآموزی از استاد پرسید : ((اینجا برنامه نویسی هست که هیچ گاه برنامه های ش را طراحی، مستند سازی و تست نکرده است . با این حال همه کسانی که او را می
شناسند، او را به عنوان یکی از بهترین برنامه نویسان دنیا قبول دارند . چ را این گونه است؟))
استاد پاسخ داد : ((آن برنامه نویس به استادی دائو نائل گردیده است. او فراتر از نیاز به طراحی است، وقتی سیستم خراب می شود او عصبانی نمی شود، او واقعیت دنیا را با
بی اعتنایی پذیرفته است. او به فراتر از نیاز به مستند سازی رفته است، او دیگر اهمیتی نمی دهد که آیا کس دیگری کدهای او را می بیند یا نه. او نیازی به آزمایش کردن
ندارد. هرکدام از برنامه های او به خودی خود کامل، واضح و عالی است، اهداف برنامه ها در خودشان مشهود است. در حقیقت او وارد اسرار دائو شده است.))
چنین فرمود استاد برنامه نویس :
((هرگاه آموختی که چگونه خطا های برنامه را رفع کنی، طریقت برنامه نویسی را آموخته ای و زمان آن فرارسیده است که اینجا را ترک کنی))
۱٫۱
چیزی مرموز شکل می گیرد و در فضای خاموش متولد می ش ود. تنها و بی حرکت منتظر می ماند، در ابتدا ساکن و در عین حال در حرکتی ثابت است . او منبع تمام برنامه ها است. من نامش را نمی دانم، پس او را طریقت برنامه نویسی (دائو) می نامم. اگر دائو عظیم باشد آنگاه سیستم عامل عظیم خواهد شد . اگر سیستم عامل خوب باشد، مترجم (کامپایلر) خوب خواهد شد. اگر مترجم خوب باشد ، برنامه ها خوب خواهند شد. در این صورت کاربر خشنود می شود و توازن در جهان برقرار خواهد شد.
طریقت برنامه نویسی به دور دستها جریان پیدا می کند و با باد صبحگاهی باز می گردد.
۱٫۲
دائو به زبان ماشین حیات می بخشد. زبان ماشین به اسمبلر حیات می بخشد. اسمبلر به مترجم حیات می بخشد و اینک ده ها هزار زبان وجود دارند. هر زبانی هدف خود را دارد، هرقدر هم که آن هدف کوچک باشد . هر زبانی یین ویانگ نرم افزار را بیان می کند. هر زبانی جایگاهی در دائو دارد. تا می توانی از برنامه نویسی با کوبول بپرهیز٫
۱٫۳
در آغاز فقط دائو بود. دائو به زمان و فضا حیات بخشید. بنابراین زمان و فضا یین و یانگ برنامه نویسی هستند. برنامه نویسانی که دائو را درک نمی کنند همواره زمان و فضا را برای برنامه هایشان از دست می دهند. برنامه نویسانی که دائو را درک می کنند، همیشه زمان و فضای کافی ، برای به انجام رساندن اهدافشان دارند.
چطور می تواند جز این باشد؟
۱٫۴
برنامه نویس خردمند از دائو می گوید و از آن پیروی می کند . برنامه نویس عادی از دائو می گوید و در جستجوی آن است. برنامه نویس کودن از دائو می گوید و به آن می
خندد. اگر برای خنده نبود دائویی وجود نداشت. صداهای بلند سخت تر شنیده می شوند. جلو رفتن راهی برای عقب نشینی است. استعدادهای بزرگ در زندگی خودشان را دیر نشان می دهند.حتی در یک برنامه کامل هم هنوز خطاهایی وجود دارد.
سلام
احتمالا شما با دستور Case When در Sql آشنا هستید. این دستوردر زبان SQL مانند همان دستور select case در vb.net و asp.net عمل میکنه و بسیار دستور پرکاربردی هست.
در بر خی مواقع لازم هست که در دستور update خود از این شرط استفاده کنید و مقادیر فیلدهای خود را براساس یک شرط خاص به مقدار خاصی ذخیره کنید. مثلا فرض کنید که میخواهیم با استفاده از منطق فازی به ازائ هر قیمت خاص مشخص کنیم که آیا بودجه ما گران است؟ متوسط هست و یا ارزان هست و این مقدار را در جدول خود update کنیم.
برای این کار کافیست از دستور زیر استفاده کنیم :
SELECT title, price,
Budget = CASE price
WHEN price > 20.00 THEN ‘Expensive’
WHEN price BETWEEN 10.00 AND 19.99 THEN ‘Moderate’
WHEN price < 10.00 THEN ‘Inexpensive’
ELSE ‘Unknown’
END,
FROM titles
خوش باشید.
دیدگاههای تازه