دنیس ریچی، خالق زبان C

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

آیا شما دنیس ریچی را می‌شناسید؟
دنیس ریچی در سال 1968 دکترای خود را از دانشگاه هاروارد تحت نظارت پاتریک سی فیشر دریافت کرد. عنوان پایان نامه­ وی «پیچیدگی محاسباتی و ساختار برنامه» بوده است. او به همراه دوست و همکارش کن تامپسون، برای نخستین‌بار سیستم‌عامل یونیکس (unix) را از آزمایشگاه الکساندر گراهامبل به دنیا هدیه داد.
در سال 1983، ریچی و تامپسون جایزه­ تورینگ را از ACM (انجمن ماشین‌های حسابگر) برای تئوری تعمیم و توسعه­ سیستم‌عامل‌ها و به خصوص تکمیل سیستم‌عامل یونیکس دریافت کردند. در سال 1990، ریچی و تامپسون مدال «آی‌ای ای‌ای ریچارد دبلیو. همینگ» را از IEEE (کانون مهندسین برق و الکترونیک) برای ابداع سیستم‌عامل یونیکس و زبان برنامه‌نویسی «C» و در سال ۱۹۹۹ مدال ملی فناوری را از رئیس جمهور وقت ایالات متحده امریکا، کلینتون دریافت کردند.
دنیس ریچی و استیو جابز در یک ماه از سال 2011 و به فاصله 10 روز فوت کردند، میلیون‌ها نفر خبر فوت استیو جابز را در شبکه‌های اجتماعی به اشتراک گذاشتند، اما کم‌تر کسی بود که درباره دنیس ریچی اطلاعی داشته باشد. در ایران حتی دانشجویان رایانه هم او را نمی‌شناختند.
من هیچ‌گاه ریچی و استیو جابز را در زمان حیاتشان نمی­‌شناختم و روی هیچ کدام از این دو نفر تعصب ندارم با این حال از این شرمنده‌­ام که امروز پس از گذشت سه سال از درگذشت این دو، بیش‌تر درباره استیو جابز اطلاعات دارم تا ریچی. حتی زندگی نامه
استیو  جابز را چندین بار شنیده‌ام ولی از ریچی تنها یک اسم …؟ چرا دنیس ریچی تا این حد ناشناخته مانده است؟ او، پدر علم برنامه‌نویسی است به طوری‌که کتاب آموزش برنامه‌نویسی C او نگاهی متفاوت به روی رایانه گشوده است.
شما برای محصولات اپل میلیون‌ها تومان پول خرج می‌کنید درصورتی که شاید حتی به آن‌ها نیاز نداشته باشید ولی برنامه‌های ضروری آزاد/ متن‌باز به رایگان در اختیار شما هستند. یونیکس در واقع پایه‌ای برای دنیای رایانه امروزی و سیستم‌عامل‌های مک اواس ایکس و آی‌اواس بوده است. به هر حال کافی است بگویم که سیستم پایه ­ای محصولات اپل بر پایه یونیکس بنا شده است. پس همه ما مخصوصا متخصصان علم رایانه و برنامه‌نویسان به افرادی چون دنیس ریچی مدیون هستیم.
در سال ۱۹۶۸ ریچی که یک دانشمند در آزمایشگاه‌های بل بود در یک پروژه مشترک با MIT و GE در ساخت Multics یا
the Mutiplexed Information and Computing System که یکی از اولین سیستم‌عامل‌های اشتراک زمانی رایانه ها بود همکاری کرد. Multics بسیار کامل اما در عین حال پیچیده بود و زیاد از آن به عنوان یک سیستم‌عامل روزمره استفاده نشد.
در سال ۱۹۶۹ هنگامی که Multics کنار گذاشته شد، کن تامسون و دنیس ریچی تصمیم گرفتند تا سیستم‌عامل خود را برای یک رایانه کوچک‌تر بازنویسی کنند و در نتیجه آن یونیکس متولد شد که نخستین نسخه آن در سال ۱۹۶۹ ارائه شد.
یونیکس نقش بسیار بزرگی در سیستم‌عامل‌های مدرن اپل بازی می‌کند. هنگامی که استیو جابز NeXTSTEP را توسعه داد، آن را بر پایه BSD Unix نوشت. این هسته در لایه­ Darwin سیستم‌عامل مک اواس ایکس، همچنین زمانی که اپل NeXT را در سال ۱۹۸۷ خرید، جاسازی شد و در قلب تمام رایانه هایی که از او اس ایکس و دستگاه‌هایی که از آی‌اواس استفاده می‌کنند، وجود دارد.
دقیقا اولین روز پس از مرگ دنیس ریچی بحث‌های مفصلی در این‌باره در شبکه‌های اجتماعی، انجمن‌های برنامه‌نویسی و امنیت ایران و دنیا درباره این‌که کدام یک بیش‌تر خدمت کرده‌اند؟ به راه افتاد. برخی اعتقاد داشتند دنیس یک دانشمند باهوش و خلاق بود و استیو جابز یک تکنوکرات و مهندس خلاق (یعنی حوزه فعالیت هر یک رو جدا می‌دانستند و غیرقابل قیاس) در صورتی که علم و فناوری از هم جدا نیستند..
مهندسانی چون استیو جابز بیش‌تر کارآفرینان فرصت‌طلب هستند و استیو بیش‌تر به ثروتمندان دنیا و سهام شرکتش و البته نظام سرمایه‌داری خدمت کرده تا فناوری.
برندگان امروز در دنیا کسانی هستند که بیش‌تر علم را به کار بستند و از آن ثروت تولید کردند.
البته من برای هر دو نفر احترام قائل هستم و فقط می‌خواهم حوزه فعالیت آن‌ها را متمایز کنم و به خودم و شما بگویم: از دانشمندان و خدمتگزاران علم آزاد/ متن‌باز بیش‌تر تقدیر کنیم و حداقل آن‌ها را خوب بشناسیم.
برای همه چیز ممنون دنیس…

main()
{
printf (“Goodbye، Dennis. Thanks for making it all possible.\n”);
printf (“Goodbye، Steve. Thanks for making it all usable.\n”);
}