یونکس کے عظیم ترین پروگرام

مضمون کے مصنف، Douglas McIlroy، ایک امریکی ریاضی دان، انجینئر اور پروگرامر ہیں۔ وہ یونکس آپریٹنگ سسٹم میں پائپ لائن تیار کرنے، اجزاء پر مبنی پروگرامنگ کے اصولوں، اور کئی اصل افادیت کے لیے مشہور ہیں: spell, diff, sort, join, speak, tr.

کبھی کبھی آپ کو واقعی شاندار پروگرام ملتے ہیں۔ اپنی یادداشت کو گھورنے کے بعد، میں نے سالوں کے دوران اصلی یونکس جواہرات کی فہرست مرتب کی۔ بنیادی طور پر، یہ کافی نایاب ہیں اور اتنے ضروری پروگرام نہیں ہیں۔ لیکن جو چیز انہیں نمایاں کرتی ہے وہ ان کی اصلیت ہے۔ میں سوچ بھی نہیں سکتا کہ مجھے خود ان میں سے کسی کا خیال آیا۔

آپ بھی کن پروگراموں سے بہت متاثر ہوئے ہیں شئیر کریں؟

PDP-7 یونکس

شروع کرنے والوں کے لیے، خود PDP-7 یونکس سسٹم۔ اس کی سادگی اور طاقت نے مجھے ایک طاقتور مین فریم سے ایک چھوٹی مشین کی طرف جانے پر مجبور کیا۔ یہ ایک عمدہ درجہ بندی کا فائل سسٹم، علیحدہ شیل، اور صارف کی سطح پر عمل کا کنٹرول ہے جسے مین فریم پر ملٹیکس سینکڑوں سالوں کی ترقی کے بعد حاصل کرنے میں ناکام رہا ہے۔ یونکس کی خامیاں (جیسے فائل سسٹم کا ریکارڈ ڈھانچہ) اس کی اختراعات (جیسے شیل I/O ری ڈائریکشن) کی طرح ہی سبق آموز اور آزاد کرنے والی تھیں۔

dc

رابرٹ مورس کی متغیر درستگی ڈیسک ٹاپ کیلکولیٹر ریاضی لائبریری نے صارف کے مخصوص نتائج کی درستگی حاصل کرنے کے لیے ہر قدم پر درکار درستگی کا تعین کرنے کے لیے الٹا غلطی کا تجزیہ استعمال کیا۔ 1968 کی نیٹو سافٹ ویئر انجینئرنگ کانفرنس میں، سافٹ ویئر کے اجزاء پر اپنی رپورٹ میں، میں نے ایسے حوالہ جات کی تجویز پیش کی جو کوئی مطلوبہ درستگی پیدا کر سکتے ہیں، لیکن مجھے یہ نہیں معلوم تھا کہ انہیں عملی جامہ پہنانے کا طریقہ۔ dc اب بھی واحد پروگرام ہے جس کے بارے میں میں جانتا ہوں کہ یہ کر سکتا ہے۔

ٹائپنگ میں کوئی

Typo متن میں الفاظ کو باقی متن سے ان کی مماثلت کے مطابق ترتیب دیتا ہے۔ 'hte' جیسی غلط ہجے فہرست کے آخر میں ہوتی ہیں۔ رابرٹ مورس نے فخر سے کہا کہ یہ پروگرام کسی بھی زبان کے لیے یکساں طور پر کام کرے گا۔ اگرچہ ٹائپو آپ کو صوتی غلطیاں تلاش کرنے میں مدد نہیں کرتا ہے، لیکن یہ تمام ٹائپ سیٹرز کے لیے ایک حقیقی اعزاز تھا، اور اس سے پہلے کہ بہت کم دلچسپ لیکن زیادہ درست لغت کے ہجے چیکر کے آنے سے پہلے اس نے بہت اچھا کام کیا۔

ٹائپو اندر سے بھی اتنا ہی غیر متوقع ہے جتنا باہر سے۔ مماثلت کی پیمائش کا الگورتھم ٹریگرامس کی موجودگی کی فریکوئنسی پر مبنی ہے، جو 26×26×26 صف میں شمار ہوتے ہیں۔ چھوٹی میموری میں بمشکل ایک بائٹ کاؤنٹرز کے لیے کافی جگہ تھی، اس لیے بڑی تعداد کو چھوٹے کاؤنٹرز میں کمپریس کرنے کے لیے ایک اسکیم نافذ کی گئی۔ اوور فلو سے بچنے کے لیے، کاؤنٹرز کو ممکنہ بنیاد پر اپ ڈیٹ کیا گیا، کاؤنٹر ویلیو کے لوگارتھم کا تخمینہ برقرار رکھا۔

eqn

