جان بکوس

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو
جان وارنر بکوس
Backus2.gif
متولد ۳ دسامبر، ۱۹۲۴
فیلادلفیا, پنسیلوانیا
مرگ ۱۷ مارس ۲۰۰۷ میلادی (۸۲ سال)
آشلند, اورگون
ملیت پرچم ایالات متحده آمریکا آمریکایی
رشته فعالیت زمینهٔ علم رایانه,ریاضیات
محل کار آی‌بی‌ام
مادر آلما
دانشگاه کلمبیا
دلیل شهرت فورترن , برنامه‌نویسی تابعی
فرم بکوس-نائور , سرعت کدگذاری
زبان الگول ۶۰
جوایز جایزه تورینگ (۱۹۷۷)
جایزه دراپر (۱۹۹۳)
دریافت نشان ملی علوم (۱۹۷۵)
جایزه مک‌داول والاس (۱۹۶۷)

جان وارنر بَکوس (به انگلیسی: John Warner Backus) (زاده ۳ دسامبر، ۱۹۲۴ (میلادی) - درگذشته ۱۷ مارس، ۲۰۰۷ (میلادی)) دانشمند آمریکایی در زمینهٔ علم رایانه بود. او رهبری گروهی را به عهده داشت که اولین زبان برنامه‌نویسی سطح بالا (فورترن) را اختراع نمودند. او همچنین مخترع فرم بکوس-نائور (یا به اختصار BNF) نیز بود که تقریباً پراستفاده‌ترین نمادگری برای تعریف نحو (Syntax) زبان‌های صوری است.

او در سال ۱۹۷۷ (میلادی) برای «مشارکت‌های ژرف، تأثیرگذار، و ماندگارش برای طراحی سامانه‌های برنامه‌نویسی کاربردی سطح بالا، و خصوصاً بخاطر کار بر روی فورترن» و انتشار اولین مقالات در مورد شیوه‌های صوری برای توصیف زبان‌های برنامه‌نویسی، جایزه تورینگ را دریافت کرد.

زندگی‌نامه[ویرایش]

جان بَکوس در سال ۱۹۲۴ در فیلادلفیا متولد شد. دوران تحصیلات ابتدائی و متوسطه را در پنسیلوانیا گذراند. او شاگرد تنبلی بود و از خواندن کتابهای درسی نفرت داشت. بالاخره با زحمت زیاد در سال ۱۹۴۲ مدرسه را تمام کرد و وارد دانشگاه ویرجینیا شد. پدرش می‌خواست که او شیمیدان شود. او دروس نظری را دوست داشت ولی از آزمایشگاه بدش می‌آمد. او تنبلیهای قبلی را در دانشگاه ادامه داد. بعد از دو ترم او تنها یک واحد را گذرانده و آنهم واحد موسیقی بود! سرانجام مسوولان دانشکده عذرش را خواستند و او در سال ۱۹۴۳ به ارتش پیوست.

در آنجا در یک آزمون استعدادسنجی شرکت کرد و نتیجه این آزمون، جانش را نجات داد؛ دوستانش به جبهه‌های جنگ فرستاده شدند و او به کالج هاورفورد برای آموزش پزشکی. اما درآنجا نیز ۹ ماه بیشتر دوام نیاورد. او می‌گوید:

«من از پزشکی بیزار بودم. در دانشکده پزشکی دوست ندارند فکر کنی. فقط می‌خواهند مطالب زیادی را حفظ کنی و این تمام چیزی است که از آدم می‌خواهند. در دانشکدهٔ پزشکی نباید فکر کرد!»

پس از خروج از دانشکده پزشکی، آپارتمان کوچکی در نیویورک به قیمت ماهانه ۱۸ دلار اجاره کرد. او درباره آن روزها می‌گوید:

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

کار در شرکت آی‌بی‌ام[ویرایش]

بکوس در دانشکده علوم دانشگاه کلمبیا ثبت نام کرد تا با درسهای ریاضی بیشتر آشنا شود. او علاقه‌ای به ریاضیات نداشت ولی از جبر بدش نمی‌آمد. در بهار سال ۱۹۴۹، بکوس ۲۵ ساله که تنها چند ماه تا اخذ لیسانس ریاضی فاصله داشت، هنوز برنامه خاصی برای زندگی آینده‌اش نداشت. در آن روزها یکبار بازدیدی از مرکز رایانه شرکت آی‌بی‌ام داشت و از نزدیک با ماشین حساب الکترونیکی SSEC که یکی از نخستین ماشینهای الکترونیکی آی‌بی‌ام (با لامپ خلاء) بود آشنا شد. این ماشین اتاق بزرگی را اشغال کرده بود و انباشته از سیمها و لامپهای خلاء بود. ناگهان فکری به سرش زد و به راهنمای تور گفت که به دنبال کار می‌گردد. او به بکوس گفت که باید با مدیر قسمت صحبت کند.

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

«کار کرد با SSEC جالب بود. همه چیز در اختیار خود آدم بود. باید بالاسر آن حاضر می‌بودیم زیرا هر دو سه دقیقه یکبار از کار می‌افتاد و باید می‌دانستیم که چگونه آن را دوباره به راه اندازیم.»

او ۳ سال با SSEC کار می‌کرد و در خلال این مدت چیزهای زیادی آموخت. برنامه‌سازی هنوز در مراحل اولیه‌اش قرار داشت و بکوس نیز نخستین تجربیاتش را در زمینه محاسبات علمی کسب کرد.

سرپرستی طراحی زبان فورترن[ویرایش]

کارت منگنه‌ای قدیمی فرترن.

