داستان خلق زبان بیسیک؛ دموکراسی در دنیای کامپیوترها

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

فهرست مطالب

وضعیت کامپیوترها در دهه شصت میلادی و انحصار کارت‌های پانچ

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

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

دو پروفسور نوآور جان کمنی و توماس کورتز

جان کمنی (John Kemeny) و توماس کورتز (Thomas Kurtz) دو استاد ریاضیات در کالج دارتموث (Dartmouth College) بودند که به شدت از این وضعیت انحصاری رنج می‌بردند. آن‌ها اعتقاد داشتند که سواد کامپیوتری باید مانند سواد خواندن و نوشتن به یک مهارت عمومی برای تمام دانشجویان، فارغ از رشته تحصیلی آن‌ها تبدیل شود. این دو پروفسور با این ایده انقلابی کار روی یک پروژه بزرگ را آغاز کردند.

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

فلسفه طراحی بیسیک و سادگی دستورات متنی آن

زبان بیسیک که مخفف عبارت دستورالعمل نمادین همه‌منظوره مبتدیان (BASIC) بود با هدف سادگی مطلق طراحی شد. دستورات این زبان به جای کدهای مبهم ریاضی از واژه‌های ساده انگلیسی مانند PRINT ،INPUT ،GOTO و IF-THEN تشکیل شده بود. این سادگی به دانشجویان اجازه می‌داد تا بدون نیاز به درک ساختار پیچیده سخت‌افزار، منطق برنامه‌نویسی را به سرعت درک کنند.

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

سیستم اشتراک زمانی دارتموث و دسترسی همزمان دانشجویان

همزمان با طراحی زبان بیسیک کمنی و کورتز سیستم اشتراک زمانی دارتموث (DTSS) را نیز توسعه دادند که از نظر فنی انقلابی بزرگ بود. این سیستم به چندین کاربر اجازه می‌داد تا با استفاده از پایانه‌های متنی به طور همزمان به یک کامپیوتر مرکزی متصل شوند. کاربران دیگر نیازی به کارت‌های پانچ نداشتند و کدهای خود را مستقیماً از طریق کیبورد تایپ می‌کردند.

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

هدیه بدون حق امتیاز بیسیک به جهان و گسترش سریع آن

یکی از تصمیمات بسیار مهم و تاریخی جان کمنی و توماس کورتز رایگان و عمومی اعلام کردن زبان بیسیک بود. آن‌ها هیچ حق امتیازی (Royalty) برای استفاده از این زبان دریافت نکردند و کدهای منبع آن را در اختیار همگان قرار دادند. این سخاوتمندی علمی باعث شد که دانشگاه‌ها و موسسات آموزشی دیگر به سرعت این زبان را بپذیرند و آموزش آن را آغاز کنند.

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

ظهور ریزکامپیوترها و نقش بیسیک در احیای کیت آلتیر ۸۸۰۰

در اواسط دهه هفتاد میلادی اولین ریزکامپیوترها یا رایانه‌های شخصی کیت مانند آلتیر ۸۸۰۰ (Altair 8800) روانه بازار شدند. این دستگاه‌ها فاقد نمایشگر، کیبورد و هرگونه سیستم‌عامل یا زبان برنامه‌نویسی پیش‌فرض بودند و کاربران باید با کلیدهای روی پنل کدها را وارد می‌کردند. در این زمان بود که ارزش واقعی بیسیک به عنوان یک زبان سبک و کارآمد مشخص شد.

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

ورود بیل گیتس و پل آلن با نسخه مایکروسافت بیسیک

دو جوان مشتاق به نام‌های بیل گیتس (Bill Gates) و پل آلن (Paul Allen) پتانسیل بالای این بازار را درک کردند و اولین نسخه تجاری بیسیک را برای آلتیر نوشتند. این کار اولین محصول شرکتی شد که امروز آن را به نام مایکروسافت (Microsoft) می‌شناسیم. مفسر بیسیک آن‌ها به قدری بهینه نوشته شده بود که در فضای بسیار کوچک حافظه دستگاه به خوبی اجرا می‌شد.

مایکروسافت با فروش این مفسر به شرکت‌های مختلف سخت‌افزاری به سرعت ثروتمند شد و پایه‌های امپراتوری خود را بنا نهاد. تقریباً تمام کامپیوترهای شخصی دهه هشتاد مانند کومودور ۶۴ (Commodore 64) و اپل ۲ (Apple II) با نسخه‌ای از بیسیک در حافظه رام خود عرضه می‌شدند. بیل گیتس با هوشمندی تجاری خود زبان ساده دو پروفسور را به یک استاندارد صنعتی جهانی تبدیل کرد.

