میراث دنیس ریچی، خالق زبان برنامه نویسی C و یونیکس

ميراث دنيس ريچی، خالق زبان برنامه نويسی C و يونيكس

 اندکی پس از درگذشت استیو جابز، دنیای کامپیوتر قهرمانی دیگر را از دست داد. دنیس ریچی دانشمند علوم کامپیوتر و از خالقان زبان برنامه نویسی C و یونیکس بود که نقش شگرفی در شکل‌گیری دنیای کامپیوتری امروز ما داشت. از او به عنوان شانه‌هایی یاد می‌شود که استیو جابز بر آن ایستاده بود.

 دنیس ریچی در سن هفتاد سالگی و پس از تحمل رنج سرطان و بیماری‌های قلبی درگذشت. یونیکس و زبان برنامه نویسی C که دستاورد تلاش‌های ریچی و همکارانش به شمار می رود، زیرساخت نرم‌افزاری را فراهم کردند که بخش اعظمی از دنیای کامپیوتری امروز، از اینترنت تا گوشی‌های هوشمند بر پایه آن شکل گرفت و حتی نقش محوری‌ در شکل‌گیری جهان مدرن ایفا کرد.

 سرآغاز یونیکس به دهه‌ی 1960 و بسیار پیش از اختراع میکروچیپ و کامپیوترهای شخصی بازمی‌گردد. نزدیک‌ترین شیء به کامپیوترهای شخصی ابزارواره‌ای بود متشکل از یک ماشین بزرگ پردازنده مرکزی که به‌طور همزمان می‌توانست توسط یک دوجین کاربر ترمینال‌های تایپی و البته با صرف هزینه‌ای گزاف، مورد استفاده قرار گیرد.

 در اواسط این دهه، افزارها به عنوان راه پیش روی صنعت شناخته‌ شدند و کنسرسیومی متشکل از جنرال الکتریک، بل لبز و انستیتو فناوری ماساچوست  پروژه‌ای را با عنوان Multics کلید زدند. مولتیکس می‌بایست از طریق پشتیبانی امکان استفاده صدها کاربر به صورت همزمان، به‌عنوان بزرگترین افزار کامپیوتری جهان تبدیل می‌شد. بل لبز مسئول طراحی نرم افزار سیستم عامل شد.

 ریچی در سال 1967 به بخش برنامه‌نویسی بل لبز پیوست. پدرش، آلیستر، سابقه زیادی در آنجا داشت و از نویسندگان کتاب فنی و مهم «طراحی مدارهای سوئیچینگ» بود. دنیس فرزند آلیستر و جین در محله برانکسویل شهر نیویورک متولد شد و در نیوجرسی، جایی که بل لبز سایت Murray Hill خود را دایر کرده بود، پرورش یافت. او در رشته فیزیک مشغول به تحصیل شد اما آن را رها کرد و در سال 1963 لیسانس خود را در ریاضی و در سال1968 دکترای خود را در علوم کامپیوتری از دانشگاه هاروارد دریافت‌کرد.

زمانی که وی به مولتیکس و بخش تحقیقات بل لبز پیوست، پروژه اسیر بحران بود. در حقیقت اکثر پروژه‌های بزرگ نرم‌افزاری با بحران دست و پنجه نرم ‌می‌کردند. آنها تازه متوجه شده ‌بودند که نوشتن برنامه‌های بزرگ  به‌طور وحشتناکی سخت و پرهزینه است و این چنین شد که در سال 1969 و پس از 4 سال تلاش، بل لبز از ادامه همکاری در این پروژه منصرف شد.

ریچی و کن تامپسون، یکی دیگر از برنامه‌نویسان اصلی مولتیکس، به واسطه انتقال مسئولیت پروژه از همکاری محروم می‌شدند و از سوی دیگر پیچیدگی نگارش چنین سیستم عاملی مولتیکس را با مشکل روبرو کرده بود. این مساله آنان را به فکر انداخت تا سیستم عاملی ساده‌تر و کوچکتر بسازندکه آن را یونیکس نامیدند. ریچی انتخاب این نام را حاصل نوعی «جناس شیطنت آمیز با مولتیکس» دانسته ‌بود.

ایده آنها در ابتدا با استقبال مدیران روبرو نشد و آنها مجبور شدند بر روی کامپیوتری منسوخ که تنها 16 مگابایت حافظه داشت کار کنند. هرچند این عاملی شد تا همه‌چیز ساده تر بماند.

یونیکس طی چند ماه در 1969 طراحی‌شد و نمونه اولیه آن در اوائل 1970 و درحالی که همکاران آنها همچنان به دیده به آن می‌نگریستند، ارائه‌ شد. با این حال ریچی و تامپسون دپارتمان حق ثبت انحصاری بل لبز را متقاعد کردند تا یک ابرکامپیوتر را  برای اجرای برنامه متن‌پردازشان تدارک ببینند.

آنها تصمیم‌گرفتند تا سیستم عاملشان را برای ماشین جدید به‌کلی بازنویسی کنند، چرا که نخستین نسخه یونیکس که با زبان ماشین نوشته‌شده ‌بود، بسیار کند و دشوار بود. برای نسخه جدید، ریچی زبان C را اختراع کرد که شکاف بین زبان ماشین و زبان‌های برنامه نویسی چون فورترن و کبل را پرکرد.