فوٹو ٹائپ سیٹنگ کی آمد کے ساتھ، کلاسیکی ریاضی کے اشارے کو پرنٹ کرنا ممکن ہو گیا، لیکن بہت تکلیف دہ۔ لورینڈا چیری نے ایک اعلیٰ درجے کی وضاحتی زبان تیار کرنے کا فیصلہ کیا، اور جلد ہی برائن کرنیگن نے اس کے ساتھ شمولیت اختیار کی۔ ان کا شاندار اقدام زبانی روایت کو تحریر میں لانا تھا، اس لیے eqn کو سیکھنا بہت آسان تھا۔ اپنی نوعیت کا پہلا ریاضیاتی ایکسپریشن لینگویج پری پروسیسر، eqn اس وقت سے زیادہ بہتر نہیں ہوا ہے۔

ڈھانچہ

برینڈا بیکر نے اپنے باس، میرے مشورے کے خلاف اپنا فورٹین ٹو راٹفور کنورٹر تیار کرنا شروع کیا۔ میں نے سوچا کہ اس سے اصل متن کی ایک خاص ترتیب نو ہو سکتی ہے۔ یہ سٹیٹمنٹ نمبرز سے پاک ہو گا، لیکن بصورت دیگر اچھی ساخت والے فورٹران کوڈ سے زیادہ پڑھنے کے قابل نہیں۔ برینڈا نے مجھے غلط ثابت کیا۔ اس نے دریافت کیا کہ فورٹران کے ہر پروگرام کی ایک روایتی ساخت ہوتی ہے۔ پروگرامرز نے کینونیکل شکل کو ترجیح دی، بجائے اس کے کہ وہ خود اصل میں لکھیں۔

پاسکل

برکلے میں سو گراہم کے گروپ کے ذریعہ مرتب کردہ کمپائلر میں نحو کی تشخیص سب سے زیادہ مددگار تھی جسے میں نے کبھی دیکھا ہے — اور یہ خود بخود ہو گیا تھا۔ نحوی غلطی پر، مرتب کرنے والا آپ کو تجزیہ جاری رکھنے کے لیے ٹوکن داخل کرنے کا اشارہ کرتا ہے۔ غلط کیا ہے سمجھانے کی کوشش نہیں کی گئی۔ اس کمپائلر کے ساتھ، میں نے پاسکل کو ایک شام میں بغیر کسی کتابچے کے سیکھا۔

حصے

WWB (رائٹرز ورک بینچ) ماڈیول کے اندر چھپا ہوا ہے۔ parts لورینڈا چیری صرف ایک چھوٹی لغت، ہجے اور گرامر کے قواعد کی بنیاد پر انگریزی متن میں الفاظ کے لیے تقریر کے حصوں کا تعین کرتی ہے۔ اس تشریح کی بنیاد پر، WWB پروگرام متن کے اسٹائلومیٹرک اشارے دکھاتا ہے، جیسے کہ صفتوں، ماتحت شقوں اور پیچیدہ جملوں کا پھیلاؤ۔ جب لورینڈا کا NBC's Today پر انٹرویو کیا گیا اور WWB کے متن میں جدید گرامر چیک کے بارے میں بات کی، تو یہ ٹیلی ویژن پر یونکس کا پہلا ذکر تھا۔

مثال کے طور پر

ال آہو کو توقع تھی کہ اس کا عزم پرست ریگولر ایکسپریشن ریزولور کین کے کلاسک نان ڈیٹرمنسٹک ریزولور کو پیچھے چھوڑ دے گا۔ بدقسمتی سے، مؤخر الذکر پہلے ہی پیچیدہ ریگولر ایکسپریشنز کے ذریعے ایک پاس مکمل کر رہا تھا، جبکہ egrep اس نے اپنی خود مختار آٹومیشن بنائی۔ ابھی بھی اس ریس کو جیتنے کے لیے، ال آہو نے آٹو میٹن کے اسٹیٹ ٹیبل کی تیز رفتار نمو کی لعنت کے گرد ایک ایسا طریقہ ایجاد کیا جس سے ٹیبل میں صرف وہی اندراجات شامل ہوں جو حقیقت میں پہچان کے دوران دیکھے جاتے ہیں۔

کیکڑے

بلٹ ونڈونگ سسٹم کے لیے لوکا کارڈیلی کے دلکش میٹا پروگرام نے ورچوئل کیکڑوں کو جاری کیا جو اسکرین کی خالی جگہ پر گھومتے ہیں، فعال ونڈوز کے کناروں کو زیادہ سے زیادہ کاٹتے ہیں۔

کچھ عمومی خیالات

اگرچہ یہ باہر سے نظر نہیں آتا، لیکن ان میں سے زیادہ تر پروگراموں کی تخلیق میں تھیوری اور الگورتھم نے فیصلہ کن کردار ادا کیا: typo, dc, struct, pascal, egrep. درحقیقت، یہ نظریہ کا غیر معمولی اطلاق ہے جو سب سے زیادہ حیران کن ہے۔

فہرست کا تقریباً نصف حصہ — پاسکل، ڈھانچہ، حصے، ایکون — اصل میں خواتین نے لکھا تھا، جو کمپیوٹر سائنس میں خواتین کی آبادی سے کہیں زیادہ ہے۔

ڈگلس میکلرائے
مارچ ، ایکس این ایم ایکس۔


ماخذ: www.habr.com

نیا تبصرہ شامل کریں