بَکوس در آی‌بی‌ام با همکاری هارلن هریک (به انگلیسی: Harlan Herrick) برنامه‌ای به نام SpeedCoding برای انجام محاسبات با ممیّز شناور تولید کرد. اعداد با ممیّز شناور ضریب مقیاس گذاری را با خود حمل می‌کردند و برنامه ساز را از کار پر زحمت تخصیص ضرایب رهایی می‌بخشیدند. تجربیان بَکوس از SpeedCoding چالش‌های ذهنی دیگری را در او به وجود آورد.

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

در دسامبر ۱۹۵۳، بَکوس یادداشتی برای رئیسش در آی‌بی‌ام، گوتبرت هرد (به انگلیسی: Guthbert Hurd)، نوشت و پیشنهاد کرد که یک زبان برنامه نویسی برای ماشین آی‌بی‌ام ۷۰۴ طراحی شود. این پروژه، به نام Formula Translation یا به اختصار فورترن (به انگلیسی: Fortan) معروف شد. هدف آن خیلی روشن بود. بَکوس می‌گوید:

«منظور من فقط به دست آوردن ابزاری بود که برنامه سازی با آن بسیار سریع تر انجام گیرد. اصلاً در فکر این نبودم که این ابزار ممکن است در ماشین‌های دیگر هم مورد استفاده قرار بگیرد. البته ماشین‌های دیگر هم در آن زمان به ندرت یافت می‌شدند.»

در ابتدا اظهار نظرهای منفی فن نویمان جلوی پروژه را گرفت. او در آن زمان مشاور آی‌بی‌ام بود. بَکوس می‌گوید:

«او برنامه سازی را مسائله مهمی نمی‌دانست. فکر می‌کنم یکی از دلایل عمدهٔ مخالفت او این بود که از دقت محاسبات با ممیّز شناور اطمینان نداشت. در مورد محاسبات با ممیز ثابت، اگر اشکالی وجود می‌داشت حداقل می‌شد به راحتی محل آن را یافت. دیگر اینکه وی هیچ گونه حساسیتی نسبت به موضوع هزینهٔ برنامه سازی نداشت. او واقعاً احساس می‌کرد فورترن یک تلاش بیهوده است.»

سر انجام هرد پروژه را تصویب کرد و فن نویمان هم دست از مخالفت برداشت. بَکوس تعدادی برنامه ساز با تجربه و چند ریاضیدان جوانِ تازه فارغ‌التحصیل شده استخدام کرد. در پاییز ۱۹۵۴ تیم برنامه‌سازی و تحقیقاتی او هدف روشنی پیش رو داشت: تولید زبانی که برنامه سازی را برای ماشین آی‌بی‌ام ۷۰۴ ساده تر کند. آنها به زودی دریافتند که طراحی زبان، بخش سادهٔ کار است و چالش اصلی، ترجمهٔ آن به زبان قابل درک برای ماشین است. یعنی برنامه‌ای که امروز، مترجم (کامپایلر) خوانده می‌شود. بَکوس و تیم او الگوریتم‌هایی را که این روزها هر دانشجوی دورهٔ کارشناسی می‌تواند به کمک آنها در طول یک ترم به طراحی و پیاده‌سازی یک کامپایلر جدید برپردازد در دست نداشتند. مخصوصا روش خوبی برای طراحی قلب کامپایلر که تجزیه گر خوانده می‌شود به نظرشان نمی‌رسید. پس از مدتی اولین نرم‌افزار کاربری که به زبان فورترن نوشته شد با موفقیت اجرا گردید ولی دانشمندان وستینگهاوس بزودی تعداد زیادی خطا در کامپایلر فورترن پیدا کردند. تیم بکوس ضرف مدت ۶ ماه خطاهای گزارش شده را تصحیح کردند.

قالب زبان‌های نابسته به متن[ویرایش]

بَکوس در اواخر دههٔ ۱۹۵۰ کار بر روی زبان فورترن را متوقف کرد. هرچند که کار اصلی او در زمینهٔ زبان‌های برنامه سازی تازه آغاز شده بود. در ماه مِهٔ ۱۹۵۸، یک کمیتهٔ بین‌المللی متشکل از دانشمدانی از بخش‌های تجاری و دانشگاهی در زوریخ تشکیل شد. هدف آنها، توسعهٔ زبان فورترن و دستیابی به یک زبان واحد و استاندارد برای برنامه‌سازی بود. این زبان بعداً به نام الگول معروف شد. بَکوس ایده‌های به کار رفته در الگول را پسندید ولی از نحوهٔ بیان آن خوشش نیامد. به گفتهٔ او:

«آنها همه چیز را به انگلیسی توضیح داده بودند و به نظرم رسید که باید کاری کرد تا بتوان به صورت دقیقتری به بیان اینگونه مفاهیم پرداخت.»

برای حل این مشکل، بَکوس گرامر مستقل از متن را که به تازگی توسط نوام چامسکی زبان‌شناس معروف اختراع شده بود، به کار گرفت. اختراع تازهٔ بَکوس بعداً به نام فرم بکوس-نائور معروف شد که آن هم داستان جالبی دارد.

افتخارات و جوایز[ویرایش]

بازنشتگی[ویرایش]

بَکوس در سال ۱۹۹۱ بازنشسته شد و از دنیای علوم کامپیوتر و حتی علوم کناره گرفت. از آن تاریخ دانشمندان دیگر کار بر روی زبان‌های تابعی و حل مشکل آنها را ادامه داده‌اند. او خود به درون نگری و مکاشفه پرداخته است و می‌گوید:

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

منابع[ویرایش]

Wikipedia contributors, "John Backus," Wikipedia, The Free Encyclopedia, http://en.wikipedia.org/w/index.php?title=John_Backus&oldid=116484503 (accessed March 20, 2007).

جستجو در ویکی‌انبار در ویکی‌انبار پرونده‌هایی دربارهٔ جان بکوس موجود است.