فلسفهء یونیکس / Unix philosophy

فلسفهء یونیکس یک مجموعه از هنجارها و مشی های فلسفی برای توسعهء نرم افزار بر اساس تجربهء توسعه دهندگان ارشد سیستم عامل یونیکس است.

Doug McIlroy، مخترع خط لوله های یونیکس (Unix pipes) و یکی از بنیانگذاران سنت یونیکس، این فلسفه را بصورت زیر خلاصه کرد:

«این فلسفهء یونیکس است: برنامه هایی بنویسید که یک چیز را انجام میدهند و آن را به خوبی انجام میدهند. برنامه ها را برای کار کردن با همدیگر بنویسید. برنامه ها را برای عمل کردن با جریانهای متنی (text streams) بنویسید، زیرا آن یک اینترفیس فراگیر است».

این معمولا به «برنامه هایی بنویسید که یک چیز را انجام میدهند و آن را به خوبی انجام میدهند» کوتاه میشود.

Eric S. Raymond در کتابش بنام «هنر برنامه نویسی یونیکس»، فلسفهء یونیکس را بعنوان قاعدهء KISS سرنام Keep it Simple, Stupid به معنای «آن را ساده نگه دار، احمق» خلاصه میکند. او همچنین یک سری از قواعد طراحی را ارائه میکند:

قاعدهء ماجولار بودن: قطعات ساده ای بنویسید که با اینترفیس های تمیز متصل میشوند.
قاعدهء وضوح: وضوح بهتر از زیرکی است.
قاعدهء ترکیب: برنامه هایی طراحی کنید که به برنامه های دیگر متصل میشوند.
قاعدهء تفکیک: سیاست را از مکانیزم تفکیک کنید؛ اینترفیس ها را از انجین ها جدا کنید.
قاعدهء سادگی: برای سادگی طراحی کنید؛ پیچیدگی را تنها جایی اضافه کنید که باید این کار را انجام دهید.
قاعدهء خساست: فقط وقتی یک برنامهء بزرگ بنویسید که از واقعیتهای مشهود روشن است که هیچ چیز دیگری بدرد نمیخورد.
قاعدهء شفافیت: برای قابلیت دیده شدن طراحی کنید تا بررسی و عیب یابی ساده تر شود.
قاعدهء استحکام: استحکام فرزند شفافیت و سادگی است.
قاعدهء نمایندگی: دانش را به داخل دیتا ببرید تا منطق برنامه بتواند خنگ و مستحکم باشد.
قاعدهء کمترین غیرمنتظرگی: در طراحی اینترفیس همیشه بطوری که کمترین غیرمنتظرگی را دارد عمل کنید.
قاعدهء سکوت: وقتی یک برنامه چیز غیرمنتظره ای برای گفتن ندارد، باید چیزی نگوید.
قاعدهء تعمیر: وقتی عملیات باید شکست بخورد، با سر و صدا و هرچه زودتر این کار را انجام دهید.
قاعدهء اقتصاد: وقت برنامه نویس گران است، آن را در ترجیح بر وقت ماشین حفظ کنید.
قاعدهء تولید: از کار با دست اجتناب کنید؛ وقتی میتوانید برنامه هایی را برای نوشتن برنامه ها بنویسید.
قاعدهء بهینه سازی: قبل از پرداخت کاری کردن نمونه اولیه بسازید. قبل از آنکه آنرا بهینه کنید آنرا به کار بیاندازید.
قاعدهء تنوع: به تمام ادعاها برای «یک راه درست» بی اعتماد باشید.
قاعدهء توسعه پذیری: برای آینده طراحی کنید، زیرا آن زودتر از آنچه شما فکر میکنید اینجا خواهد بود.

——————————————–

نقل قول ها:

«یونیکس ساده است. فقط یک نابغه میخواهد که سادگی آن را درک کند.» Dennis Ritchie

«یونیکس برای جلوگیری کردن کاربرانش از انجام کارهای احمقانه طراحی نشده بود، چراکه آن همچنین آنها را از انجام کارهای هوشمندانه بازمیداشت.» Doug Gwyn

«یونیکس هیچوقت نمیگوید ‘لطفا’.» Rob Pike

«یونیکس کاربرپسند است، آن فقط دربارهء اینکه با کدام کاربران کاربرپسند است بی قاعده نیست.» Steven King

«آنهایی که یونیکس را نمیفهمند محکوم به اختراع مجدد آن به شکل ضعیفی هستند.» Henry Spencer

========================

منبع: http://en.wikipedia.org/wiki/Unix_philosophy

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

*

شما می‌توانید از این دستورات HTML استفاده کنید: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>