چگونه بیسیک نسل اول برنامه‌نویسان خانگی را تربیت کرد

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

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

انتقادهای شدید دانشمندان کامپیوتر مانند دایکسترا به ساختار بیسیک

با وجود محبوبیت بی‌نظیر بیسیک در میان توده مردم دانشمندان آکادمیک کامپیوتر انتقادهای بسیار تندی به ساختار فنی این زبان داشتند. معروف‌ترین انتقاد متعلق به ادسخر دایکسترا (Edsger Dijkstra) بود که ادعا کرد آموزش بیسیک به دانش‌آموزان ذهن آن‌ها را برای همیشه خراب می‌کند. مشکل اصلی استفاده بی‌رویه از دستور GOTO بود که منجر به ایجاد کدهای نامنظم و غیرقابل فهم می‌شد.

این کدهای آشفته که اصطلاحاً به کدهای اسپاگتی (Spaghetti Code) معروف بودند نگهداری و توسعه برنامه‌های بزرگ را عملاً غیرممکن می‌ساختند. دانشمندان اصرار داشتند که دانش‌آموزان باید از ابتدا زبان‌های ساختاریافته‌تری مانند پاسکال (Pascal) را بیاموزند. این بحث‌های علمی داغ نشان داد که سادگی برای مبتدیان گاهی می‌تواند به قیمت از دست رفتن اصول مهندسی نرم‌افزار تمام شود.

تکامل به سمت ویژوال بیسیک و دوران توسعه تحت ویندوز

مایکروسافت برای پاسخ به نیازهای روز و مقابله با انتقادها تغییرات بزرگی در بیسیک ایجاد کرد و در سال ۱۹۹۱ ویژوال بیسیک (Visual Basic) را معرفی نمود. این زبان با رابط کاربری گرافیکی خود به برنامه‌نویسان اجازه می‌داد دکمه‌ها و فرم‌ها را با کشیدن و رها کردن طراحی کنند. این رویکرد بصری روند ساخت نرم‌افزارهای تحت ویندوز را به شدت سرعت بخشید.

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

تاثیر اجتماعی بیسیک در عمومی‌سازی فناوری اطلاعات

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

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

میراث ابدی بیسیک در زبان‌های برنامه‌نویسی مدرن

اگرچه امروزه دیگر کمتر کسی برای پروژه‌های بزرگ از بیسیک کلاسیک استفاده می‌کند اما روح و فلسفه آن در زبان‌های مدرن زنده است. زبان پایتون (Python) که امروزه به عنوان زبان استاندارد برای آموزش و هوش مصنوعی شناخته می‌شود به شدت از ایده سادگی بیسیک الهام گرفته است. پایتون نیز تلاش می‌کند دستوراتی نزدیک به زبان انسان داشته باشد تا یادگیری آن آسان باشد.

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

جمع‌بندی نهایی

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

سوالات متداول

