تائوی برنامه نویسی (کتاب هشتم – سخت افزار و نرم افزار)
این متن رو من خیلی وقت پیشها خوندم. واقعا متن جالبی بود. گفتم اینجا بزارم که بقیه دوستانی هم که نخوندن بهش یه نگاه بندازن. متنش مختصر و مفیده و صدالبته پرمعنی. بمرور مطالبش رو بروز میکنم.
تائوی برنامه نویسی
نویسنده: جفری جیمز
مترجم: آیدین غریب نواز
این کتاب با اجازهٔ رسمی از مولف آن ترجمه و منتشر شده است.
نسخه برداری و انتشار مجدد این کتاب به صورت کلمه به کلمه و بدون تغییر، در هر رسانه ای و در سراسر جهان به صورت رایگان، بدون نیاز به پرداخت حق تالیف مجاز میباشد، با این شرط که این اعلان/حق تالیف حفظ گردد.
کتاب اول – پوچیِ خاموش
کتاب دوم – اساتید کهن
کتاب سوم – طراحی
کتاب چهارم – کدنویسی
کتاب پنجم – نگهداری کد
کتاب ششم – مدیریت
کتاب هفتم – خِرد جمعی
کتاب هشتم – سخت افزار و نرم افزار
کتاب نهم – پایان
کتاب اول – پوچیِ خاموش
استاد برنامه نویس بدین گونه به سخن درآمد:
«. هنگامی که آموختی چگونه یک کد اشتباه را از دام قالب بیرون کشی، زمان رفتن برای تو فرا خواهد رسید »
1-1
چیزی راز آلود شکل گرفته، درون پوچی خاموش به دنیا آمده. تنها و بدون حرکت منتظر است، او در حین ساکن بودن، همواره در حرکت است. او سرچشمهٔ تمام برنامه ها است. من نامش را نمیدانم، بنابراین او را تائوی برنامه نویسی خواهم نامید.
اگر تائو کامل باشد، سیستم عامل نیز کامل خواهد بود. اگر سیستم عامل کامل باشد، کامپایلر کامل خواهد بود. اگر کامپایلر کامل
باشد، نرم افزار کامل خواهد بود. کاربر خشنود بوده و همآهنگی در جهان حکمفرما خواهد بود.
تائوی برنامه نویسی تا دوردستها روان میشود و با نسیم صبحگاه باز میگردد.
2-1
تائو به زبان ماشین حیات بخشیده است. زبان ماشین به اسمبلر حیات بخشیده است.
اسمبلر به کامپایلر حیات بخشیده است. حال ده هزار زبان وجود دارد.
هر زبان، هر چقدر هم که حقیر باشد، هدف خویش را دارد. هر زبان Yin و Yang نرم افزار را توصیف میکند. هر زبان در درون تائو مکان خویش را دارا است.
اما تا آنجا که میتوانید از برنامه نویسی در COBOL اجتناب ورزید.
3-1
در آغاز تائو بود. تائو به زمان و فضا حیات بخشید. به همین دلیل فضا و زمان Yin و Yang برنامه نویسی هستند.
برنامه نویسانی که تائو را درک نمی کنند همواره با کمبود زمان و فضا مواجه هستند. برنامه نویسانی که تائو را درک می کنند همواره زمان و فضای کافی برای دستیابی به اهداف خویش را دارا هستند.
چگونه به شکل دیگری میتواند باشد؟
4-1
با برنامه نویس خردمند دربارهٔ تائو سخن گفته شد و او آن را دنبال کرد. با برنامه نویس متوسط دربارهٔ تائو سخن گفته شد و او
به جستجویش برخواست. با برنامه نویس نادان دربارهٔ تائو سخن گفته شد و او به آن خندید.
اگر مسخره کننده ای نبود، تائو نیز وجود نداشت.
صداهای بلند سخت تر به گوش می آیند
به پیش رفتن روشی برای عقب نشینی است
استعداد شگرف خود را دیر نمایان می کند
حتی یک برنامهٔ کامل نیز هنوز باگ دارد
_____________________________________________________________________________
Yin و Yang دو مفهوم فلسفی در چین باستان هستند. چینیان معتقد بودند که همه چیز در جهان از برخورد و تاثیر Yin (مؤنث، تاریک، غیرفعال و منفی) و Yang (مذکر، روشن، فعال و مثبت) به وجود آمده است.
کتاب دوم – اساتید کهن
استاد برنامه نویس بدین گونه به سخن درآمد:
«. هنگامی که سه روز بدون برنامه نویسی سپری شود، زندگی معنای خود را از دست خواهد داد »
1-2
برنامه نویسان گذشته ژرف و اسرار آمیز بودند. ما نمیتوانیم افکارشان را درک کنیم، بنابراین تمام آنچه انجام میدهیم توصیف
ظاهر آنها است.
آگاه، همانند روباهی که از آب عبور می کند. هوشیار، همانند ژنرالی در میدان جنگ. مهربان، همانند بانوی صاحبخانه که به
میهمانان خویش خیر مقدم می گوید. ساده، همانند قطعه چوبهای برهنه. مبهم، همانند برکه ای در دل غارهای تاریک.
چه کسی میتواند رازهای قلب و ذهنشان را بازگو کند؟
پاسخ تنها درون تائو نهفته است.
2-2
روزگاری استاد بزرگ، تورینگ*، در رویا دید که یک ماشین بوده است. هنگامی که از خواب برخواست، گفت:
«نمیدانم که آیا این من، تورینگ هستم که در خواب خود را یک ماشین می بینم، یا یک ماشین خواب می بیند که من تورینگ هستم!»
3-2
یک برنامه نویس از یک شرکت بزرگ در یک گفتگوی نرم افزار شرکت جست و سپس بازگشت تا به مدیر خود گزارش دهد. گفت: « اینان چگونه برنامه نویسانی هستند که برای شرکتهای دیگر کار می کنند؟ آنان رفتاری ناشایسته دارند و برای ظاهرخویش اهمیتی قائل نیستند. موهایشان بلند و نامرتب و لباسهایشان چروک خورده و کهنه بود. آنان اتاق مهمانان ما را درهم شکستند و در طول سخنرانی اصوات غیرمؤدبانه ای از خود خارج می ساختند.»
مدیر گفت: «من نباید تو را به آن گفتگو می فرستادم. آن برنامه نویسان در ورای این دنیای فیزیکی زندگی می کنند. آنان زندگی را مضحک و اتفاقی می پندارند. آنان بدون توجه به محدودیتها رفت و آمد می کنند. بی هیچ غمی، تنها به خاطر برنامه های خود زنده اند. چرا آنان باید با رسوم اجتماعی خود را به دردسر بیاندازند؟»
« آنان درون تائو زنده اند. »
4-2
یک نوآموز از استاد پرسید: « برنامه نویسی وجود دارد که هرگز برنامه های خود را طراحی، مستندسازی و آزمایش نمی کند. با این وجود تمام اشخاصی که او را می شناسند به عنوان بهترین برنامه نویس جهان ستایش اش می کنند. چرا این چنین است؟»
استاد پاسخ داد:« آن برنامه نویس بر تائو تسلط یافته است. او فراتر از نیاز به طراحی رفته است؛ هنگامی که سیستم به مشکل برخورد می کند، خشمگین نمی شود، تنها جهان را بدون توجه می پذیرد. او فراتر از نیاز به مستندسازی رفته است؛ دیگر اهمیتی نمی دهد که شخص دیگری کدی را که نوشته ببیند. او فراتر از نیاز به آزمایش کردن رفته است؛ تمام برنامه های او در خویشتن خود کامل، متین و زیبا هستند، هدف آنها آشکار است. در حقیقت، او به اسرار تائو داخل شده است.»
______________________________________________________________________
* (۱۹۱۲-۵۴) Alan Turing ریاضی دان. طرح هایی را که او توسعه داد منجر به ساخت کامپیوترهای اولیه شد. وی همچنین تاثیر زیادی بر دانش هوش مصنوعی بر جای گذاشت. آزمون تورینگ امروزه به عنوان معیاری برای سنجش هوشمندی یک نرم افزار پذیرفته شده است. هرچند تا کنون نرم افزاری موفق به گذراندن آن نگردیده است.
کتاب سوم – طراحی
استاد برنامه نویس بدین گونه به سخن درآمد:
«. وقتی آزمایش برنامه ای شروع شد، دیگر برای تغییر طرح دیر خواهد بود »
1-3
روزگاری مردی بود که به یک نمایشگاه کامپیوتر رفت. هر روز که به آنجا وارد میشد، به نگهبانِ در میگفت:
«من دزدی بزرگ هستم، به خاطر مهارت در بلند کردن جنس مشهور هستم. از قبل به تو اخطار میکنم، این نمایشگاه از غارت من در امان نخواهد ماند.»
این سخنان نگهبان را بسیار مضطرب ساخت چرا که آنجا میلیونها دلار تجهیزات کامپیوتری وجود داشت. بنابراین او مرد را به دقت زیر نظر گرفت. اما آن مرد تنها از غرفه ای به غرفهٔ دیگر میرفت و به آرامی با خود زمزمه میکرد.
هنگامی که مرد میخواست آنجا را ترک کند، نگهبان او را به کناری کشید و تمام لباسهایش را گشت، اما چیزی نیافت.
روز بعد، مرد بازگشت و نگهبان راسرزنش کرد:«من دیروز با مقدار بسیاری غنیمت فرار کردم، اما امروز حتی از آن هم بهتر خواهد بود»
بنابراین نگهبان او را با دقت بیشتری زیر نظر گرفت، اما چیزی به دست نیاورد.
در آخرین روز نمایشگاه، نگهبان نتوانست کنجکاوی خود را بیش از این پنهان کند. او گفت:«جناب دزد، من سردرگم شدهام،
نمیتوانم از اینجا بروم. لطفا مرا روشن کنید. شما چه چیزی میدزدیدید؟»
مرد لبخند زد: «من ایده ها را میدزدم.»
2-3
زمانی یک استاد برنامه نویس وجود داشت که برنامه های بدون ساختار مینوشت. یک برنامه نویس نوآموز که از او پیروی می کرد، شروع به نوشتن برنامه های بدون ساختار کرد. هنگامی که نوآموز از استاد خواست تا برنامه اش را ارزیابی کند، استاد او را به خاطر نوشتن برنامهٔ بدون ساختار سرزنش کرده و گفت: « آنچه در خور استاد است برای نوآموزان شایسته نیست. قبل از آنکه بخواهی از ساختار رهایی یابی، باید تائو را درک کرده باشی. »
3-3
روزگاری برنامه نویسی بود که در درگاه فرمانروای Wu * خدمت میکرد. فرمانروا از برنامه نویس پرسید: « طراحی کدامیک ساده تر است: «یک نرم افزار حسابداری و یا یک سیستم عامل؟»
برنامه نویس پاسخ داد:« سیستم عامل.»
فرمانروا فریادی از سر ناباوری برآورد:«به طور یقین در مقابل پیچیدگی سیستم عامل، نرمافزار حسابداری ناچیز است.»
برنامه نویس گفت :« نه آنطور که به نظر میرسد، هنگامی که برنامه نویس یک نرم افزار حسابداری را طراحی میکند باید سلایق متفاوتی را برآورده سازد: نرم افزار چگونه باید عمل کند، گزارشهایش چگونه باید باشند، و چگونه باید با قوانین مالیاتی هماهنگ باشد. در مقابل، یک سیستم عامل با دنیای بیرون خود محدود نشده است. هنگام طراحی یک سیستم عامل برنامه نویس به دنبال ساده ترین هماهنگی میان ماشین و سیستم عامل میگردد. و به این دلیل است که طراحی سیستم عامل ساده تر است.»
فرمانروا Wu لبخندی زد و پرسید:« بسیار خوب، اما اشکال زدایی کدام یک ساده تر است؟»
برنامه نویس پاسخی نداد.
4-3
یک مدیر به همراه مستندات یک برنامه به نزد استاد برنامه نویس رفت. مدیر از استاد پرسید:« اگر من پنج برنامه نویس را برای انجام این کار در نظر بگیرم، چه میزان طول خواهد کشید تا کار انجام شود؟ »
استاد بیدرنگ پاسخ داد: « یک سال زمان خواهد برد. »
«اما ما این سیستم را فوراً و یا حتی زودتر از آن میخواهیم! اگر ده برنامه نویس برای این کار بگذارم چه مقدار طول خواهد کشید؟»
استاد برنامه نویس ابروهایش را در هم کشید: « در این صورت، دوسال زمان خواهد برد.»
«و اگر صد برنامه نویس برای آن بگذارم؟ »
استاد برنامه نویس شانه ای بالا انداخت و گفت:« در آن صورت طراحی آن هرگز به پایان نخواهد رسید. »
______________________________________________________________________________
*یکی از سه امپراطوری بزرگ که بعد از سقوط سلسلهٔ Han چین را اداره میکردند. بودیدهارما بعد از ترک هند و ورود به چین برای ترویج آموزه های بودا، با امپراطورِ Wu مصاحبه نمود. این مصاحبه در ادبیات ذن بسیار مشهور است.
کتاب چهارم – کدنویسی
استاد برنامه نویس بدین گونه به سخن درآمد:
«. برنامه ای که خوب نوشته شده بهشتِ خودش است، برنامه ای که بد نوشته شده جهنم خودش است »
1-4
یک برنامه باید سبک و سریع الانتقال باشد، روالهایش همانند رشته ای از مروارید به یکدیگر متصل باشند. روح و نیت برنامه باید همواره حفظ شود. نه باید چیزی زیاد باشد و نه چیزی کم، نه چرخه هایی که به آنها نیازی نیست و نه متغیرهای بی فایده، نه کمبودی در ساختار و نه انعطاف ناپذیری.
یک برنامه باید از قانون «کمترین سرگشتگی» پیروی کند. این قانون چیست؟ به این معنی است که برنامه باید همواره به نوعی به کاربر پاسخ دهی کند که کمترین میزان سرگشتگی را به همراه داشته باشد.
یک برنامه، هرچقدر هم که پیچیده باشد، باید همانند یک واحد یکتا عمل نماید. یک برنامه باید به وسیلهٔ منطق درونی خویش هدایت شود و نه ظواهر بیرونی.
اگر برنامه ای این التزامات را برآورده نکند، در حالتی از بی نظمی و آشفتگی قرار خواهد گرفت. تنها راه تصحیح آن بازنویسی برنامه است.
2-4
یک نوآموز از استاد پرسید:«من برنامه ای دارم که گاهی اجرا میشود و گاهی عمل نمیکند. من از قوانین برنامه نویسی تبعیت کردهام، با این وجود گیج شدهام. دلیل این امر چیست؟»
استاد پاسخ داد: «تو گیج شده ای چرا که تائو را درک نکردهای. تنها یک نادان از انسانها انتظار رفتاری منطقی را دارد. حال تو چگونه چنین انتظاری از ماشینی که به دست انسان ساخته شده داری؟ کامپیوترها جبر گرایی را شبیه سازی میکنند؛ تنها تائو کامل است.»
«قوانین برنامه نویسی ناپایدارند؛ تنها تائو جاودان است. بنابراین تو باید قبل از اینکه به درک کامل دستیابی، در تائو اندیشه کنی.»
تازه وارد پرسید:« اما چگونه بدانم که به درک کامل دست یافتهام؟»
استاد پاسخ داد: «برنامه ات بدون اشکال اجرا خواهد شد.»
3-4
استادی طبیعت تائو را برای یکی از نوآموزانش توضیح میداد. «تائو درون تمام برنامه ها تجلی می یابد – صرفنظر از ناچیز بودن آن.»
نوآموز پرسید: «آیا تائو در یک ماشین حساب دستی وجود دارد؟»
استاد پاسخ داد:«بله، وجود دارد.»
نوآموز ادامه داد: «آیا تائو در یک بازی کامپیوتری وجود دارد؟»
استاد گفت: «حتی در یک بازی کامپیوتری نیز وجود دارد.»
«و آیا تائو در سیستمامل DOS برای کامپیوترهای شخصی هم وجود دارد؟»
استاد سرفه ای کرد، کمی جابه جا شد و گفت: «درس برای امروز کافی است.»
4-4
برنامه نویسی که در خدمت شاهزاده وانگ بود برنامه ای می نوشت. انگشتانش بر روی صفحه کلید به رقص درآمدند. برنامه بی هیچ پیغام خطایی کامپایل شد و مانند نسیمی ملایم اجرا شد.
شاهزاده با تعجب فریاد زد: «عالی بود! شگرد تو بی اشکال است!»
«شگرد؟» برنامه نویس به آرامی برگشت، «چیزی که من دنبال می کنم تائو است – فراتر از تمام شگردها! هنگامی که برای اولین بار شروع به برنامه نویسی کردم تمام برنامه را به تمامی پیش روی خویش همانند توده ای می دیدم. بعد از سه سال دیگر توده ای وجود نداشت، از روالها استفاده می کردم. اما حال هیچ نمی بینم. تمام موجودیت من به صورت خلئی بیشکل وجود دارد. حواسم کاری انجام نمی دهند. وجودم آزاد است، بدون هیچ طرحی کار می کند، از غریزهٔ خویش پیروی می کند. سخن کوتاه، برنامهٔ من خودش، خود را می نویسد. البته، گاهی مسائل مشکلی وجود دارد. آنها را می بینم که به سمت من می آیند، سرعتم را کم می کنم، در خاموشی به نظاره می نشینم. سپس، خطی از کد را تغییر می دهم و مشکلات همانند بخار ناپدید می شوند. سپس برنامه را کامپایل می کنم. آرام می نشینم و اجازه می دهم که لذت کار وجودم را دربر گیرد. چشمانم را برای لحظه ای می بندم و از سیستم خارج می شوم.»
شاهزاده وانگ گفت: « ای کاش تمام برنامه نویسان من چنین خردی داشتند!»
کتاب پنجم – نگهداری کد
استاد برنامه نویس بدین گونه به سخن درآمد:
«وجود برنامه ای را تصور کنید که تنها سه خط طول دارد، روزی باید از آن مراقبت شود.»
1-5
دری که همواره استفاده شود نیاز به روغنکاری ندارد.
جریانی خروشان ساکن نخواهد ماند.
صدا و فکر نمیتوانند از میان خلاء عبور کنند.
اگر از نرم افزار استفاده نشود فاسد خواهد شد.
اینها اسراری بزرگ هستند.
2-5
یک مدیر از برنامه نویسی پرسید که چه مقدار طول خواهد کشید تا او برنامه ای را که هم اکنون بر روی آن کار می کند به اتمام رساند. برنامه نویس بیدرنگ پاسخ داد: « فردا آن را تمام خواهم کرد.»
مدیر گفت: «تصور می کنم کمی غیر واقعی سخن میگویی. صادقانه، چه مقدار طول خواهد کشید؟»
برنامه نویس برای لحظه ای تفکر کرد. و بالاخره پاسخ داد: «دوست دارم تعدادی قابلیت به آن بی افزایم. فکر کنم دستکم دو هفته ای طول بکشد.»
مدیر پافشاری کرد: «حتی این نیز فراتر از انتظار است. خوشحال خواهم شد که هنگامی که برنامه به پایان رسید به من اطلاع بدهی.»
برنامه نویس موافقت کرد.
چندین سال بعد، مدیر بازنشست شد. هنگامی که از جشن بازنشستگی خویش باز می گشت، برنامه نویس را پشت یکی از ترمینالها خفته یافت. او تمام شب را برنامه نوشته بود.
3-5
زمانی یک برنامه نویس تازه کار را به کار نوشتن یک نرم افزار سادهٔ اقتصادی گماشتند.
تازه کار چندین روز با جدیت کار کرد، اما هنگامی که استاد برنامهٔ او را بازبینی نمود، متوجه شد که برنامه شامل یک ویرایشگر تصویری، مجموعه ای از روالهای گرافیکی، و یک واسطِ هوش مصنوعی است، اما هیچ نشانی از اقتصاد وجود ندارد.
هنگامی که استاد در این مورد جویا شد، تازه کار خشمگین شد و گفت: «ناشکیبا نباشید، عاقبت بخش اقتصادی را در آن قرار خواهم داد.»
4-5
آیا یک باغبان خوب از آنچه کاشته است غافل می شود؟
آیا یک آموزگار خوب حتی از پست ترین دانش آموز خود چشم پوشی می کند؟
آیا یک پدر خوب اجازه می دهد حتی یکی از فرزندانش گرسنگی بکشد؟
آیا یک برنامه نویس خوب از نگهداری کد خویش سرباز میزند؟
کتاب ششم – مدیریت
استاد برنامه نویس بدین گونه به سخن درآمد:
«اجازه دهید برنامه نویسان بسیار و مدیران کم باشند – آنگاه همگان فعال خواهند بود.»
1-6
وقتی مدیران جلسات بی پایان برگزار میکنند، برنامه نویسان بازی مینویسند. وقتی حسابداران از یک چهارم شدن سود میگویند، بودجهٔ توسعه تقریبا قطع میشود. وقتی دانشمندان عالی رتبه از آسمان آبی سخن میگویند، ابرها وارد میشوند.
در حقیقت، این تائوی برنامهنویسی نیست.
هنگامی که مدیران متعهد میشوند، برنامه های بازی نادیده انگاشته میشوند. هنگامی که حسابداران طرحهای بلند مدت ارائه میدهند، هماهنگی و نظم باز میگردد. هنگامی که دانشمندان عالی رتبه به مشکلات موجود اشاره میکنند، مشکلات به زودی حل میشوند.
در حقیقت، این تائوی برنامهنویسی است.
2-6
چرا برنامه نویسان غیر مولد هستند؟
چرا که وقتشان در جلسات به هدر میرود.
چرا برنامه نویسان سرکش هستند؟
چرا که مدیران بیش از حد دخالت میکنند.
چرا برنامه نویسان تک تک استعفا میدهند؟
چرا که بیش از حد از آنان کار کشیده میشود
با کار کردن برای مدیریت ضعیف، دیگر برای شغل خود اهمیتی قائل نمیشوند.
3-6
مدیری تقریبا اخراج شده بود، اما برنامه نویسی که برایش کار میکرد برنامه ای جدید خلق کرد که بسیار محبوب شد و به خوبی به فروش رفت. در نتیجه مدیر شغل خود را از دست نداد.
مدیر تلاش کرد تا به برنامه نویس پاداشی بدهد، اما برنامه نویس آن را رد کرده و گفت: « من برنامه را نوشتم چرا که فکر میکردم فکر جالبی است، بنابراین انتظار هدیه ندارم.»
مدیر با شنیدن این حرف اظهار کرد: «این برنامه نویس، تصور میکنم پستی کم ارزش را در اختیار دارد، وظیفه شناسی او به عنوان یک کارمند تحسین برانگیز است. بگذار مقام او را به معاون مدیر ارتقاء دهم!»
هنگامی که این را بر زبان آورد، برنامهنویس بیش از قبل امتناع کرده و گفت: «من به دنیا آمدهام تا برنامه بنویسم. اگر ترفیع رتبه بگیرم، تنها وقت دیگران را به هدر خواهم داد. حال میتوانم بروم؟ مشغول کار بر روی برنامه ای هستم.»
4-6
یک مدیر به نزد برنامهنویسان رفته و به آنان گفت: «من ساعات کاری شما را تغییر دادهام. مجبور خواهید بود که در ساعت نه صبح آمده و در ساعت پنج بعد از ظهر اینجا را ترک گویید.» با شنیدن این سخن، تمامی آنان خشمگین شده و تعدادی بیدرنگ استعفای خود را اعلم نمودند.
بنابراین مدیر گفت: «بسیار خوب، در این صورت خودتان ساعت کاری را تعیین کنید، البته تا زمانی که برنامه ها به موقع تحویل داده شوند.» برنامهنویسان که حال خشنود شده بودند، شبها می آمدند و تا نزدیک صبح کار میکردند.
کتاب هفتم – خِرد جمعی
استاد برنامه نویس بدین گونه به سخن درآمد:
«میتوان برنامه ای برای هیئت مدیرهٔ شرکت نوشت، اما نمیتوان یک کامپیوتر ادیب ساخت.»
1-7
نوآموزی از استاد پرسید: «در شرق نوعی ساختار درختی وجود دارد که نام 'ساختمان مرکزی' را بر آن نهاده اند. شکل آن به دست مشاور هیئت مدیره و حسابداراناش تغییر یافته. تعداد بسیاری یادداشت تولید میکند که هرکدام میگویند: 'از اینطرف برو!' یا 'از آن طرف برو!' و هیچکس نمیداند که معنی آن چیست. هر سال نامهای جدیدی درون شاخه ها قرار داده میشود اما هیچکدام در دسترس نیستند. چطور چیزی چنین غیر طبیعی میتواند وجود داشته باشد؟»
استاد پاسخ داد: «تو این ساختار بیکران را درک کرده ای و از اینکه هدفی ندارد مشوش شده ای. چرخه های بیپایانش باعث سرگرمی تو نیست؟ از بی آزاری و سادگی برنامه نویسی اش که در زیر شاخه ها پناه گرفته اند لذت نمیبری؟ چرا بابت بیفایدگیاش خود را ناراحت میکنی؟»
2-7
در شرق کوسه ای وجود داشت که از تمام ماهیان دیگر بزرگتر بود. او به پرنده ای تبدیل شد که بالهایش همانند ابرهایی بودند که آسمان را می پوشانند. هنگامی که این پرنده بر فراز سرزمینها در پرواز بود، پیغامی از 'ساختمان مرکزی' حمل میکرد. این پیغام را در میان برنامه نویسان رها کرد، درست همانطور که مرغ دریایی نشان خود را بر فراز ساحل میگذارد. سپس پرنده بر بادها سوار شد و با آسمان آبی بر پشتش به خانه بازگشت.
برنامه نویس نوآموز با شگفتی به پرنده خیره شد، چرا که آن را درک نمیکرد. برنامه نویس متوسط از آمدن پرنده وحشت کرد، چرا که محتوای پیغام او را نگران میکرد. استاد برنامه نویس پشت ترمینال خویش مشغول کار بود، چراکه نمیدانست پرنده ای آمده و رفته.
3-7
جادوگر برج عاج، آخرین اختراع خویش را نزد استاد برنامه نویس آورده بود تا آن را امتحان کند. جادوگر جعبهٔ سیاه بزرگی را به درون دفتر استاد غلتاند، در حالی که استاد خاموش و منتظر بود.
جادوگر چنین آغاز کرد: «این یک کامپیوتر مجتمع، توزیع شده و همه کاره است، کاملا ارگونومیک طراحی شده و سیستم عاملی اختصاصی دارد، شامل زبانهای نسل ششم است، و رابط گرافیکی هنرمندانه و با کیفیتی دارد. ساخت این دستگاه چند صد نفر سال زمان دستیاران من را گرفته است. جالب نیست؟»
استاد ابروانش را اندکی بال برده و گفت: «حقیقتا جالب است.»
جادوگر ادامه داد: «ساختمان مرکزی دستور داده است که همگان از این کامپیوتر به عنوان سکویی جدید برای برنامه ها استفاده کنند. آیا شما موافق هستید؟»
استاد پاسخ داد: «مطمئنا، من فورا این را به مرکز داده ها ارسال خواهم کرد!» و جادوگر راضی و خشنود به برج خویش بازگشت.
چند روز بعد، یک نوآموز به دفتر استاد برنامه نویس وارد گردیده و گفت: «نمیتوانم لیستِ برنامهٔ جدیدم را بیابیم. میدانید ممکن است کجا باشد؟ »
استاد پاسخ داد: « بله، لیست بر بدنهٔ سکوی جدید در مرکز دادهها نصب شده است.»
4-7
استاد برنامه نویس بدون نگرانی از برنامه ای به برنامهٔ دیگر می رفت. هیچ گونه تغییری در مدیریت نمیتوانست به او صدمه ای رساند. حتی اگر پروژه منحل شود، او را اخراج نمیکنند. چرا چنین است؟ او از تائو پُر شده است.
کتاب هشتم – سخت افزار و نرم افزار
استاد برنامه نویس بدین گونه به سخن درآمد:
«بدون نسیم، چمنزار حرکت نمیکند. بدون نرم افزار، سخت افزار بدون استفاده است.»
1-8
تازه کاری از استاد پرسید: «من متوجه شده ام که یک شرکت کامپیوتری بسیار بزرگتر از دیگر شرکتها است. همانند غولی در میان کوتوله ها. هر کدام از بخشهای آن میتوانند یک کسب و کار کامل را راه اندازی کنند. چرا چنین است؟»
استاد پاسخ داد: «چرا چنین سوالات احمقانه ای میپرسی؟ آن شرکت بزرگ است چرا که بزرگ است. اگر تنها سخت افزار تولید میکرد، هیچ شخصی محصولات اش را نمیخرید. اگر تنها نرم افزار تولید میکرد، هیچ شخصی از آنها استفاده نمیکرد. اگر تنها از سیستمها نگهداری میکرد، مردم با او همانند مستخدمین رفتار میکردند. اما این شرکت تمام اینها را با هم ترکیب کرده و مردم به او همانند یکی از خدایان مینگرند! از آنجایی که به دنبال نزاع نیست، بدون هیچ تلاشی فتح میکند.»
2-8
روزی استاد برنامه نویس بر یک نوآموز گذر کرد. او دریافت که نوآموز با یک دستگاه بازی دستی مشغول است. او گفت: «ببخشید، ممکن است امتحاناش کنم؟»
تازه کار از جا جست و دستگاه را به دست استاد سپرد. استاد گفت: «میبینم که دستگاه ادعا میکند که سه سطح مختلف بازی دارد: آسان، متوسط و سخت. اما هر دستگاهی همانند این یک سطح بازی دیگر نیز دارد که در آن دستگاه به دنبال پیروزی یافتن بر انسان نیست، و انسان نیز به دنبال پیروزی یافتن بر دستگاه نیست.»
نوآموز با تمنا گفت: «درود بر شما ای استاد بزرگ، چگونه شخص میتواند به این قابلیت اسرار آمیز دست یابد؟»
استاد دستگاه را به زمین افکند و آن را زیر پا خرد کرد. و در آن لحظه نوآموز بیدار شد.
3-8
روزگاری برنامه نویسی وجود داشت که بر روی ریزپردازنده ها کار میکرد. او به یک برنامه نویس کامپیوتر که برای ملاقات آمده بود گفت: «نگاه کن که من چه چیزی در اختیار دارم، سیستم عامل و سخت افزار ذخیره سازی دادهٔ مختص خودم. من مجبور نیستم که ابتکارم را با دیگران شریک شوم. نرم افزار کامل با خودش سازگار است و به سهولت قابل استفاده. چرا از کار کنونی خود دست نمیکشی و به من نمی پیوندی؟»
سپس برنامه نویس کامپیوتر شروع به تشریح سیستم خود برای دوستش کرده و گفت: «کامپیوتر همانند راهبی از روزگار کهن در میان مرکز داده ها به مراقبه مشغول است. دیسکهای سخت اش همانند اقیانوسی از ماشین آلات در کنار یکدیگر خفته اند. نرم افزار صورتهای بیشماری همانند الماس دارد و به پیچیدگی جنگلهای باستانی است. برنامه ها، هر کدام منحصر به فرد، همانند رودخانه ای خروشان از میان سیستم حرکت میکنند. و به این دلیل است که در جایی که هستم خوشحالم.»
برنامه نویسِ ریزپردازنده با شنیدن این سخنان خاموش ماند. اما آن دو برنامه نویس تا آخرین روزهای حیات دوست یکدیگر باقی ماندند.
4-8
نرمافزار و سختافزار در جادهٔ چانگ ته سه به یکدیگر برخوردند. نرمافزار گفت: «تو Yin هستی و من Yang. اگر ما با یکدیگر سفر کنیم مشهور خواهیم شد و ثروت بزرگی به دست خواهیم آورد.» و از آن پس آنان با یکدیگر ماندند، در فکر فتح جهان.
به زودی به سفتافزار* برخورد کردند که ردایی ژنده به تن و عصایی خاردار به دست داشت. سفت افزار به آنان گفت: «تائو جایی فراتر از Yin و Yang است. او خاموش و همانند آبگیر است. او به دنبال شهرت نیست و بنابراین کسی نمیداند که و وجود دارد. به دنبال مال اندوزی نیست، چرا که در درون خویش کامل است. او فراتر از فضا و زمان است.»
سخت افزار و نرم افزار شرمسار شدند و به خانه بازگشتند.
______________________________________________________
* firmware
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .