stringtranslate.com

اساسی

بیسیک ( کد دستورالعمل نمادین همه منظوره مبتدیان ) [1] خانواده ای از زبان های برنامه نویسی همه منظوره و سطح بالا است که برای سهولت استفاده طراحی شده اند. نسخه اصلی توسط John G. Kemeny و Thomas E. Kurtz در کالج دارتموث در سال 1963 ایجاد شد . آنها می خواستند دانش آموزان در زمینه های غیر علمی را قادر به استفاده از رایانه کنند. در آن زمان، تقریباً همه رایانه‌ها به نوشتن نرم‌افزار سفارشی نیاز داشتند که فقط دانشمندان و ریاضیدانان تمایل به یادگیری آن داشتند.

علاوه بر زبان برنامه نویسی، Kemeny و Kurtz سیستم اشتراک گذاری زمان دارتموث (DTSS) را توسعه دادند که به چندین کاربر اجازه می داد برنامه های BASIC را به طور همزمان روی پایانه های راه دور ویرایش و اجرا کنند. این مدل عمومی در سیستم‌های کامپیوتری کوچک مانند PDP-11 و Data General Nova در اواخر دهه 1960 و اوایل دهه 1970 رایج شد . هیولت پاکارد یک خط کامپیوتر کامل برای این روش کار تولید کرد، سری HP2000 را در اواخر دهه 1960 معرفی کرد و فروش آن را تا دهه 1980 ادامه داد. بسیاری از بازی‌های ویدیویی اولیه تاریخچه خود را به یکی از این نسخه‌های بیسیک ردیابی می‌کنند.

ظهور میکرو کامپیوترها در اواسط دهه 1970 منجر به توسعه چندین گویش بیسیک از جمله مایکروسافت بیسیک در سال 1975 شد. با توجه به حافظه اصلی کوچک موجود در این ماشین ها، اغلب 4 کیلوبایت، انواع گویش های Tiny BASIC نیز ایجاد شد. بیسیک تقریباً برای هر سیستمی در آن دوره در دسترس بود، و تبدیل به زبان برنامه نویسی واقعی برای سیستم های کامپیوتری خانگی شد که در اواخر دهه 1970 ظهور کردند. این رایانه‌های شخصی تقریباً همیشه دارای یک مفسر BASIC هستند که به طور پیش‌فرض، اغلب در میان‌افزار دستگاه یا گاهی اوقات روی یک کارتریج ROM نصب شده است.

محبوبیت بیسیک در دهه 1990 کاهش یافت، زیرا میکروکامپیوترهای قدرتمندتر به بازار آمدند و زبان های برنامه نویسی با ویژگی های پیشرفته (مانند پاسکال و سی ) در چنین رایانه هایی قابل استفاده شدند. در آن زمان، اکثر کاربران غیر فنی کامپیوترهای شخصی به جای نوشتن برنامه های خود، به برنامه های از پیش نوشته شده تکیه می کردند. در سال 1991، مایکروسافت ویژوال بیسیک را منتشر کرد که نسخه به روز شده بیسیک را با سازنده فرم های بصری ترکیب می کرد . این استفاده دوباره از زبان و "VB" به عنوان یک زبان برنامه نویسی اصلی [2] [3] در قالب VB.NET باقی می ماند ، در حالی که یک صحنه سرگرمی برای BASIC به طور گسترده تر همچنان وجود دارد. [4] [5]

مبدا

جان جی کیمنی رئیس گروه ریاضیات کالج دارتموث بود. بر اساس شهرت او به عنوان یک مبتکر در تدریس ریاضی، در سال 1959 کالج جایزه بنیاد آلفرد پی اسلون را به مبلغ 500000 دلار برای ساخت یک ساختمان بخش جدید دریافت کرد. [6] توماس ای. کورتز در سال 1956 به این دپارتمان پیوسته بود و از دهه 1960، کیمنی و کورتز در مورد نیاز به سواد برنامه نویسی در بین دانش آموزان خارج از زمینه های سنتی STEM توافق کردند . کمنی بعداً خاطرنشان کرد که "دیدگاه ما این بود که هر دانشجو در محوطه دانشگاه باید به رایانه دسترسی داشته باشد و هر عضو هیئت علمی باید بتواند در هر زمان که مناسب باشد از رایانه در کلاس استفاده کند. به همین سادگی بود." [7]

Kemeny و Kurtz دو آزمایش قبلی را با زبان های ساده شده انجام داده بودند، DARSIMCO (کد ساده دارتموث) و DOPE (آزمایش برنامه نویسی بیش از حد ساده شده دارتموث) . اینها از یک کلاس سال اول هم پیشرفت نکردند. آزمایش‌های جدیدی با استفاده از Fortran و ALGOL دنبال شد، اما کورتز به این نتیجه رسید که این زبان‌ها برای آنچه که می‌خواستند بسیار مشکل هستند. همانطور که کورتز اشاره کرد، فرترن دستورات عجیب و غریب متعددی داشت، به ویژه یک "قرارداد تقریبا غیرممکن برای به خاطر سپردن برای تعیین یک حلقه: . شماره خط مورد نیاز است یا نه؟" [7]DO 100, I = 1, 10, 2

علاوه بر این، فقدان هر نوع بازخورد فوری یک مشکل کلیدی بود. ماشین‌های آن دوره از پردازش دسته‌ای استفاده می‌کردند و اجرای یک برنامه زمان زیادی طول می‌کشید. در حالی که کورتز از MIT بازدید می کرد ، جان مک کارتی پیشنهاد کرد که اشتراک زمانی راه حلی را ارائه می دهد. یک ماشین واحد می تواند زمان پردازش خود را بین بسیاری از کاربران تقسیم کند و به آنها این توهم را بدهد که یک کامپیوتر (آهسته) برای خود دارند. [8] برنامه های کوچک نتایج را در چند ثانیه برمی گرداند. این منجر به افزایش علاقه به سیستمی با استفاده از اشتراک زمانی و یک زبان جدید به طور خاص برای استفاده توسط دانشجویان غیر STEM شد. [7]

کیمنی اولین نسخه بیسیک را نوشت. مخفف BASIC از نام مقاله منتشر نشده توماس کورتز گرفته شده است . [9] زبان جدید به شدت بر روی FORTRAN II الگوبرداری شده بود. دستورات یک به خط بودند، از اعداد برای نشان دادن هدف حلقه ها و شاخه ها استفاده می شد و بسیاری از دستورات مشابه یا یکسان با فرترن بودند. با این حال، سینتکس هرجا که می‌توانست بهبود یابد، تغییر کرد. به عنوان مثال، حلقه سخت به خاطر سپردن با حلقه بسیار ساده تر جایگزین شد و شماره خط مورد استفاده در DO با علامت نشان داده شد . [a] به همین ترتیب، عبارت رمزی فرترن، که نحو آن با دستورالعمل خاصی از ماشینی که در ابتدا روی آن نوشته شده بود، مطابقت داشت، ساده تر شد . این تغییرات باعث شد که زبان بسیار کمتر خاص باشد، در حالی که هنوز ساختار کلی دارد و شبیه به زبان اصلی FORTRAN است. [7]DOFOR I = 1 TO 10 STEP 2NEXT IIFIF I=5 THEN GOTO 100

این پروژه کمک مالی 300000 دلاری از بنیاد ملی علوم دریافت کرد که برای خرید یک کامپیوتر GE-225 برای پردازش، و یک پردازشگر Realtime Datanet-30 برای مدیریت پرینترهای Teletype Model 33 که برای ورودی و خروجی استفاده می‌شد، استفاده شد. تیمی متشکل از دوازده دانشجوی کارشناسی حدود یک سال روی این پروژه کار کردند و هم سیستم DTSS و هم کامپایلر BASIC را نوشتند. [7] اولین نسخه زبان بیسیک در 1 مه 1964 منتشر شد. [10] [11]

در ابتدا، BASIC بر روی پشتیبانی از کار ریاضی ساده متمرکز شد، با پشتیبانی حساب ماتریسی از اجرای اولیه آن به عنوان یک زبان دسته ای، و عملکرد رشته کاراکترها تا سال 1965 اضافه شد. استفاده در دانشگاه به سرعت گسترش یافت، و نیاز به جایگزینی CPU اصلی با یک GE- شد. 235، [7] و هنوز هم بعداً توسط GE-635. در اوایل دهه 1970 صدها ترمینال به ماشین‌های دارتموث متصل بودند که برخی از آنها از راه دور بودند.

طراحان آن که می خواستند استفاده از این زبان فراگیر شود، کامپایلر را رایگان در دسترس قرار دادند. در دهه 1960، نرم افزار به یک کالای قابل شارژ تبدیل شد. تا آن زمان، بدون هزینه به عنوان یک سرویس با رایانه های گران قیمت ارائه می شد که معمولاً فقط برای اجاره در دسترس بودند. آنها همچنین آن را در اختیار دبیرستان‌های هانوفر ، نیوهمپشایر ، منطقه و منطقه‌ای در سراسر نیوانگلند در پایانه‌های چاپگر تله‌تایپ مدل 33 ​​و مدل 35 متصل به دارتموث از طریق خطوط تلفن شماره‌گیری قرار دادند و تلاش زیادی برای ترویج این زبان انجام دادند. در سال‌های بعد، با ظهور سایر لهجه‌های بیسیک، گویش اصلی کیمنی و کورتز به نام دارتموث بیسیک شناخته شد .