از نکات قابل توجه دیگر درباره C تبارشناسی آن است. نیای این زبان در دانشگاه‌های لندن و کمبریج و در سال 1964 طراحی شده بود که به زبان برنامه‌نویسی ترکیبی CPL  یا Combined Programming Language مشهور بود. CPL زنده نماند اما یکی از اعضای تیم طراح آن، مارتین ریچاردز، موقتا به MIT پیوست و آنجا بود که نسخه‌ای ساده‌تر از آن برای اجرای سیستم‌ها طراحی کرد که Basic CPL نام‌ گرفت.

تامپسون و ریچی بر آن شدند تا از BCPL برای نگارش یونیکس بهره‌گیرند. به این منظور آن را در 8 کیلوبایت فشرده‌ کردند و آن را B نامیدند و در نهایت نسخه جدید و پیشرفته‌تری از آن ارائه‌کردند که C نام‌گرفت. این زبان نگارش نرم‌افزار را به طرز بی حد و حصری آسان‌تر کرد و نرم‌افزارها را انتقال‌پذیر (پرتابل) ساخت، به‌گونه‌ای که یک برنامه‌ی نوشته شده با  C می‌توانست بر روی هر ماشینی اجرا‌ شود. نسخه جدید یونیکس در سال 1973 کامل شد و از زمانی که با C نگارش یافت آن نیز انتقال‌پذیر شد.

از آنجایی که AT&T، شرکت سرپرست (Parent) بل لبز منحصرا در صنعت تلفن فعالیت می‌کرد و از نظر قانونی از رقابت در صنعت کامپیوتر منع شده‌بود؛ منفعت مالی در یونیکس نداشت. این مساله ریچی و تامپسون را قادر ساخت تا یونیکس را به‌طور رایگان میان دانشگاه‌ها و مؤسسات پژوهشی، که مسحور سادگی و طراحی صرفه‌جویانه آن شده بودند، توزیع کند.

دانشگاه‌ها آموزش C و یونیکس به دانشجویان را از همان زمان آغاز کردند و زمانی که دانشجویان فارغ‌التحصیل شدند آن را وارد صنعت کردند، جایی که این زبان به شکوفایی خود رسید. در سال 1978 ریچی و یکی از همکارانش، برایان کرنیگام، کتاب «زبان برنامه‌نویسی C» را نوشتند که پرفروش‌ترین درسنامه در طول 15 سال بعد از آن شد. برخلاف عنوان آن، این کتاب به‌طور کلی درباره روش برنامه‌نویسی بود و تمرین‌های برنامه‌نویسی در سراسر جهان را متحول ساخت.

زمانی نگذشت که با اهدای جایزه تورینگ در سال 1983 از سوی انجمن ماشین‌های محاسب(Association of Computing Machinary) فعالیت‌های ریچی و تامپسون ارج نهاده شد؛ جایزه‌ای که آن را نوبل علوم کامپیوتر می‌نامند. اما یونیکس همچنان در آغاز راه بود. آژانس تحقیقات پروژه‌های پیشرفته وزارت دفاع آمریکا یونیکس را برای شبکه پژوهشی که سرانجام مبدل به اینترنت شد، انتخاب کرد و یونیکس چسبی نرم‌افزاری شد که همه‌چیز را به‌هم متصل می‌کرد.

استیو جابز یکی از هواداران یونیکس بود. در سال 1985، زمانی که از اپل اخراج شد، از یونیکس به‌عنوان مبنای ایستگاه کاری Next استفاده‌کرد. 10 سال بعد زمانی که به اپل بازگشت، یونیکس را نیز همراه خود برد و آن را شالوده همه محصولات امروزی اپل ساخت.

یونیکس همچنین امروزه در قلب جنبش متن باز Open-Source قرار دارد. در دهه 1980، پس از قانون‌زدایی، AT&T سعی کرد تا حقوق مالکیت معنوی خود بر یونیکس را ارزشیابی کند. ریچارد استالمن، که یک هکر در MIT بود، بر این اعتقاد بود که جهان به نسخه‌ای رایگان از یونیکس نیاز دارد. او برای کمک به نیل به این هدف در سال 1983 اعلام کرد که GNU را نوشته است. او همچنین یک کامپایلر C نوشت و بنیاد نرم‌افزار آزاد  را بنا نهاد. این سیستم در نهایت توسط صدها برنامه‌نویس که اکثر آنها برآمده از فرهنگ یونیکس و C بودند و در سایه همکاری اینترنتی، تکامل یافت. در همین راستا یک دانشجوی کامپیوتر فنلاندی به‌نام لینوس توروالدز، درسال 1991 کرنل سیستم عامل خود را جهانی کرد و آنچه امروزه ما لینوکس می‌نامیم میلیاردها وسیله الکترونیکی از گوشی‌های هوشمند تا ابرکامپیوترها را توان بخشیده است.

ریچی و تامپسون، غالبا به همراه یکدیگر، افتخارات و جوایز متعددی را دریافت کرده‌اند که برترین آنها دریافت نشان ملی دانش درسال 1998 از بیل کلینتون است. متن تقدیرنامه آنها اختراعاتشان را «منجر به پیشرفت‌های شگرف در سخت‌افزار، نرم‌افزار و سیستم‌های شبکه و برانگیختن رشدی در کل صنعت» دانسته‌است. در اوایل امسال هر دو برنده‌ی یک جایزه ژاپنی شدند. ریچی سراسر عمر کاری خود را در بل لبز گذراند و در سال 2007 از سمت خود در آنجا به ‌عنوان رئیس پژوهش‌های نرم‌افزاری بازنشسته شد. دنیس مک آلیستر ریچی در 12 اکتبر 2011 درگذشت.

منبع: گاردین