1. زبان برنامه‌نویسی BASIC دقیقاً در چه سالی و در کدام دانشگاه متولد شد؟
این زبان برنامه‌نویسی انقلابی در سال ۱۹۶۴ میلادی در کالج دارتموث توسط دو استاد ریاضی طراحی شد. جان کمنی و توماس کورتز خالقان اصلی این پروژه بزرگ علمی بودند. اولین برنامه نوشته شده با بیسیک در صبحگاه اول می همان سال با موفقیت اجرا شد. این رویداد نقطه عطفی در تاریخ آموزش علوم کامپیوتر به شمار می‌رود.
2. چرا دانشمند معروف علوم کامپیوتر، ادسخر دایکسترا، تا این حد با بیسیک مخالفت می‌کرد؟
دایکسترا اعتقاد داشت ساختار خطی و دستور GOTO در بیسیک باعث ایجاد عادت‌های بد برنامه‌نویسی در ذهن دانش‌آموزان می‌شود. او بر این باور بود که این زبان کدها را آشفته و غیرقابل نگهداری می‌کند که اصطلاحاً به آن کدهای اسپاگتی می‌گفتند. او معتقد بود آموزش بیسیک تفکر ساختاریافته و علمی را در نسل‌های جدید نابود می‌کند. این نقدها باعث توسعه زبان‌های منظم‌تری مانند پاسکال شد.
3. سیستم اشتراک زمانی دارتموث یا DTSS چه مشکلی را در آن دوران حل کرد؟
پیش از این سیستم، کاربران مجبور بودند کارت‌های پانچ خود را تحویل دهند و برای پردازش تک‌تک آن‌ها ساعت‌ها منتظر بمانند. سیستم DTSS با تقسیم زمان پردازنده مرکزی به صدها کاربر اجازه داد همزمان با پایانه‌های خود به رایانه متصل شوند. این فناوری نیاز به صف‌های طولانی و فیزیکی را از بین برد. همچنین تعاملی شدن برنامه‌نویسی سرعت خطایابی را به شدت افزایش داد.
4. مفسر بیسیک مایکروسافت برای کامپیوتر Altair 8800 چگونه و توسط چه کسانی نوشته شد؟
این مفسر معروف توسط بیل گیتس و پل آلن در سال ۱۹۷۵ با استفاده از یک شبیه‌ساز روی کامپیوتر دانشگاه هاروارد نوشته شد. آن‌ها بدون داشتن سخت‌افزار واقعی آلتیر توانستند کدها را بهینه‌سازی کنند تا در حافظه رم بسیار محدود ۴ کیلوبایتی جا بگیرد. موفقیت این برنامه در اولین آزمایش واقعی روی دستگاه آلتیر شگفت‌انگیز بود. این پروژه پایه مالی تاسیس شرکت مایکروسافت را شکل داد.
5. چرا شماره‌گذاری خطوط در زبان بیسیک کلاسیک اهمیت زیادی داشت؟
بیسیک از این شماره‌ها برای مشخص کردن ترتیب اجرای دستورات به صورت گام به گام استفاده می‌کرد. همچنین شماره خطوط به برنامه‌نویس اجازه می‌داد با دستور GOTO به بخش‌های مختلف برنامه پرش کند. معمولاً شماره‌ها را با فواصل ۱۰ تایی می‌نوشتند تا فضا برای افزودن خطوط جدید در آینده وجود داشته باشد. این ساختار ساده به فهم منطق برنامه توسط افراد غیرحرفه‌ای کمک می‌کرد.
6. ویژوال بیسیک یا VB چه تغییراتی در مدل سنتی این زبان ایجاد کرد؟
ویژوال بیسیک مدل خطی متنی قدیمی را به یک سیستم رویدادمحور و گرافیکی تبدیل کرد. برنامه‌نویسان دیگر نیازی به نوشتن کدهای طولانی برای طراحی پنجره‌ها و دکمه‌ها در محیط ویندوز نداشتند. آن‌ها می‌توانستند با ابزارهای طراحی بصری ظاهر برنامه را بسازند و سپس برای هر بخش کد بنویسند. این نوآوری روند تولید نرم‌افزارهای تجاری را بسیار تسریع کرد.
7. کدام زبان برنامه‌نویسی مدرن امروزی میراث‌دار اصلی فلسفه سادگی بیسیک است؟
زبان برنامه‌نویسی پایتون به عنوان جانشین معنوی و مدرن بیسیک شناخته می‌شود. پایتون با کدهای خوانا، حذف پیچیدگی‌های نشانه‌گذاری و تمرکز بر سادگی یادگیری راه بیسیک را ادامه می‌دهد. این زبان امروزه به اولین انتخاب برای آموزش به کودکان و توسعه هوش مصنوعی تبدیل شده است. هر دو زبان بر این باورند که برنامه‌نویسی باید برای همه قابل فهم باشد.
دکتر علیرضا مجیدی
دکتر علیرضا مجیدی
پزشک، نویسنده و بنیان‌گذار وبلاگ «یک پزشک»
دکتر علیرضا مجیدی، نویسنده و بنیان‌گذار وبلاگ «یک پزشک».
با بیش از ۲۰ سال نویسندگی «ترکیبی» مستمر در زمینهٔ پزشکی، فناوری، سینما، کتاب و فرهنگ.
باشد که با هم متفاوت بیاندیشیم!

2 دیدگاه

  1. یه چیز آزاردهنده تو ویدئوهای صفر و یک این تکان‌های بیش از حد و اعصاب‌خرد کن مجریانشه! اگه در حالت ایستاده ثابت موندن سخته می‌تونید روی صندلی بشینید. باور کنید این تکون خوردن اصلاً چیز جالبی نیست، می تونید به ویدئوهای حرفه‌ای مثل مجریان اخبار، مجریان کلیک بی‌بی‌سی، مجریان the verge و… رجوع کنید ببینید چندتاشون حین ارائه تکون می‌خورن؟!

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا
[wpcode id="260079"]