نیوهمپشایر این موفقیت را در سال 2019 به رسمیت شناخت، زمانی که یک نشانگر تاریخی بزرگراه در هانوفر ایجاد کرد که ایجاد "اولین زبان برنامه نویسی کاربرپسند" را توصیف می کند. [12]

خدمات اشتراک زمانی را گسترش دهید

ظهور BASIC به عنوان بخشی از یک حرکت گسترده تر به سمت سیستم های اشتراک زمانی صورت گرفت. این ایده برای اولین بار در اواخر دهه 1950 مفهوم‌سازی شد، و در اوایل دهه 1960 به قدری در صنعت کامپیوتر مسلط شد که طرفداران آن از آینده‌ای صحبت می‌کردند که در آن کاربران «زمان را روی رایانه به همان روشی که خانواده‌های معمولی برق و آب می‌خرند» صحبت می‌کردند. از شرکت های آب و برق". [13]

جنرال الکتریک که روی پروژه دارتموث کار کرده بود، سیستم عامل زیربنایی خود را نوشت و یک سیستم اشتراک زمانی آنلاین به نام Mark I راه اندازی کرد. این سیستم BASIC را به عنوان یکی از نقاط اصلی فروش خود معرفی کرد. سایر شرکت‌ها در حوزه نوظهور به سرعت از این روش پیروی کردند. Tymshare SUPER BASIC را در سال 1968 معرفی کرد ، CompuServe نسخه ای را در DEC-10 در سال 1969 عرضه کرد، و در اوایل دهه 1970، BASIC تا حد زیادی در رایانه های اصلی همه منظوره عمومی شد . حتی IBM نیز در نهایت با معرفی VS-BASIC در سال 1973 به باشگاه پیوست .

اگرچه خدمات اشتراک زمانی با BASIC برای مدتی موفقیت آمیز بود، موفقیت گسترده ای که قبلاً پیش بینی شده بود، موفقیت آمیز نبود. ظهور مینی کامپیوترها در همان دوره، و به ویژه ریز کامپیوترهای ارزان قیمت در اواسط دهه 1970، به هر کسی اجازه داد تا به جای خرید زمان آنلاین که معمولاً به دلار در دقیقه پرداخت می شد، سیستم های خود را خریداری و اجرا کند. [ب] [15]

روی کامپیوترهای کوچک پخش شود

سیستم HP 2000 برای اجرای BASIC با زمان اشتراک گذاری به عنوان وظیفه اصلی طراحی شده است.

بیسیک، به دلیل ماهیت کوچک خود، به طور طبیعی برای انتقال به بازار مینی کامپیوترها که همزمان با خدمات اشتراک زمانی در حال ظهور بود، مناسب بود. این ماشین‌ها حافظه اصلی کوچکی داشتند ، شاید در اصطلاح مدرن به اندازه 4 کیلوبایت، [c] و فاقد حافظه با کارایی بالا مانند هارد دیسک‌هایی بودند که کامپایلرها را کاربردی می‌کنند. در این سیستم‌ها، BASIC معمولاً به‌عنوان یک مفسر و نه یک کامپایلر به‌دلیل نیاز کمتر آن به حافظه فعال، پیاده‌سازی می‌شود. [d]

یک مثال مهم HP Time-Shared BASIC بود که مانند سیستم اصلی دارتموث از دو کامپیوتر برای اجرای یک سیستم اشتراک زمانی استفاده می کرد. اولی، یک دستگاه رده پایین در سری HP 2100 ، برای کنترل ورودی کاربر و ذخیره و بارگذاری برنامه های آن ها بر روی نوار یا دیسک استفاده شد. دیگری، یک نسخه پیشرفته از همان ماشین زیربنایی، برنامه ها را اجرا کرد و خروجی تولید کرد. با هزینه ای در حدود 100000 دلار، می توان ماشینی داشت که قادر است بین 16 تا 32 کاربر را به طور همزمان کار کند. [16] این سیستم، همراه با HP 2000، اولین پلتفرم کوچکی بود که اشتراک‌گذاری زمانی را ارائه داد و یک موفقیت فوری بود، و HP را به سومین فروشنده بزرگ در فضای مینی کامپیوتر، پس از DEC و Data General (DG) تبدیل کرد. ). [17]

DEC، پیشرو در فضای مینی کامپیوتر از اواسط دهه 1960، در ابتدا بیسیک را نادیده گرفته بود. این به دلیل کار آنها با شرکت RAND بود که یک PDP-6 را برای اجرای زبان JOSS خود خریداری کرده بود که از نظر مفهومی بسیار شبیه به BASIC بود. [18] این امر باعث شد که DEC یک نسخه کوچکتر و پاک شده از JOSS به نام FOCAL را معرفی کند که در اواخر دهه 1960 به شدت آن را تبلیغ کرد. با این حال، با وجود سیستم های اشتراک زمانی که به طور گسترده بیسیک را ارائه می دهند، و تمام رقبای آنها در فضای مینی کامپیوتر نیز همین کار را می کند، مشتریان DEC برای بیسیک فریاد می زدند. پس از اینکه مدیریت بارها درخواستهای آنها را نادیده گرفت، دیوید اچ اهلل خرید یک BASIC برای PDP-8 را به عهده گرفت که موفقیت بزرگی در بازار آموزش بود. در اوایل دهه 1970، FOCAL و JOSS فراموش شده بودند و BASIC تقریباً در بازار مینی کامپیوتر جهانی شده بود. [19] DEC نسخه به روز شده خود، BASIC-PLUS را برای استفاده در سیستم عامل اشتراک زمانی RSTS/E معرفی کرد .

در این دوره، تعدادی بازی ساده مبتنی بر متن در بیسیک نوشته شد، که مهمترین آنها بازی Star Trek مایک میفیلد بود . دیوید اهل اینها را جمع آوری کرد، برخی از آنها را از FOCAL منتقل کرد و آنها را در یک خبرنامه آموزشی که خود گردآوری کرد منتشر کرد. او بعداً تعدادی از اینها را در قالب کتاب جمع آوری کرد، 101 بازی های رایانه ای BASIC ، که در سال 1973 منتشر شد . هنگامی که مدیریت از حمایت از این مفهوم امتناع کرد، اهل DEC را در سال 1974 ترک کرد و مجله کامپیوتری مهم را با نام Creative Computing تأسیس کرد . این کتاب محبوبیت خود را حفظ کرد و در چندین نوبت دوباره منتشر شد. [21]

رشد انفجاری: عصر کامپیوتر خانگی

Commodore BASIC نسخه 2.0 در Commodore 64
MSX BASIC نسخه 3.0
«ترن اساسی هر روز!» - پوستری (در مرکز پایین) در یک مدرسه روسی ( حدود  1985-1986 ) می‌خواند.

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

اولین نسخه میکروکامپیوتری بیسیک توسط بیل گیتس ، پل آلن و مونت دیویدوف برای شرکت تازه تاسیس آنها، Micro-Soft نوشته شد . [23] این توسط MITS در قالب نوار پانچ برای Altair 8800 اندکی پس از خود دستگاه منتشر شد ، [24] بلافاصله BASIC را به عنوان زبان اصلی میکروکامپیوترهای اولیه تثبیت کرد. اعضای باشگاه کامپیوتر Homebrew شروع به پخش نسخه هایی از این برنامه کردند که باعث شد گیتس نامه سرگشاده خود به علاقمندان را بنویسد و از این نمونه اولیه دزدی نرم افزاری شکایت کند .

باب آلبرشت تا حدی در پاسخ به نامه گیتس، و تا حدی برای ساختن یک BASIC کوچکتر که به طور مفید روی ماشین های 4 کیلوبایتی اجرا می شود، از دنیس آلیسون خواست تا تنوع زبان خود را بنویسد. نحوه طراحی و پیاده‌سازی نسخه‌ای از یک مترجم برای زبان بیسیک در مقاله‌های آلیسون در سه شماره فصلنامه اول خبرنامه شرکت رایانه مردم منتشر شده در سال 1975 و پیاده‌سازی‌ها با کد منبع منتشر شده در مجله Dr. Dobb's Journal پوشش داده شد. Tiny BASIC Calisthenics & Orthodontia: Running Light Without Overbyte . این منجر به طیف گسترده‌ای از Tiny BASIC با ویژگی‌های اضافه شده یا پیشرفت‌های دیگر شد، که نسخه‌هایی از Tom Pittman و Li-Chen Wang به‌ویژه شناخته شده‌اند. [25]

Micro-Soft، در این زمان، مایکروسافت ، مفسر خود را برای MOS 6502 ، که به سرعت به یکی از محبوب‌ترین ریزپردازنده‌های عصر 8 بیت تبدیل شد، منتقل کرد. هنگامی که میکروکامپیوترهای جدید شروع به ظهور کردند، به ویژه "تثلیث 1977" TRS-80 ، Commodore PET و Apple II ، آنها یا نسخه ای از کد MS را شامل می شدند، یا به سرعت مدل های جدیدی را با آن معرفی می کردند. کامپیوترهای شخصی Ohio Scientific نیز در آن زمان به این روند پیوستند. تا سال 1978، MS BASIC یک استاندارد واقعی بود و عملاً هر رایانه خانگی در دهه 1980 آن را در ROM گنجانده بود . پس از راه اندازی، یک مترجم BASIC در حالت مستقیم ارائه شد.

Commodore Business Machines شامل Commodore BASIC ، بر اساس Microsoft BASIC است. Apple II و TRS-80 هر کدام دو نسخه از BASIC دارند: یک نسخه مقدماتی کوچکتر با انتشار اولیه ماشین ها و یک نسخه مبتنی بر مایکروسافت که با افزایش علاقه به پلتفرم ها معرفی شد. با ورود شرکت‌های جدید به این حوزه، نسخه‌های اضافی اضافه شد که خانواده بیسیک را به طرز ماهرانه‌ای تغییر داد. کامپیوترهای 8 بیتی Atari از Atari BASIC 8 کیلوبایتی استفاده می کنند که از Microsoft BASIC مشتق نشده است. Sinclair BASIC در سال 1980 با Sinclair ZX80 معرفی شد و بعداً برای Sinclair ZX81 و Sinclair ZX Spectrum گسترش یافت . بی‌بی‌سی BBC BASIC را منتشر کرد که توسط Acorn Computers توسعه یافته است و کلمات کلیدی برنامه‌نویسی ساختاریافته و ویژگی‌های ممیز شناور را در خود جای داده است .

با افزایش محبوبیت بیسیک در این دوره، مجلات کامپیوتری کد منبع کاملی را برای بازی های ویدیویی، ابزارهای کمکی و سایر برنامه ها در بیسیک منتشر کردند. با توجه به ماهیت ساده بیسیک، تایپ کد از مجله و اجرای برنامه کار ساده ای بود. مجلات مختلفی با برنامه‌هایی برای رایانه‌های خاص منتشر شدند، اگرچه برخی از برنامه‌های بیسیک جهانی در نظر گرفته می‌شدند و می‌توانستند در ماشین‌هایی که هر گونه از بیسیک را اجرا می‌کنند (گاهی با انطباق‌های جزئی) استفاده شوند. کتاب‌های بسیاری از برنامه‌های تایپ نیز موجود بود، و به‌ویژه، اهل سنت نسخه‌های اصلی ۱۰۱ بازی بیسیک را که به گویش مایکروسافت تبدیل شده بود، منتشر کرد و آن را از Creative Computing به‌عنوان بازی‌های رایانه‌ای بیسیک منتشر کرد . این کتاب و دنباله‌های آن صدها برنامه آماده را ارائه می‌کنند که می‌توان آن‌ها را به راحتی به هر پلتفرم در حال اجرا BASIC تبدیل کرد. [20] [26] [27] این کتاب در سال 1978 به فروشگاه‌ها رسید، درست زمانی که بازار رایانه‌های خانگی شروع به کار کرد، و اولین کتاب رایانه‌ای با میلیون‌ها فروش شد. بسته‌های بعدی، مانند Learn to Program BASIC نیز تمرکز مقدماتی را بر روی بازی خواهند داشت. مایکروسافت بیسیک ( MBASIC ) یکی از برنامه‌های کاربردی پیشرو در کامپیوترهای CP/M متمرکز بر کسب‌وکار که به زودی در محیط‌های کسب‌وکار کوچک گسترده شد . [28]

در سال 1978، دیوید لین اولین نسخه کتاب راهنمای BASIC: An Encyclopedia of the BASIC Computer Language را منتشر کرد که کلمات کلیدی را در بیش از 78 رایانه مختلف مستند می کند. تا سال 1981، ویرایش دوم، کلمات کلیدی را از بیش از 250 رایانه مختلف مستند کرد که رشد انفجاری دوران میکروکامپیوتر را به نمایش گذاشت. [29]

IBM PC و دستگاه های سازگار

IBM Cassette BASIC 1.10

زمانی که IBM مشغول طراحی رایانه شخصی آی‌بی‌ام بود ، از الگوی رایانه‌های خانگی موجود در داشتن یک مفسر BASIC داخلی پیروی کرد. آنها این منبع را از مایکروسافت - IBM Cassette BASIC - تهیه کردند، اما مایکروسافت چندین نسخه دیگر از BASIC را برای MS-DOS / PC DOS از جمله IBM Disk BASIC (BASIC D)، IBM BASICA (BASIC A)، GW-BASIC (یک سازگار با BASICA) تولید کرد. نسخه ای که نیازی به رام IBM نداشت) [30] و QBasic ، همگی معمولاً با دستگاه همراه هستند. به علاوه آنها Microsoft BASIC Compiler را با هدف برنامه نویسان حرفه ای تولید کردند. Turbo Pascal -ناشر Borland Turbo Basic 1.0 را در سال 1985 منتشر کرد (نسخه های جانشین آن هنوز با نام PowerBASIC به بازار عرضه می شوند ). در سیستم های مشابه یونیکس ، پیاده سازی های تخصصی مانند XBasic و X11-Basic ایجاد شدند. [31] XBasic به مایکروسافت ویندوز به عنوان XBLite و انواع متقابل پلتفرم مانند SmallBasic ، yabasic ، Bywater BASIC ، [32] [33] nuBasic، [34] MyBasic، [35] Logic Basic، [36] Liberty BASIC منتقل شد . ، و wxBasic پدیدار شد. FutureBASIC و Chipmunk Basic در عین حال Apple Macintosh را هدف قرار دادند ، در حالی که yab نسخه ای از yaBasic است که برای BeOS ، ZETA و Haiku بهینه شده است . [37]

این تغییرات بعدی افزونه‌های زیادی را معرفی کردند، مانند دستکاری رشته‌ها و پشتیبانی گرافیکی، دسترسی به سیستم فایل و انواع داده‌های اضافی . امکانات برنامه نویسی ساختاریافته از جمله ساختارهای کنترلی اضافی و برنامه های فرعی مناسب که از متغیرهای محلی پشتیبانی می کنند ، اهمیت بیشتری دارد . [38] با این حال، در نیمه دوم دهه 1980، کاربران به طور فزاینده ای از برنامه های کاربردی از پیش ساخته شده توسط دیگران به جای یادگیری برنامه نویسی استفاده می کردند. در حالی که برنامه نویسان حرفه ای اکنون طیف گسترده ای از زبان های پیشرفته تر را در رایانه های کوچک در دسترس داشتند. C و بعداً ++C به زبان‌های انتخابی برای توسعه برنامه‌های حرفه‌ای «shrink wrap» تبدیل شدند . [39] [40]

جایگاهی که BASIC همچنان پر می‌کرد، مربوط به توسعه بازی‌های ویدیویی سرگرم‌کننده بود ، زیرا سیستم‌های ساخت بازی و موتورهای بازی در دسترس هنوز در مراحل ابتدایی خود بودند. آتاری ST دارای STOS BASIC بود در حالی که آمیگا دارای AMOS BASIC برای این منظور بود. مایکروسافت ابتدا BASIC را برای توسعه بازی با DONKEY.BAS برای GW-BASIC و بعداً GORILLA.BAS و NIBBLES.BAS برای QuickBASIC به نمایش گذاشت . QBasic یک جامعه توسعه بازی فعال را حفظ کرد، [41] [42] که بعداً به تولید QB64 و FreeBASIC کمک کرد . [43] در سال 2013 یک بازی نوشته شده در QBasic و گردآوری شده با QB64 برای رایانه های مدرن با عنوان Black Annex در Steam منتشر شد . [44] [45] Blitz Basic ، Dark Basic ، SdlBasic ، Super Game System Basic، [46] PlayBASIC، [47] CoolBasic، [48] AllegroBASIC ، [49] ethosBASIC، [50] GLBasic و Basic4GL بیشتر این تقاضا را پر کردند، درست تا RCBasic مدرن، [51] NaaLaa، [52] AppGameKit ، [53] Monkey 2 و Cerberus-X. [54]

ویژوال بیسیک

در سال 1991، مایکروسافت Visual Basic را معرفی کرد که یک توسعه تکاملی QuickBASIC بود . این شامل سازه هایی از آن زبان مانند دستورات کنترل ساختار بلوکی، زیر روال های پارامتری و تایپ استاتیک اختیاری و همچنین ساختارهای شی گرا از زبان های دیگر مانند "With" و "For Every" بود. این زبان تا حدی با پیشینیان خود سازگاری داشت، مانند کلمه کلیدی Dim برای اعلان‌ها، "Gosub"/Return عبارات و شماره خطوط اختیاری که می‌توان از آنها برای یافتن خطاها استفاده کرد. یک محرک مهم برای توسعه ویژوال بیسیک به عنوان زبان ماکرو جدید برای Microsoft Excel ، یک برنامه صفحه گسترده بود. در کمال تعجب بسیاری از مایکروسافت که هنوز در ابتدا آن را به عنوان زبانی برای علاقه‌مندان به بازار عرضه می‌کردند، این زبان مدت کوتاهی پس از انتشار VB نسخه 3.0 که به طور گسترده اولین نسخه نسبتاً پایدار محسوب می‌شود، برای برنامه‌های تجاری سفارشی کوچک مورد استفاده گسترده قرار گرفت. مایکروسافت همچنین آن را به عنوان Visual Basic for Applications و Embedded Visual Basic تقسیم کرد .

در حالی که بسیاری از برنامه نویسان پیشرفته هنوز استفاده از آن را مسخره می کردند، VB نیازهای کسب و کارهای کوچک را به طور کارآمد برآورده می کرد، زیرا در آن زمان، رایانه های دارای ویندوز 3.1 به اندازه ای سریع شده بودند که بسیاری از فرآیندهای مربوط به کسب و کار را می توان «در یک چشم به هم زدن» حتی با استفاده از آن تکمیل کرد. یک زبان "آهسته"، تا زمانی که حجم زیادی از داده درگیر نباشد. بسیاری از صاحبان مشاغل کوچک دریافتند که می توانند برنامه های کاربردی کوچک و در عین حال مفید خود را در چند شب برای رفع نیازهای تخصصی خود ایجاد کنند. در نهایت، در طول عمر طولانی VB3، دانش ویژوال بیسیک به یک مهارت شغلی قابل فروش تبدیل شد. مایکروسافت همچنین VBScript را در سال 1996 و ویژوال بیسیک دات نت را در سال 2001 تولید کرد. دومی اساساً قدرتی برابر با سی شارپ و جاوا دارد اما دارای نحوی است که زبان اصلی پایه را منعکس می کند و همچنین دارای برخی قابلیت های چند پلتفرمی از طریق پیاده سازی هایی مانند Mono-Basic است. . [55] IDE ، با سازنده رابط کاربری گرافیکی مبتنی بر رویداد ، بر دیگر ابزارهای توسعه سریع برنامه‌های کاربردی ، به ویژه دلفی Borland Software برای Object Pascal و فرزندان خود مانند Lazarus نیز تأثیرگذار بود . [56] [57]

پشتیبانی جریان اصلی برای نسخه نهایی 6.0 ویژوال بیسیک اصلی در 31 مارس 2005 به پایان رسید و پس از آن در مارس 2008 پشتیبانی گسترده شد . [60] در 2 فوریه 2017، مایکروسافت اعلام کرد که توسعه در VB.NET دیگر به موازات C# نخواهد بود، [61] و در 11 مارس 2020 اعلام شد که تکامل زبان VB.NET نیز نتیجه گیری کرد. [62] با این وجود، این زبان همچنان پشتیبانی می‌شد. [63]

سه نوع پایه مدرن: Mono Basic، OpenOffice.org Basic و Gambas

نسخه ها و گویش های پس از سال 1990

بسیاری دیگر از گویش های بیسیک نیز از سال 1990 به وجود آمده اند، از جمله لهجه های متن باز QB64 و FreeBASIC با الهام از QBasic و RapidQ ، HBasic ، Basic For Qt و Gambas به سبک ویژوال بیسیک . [4] تجسم های تجاری مدرن عبارتند از PureBasic ، PowerBASIC ، Xojo ، Monkey X و True BASIC (جانشین مستقیم Dartmouth BASIC از یک شرکت تحت کنترل کورتز).

چندین مفسر ساده بیسیک مبتنی بر وب نیز اکنون وجود دارد، از جمله Small Basic مایکروسافت و wwwBASIC گوگل . [64] تعدادی کامپایلر نیز وجود دارند که BASIC را به جاوا اسکریپت تبدیل می کنند . [65] مانند NS Basic .

بر اساس تلاش‌های قبلی مانند Mobile Basic ، [66] [67] بسیاری از گویش‌ها اکنون برای گوشی‌های هوشمند و تبلت‌ها در دسترس هستند.

در کنسول‌های بازی، برنامه‌ای برای Nintendo 3DS و Nintendo DSi به نام Petit Computer امکان برنامه‌نویسی در نسخه کمی تغییر یافته BASIC با پشتیبانی از دکمه DS را فراهم می‌کند. نسخه‌ای نیز برای نینتندو سوییچ منتشر شده است که نسخه‌ای از Fuze Code System را نیز ارائه کرده است، [68] یک نوع BASIC [69] که برای اولین بار به عنوان یک ماشین سفارشی Raspberry Pi پیاده‌سازی شد . [70] قبلاً BASIC روی کنسول‌ها به‌عنوان Family BASIC (برای Nintendo Famicom ) و PSX Chipmunk Basic (برای PlayStation اصلی ) در دسترس بود ، در حالی که yabasic به PlayStation 2 و FreeBASIC به Xbox اصلی منتقل می‌شد .

ماشین حساب ها

انواع بیسیک بر روی نمودارها و ماشین حساب های قابل برنامه ریزی ساخته شده توسط Texas Instruments ( TI-BASIC )، HP (HP BASIC)، Casio ( Casio BASIC ) و دیگران موجود است.

خط فرمان ویندوز

QBasic ، نسخه‌ای از Microsoft QuickBASIC بدون پیوند دهنده برای ساخت فایل‌های EXE، در جریان‌های Windows NT و DOS- Windows 95 سیستم‌عامل‌ها وجود دارد و می‌توان آن را برای نسخه‌های جدیدتر مانند Windows 7 که فاقد آن‌ها هستند، دریافت کرد. قبل از DOS 5، مفسر Basic GW-Basic بود . QuickBasic بخشی از یک سری از سه زبان است که توسط مایکروسافت برای کاربران خانگی و اداری و توسعه حرفه ای در مقیاس کوچک صادر شده است. QuickC و QuickPascal دو مورد دیگر هستند. برای ویندوز 95 و 98 که به طور پیش فرض QBasic نصب نشده است، می توان آنها را از دیسک نصب کپی کرد، که دارای مجموعه ای از فهرست ها برای نرم افزارهای قدیمی و اختیاری است. سایر دستورات گم شده مانند Exe2Bin و سایرین در همین دایرکتوری ها هستند.

دیگر

BASIC به برخی از سیستم‌های بازی ویدیویی مانند Nintendo Famicom آمد .

مجموعه های اداری مختلف مایکروسافت، لوتوس، و کورل و محصولات مرتبط با ویژوال بیسیک به هر شکلی قابل برنامه ریزی هستند، از جمله LotusScript که بسیار شبیه به VBA 6 است. شبیه ساز ترمینال Host Explorer از WWB به عنوان یک زبان ماکرو استفاده می کند. یا اخیراً برنامه و مجموعه ای که در آن موجود است در یک نوع Basic داخلی که به نام Hummingbird Basic شناخته می شود قابل برنامه ریزی است. نوع VBScript برای برنامه نویسی محتوای وب، Outlook 97، Internet Explorer و Windows Script Host استفاده می شود. WSH همچنین دارای یک موتور Visual Basic for Applications (VBA) است که به عنوان سومین موتور پیش‌فرض به همراه VBScript، JScript و چندین موتور اختصاصی یا منبع باز نصب شده است که می‌توانند مانند PerlScript ، چند موتور مبتنی بر Rexx، Python نصب شوند. ، روبی، Tcl، دلفی، XLNT، PHP، و دیگران. به این معنی که دو نسخه Basic را می توان به همراه سایر زبان های ذکر شده و همچنین LotusScript در یک فایل WSF از طریق مدل شیء کامپوننت و سایر ساخت های WSH و VBA استفاده کرد. VBScript یکی از زبان هایی است که توسط پوسته های پیشرفته 4Dos، 4NT و Take Command قابل دسترسی است. SaxBasic و WWB نیز بسیار شبیه به خط Visual Basic از پیاده سازی های Basic هستند. زبان ماکرو Pre-Office 97 برای Microsoft Word با نام WordBASIC شناخته می شود . اکسل 4 و 5 از خود ویژوال بیسیک به عنوان یک زبان ماکرو استفاده می کنند. Chipmunk Basic ، یک مترجم قدیمی شبیه به BASIC های دهه 1970، برای Linux ، Microsoft Windows و macOS در دسترس است .

میراث

فراگیر بودن مفسرهای BASIC در رایانه‌های شخصی به حدی بود که کتاب‌های درسی زمانی شامل تمرین‌های ساده "Try It In BASIC" بودند که دانش‌آموزان را تشویق می‌کرد تا مفاهیم ریاضی و محاسباتی را روی رایانه‌های کلاس درس یا خانه آزمایش کنند. مجلات کامپیوتری رایج آن روز معمولاً شامل برنامه‌های تایپ می‌شدند .

دیوید برین ، آینده‌نگر و نویسنده علمی تخیلی، در سال 2006 در مقاله سالون [71] از دست دادن BASIC فراگیر، عزادار شد، همانطور که دیگرانی که برای اولین بار در این دوره از رایانه استفاده کردند، سوگواری کردند. به نوبه خود، مقاله مایکروسافت را بر آن داشت تا Small Basic را توسعه و منتشر کند . [72] همچنین پروژه های مشابهی مانند Basic-256 [73] [74] و کاملاً پایه مبتنی بر وب را الهام گرفت. [ 75] دارتموث جشن پنجاهمین سالگرد بیسیک را در 1 می 2014 برگزار کرد . [77]

کالج دارتموث پنجاهمین سالگرد زبان بیسیک را با یک روز رویداد [78] در 30 آوریل 2014 جشن گرفت. یک فیلم مستند کوتاه برای این رویداد تولید شد. [79]

نحو

کلمات کلیدی معمولی BASIC

دستکاری داده ها

LET
یک مقدار (که ممکن است نتیجه یک عبارت باشد ) به یک متغیر اختصاص می دهد. در بیشتر گویش‌های بیسیک، LETاختیاری است و خطی که هیچ کلمه کلیدی قابل شناسایی دیگری ندارد، کلمه کلیدی را LET.
DATA
فهرستی از مقادیری را که به صورت متوالی با استفاده از دستور READ تخصیص داده می شوند را در اختیار دارد.
READ
مقداری را از یک DATAعبارت می خواند و آن را به یک متغیر اختصاص می دهد. یک اشاره گر داخلی آخرین DATAعنصر خوانده شده را ردیابی می کند و با هر کدام یک موقعیت به جلو می برد READ. اکثر گویش ها به متغیرهای متعدد به عنوان پارامتر اجازه می دهند که چندین مقدار را در یک عملیات واحد بخوانند.
RESTORE
نشانگر داخلی را به DATAعبارت اول بازنشانی می کند و به برنامه اجازه می دهد READاز مقدار اول شروع به کار کند. بسیاری از گویش ها به یک شماره خط یا مقدار ترتیبی اختیاری اجازه می دهند تا نشانگر به مکان انتخابی بازنشانی شود.
DIM
یک آرایه را تنظیم می کند.

کنترل جریان برنامه

IF ... THEN ... {ELSE}
برای انجام مقایسه یا تصمیم گیری استفاده می شود. گویش‌های اولیه فقط اجازه می‌دادند که یک شماره خط بعد از THEN. ELSEبه خصوص در نسخه های قبلی به طور گسترده پشتیبانی نمی شد.
FOR ... TO ... {STEP} ... NEXT
یک بخش از کد را چند بار تکرار کنید. متغیری که به عنوان شمارنده عمل می کند، "شاخص"، در حلقه موجود است .
WHILE ... WENDوREPEAT ... UNTIL
در حالی که شرط مشخص شده درست است، بخشی از کد را تکرار کنید. شرایط ممکن است قبل از هر تکرار حلقه یا بعد از آن ارزیابی شود. هر دوی این دستورات بیشتر در گویش های بعدی یافت می شوند.
DO ... LOOP {WHILE}یا{UNTIL}
یک بخش از کد را به طور نامحدود یا while/تا زمانی که شرط مشخص شده درست باشد تکرار کنید. شرایط ممکن است قبل از هر تکرار حلقه یا بعد از آن ارزیابی شود. مشابه WHILE, این کلمات کلیدی بیشتر در گویش های بعدی یافت می شوند.
GOTO
به یک خط شماره گذاری شده یا برچسب دار در برنامه می پرد. اکثر گویش ها نیز فرم را مجاز می دانستند GO TO.
GOSUB ... RETURN
به یک خط شماره‌دار یا برچسب‌دار می‌پرد، کدی را که در آنجا پیدا می‌کند اجرا می‌کند تا زمانی که به RETURNدستوری برسد، که در آن به دستور زیر باز می‌گردد GOSUB، یا بعد از دو نقطه یا در خط بعدی. این برای پیاده سازی زیربرنامه ها استفاده می شود .
ON ... GOTO/GOSUB
بر اساس شرایط مشخص شده محل پرش را انتخاب می کند. برای سایر فرم ها به عبارت Switch مراجعه کنید .
DEF FN
یک جفت از کلمات کلیدی که در اوایل دهه 1960 برای تعریف توابع معرفی شدند. توابع اولیه BASIC بر اساس توابع تک خطی FORTRAN مدل شده اند. توابع BASIC یک عبارت بودند با آرگومان های متغیر، به جای زیر روال ها ، با یک نحو بر روی مدل DEF FND(x) = x*xدر ابتدای برنامه. نام توابع در ابتدا محدود به FN به اضافه یک حرف بود، یعنی FNA، FNB...

ورودی و خروجی

LIST
کد منبع کامل برنامه فعلی را نمایش می دهد.
PRINT
پیامی را روی صفحه نمایش یا دستگاه خروجی دیگر نمایش می دهد.
INPUT
از کاربر می خواهد که مقدار یک متغیر را وارد کند. بیانیه ممکن است شامل یک پیام فوری باشد.
TAB
PRINTبرای تعیین موقعیتی که کاراکتر بعدی روی صفحه نمایش داده می شود یا روی کاغذ چاپ می شود استفاده می شود . ATیک فرم جایگزین است.
SPC
تعدادی کاراکتر فاصله را چاپ می کند. از نظر مفهومی مشابه است TABاما به جای حرکت به یک ستون مشخص، با تعدادی فاصله اضافی از ستون فعلی حرکت می کند.

توابع ریاضی

ABS
ارزش مطلق
ATN
Arctangent (نتیجه رادیان )
COS
کسینوس (برهان به رادیان )
EXP
تابع نمایی
INT
بخش صحیح (معمولاً تابع کف )
LOG
لگاریتم طبیعی
RND
تولید اعداد تصادفی
SIN
سینوس (برهان به رادیان )
SQR
ریشه مربع
TAN
مماس (برهان به رادیان )

متفرقه

REM
نظر یک برنامه نویس یا REMark را در اختیار دارد. اغلب برای دادن عنوان به برنامه و کمک به شناسایی هدف یک بخش معین از کد استفاده می شود.
USR("روال قابل سرویس توسط کاربر")
کنترل برنامه را به زیر روال زبان ماشین منتقل می کند ، که معمولاً به عنوان یک رشته الفبای عددی یا در لیستی از دستورات DATA وارد می شود.
CALL
شکل جایگزینی که USRدر برخی از گویش ها یافت می شود. برای تکمیل نحو تابع مانند نیازی به پارامتر مصنوعی ندارد USRو روشی واضح برای فراخوانی روال های مختلف در حافظه دارد.
TRON/ TROFF
نمایش شماره هر خط را در حین اجرا روشن می کند ("TRAce ON"). این برای اشکال زدایی یا تصحیح مشکلات در یک برنامه مفید بود. TROFF دوباره آن را خاموش می کند.
ASM
برخی از کامپایلرها مانند Freebasic، [80] Purebasic، [81] و Powerbasic [82] نیز از زبان اسمبلی درون خطی پشتیبانی می کنند که به برنامه نویس اجازه می دهد کدهای سطح بالا و سطح پایین را با هم ترکیب کند، معمولاً با پیشوند "ASM" یا "!" بیانیه ها

انواع داده ها و متغیرها

نسخه های حداقلی بیسیک فقط دارای متغیرهای عدد صحیح و نام متغیرهای یک یا دو حرفی بودند که نیاز به حافظه محدود و گران قیمت (RAM) را به حداقل می رساند. نسخه‌های قوی‌تر دارای محاسبات ممیز شناور بودند و متغیرها را می‌توان با نام‌هایی با طول شش کاراکتر یا بیشتر برچسب‌گذاری کرد. برخی مشکلات و محدودیت‌ها در اجرای اولیه وجود داشت. برای مثال، Applesoft BASIC به نام متغیرها اجازه می‌دهد که چندین کاراکتر داشته باشند، اما فقط دو کاراکتر اول مهم بودند، بنابراین می‌توان برنامه‌ای با متغیرهای "LOSS" و "LOAN" نوشت که به عنوان یکسان در نظر گرفته می‌شد. تخصیص یک مقدار به "LOAN" به صورت بی صدا مقدار در نظر گرفته شده به عنوان "LOSS" را بازنویسی می کند. کلمات کلیدی را نمی توان در متغیرها در بسیاری از BASIC های اولیه استفاده کرد. "SCORE" به عنوان "SC" یا "E" تفسیر می شود، جایی که OR یک کلمه کلیدی است. متغیرهای رشته معمولاً در بسیاری از گویش‌های ریز رایانه با پسوند $ به عنوان یک علامت متمایز می‌شوند ، و مقادیر اغلب به‌عنوان رشته‌ها با محدود شدن با علامت‌های «کوتیشن دوگانه» مشخص می‌شوند. آرایه ها در BASIC می توانند شامل اعداد صحیح، ممیز شناور یا متغیرهای رشته ای باشند.

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

نمونه ها

یک بازی ساده که در بیسیک پیاده سازی شده است

بیسیک بدون ساختار

برنامه نویسان BASIC جدید در رایانه خانگی ممکن است با یک برنامه ساده شروع کنند، شاید از عبارت PRINT زبان برای نمایش یک پیام بر روی صفحه استفاده کنند. یک نمونه معروف و اغلب تکراری، کرنیگان و ریچی " سلام، دنیا!" برنامه :

10 چاپ "سلام، جهان!" 20 پایان   

می توان از یک حلقه بی نهایت برای پر کردن صفحه نمایش با پیام استفاده کرد:

10 چاپ "سلام، جهان!" 20 برو 10    

توجه داشته باشید که ENDعبارت اختیاری است و در اکثر گویش های بیسیک هیچ عملی ندارد. همانطور که در این مثال وجود دارد همیشه شامل نمی شد. همین برنامه را می توان برای چاپ تعداد ثابتی از پیام ها با استفاده از FOR...NEXTعبارت رایج تغییر داد:

10 LET N = 10 20 FOR I = 1 TO N 30 PRINT "Hello, World!" 40 بعدی من          

اکثر رایانه‌های خانگی نسخه‌های BASIC، مانند MSX BASIC و GW-BASIC ، از انواع داده‌های ساده، چرخه‌های حلقه و آرایه‌ها پشتیبانی می‌کنند. مثال زیر برای GW-BASIC نوشته شده است، اما در اکثر نسخه های BASIC با حداقل تغییرات کار می کند:

10 INPUT "نام شما چیست: " ; 20 دلار آمریکا چاپ "سلام" ; U$ 30 INPUT "چند ستاره می خواهید: " ; N 40 S$ = "" 50 FOR I = 1 TO N 60 S$ = S$ + "*" 70 NEXT I 80 PRINT S$ 90 INPUT "آیا ستاره های بیشتری می خواهید؟ " ; A$ 100 IF LEN ( A$ ) = 0 سپس برو 90 110 A$ = LEFT$ ( A$ , 1 ) 120 IF A$ = "Y" OR A$ = "y" سپس برو 30 130 PRINT "Goodbye" ; 140 دلار آمریکا پایان                                                        

گفتگوی حاصل ممکن است شبیه به این باشد:

اسمت چیه: مایکسلام مایکچند ستاره می خواهید: 7*******آیا ستاره های بیشتری می خواهید؟ بلهچند ستاره می خواهید: 3***آیا ستاره های بیشتری می خواهید؟ نهخداحافظ مایک

Dartmouth Basic اصلی در داشتن یک کلمه کلیدی ماتریسی، MAT، غیرمعمول بود. [f] اگرچه توسط اکثر مشتقات ریزپردازنده بعدی پیاده سازی نشده است، اما در این مثال از کتابچه راهنمای سال 1968 [83] استفاده شده است که میانگین اعداد ورودی را نشان می دهد:

5 اجازه دهید S = 0 10 MAT ورودی V 20 اجازه دهید N = عدد 30 اگر N = 0 سپس 99 40 برای I = 1 تا N 45 اجازه دهید S = S + V ( I ) 50 بعدی I 60 PRINT S / N 70 برو به 5 99 پایان                                             

BASIC ساختار یافته

BASIC های نسل دوم (به عنوان مثال، VAX Basic ، SuperBASIC ، True BASIC ، QuickBASIC ، BBC BASIC ، Pick BASIC ، PowerBASIC ، Liberty BASIC ، QB64 و (مطمئنا) COMAL ) تعدادی ویژگی را به زبان معرفی کردند که عمدتاً به ساختار مربوط می شوند. برنامه نویسی رویه محور معمولاً شماره‌گذاری خطوط از زبان حذف می‌شود و با برچسب‌ها (برای GOTO ) و روش‌هایی جایگزین می‌شود تا طراحی آسان‌تر و انعطاف‌پذیرتر را تشویق کند. [38] علاوه بر این، کلمات کلیدی و ساختارهایی برای پشتیبانی از تکرار، انتخاب و رویه‌ها با متغیرهای محلی معرفی شدند.

مثال زیر در مایکروسافت QuickBASIC است:

مثال REM QuickBASICاعلام REM Forward - به کد اصلی اجازه می‌دهد تا یک زیرروال REM را فراخوانی کند که بعداً در کد منبع تعریف شده است DECLARE SUB PrintSomeStars ( StarCount! )   برنامه اصلی REM به دنبال INPUT "نام شما چیست: " , UserName$ PRINT "Hello" ; نام کاربری$ DO INPUT "چند ستاره می خواهید: " , NumStars CALL PrintSomeStars ( NumStars ) DO INPUT "آیا ستاره های بیشتری می خواهید؟ " , Answer$ حلقه تا پاسخ$ <> "" Answer$ = LEFT$ ( پاسخ$ , 1 ) LOOP WHILE UCASE$ ( Answer$ ) = "Y" PRINT "Goodbye" ; نام کاربری$ END                            تعریف زیربرنامه REM SUB PrintSomeStars ( StarCount ) REM این روش از یک متغیر محلی به نام Stars$ Stars$ = STRING$ ( StarCount , "*" ) PRINT Stars$ END SUB استفاده می کند                  

BASIC شی گرا

گویش های نسل سوم بیسیک مانند Visual Basic ، Xojo ، Gambas ، StarOffice Basic ، BlitzMax و PureBasic ویژگی هایی را برای پشتیبانی از پارادایم برنامه نویسی شی گرا و رویداد محور معرفی کردند . اکثر رویه‌ها و توابع داخلی اکنون به‌عنوان روش‌های اشیاء استاندارد به جای عملگرها نشان داده می‌شوند . همچنین، سیستم عامل به طور فزاینده ای در دسترس زبان بیسیک قرار گرفت.

مثال زیر در ویژوال بیسیک دات نت است :

ماژول عمومی StarsProgram عملکرد خصوصی Ask ( prompt As String ) As String Console . نوشتن ( اعلان ) کنسول بازگشت . تابع ReadLine () پایان               Public Sub Main () Dim userName = Ask ( "What is your name: " ) Console . WriteLine ( "سلام {0}" ، نام کاربری )         پاسخ کم نور به عنوان رشته    Dom numStars = CINT ( Ask ( "چند ستاره می خواهید:" ) ) Dim stars As New String ( "*"c , numStars ) Console . WriteLine ( ستاره )            پاسخ دهید = بپرسید ( "آیا ستاره های بیشتری می خواهید؟" ) حلقه تا پاسخ <> "" حلقه در حالی که پاسخ دهید . StartsWith ( "Y" ، StringComparison . OrdinalIgnoreCase )             کنسول . WriteLine ( "خداحافظ {0}" ، نام کاربری ) پایان ماژول پایان فرعی    

استانداردها

کامپایلر و مفسر

همچنین ببینید

یادداشت ها

  1. ^ DO فرترن continueبرای این منظور یک علامت داشت، اما هنوز باید شماره خط را وارد کنید.
  2. ^ Tymshare برای دسترسی به سیستم های خود حدود 10 دلار آمریکا در ساعت (معادل 78 دلار در سال 2023) دریافت می کند.
  3. فضای حافظه 12 بیتی PDP-8 که به طور گسترده به عنوان اولین مینی واقعی در نظر گرفته می شود، 4096 آدرس هر کدام 12 بیتی یا 6144 بایت را می دهد.
  4. ^ مفسرها در نهایت شبیه کامپایلرها در وظایفی هستند که انجام می‌دهند، کد منبع را به کد ماشین تبدیل می‌کنند، اما در زمان انجام آن تفاوت دارند. کامپایلرها کل برنامه را به یکباره تبدیل می کنند و یک برنامه قابل اجرا جداگانه را خروجی می دهند. مترجمان معمولاً فقط یک خط را در یک زمان تبدیل می کنند (یا حتی فقط بخشی از آن) و پس از اتمام اجرای خط بلافاصله آن کد را آزاد می کنند. این بدان معناست که آنها فقط به حافظه کافی برای اجرای یک خط نیاز دارند و به نوعی از حافظه ثانویه با کارایی بالا مانند هارد دیسک نیاز ندارند.
  5. ^ مایکروسافت بیسیک 780 بایت را برای کد برنامه کاربر و مقادیر متغیر در یک ماشین 4K آزاد گذاشت و این نسخه در حال اجرای یک نسخه بریده‌شده فاقد متغیرهای رشته‌ای و سایر عملکردها بود.
  6. ^ از نسخه 3 به بعد.

مراجع

  1. ^ کمنی، جان جی. کورتز، توماس ای. (1963). Basic: کتابچه راهنمای BASIC، زبان جبری ابتدایی که برای استفاده با سیستم اشتراک گذاری زمان دارتموث (PDF) (ویرایش اول) طراحی شده است. هانوفر، NH: مرکز محاسبات کالج دارتموث. بایگانی شده (PDF) از نسخه اصلی در 9 اکتبر 2022.
  2. رامل، دیوید (۱۲ فوریه ۲۰۱۹). محبوبیت VB.NET همچنان در حال افزایش است. مجله ویژوال استودیو . بازبینی شده در 28 مارس 2023 .
  3. سورسکی، دیوید (۲۵ ژانویه ۲۰۲۳). "40 زبان برنامه نویسی محبوب 2023: زمان و نحوه استفاده از آنها". رایگون . بازبینی شده در 25 مارس 2023 .
  4. ^ اب پروون، لیام (28 مارس 2023). "نوستالژیک VB؟ BASIC چیزی جز مرده است". ثبت نام . بازبینی شده در 27 سپتامبر 2023 .
  5. رئیس، کریس (۱۵ نوامبر ۲۰۲۲). "بیسیک نمرده است. زمان پاک کردن افسانه های بیسیک". پروژه کد . بازیابی شده در 31 ژانویه 2024 .
  6. «ریاضی عالی در هانوفر». زمان ​23 فوریه 1959.
  7. ^ abcdef Time 2014.
  8. رنکین، جوی لیسی (2018)، تاریخچه مردمی محاسبات در ایالات متحده ، کمبریج، ماساچوست: انتشارات دانشگاه هاروارد، ISBN 9780674970977، ص 23
  9. «اساسی». فایل ژارگون . بازبینی شده در 13 ژوئن 2017 .
  10. "توماس ای. کورتز - تاریخچه زبان های برنامه نویسی کامپیوتر". cis-alumni.org . بازبینی شده در 13 ژوئن 2017 .
  11. آلفرد، رندی (5 ژانویه 2008). "1 مه 1964: اولین برنامه پایه اجرا می شود". سیمی . بازبینی شده در 13 ژوئن 2017 .
  12. بروکس، دیوید (11 ژوئن 2019). "در نهایت، یک نشانگر تاریخی که در مورد چیز مهمی صحبت می کند". مانیتور کنکورد . بایگانی شده از نسخه اصلی در 11 ژوئن 2019 . بازبینی شده در 11 اوت 2019 .
  13. بائر، WF، طراحی کامپیوتر از دیدگاه برنامه نویس، بایگانی شده در 23 ژوئیه 2016، در ماشین Wayback (کنفرانس کامپیوتر مشترک شرقی، دسامبر 1958) یکی از اولین توصیفات اشتراک زمانی کامپیوتر.
  14. «IBM VS the World: اینطور است». دنیای کامپیوتر 5 دسامبر 1973.
  15. ^ بورن، چارلز؛ هان، ترودی بلاردو (اوت 2003). تاریخچه خدمات اطلاعات آنلاین، 1963-1976. مطبوعات MIT. ص 387. شابک 9780262261753.
  16. «سیستم اشتراک زمانی 2000».
  17. «گذر از مرز 10 ساله». مجله MEASURE . هیولت پاکارد. اکتبر 1976.
  18. مارکس، شرلی (دسامبر 1971). The JOSS Years: Reflections on a Test (PDF) (گزارش فنی). رند. بایگانی شده (PDF) از نسخه اصلی در 9 اکتبر 2022.
  19. ساوتز، کوین (آوریل 2013). «دیو اهل و بتسی اهل» (مصاحبه).
  20. ^ اب اهل، دیوید اچ (1973). 101 بازی های کامپیوتری اساسی. موریستاون، نیوجرسی: مطبوعات محاسبات خلاق. OCLC  896774158.
  21. اهل، دیوید اچ (11 مه 1981). "بازی های کامپیوتری". InfoWorld . جلد 3، نه 9. ص. 44. ISSN  0199-6649.
  22. Dijkstra, Edsger W. (18 ژوئن 1975). "چگونه حقایقی را بگوییم که ممکن است آزاردهنده باشد" (PDF) . نوشته های منتخب در مورد محاسبات: یک دیدگاه شخصی. Springer-Verlag (انتشار 1982). صص 129-131. شابک 978-0387906522. OCLC  693424350. بایگانی شده (PDF) از نسخه اصلی در 9 اکتبر 2022.
  23. جانسون، فیل (۲۱ ژانویه ۲۰۱۵). "کد منبع مایکروسافت بیسیک برای 6502 آشکار شد". دنیای کامپیوتر بازبینی شده در 24 اکتبر 2022 .
  24. ^ "ما یک BASIC داریم". موزه تاریخ طبیعی و علوم نیومکزیکو . بایگانی شده از نسخه اصلی در 30 نوامبر 2012 . بازیابی شده در 18 آوریل 2007 .
  25. ^ پیتمن، تام. "برای دریافت آن باید 5 دلار از قبل پرداخت می کردید ...". www.ittybittycomputers.com . بازبینی شده در 14 ژوئن 2017 .
  26. اهل، دیوید اچ (1979). بازی های کامپیوتری پایه بیشتر Morristown: Creative Computing Press. شابک 978-0894801372. OCLC  839377789.
  27. اهل، دیوید اچ (1984). بازی های کامپیوتری بزرگ Morris Plains، NJ: Creative Computing Press. شابک 978-0916688400. OCLC  872675092.
  28. «آزبورن 1». oldcomputers.net . بازبینی شده در 14 ژوئن 2017 .
  29. لین، دیوید (1981). کتاب راهنمای BASIC (ویرایش دوم). سن دیگو، کالیفرنیا: انتشارات Compusoft. ص پوشش داخلی شابک 0-932760-00-7.
  30. «بازگشت به اصول اولیه». peyre.sqweebs.com . بایگانی شده از نسخه اصلی در 26 اکتبر 2009 . بازبینی شده در 25 فوریه 2023 .
  31. پر، جان (1 ژانویه 2003). "برنامه نویسی پایه با یونیکس". LinuxFocus . بازبینی شده در 26 سپتامبر 2023 .
  32. «bwBASIC: The Bywater BASIC Interpreter». وبلاگ OSS . 25 آگوست 2018 . بازبینی شده در 30 سپتامبر 2023 .
  33. هال، جیم (23 ژوئن 2021). "برنامه FreeDOS با Bywater BASIC". Opensource.com ​بازبینی شده در 30 سپتامبر 2023 .
  34. ^ کالدرون، آنتونیا. "چرا nuBASIC" . بازبینی شده در 30 سپتامبر 2023 .
  35. سانگ، لیو زو (۱۲ اکتبر ۲۰۰۳). "MyBasic - یک مترجم زبان سفارشی-BASIC که در C++ نوشته شده است". پروژه کد . بازبینی شده در 30 سپتامبر 2023 .
  36. ^ "LOGIC BASIC - زبان برنامه نویسی رایگان" . بازبینی شده در 7 اکتبر 2023 .
  37. آلبرشت، کریستین (۲ اکتبر ۲۰۲۲). "آموزش یاب مبتدیان". BeSly - BeOS، هایکو و زتا . ترجمه لوک شریورز (Begasus) . بازبینی شده در 25 فوریه 2024 .
  38. ^ ab "تفاوت بین GW-BASIC و QBasic". 12 مه 2003. بایگانی شده از نسخه اصلی در 19 اکتبر 2013 . بازیابی شده در 28 ژوئن 2008 .
  39. پراوین، جین (2011). کلاس جاوا. آموزش پیرسون هند. شابک 9788131755440.
  40. "GNE: زبان برنامه نویسی C". fysh.org . بازبینی شده در 14 ژوئن 2017 . در طول دهه 1980، کامپایلرهای C به طور گسترده ای گسترش یافتند و C به یک زبان بسیار محبوب تبدیل شد.
  41. ^ رقص، مایکل. ساخت آسان بازی های Qbasic. تکوالا ​بازبینی شده در 30 سپتامبر 2023 .
  42. «دایرکتوری بازی های QBasic». کد فت . بازبینی شده در 30 سپتامبر 2023 .
  43. «دایرکتوری بازی های FreeBASIC». FreeBASIC . بازبینی شده در 30 سپتامبر 2023 .
  44. کوسیلووا، الکس (16 آوریل 2013). "Black Annex بهترین بازی QBASIC است که تا به حال دیده اید". دنیای کامپیوتر . بازبینی شده در 30 سپتامبر 2023 .
  45. سرلز، مارک (24 ژوئن 2013). "استرالیایی که با استفاده از QBASIC یک بازی ویدئویی ساخت". کوتاکو ​بازبینی شده در 30 سپتامبر 2023 .
  46. «Super Game System Basic». IndieDB . 21 نوامبر 2017 . بازبینی شده در 30 سپتامبر 2023 .
  47. «PlayBasic». itch.io ​بازبینی شده در 30 سپتامبر 2023 .
  48. «CoolBasic». IndieDB . 6 دسامبر 2005 . بازبینی شده در 30 سپتامبر 2023 .
  49. «صفحه اصلی AllegroBASIC». AllegroBASIC . بایگانی شده از نسخه اصلی در 15 نوامبر 2018 . بازبینی شده در 7 اکتبر 2023 .
  50. «Ethos Game Basic 1.3». Share App بازبینی شده در 30 سپتامبر 2023 .
  51. «RC Basic». ModDB . 18 آگوست 2015 . بازبینی شده در 30 سپتامبر 2023 .
  52. فرکالو، آندری (۸ اوت ۲۰۱۴). "نالا". سافت پدیا بازیابی شده در 1 اکتبر 2023 .
  53. «نگاهی دقیق تر به AppGameKit 2». GameFromScratch . 12 ژوئن 2015 . بازبینی شده در 30 سپتامبر 2023 .
  54. «Cerberus X 2018-08-10 منتشر شد». GameFromScratch . 10 آگوست 2018 . بازبینی شده در 30 سپتامبر 2023 .
  55. کلارک، گاوین (۲۱ فوریه ۲۰۰۷). "پیشرفت لینوکس برای توسعه دهندگان ویژوال بیسیک". ثبت نام . بازیابی شده در 1 اکتبر 2023 .
  56. اندرسون، تیم (14 فوریه 2020). "25 سال دلفی و هیچ اوراکلی در چشم نیست: یک قاتل ویژوال بیسیک نیست، اما کشتن آن سخت است". ثبت نام . بازبینی شده در 25 مارس 2023 . Borland Delphi را وارد کنید که Object Pascal را با یک فرم ساز بصری VB مانند ترکیب می کند. آبجکت پاسکال زبان خود بورلند با پشتیبانی کامل از وراثت بود. به حروف بزرگ و کوچک حساس نیست و برای کدنویسی خیلی سخت تر از VB نیست، زمانی که به تایپ کردن عادت کردید، خیلی شروع می شود و به پایان می رسد (تقریباً معادل پرانتزهای فرفری در C). برخلاف VB، عملگرهای متفاوتی برای انتساب (:=) و مقایسه (=) دارد.
  57. اسپید، ریچارد (6 مه 2022). "RAD Basic - ویژوال بیسیک 7 که هرگز نبود - سومین آلفا را منتشر می کند". ثبت نام . بازبینی شده در 26 مارس 2023 . از طرف دیگر، می‌توان روزهای کل رقابت بیسیک/پاسکال با لازاروس سازگار با دلفی را دوباره زنده کرد.
  58. «دستورالعمل‌های چرخه زندگی خانواده محصول برای ویژوال بیسیک 6.0». Msdn2.microsoft.com. 31 مارس 2005 . بازیابی شده در 16 ژوئن 2009 .
  59. رامل، دیوید (7 ژوئیه 2020). "شاخص محبوبیت: کلاسیک ویژوال بیسیک آویزان است". مجله ویژوال استودیو . بازبینی شده در 28 مارس 2023 .
  60. رامل، دیوید (۲۸ فوریه ۲۰۲۰). "Resurgence ویژوال بیسیک؟ پروژه به دنبال آوردن VBE به این قرن است!". مجله ویژوال استودیو . بازبینی شده در 28 مارس 2023 .
  61. دومینگو، مایکل (۱۳ ژوئن ۲۰۱۷). "Viva، Visual Basic! یا آیا VB آینده ای دارد؟". مجله ویژوال استودیو . بازبینی شده در 26 مارس 2023 .
  62. رامل، دیوید (12 مارس 2020). مایکروسافت: ما برنامه ای برای توسعه ویژوال بیسیک به عنوان یک زبان نداریم. مجله ویژوال استودیو . بازبینی شده در 26 مارس 2023 .
  63. رامل، دیوید (۸ فوریه ۲۰۲۳). "مایکروسافت سرنوشت ویژوال بیسیک را دوباره تایید کرد". مجله ویژوال استودیو . بازبینی شده در 25 مارس 2023 .
  64. ویلیامز، آل (۱۷ سپتامبر ۲۰۱۸). "این وب است، اساسا". هکادی . بازبینی شده در 28 سپتامبر 2023 .
  65. Veteanu، Marian (14 فوریه 2017). "کامپایلرهای جاوا اسکریپت. بخش دوم: زبان هایی که به جاوا اسکریپت کامپایل می شوند". کد انتقامجو .
  66. "جاوا – چه زبان های برنامه نویسی J2ME را هدف قرار می دهند". iTecNote . بازبینی شده در 30 سپتامبر 2023 . اکنون من در مورد زبان های دیگری شنیده ام که ظاهراً توسعه را بدون توسل به جاوا امکان پذیر می کنند، زبان هایی مانند CellularBASIC (که کمی شبیه QBASIC به نظر می رسد) و Hecl (که به نظر می رسد بر اساس Tcl است).
  67. Tello, Guillaume (15 دسامبر 2007). "LG KS 360". بایگانی شده از نسخه اصلی در 28 اکتبر 2010 . بازبینی شده در 30 سپتامبر 2023 . پس از کمی تحقیق در نت، با این سایت در مورد CellularBASIC برخوردم. این یک مفسر کامل بیسیک است که به زبان جاوا نوشته شده است.
  68. میلر، پل (19 ژوئن 2017). "Fuze Code Studio به بچه ها اجازه می دهد از سوییچ برای کدنویسی بازی های سوئیچ خود استفاده کنند." آستانه . بازبینی شده در 30 سپتامبر 2023 .
  69. پورتر، مت (18 دسامبر 2015). "اکنون بچه ها می توانند با Fuze به BASIC برگردند". مرد گجت . بازبینی شده در 30 سپتامبر 2023 .
  70. بدفورد، مایک (۲۱ اکتبر ۲۰۱۵). "FUZE با بررسی Raspberry Pi V2". مرد گجت . بازبینی شده در 30 سپتامبر 2023 .
  71. برین، دیوید (14 سپتامبر 2006). "چرا جانی نمی تواند کدنویسی کند". سالن . بایگانی شده از نسخه اصلی در 18 سپتامبر 2013 . بازبینی شده در 19 ژوئن 2017 .
  72. «Small Basic». شبکه توسعه دهندگان مایکروسافت بایگانی شده از نسخه اصلی در 17 مارس 2014 . بازبینی شده در 19 ژوئن 2017 .
  73. «صفحه اصلی BASIC-256». مقاله‌ای که الهام‌بخش BASIC-256 است، «چرا جانی نمی‌تواند کدنویسی کند» را بررسی کنید.
  74. Ratliff Sr., Gary L. (اکتبر 2008). "الفبای زبان های کامپیوتری: پایه". مجله PCLinuxOS . بازبینی شده در 25 فوریه 2024 .
  75. کوستر، راف (21 نوامبر 2006). "بسیار اساسی - برنامه نویسی وب بیسیک" . بازبینی شده در 25 فوریه 2024 .
  76. «دارتموث جشنی را برای پنجاهمین سالگرد زبان کامپیوتر بیسیک برنامه ریزی می کند». رهبر اتحادیه نیوهمپشایر 28 آوریل 2014. بایگانی شده از نسخه اصلی در 20 ژوئن 2017 . بازبینی شده در 14 ژوئن 2017 .
  77. وود، لامونت (۲۳ ژوئن ۲۰۱۱). "دانش آموزان چگونه برنامه نویسی را در دنیای پسا بیسیک یاد می گیرند؟" دنیای کامپیوتر بازبینی شده در 26 فوریه 2024 .
  78. «BASIC at 50 – Event Schedule». کالج دارتموث بازبینی شده در 14 ژوئن 2017 .
  79. «BASIC در 50». کالج دارتموث بازبینی شده در 14 ژوئن 2017 .
  80. «KeyPgAsm». ویکی فری بیسیک بازبینی شده در ۲ اوت ۲۰۱۷ .
  81. «Inline x86 ASM». خالص پایه . بازبینی شده در ۲ اوت ۲۰۱۷ .
  82. «استفاده از زبان اسمبلی در کد شما». پاور پایه . بایگانی شده از نسخه اصلی در ۲ اوت ۲۰۱۷ . بازبینی شده در ۲ اوت ۲۰۱۷ .
  83. ^ کمنی، جان جی. کورتز، توماس ای. (ژانویه 1968). Basic: کتابچه راهنمای BASIC، زبان جبری ابتدایی که برای استفاده با سیستم اشتراک گذاری زمان دارتموث (PDF) (ویرایش چهارم) طراحی شده است. هانوفر، NH: مرکز محاسبات کالج دارتموث. ص 53. بایگانی شده (PDF) از نسخه اصلی در 3 ژانویه 2014.
  84. هام، جان گیتوود (2014). یک کامپایلر ECMA-55 Minimal BASIC برای x86-64 Linux®. کامپیوترها . 3 (3): 69-116. doi : 10.3390/computers3030069 . S2CID  40383760.
  85. ^ angros47 (29 ژوئیه 2013). "ANSI Basic: آیا FreeBasic مطابق با استاندارد است؟". freebasic.net . بایگانی‌شده از نسخه اصلی در ۲۸ سپتامبر ۲۰۲۳.{{cite web}}: CS1 maint: نام های عددی: فهرست نویسندگان ( پیوند )
  86. بانچف، بویکو (2008). "The True "True Basic"". موسسه ریاضی و انفورماتیک . بایگانی شده از نسخه اصلی در 13 مارس 2011.

مراجع عمومی

لینک های خارجی