سه شنبه, ۱۸ اردیبهشت, ۱۴۰۳ / 7 May, 2024
مجله ویستا

Basic فرزند دردانه بیل گیتس


به جرات می توان ادعا كرد كه در دنیای امروز كمتر كسی را می توان یافت كه نام و آوازه «بیل گیتس» رئیس و بنیانگذار مایكروسافت و ثروتمندترین مرد جهان را نشنیده باشد

به جرات می توان ادعا كرد كه در دنیای امروز كمتر كسی را می توان یافت كه نام و آوازه «بیل گیتس» رئیس و بنیانگذار مایكروسافت و ثروتمندترین مرد جهان را نشنیده باشد. اما دانستن این موضوع جالب است كه پیش از مایكروسافت نام بیل گیتس با «بیسیك» (Basic) عجین بوده است و این ماجرا به زمان دانشجویی گیتس و دوستش «پل آلن» در ۱۹۶۴ بازمی گردد و در واقع همكاری مشترك آنها در توسعه بیسیك بود كه چند سال بعد منجر به تاسیس مایكروسافت شد. این دو با تولد اولین بیسیك در سال ۱۹۶۴ در كالج دارتموث به تلاش در توسعه آن همت گماشتند و در این راه با زیركی و دوراندیشی مثال زدنی با طراحی انواع مفسرها و مترجم های بیسیك توانستند آن را به عنوان یكی از فراگیرترین و كاربردی ترین زبان های كامپیوتری تا امروز مطرح سازند.بیسیك اكنون ۴۰ ساله است و هنوز هم گیتس در مایكروسافت آن را تر و خشك می كند و مانند فرزندی دردانه به رشد و ترقی آن اهمیت می دهد.ظهور میكروكامپیوترها در سال ۱۹۷۵ از یك سو و ارائه بیسیك پیشرفته توسط مایكروسافت از سوی دیگر خیلی سریع سبب شهرت بیسیك به مثابه یك زبان كاربردی كه به صورت رایگان بر روی همه كامپیوترها قابل نصب بود، گردید. در واقع بیسیك به علت ساختار مطلوبش پیش نیاز یادگیری همه زبان های كامپیوتری شد. مقاله ای كه پیش رو دارید، بیل گیتس در جشن تولد ۲۵ سالگی فرزندش بیسیك (یعنی ۱۵ سال پیش) در مجله بایت منتشر كرد و طی آن برای اولین بار به شرح ماجرای شكل گیری و رشد زبان بیسیك به همراه پل آلن پرداخته است، كه مقایسه داده های آن با امروز كه بیسیك به سن چهل سالگی رسیده و كامپیوترهای شخصی به اوج پیشرفت و همگانی شدن نایل آمده اند، برای خواننده علاقه مند خالی از لطف نیست.از زمان اجرای اولین برنامه بر روی یك كامپیوتر انگلیسی زبان در سال ۱۹۴۸ تاكنون محاسبات وارد مرحله جدیدی شده است. فقط در طول ۱۵ سال شاهد رشد و ترقی كامپیوترهای ۸ بیتی با ۴ كیلوبایت رم به كامپیوترهای ۳۲ بیتی با ۴ مگابایت رم چه در زمینه صنعت و چه در زمینه علوم بوده ایم.با توجه به رشد بسیار گسترده در زمینه سخت افزار، زبان بیسیك نیز بیست و پنجمین سال تولد خود را پشت سر می گذارد و مفسر آن ۱۵ سال است كه میكروكامپیوترهای میلیون ها نفر را قابل دسترسی كرده است.متاسفانه در ابتدا بیسیك خوب شناخته نشد، در همین حال بیشتر از هر زبان دیگری قابل دسترسی بوده و هست چرا كه مجاناً بر روی هر كامپیوتری نصب می شود. قدرت و توانایی، سادگی استفاده از یك مفسر، مدیریت قوی، گستردگی و همه منظوره بودن، نوع انگلیسی لغات كلیدی و تركیبات و آزادی بیسیك، همگی باعث تجربه بیشتر برنامه نویسان می شود و می تواند به عنوان یك زبان ایده آل به مبتدیان در شناخت بهتر كامپیوترشان كمك كند. با توجه به سرگذشت بیسیك طی سال های طولانی و با وجود تكنولوژی قوی سیستم عاملی مانند OS/۲ و ویژگی برنامه نویسی موضوعی می توانید به خوبی شاهد چگونگی حضور و رشد بیسیك تا به امروز باشید.بیسیك بدون هیچ نیازی، مستقلاً به عنوان وسیله ای برای تبادل اطلاعات بین مردم و كامپیوتر ایجاد شد و در سال ۱۹۶۲ یكی از ریاضیدانان كالج دارتموث به نام پروفسور «توماس كورتس» طرحی را تسلیم «جان كمنی» رئیس كالج كرد. در این طرح تمامی دانشجویان این كالج موظف به آموختن كامپیوتر در دوره ۴ ساله تحصیلشان بودند.كامپیوترهای دسته گرای آن زمان چنین انتظاری را غیرممكن می كردند چرا كه اگر برنامه ساده ای به طور صحیح ترجمه می شد كامپیوتر برای درك آن گاهی اوقات به روزها وقت نیاز داشت در نتیجه چنین برنامه ای تنها می توانست نتیجه یك محاسبه را به عنوان جواب برگرداند و شخص برنامه نویس هرگز نمی توانست اجرای برنامه را ببیند. كمنی و كورتس برای گسترش تحقیقات خود به آزمایشگاه های «هیت» و «بل» رفته و در آنجا سیستم عامل چند كاربره ای را برای كامپیوتر جدیدی كه قرار بود به زودی تحویل كالج شود ساختند. در همین زمان آنها به دانشجویان پیشنهاد كردند كه زمان استفاده از كامپیوتر را بین خودشان تقسیم كنند اما به دلیل عدم وجود یك زبان ساده برای صحبت با ماشین دانشجویان به ندرت از كامپیوتر كالج استفاده می كردند. متاسفانه «فورترن» و «آلگول» نمی توانستند امكانات مناسب و آسانی را برای دانشجویان فراهم كنند لذا كد و دستورالعمل نمادی همه منظوره مخصوص افراد مبتدی (بیسیك) به عنوان یك تركیب ساده و بهتر از فورترن و آلگول توسط دانشجویان كالج دارتموث ساخته شد.در اول ماه می سال ۱۹۶۴ دانشجویان كالج دارتموث با اعلان معروف READY> در ترمینال های راه دورشان آشنا شدند. بدین ترتیب آنها می توانستند برنامه های ساده ای نوشته و آنها را برای ترجمه و اجرا انتقال دهند. كمنی و كورتس به تولد بیسیك در كتابشان به نام «برگشت به بیسیك» اشاره كرده اند. (انتشارات «ادیسون وزلی»، ۱۹۸۵)

• ظهور میكروكامپیوترها

اولین میكروكامپیوتر با حافظه ای بسیار كوچك كه بیشتر جنبه نمایشی داشت در سال ۱۹۷۵ به صحنه آمد. این كامپیوتر فقط زبان ماشین را می فهمید. در این هنگام من به اتفاق یكی از دوستانم به نام «پل آلن» فرصت را غنیمت شمرده و برگردانی از بیسیك را به منظور اجرا در آن فضای بسیار كوچك حافظه نوشتیم. دانشجویان با استفاده از اولین بیسیك، كه برای دستگاه های MITS ساخته شده بود می توانستند برنامه هایشان را بر روی این گونه كامپیوترها با حافظه ۴ كیلوبایت اجرا كنند. در آن زمان برای ما حافظه بسیار ارزشمند بود به طوری كه مجبور شدیم برای اشغال فضای كمتری از حافظه، اعلان READY> - كه چهار كاركتر فضا می گرفت - را به OK> - كه دو كاركتر فضا می گیرد _ تبدیل كنیم؟

فشار محدودیت حافظه تا اندازه ای بود كه ما را بر آن داشت كه بیسیك را به عنوان یك مفسر پیاده سازی كنیم. (مفسر بیسیك، برنامه ای است كه فایل های بیسیك را به زبان ماشین ترجمه می كند.) البته عامل دیگری كه ما را به سمت مفسرها هدایت می كرد، متعادل بودن و آ سانی استفاده از مفسرها بود كه به برنامه نویسی با بیسیك هنر و زیبایی خاصی می بخشید. یك برنامه نویس با استفاده از مفسر می تواند به كامپیوتر وظیفه ای را محول كند، كامپیوتر نیز متقابلاً و بلافاصله به او جواب خواهد داد كه این جواب می تواند شامل گزارشی از خطاهای احتمالی نیز باشد. این تعامل مفسر به این خاطر است كه وجود آن به عنوان بخشی از زبان در نظر گرفته شده است نه به عنوان برنامه ای كاملاً مجزا مانند یك مترجم.با استفاده از تجربیاتی كه از نوشتن یك مفسر بیسیك برای كامپیوتر PdP-۸ در دوران دبیرستان به دست آورده بودم به اتفاق پل آلن بیسیك كامپیوتر اصلی خودمان را یك مفسر تك _ نمایش ساختیم. به این ترتیب برای ذخیره بیشتر كد مبدا به فرم یك متن مجبور شدیم آن را به طور فشرده تری ترجمه كنیم چرا كه با فشار و محدودیت حافظه روبه رو بودیم.به این ترتیب ما به مقصود خود رسیدیم و ترتیبی دادیم كه برنامه نویس بتواند بلافاصله برنامه اش را دیده و هنگام اجرای برنامه با سرعتی قابل قبول مراحل مختلف آن را تشخیص دهد. در مفسری كه ما ساختیم از تصاویری پایین تر از یك بایت تا تصاویری بیشتر از آنچه كه كدهای اسكی (ASCII) نیاز دارد برای نشانگذاری كلمات كلیدی بیسیك استفاده شده بود. همچنین برای اولین بار فرمان های كوتاه TRON _TROFF را به منظور فعال و غیرفعال كردن ابزار اشكال زدایی توكار بیسیك مانند توانایی ردیابی را درون آن مفسر قرار دادیم.قرار دادن كلمات رزرو شده بیسیك، پیغام های خطا و كتابخانه اعداد با ممیز شناور به منظور اجرای برنامه در یك ماشین ۴ كیلوبایتی از كارهای بسیار سختی بود كه به كمی تیزهوشی و زیركی نیاز داشت. كدهای استفاده شده در آن زمان كه از ظرافت و انعطاف خاصی برخوردار بود هنوز برای من به یاد ماندنی و جالب است.