بیسیک
از ویکیپدیا، دانشنامهٔ آزاد
اين متن درباره ي برنامه نويسي است.
در برنامه نويسي کامپيوتر، بيسيک ( برگرفته از کلمات[۱] Beginners All-Purpose Symbolic Instruction ) يکي از زبانهاي سطح بالاست. اولين بار بيسيک در سال 1964توسط John George Kemeny و Thomas Eugene Kurtz در دانشگاه Dartmouth در New Hampshire امريکا ، به منظور دسترسي دانشجويان به کامپيوتر طراحي شد. که در ان زمان تمام استفاده از کامپيوترها نياز به نوشتن تکه برنامه داشت که فقط دانشمندان و رياضي دانان ميتوانستند انجام دهند. اين زبان وانواع مختلف آن به طور گسترده درميکرو کامپيوترها تا دهه ي 1970و1980 منتشر شد. بيسيک تا امروز پر طرفدار باقي مانده و بعنوان نسخه ي خاصي از يک زبان کامپيوتر مفيد و اصلاح شده و زبانهاي جديدي مانند مايکروسافت ويژوال بيسيک بر مبناي بيسيک ساخته شده اند. تا سال 2006 ، %59 برنامه نویسان محیط .NET از ویژوال بیسیک به عنوان تنها زبان خود استفاده میکردند[۲].
فهرست مندرجات |
[ویرایش] تاریخچه
[ویرایش] پیش زمینه
تا قبل از اواسط دهه ي 1960،کامپيوترها بسيار گران بودند و فقط براي وظايفي که هدف خاصي را داشتند مورد استفاده قرار ميگرفتند .يک دسته پردازشهاي مرتب ساده، هر کدام بعنوان يک کار در هر لحظه يکي پس از ديگري اجرا ميشدند. اما در دهه ي 1960 ، کامپيوترهاي سريعتر و توانا تر با قدرت پردازشی بیشتر ساخته شدند ، کامپيوترها ميتوانستند لحظاتي بدون کار باشند، بدون فعاليتي براي اجرا کردن.
زبانهاي برنامه نويسي مانند ماشينهايي که آنها را اجرا ميکردتد بايد طوري طراحي ميشدند که براي اهداف مشخصي مانند محاسبه ي فرمول علمي يا پردازش داده هاي تجاري يا مثلا ويرايش يک متن مفيد باشند. از آنجایی که حتی کامپوترهای جدید و ارزانتر هنوز به سرمایه زیادی احتیاج داشت، تمایل شدیدی برای در نظر گرفتن کارایی به عنوان مهمترین ویژگی زبان وجود داشت. بطور کلي استفاده از اين زبان هاي تخصصي شده مشکل بود و سينتکسهاي مختلف زيادي برای آنها وجود داشت.
هنگامي که کامپيوترها قيمتشان کاهش يافت، اين امکان به وجود امد که دسترسي به کامپيوتر از انحصار ازمايشگاه هاي تحقيقاتي خارج شود و وارد استفاده ي تجاري شود. کامپيوترهاي جديد از سيستم اشتراک زمانی پشتيباني میکنند که اين امکان را براي چند پردازش يا کاربر فراهم ميکند که بطور همزمان از پردازنده و حافظه استفاده کنند. در چنين سيستمهايي ، سيستم عامل بين پردازشهاي در حال اجرا بطور متناوب به هر کدام از آنها زماني براي اجرا بر روي پردازنده ميدهد ،قبل از اين که بر روي فعاليت ديگري برود. ماشينها به حدي سريع شدند که بيشتر کاربران ميتوانستند احساس کنند که تمام ماشين در خدمت انهاست. اشتراک زمانی هزينه ي محاسبات را بطور فاحشي کاهش داد . يک ماشين ميتوانست بين حتي صدها کاربر به اشتراک گذاشته شود.
[ویرایش] سالهاي نخست: دوره ي ميني کامپيوترها
بيسيک اولیه در سال 1963 توسط John George Kemeny و [۳] Thomas Eugene Kurtz طراحي شد و و توسط يک تيم از دانشجويان Dartmouth و زير نظر آنها پیادهسازی شد . در این طراحی سعی شده بود که موضوعات پيچيده ي زبانهاي قديمي با يک زبان جديد براي رده جديدی از کاربران که سییتمهای اشتراک زمانی اجازه میداد که دارای اطلاعات تکنیکی کمتر و دارای پیشزمینه ریاضی ضعیفتری از کاربران قدیمیتر بودند استفاده شود. امکان استفاده از کامپیوتر در آموزش و تحقیق در آن زمان یک چيز کاملا جديد بود .در سالهاي بعدي که نسخه هاي جديدي از بيسيک ساخته شد، بيسيک اوليه که توسط John George Kemeny و Thomas Eugene Kurtz ساخته شد ، تحت عنوان بيسيک Dartmouth شناخته شد.
هشت اصل در طراحي بيسيک عبارتند از :
- استفاده آن براي مبتديان آسان باشد.
- يک زبان برنامه نويسي با اهداف عمومي باشد.
- امکان اضافه شدن ويژگي هاي پيشرفته براي متخصصين را بدهد ( در حالي که سادگي زبان براي مبتديان حفظ شود).
- تعاملی باشد.
- پيغام هاي خطاي واضح داشته باشد.
- براي برنامه هاي کوچک ، سريع پاسخ دهد.
- نيازي به اشنايي و دانستن سخت افزار نباشد.
- از کاربر در برابر سيستم عامل حفاظت کند.
بخشي از اين زبان بر مبناي فرترن 2 و بخشي از آن بر مبناي الگول60 بود به اضافه ي اين مزيت که آنرا براي اشتراک زمانی مناسب ميکرد.(ويژگي اشتراک زمانی از ديگر زبانها مانند JOSS وCORC و به ميزان کمتري از زبان LISP ، نيز در نظر گرفته شد.) اين زبان از آزمايشهاي آموزش زبان ديگر در Dartmouth مانند DARSIMCO (1956) و DOPE (پیادهسازی شده در سال 1962SAP و (1963) DART که ساده شده ي فرترن2 بود( پيشي گرفت . نخستين بار بيسيک بر روي کارهاي سر راست رياضي تمرکز داده شد ، با پشتيباني محاسبه ي ماتريس ازپیادهسازی اوليه آن بعنوان يک زبان دستهای و امکانات کامل کار با رشته به آن در سال 1965 اضافه شد. در سال 1965 بيسيک نخستين بار بر روي GE-265 mainframe که داراي چند ترمينال بود به کار گرفته شد. بر خلاف باورعمومي ،بیسیک در زمان معرفي يک زبان کامپایل شده بود. بيسيک همچنين درغلبه بر FORTAN || و ALGOL 60 در محاسبه 265 محسبه ریاضی کاملا موثر بود .
طراحان زبان تصميم گرفتند براي اينکه زبان گسترده شود، کامپايلرهاي رايگان براي آن تهيه کنند .آنها همچنين آن را در دبيرستانهاي ناحيه ي Dartmouth فراهم کردند و همچنين ميزان قايل ملاحظه اي تلاش درجهت ارتقاء اين زبان کردند. و در نتيجه دانش بيسيک بصورت نسبي همه جا گسترش يافت (به عنوان یک زبان برنامه نويسي) و بيسيک توسط تعدادي از سازندگان پیادهسازی شد ،و روي ميني کامپيوترهاي جديد مانند سريهاي DEC PDP و Data General Nov عمومی شد.همچنین زبان بيسيک بر روی سيستم های اشتراک زمانی HP در اواخر دهه ي 1960و اوايل دهه ي 1970 گسترش یافت. در اين نمونهها ، زبان تمايل داشت به جاي کامپايلربا مفسر اجرا شود.
چند سال پس از انتشارآن ،افراد حرفه اي در کامپيوتر ، به ويژه Edsger W. Dijkstra ، اظهار کردند که استفاده از دستور GOTO ، که در بسياري از زبانهاي برنامه نويسي مانند بيسيک وجود دارد ، روشهاي برنامه نويسي ضعيف را ترفيع ميدهد.[۴] برخي از بيسيک انتقاد کردند که خيلي کند است ( بيشتر نسخههاي داراي مفسر از داراي کامپايلر کندتر هستند) يا اين انتقاد را کردند که بيسيک خيلي ساده است ( بسياري ازنسخهها به ويژه براي کامپيوترهاي کوچک ، ويژگي ها و قابليت هاي مهم را رها کردند).
[ویرایش] رشد خيره کننده: دوره ي کامپيوترهاي خانگي
بااينکه زبانها بر روي ميني کامپيوترها ي زيادي استفاده ميشوند ولي اين معرفي ميني کامپيوتر MITS Altair 8800 "kit" در سال 1975 راه جهاني شدن را به روي بيسيک گشود. بيشتر زبانهاي برنامه نويسي به فضاي حافظه بيشتری نسبت به آنچه بر روي کامپيوترهاي کوچکي که بيشتر کاربران استطاعت خريد آن را داشتند ، نياز داشتند. همچنین میکروکامپییوترهای اولیه دارای دسترسي کند به حافظه که از نوارهاي صدا فراهم میشد و نيز فقدان ويرايشگر مناسب متن بودند. يک زبان مانند بيسيک با که با وجود اين محدوديت ها کار ميکرد.
بيسيک همچنين داراي اين مزيت بود که در بين طراحان جوان و علاقمندان در زمينه ي کامپيوتر که عموما در صنايع الکترونيکي آن روزگار کارمیکردند بصورت نسبتا خوبي شناخته شده بود. ابتكار Kemeny and Kurtz's به اندازه ي درخور مورد توجه قرار گرفت که تعدادي از مجلات كامپيوتر در آن زمان ، مطالبي در باره ي زبان نوشتند يا بر روي مقايسه ي يك نسخه با ديگر نسخهها تمركز كردند.
يكي از اولين نسخههایی که براي ماشين 8080 مانند Altair به وجود آمد Tiny BASIC بود . يک اجراي ساده از بيسيك كه در اصل توسط Dr. Li-Chen Wang نوشته شده بود و سپس به Altair برده شد توسط Dennis Allison به درخواست Bob Albrecht (كه قبلا مجله ي Dr. Dobb's را تاسيس كرده بود). طراحي و تمام کد منبع آن در سال 1976 درDJJ منتشر شد.
در سال 1975 ، MITS نسخهAltair BASIC را كه توسط دانشجوي ترك تحصيل كرده ، Bill Gates و Paul Allen به عنوان شركت Micro-Soft (كه بعدها شركت عظيم مايكروسافت نام گرفت) منتشر كرد. نخستين نسخه از Altair توسط Gates ، Allen وMonte Davidoff نوشته شد .نسخه هاي مايكروسافت بيسيك كه بعدا بعنوان M BASIC يا MBASIC شناخته شدند ، به زودي با كامپيوترهاي بر مبناي فلاپي ديسك كه در فعاليت هاي كوچك تجاري استفاده میشد رايج شد . چون محبوبيت بيسيك در CP/M گسترش يافت ،طراحان كامپيوتر هاي جديد نيز نسخه ي خودشان از زبان معرفي كردند و يا Micro-Soft نسخه خود را به محیط آنها برد.
هنگامي كه سه كامپيوتر اصلي جديد در مجله ي Byte كه قبلا [۵] 1977 Trinity ناميده ميشد معرفي شدند ،هر سه آنها بيسيك را بعنوان زبان اصلي و محيط عملکردی دارا بودند. Commodore PET ليسانس يك نسخه از مايكروسافت بيسيك را كه به MOS 6502 برده شده بود را بدست آورد. و Apple II و TRS-80 هر دو نسخه هاي جديدي از زبان را معرفي كردند كه خيلي شبيه به هم بودند. همان طور كه كمپاني هاي جديد وارد عرصه ميشدند ، نسخه هاي جديدي اضافه ميشدند كه به دقت خانواده ي بيسيك را تغيير مي دادند. خانواده ي Atari 8-bit نسخه Atari BASIC خود را داشت که براي كارتريج 8 kB ROM مناسب شده بود. بي بي سي ،BBC BASIC را منتشر كرد كه توسط Acorn Computers Ltd براي آنها ساخته شده بود كه داراي كلمات ساختاري زيادي بود. بيشتر كامپيوترهاي خانگي دهه ي 1980 يك ROM مفسر بيسيك داشتند ، که به ماشین اجازه میداد مستقیما در بیسیک بوت شود. بیسیک بیش از هر زبان دیگری دارای گونههای مختلف است.
در طول اين دوره ي رشد براي بيسيك،مجلات بسياري منتشر شدند مانند مجله يCreative Computing كه شامل کد منبع كامل بازي ها و نرمافزارهای سودمند بود. اين كار ساده اي بود كه كد ها را از مجله نوشته شوند و اجرا شود. مجلات مختلفي منتشر ميشدند كه برنامهها را براي كامپيوترهاي بخصوصي نشان ميدادند گرچه بعضي از برنامه هاي بيسيك جهاني بودند و ميتوانستند بر روي هر ماشين استفاده كننده از بيسيك ، اجرا شوند. یک راه منطقی دیگر ایده به کتاب درآوردن این کد منبعها بود که به طور مثال میتوان به سری کتابهای بازیهای کامپیوتری David Ahl اشاره نمود. [۶][۷][۸]
[ویرایش] بلوغ : دوره ي كامپيوترهاي شخصي
سال 1979 ميكروسافت با IBMبرای ساختن یک نسخه بیسیک به نام BASIC C)) که در BIOS این کامپیوترها قرار میگرفت در مذاكره بود. مايكروسافت نسخههاي زيادي از بيسيك را براي MS-DOS/PC-DOS فروخت كه شامل BASIC D ، BASIC A ، BASICA ، GW-BASIC(یک نسخه سازگار با BASIC A که احتیاج به رم IBMنداشت)، QBASIC میشد. توربو پاسكال ، منتشر كننده ي بورلند ، توربو بيسيك 1.0 را در سال 1985 منتشر كرد . نسخه هاي بعدي با نام نویسنده اصلی آن تحت نام POWERBASIC تا امروز عرضه ميشوند. ماکروسافت نسخهای از بیسیک را که در محیط گرافیکی بود با نام AmigaBABSIC منتشر نمود(اواخر سال 1985 و اوایل سال 1986) ، اگرچه این محصول دارای نشان ماکروسافت نبود.
اين زبانها الحاقات زيادي را به كامپيوترهای خانگي بيسيك اضافه نمودند. مانند: بهبود كاربا رشتهها و پشتيباني گرافيكي و دسترسي به سيستم فايل و نوع دادههای اضافی. مهمتر از همه امكانات برنامه نويسي ساخت يافته بود . ازجمله ساختارهاي كنترلي و رویهها كه از متغيرهاي محلي پشتيباني ميكردند.
به هر حال اواخر دهه ي 1980 كامپيوترهاي جديد با توانایی بیشتر و ابتکارات نودر همين زمان كامپيوترها ترقي كردند از سرگرمي مورد علاقه به يك وسيله كه عمدتا براي فعالييتهايي كه توسط ديگران نوشته ميشد ، استفاده ميشدند. برنامه نويسي اهمييت كمتري براي بيشتر كاربران پيدا كرد . بيسيك شروع به پس رفتن در اهميت كرد ، اما نسخههای بیشماری ازآن باقی ماند. بیسیک کامپایل شده با CBASIC هنوز در سیستم عامل IBM 4690 استفاده میشود.
شانس بيسيك يك بار ديگر با معرفی ويژوال بيسيك که توسط مايكروسافت عرضه شد باقي ماند .سخت است كه اين زبان را بيسيك در نظر بگيريم چون زبان تبديل به يك زبان شي گرا و رويدادي شده بود . تنها چيز مهمي كه شبيه به بيسيك قديمي بود ، سينتكس آن بود. سینتک به خودی خود زمان را به طور کامل تعریف نمیکند، از آنجایی که بیشتر برنامه نویسان برای استفاده از اشایی مانند button و یا scrollbar از تکنیک drag and drop استفاده میکنند و مستقیما درگیر تمام کد نمیشوند، در حالي كه اين ميتوانست بعنوان يك تحول براي زبان در نظر گرفته شود، بعضي از ويژگي هاي ممتاز Dartmouth BASIC مانند شماره هاي خط و كلمه ي كليدي INPUT باقي ماند(گرچه هنوز هم ويژوال بيسيك از INPUT براي خواندن اطلاعات از فايل استفاده ميكند و كلمه كليدي INPUTBOX براي ورودي مستقيم از كاربرموجود است . line numbers نيز ميتواند بصورت اختياري د رتمام نسخه هاي VB مورد استفاده قرار گيرد حتي VB.NET . گرچه آنها نميتوانند در بعضي مكانهاي خاص مورد استفاده قرار گيرند مانند قبل از SUB).
ايراد گرفته شده از بيسيک به اين عنوان كه بيسيك زباني ابتدايي است و ظاهرا باعث تعجب بسيار زيادی شد كه مايكروسافت هنوز ويژوال بيسيك را بعنوان يك زبان براي علاقه مندان میداند ، اين زبان به طور وسیعی براي فعالیيتهاي تجاري كوچك به مدت كوتاهي پس از عرضه شدن نسخه ي 3 از VB مورد استفاده قرار گرفت. كه عموما به عنوان نخستين نسخه ي پايدار در نظر گرفته شد. در حالي كه بسياري از برنامه نويسان حرفه اي استفاده از بيسيك را مورد تمسخر قرار ميدهند ، VBنيازهاي تجاري كوچك را در جاهایی که سرعت پردازش نسبت به تولید آسان اهمیت کمتری داشت به طور موثری برآورده كرد .( (در ان زمان كامپيوترها Windows 3.1 را اجرا ميكردند كه به اندازه اي سريع شده بودند كه فعاليتهاي مربوط به تجارت را ميتوانستند در يك چشم به هم زدن انجام دهند) . خیلی از صاحبان کسب و کار کوچک فهمیدند که میتوانند در چند بعد ظهر برنامهای کارا برای رفع نیازهایشان بنویسند. سر انجام در طول عمر VB3 دانش ويژوال بيسيك به يك مهارت قابل عرضه در بازار تبديل شد.
خيلي از نسخه هاي زبان بيسيك در چند سال اخير ظاهر شده اند از جمله Bywater BASIC و True BASIC (جانشین اصلی بیسیک Dartmouth از شرکتی به هدایت Krutz). یک نسخه برجسته RealBasic میباشد، که اولین بار در سال 1998 برای کامپیوترهای مکینتاش منتشر شد، که از سال 2005 در برنامههای ویندوز ماکروسافت ، Mac OS X و لینوکس 32 و 64 بیت استفاده میشود. برنامههای کامپایل شده RealBasic ممکنه به صورت طبیعی در این محیط ها به عنوان سرویس کار کنند. خيلي از ديگر انواع بيسيك ، توسط علاقمندان نوشته شد . اين زبان بطور نسبي براي مترجم آسان است . يك مثال از يك مترجم open source ، به زبانC ، MiniBasic میباشد. وجود مفسرهاي بيسيك روي تمام كامپيوترهاي خانگي ، دانشجويان را تشويق ميكند که مفاهيم رياضي و محاسباتي در كلاس يا خانه بر روي كامپيوتر تجربه کنند. و در آخر اینکه آقای David Brin در مقاله Salon نسبت به از دست رفتن همهگیری بیسیک اظهار تاسف میکند. [۹]
[ویرایش] مثالها
[ویرایش] برنامه نويسي ساخت نيافته
برنامه نويسان جديد بر روي يك كامپيوتر خانگي ممكن است با يك برنامه ي ساده مانند Hello world program كه توسط Kernighan and Ritchie معروف شد ، شروع كنند. اين مثال بطور كلي شما را درگير يك كاربرد ساده ی دستورچاپ برای نشان دادن پیغامها ( مانند نوشتن نام برنامه) بر روي صفحه ي مانيتور میکند. اغلب اوقات يك حلق ي نا متناهي برای پر کردن صفحه نمایش با پیام مذبور مورد استفاده قرار ميگيرد. يشتر نسلهاي اوليه زبان بيسيك ، مانند MSX BASIC و GW-BASIC از انواع داده اي ساده، حلقهها و آرايهها پشتيباني ميكردند . مثال زير براي GW-BASIC نوشته شد ولي روي بيشتر نسخه هاي BASIC با اندك تغييرات كار ميكند:
10 INPUT "What is your name: ", U$ 20 PRINT "Hello "; U$ 30 INPUT "How many stars do you want: ", N 40 S$ = "" 50 FOR I = 1 TO N 60 S$ = S$ + "*" 70 NEXT I 80 PRINT S$ 90 INPUT "Do you want more stars? ", A$ 100 IF LEN(A$) = 0 THEN GOTO 90 110 A$ = LEFT$(A$, 1) 120 IF A$ = "Y" OR A$ = "y" THEN GOTO 30 130 PRINT "Goodbye "; U$ 140 END
[ویرایش] بيسيك ساخت يافته
نسل دوم از بيسيك مانند QuickBASIC و PowerBASIC تعدادي ويژگي به داخل زبان معرفي كردند ، این ویژگیها عموما مربوط به برنامه نویسی ساختیافته و رویهای بود. شماره گذاري خط از زبان حذف شد برچسبها (براي دستور GOT ) جایگزین آن شد و رویهها سادهتر و طراحی آنها انعطاف پذیر تر شد.[۱۰]
INPUT "What is your name: ", UserName$ PRINT "Hello "; UserName$ DO INPUT "How many stars do you want: ", NumStars Stars$ = STRING$(NumStars, "*") PRINT Stars$ DO INPUT "Do you want more stars? ", Answer$ LOOP UNTIL Answer$ <> "" Answer$ = LEFT$(Answer$, 1) LOOP WHILE UCASE$(Answer$) = "Y" PRINT "Goodbye "; UserName$
[ویرایش] يسيک با ويژگيهاي شي گرا
سومين نسل از زبان بيسيك مانند Visual Basic، StarOffice Basic،REALbasic ، BlitzMax ويژگي هايي را براي پشتيباني برنامه نويسي شي گرا و رويدادي معرفي كردند. بیشتر توابع و رویههای به عنوان متدهای استاندارد اشیاء نشان داده میشدند تا عمگرها.
مثال زیر یک تکه کد در زبان Visual Basic .NET رانشان میدهد:
Class stars Sub Main() Dim UserName, Answer, stars As String ' UserName$, Answer$, stars$ may be used as well. Dim NumStars, I As Integer Console.Write("What is your name: ") UserName = Console.ReadLine() Console.WriteLine("Hello {0}", UserName) Do Console.Write("How many stars do you want: ") NumStars = CInt(Console.ReadLine()) stars = New String("*", NumStars) Console.WriteLine(stars) Do Console.Write("Do you want more stars? ") Answer = Console.ReadLine() Loop Until Answer <> "" Answer = Answer.Substring(0, 1) Loop While Answer.ToUpper() = "Y" Console.WriteLine("Goodbye {0}", UserName) End Sub End Class
و مثال دیگر در زبان BlitzMax:
SuperStrict ' Use very strict coding rules (no loose assumptions). Framework brl.blitz ' Base BlitzMax module (Framework is the same as Import, except ' in that it stops automatic Imports of official modules). Import brl.standardio ' Import BRL's StandardIO module (contains Print and Input). Import brl.random ' Run our function! TNumberGuessingGame.Main() ' Non-instance based type (trying to mimic the flow of VB)... Type TNumberGuessingGame ' NOTE: The 'T' before the the Type/Class' name is ' a typical naming convention used, and is not necessary. Function Main() Local number:Int, guess:Int, quit:Int = False Repeat number = Rand(1, 10) Print("Guess a number! (one to ten)") guess = Int(Input(">")) If guess = number Print("Correct!!") Else If guess < 1 Print("That's less than one!") Else If guess > 10 Print("That's more than ten!!") Else Print("Incorrect! The number was " + number + ".") End If Print("") ' Print always appends a newline character at the end of the message. If Input("Do you want to continue playing? (y/n) ").ToLower() = "n" quit = True End If Until quit = True End Function End Type
[ویرایش] توجه
- ↑ The acronym is tied to the name of an unpublished paper by Thomas Kurtz and is not a backronym, as is sometimes suggested in older versions of The Jargon File
- ↑ http://www.linux-watch.com/news/NS5656359853.html
- ↑ http://cis-alumni.org/TKurtz.html Thomas E. Kurtz - History of Programming Languages
- ↑ In a 1968 letter, Dutch computer scientist Edsger Dijkstra considered programming languages using GOTO statements for program structuring purposes harmful for the productivity of the programmer as well as the quality of the resulting code ("Go To Statement Considered Harmful", Communications of the ACM Volume 11, 147-148. 1968). The letter, which contributed the phrase considered harmful to programming jargon, did not mention any particular programming language; instead it states that the overuse of GOTO is damaging and gives technical reasons why this should be so. In a 1975 tongue-in-cheek article, "How do We Tell Truths that Might Hurt", Sigplan Notices Volume 17 No. 5, Dijkstra gives a list of uncomfortable "truths", including his opinion of several programming languages of the time. Although BASIC is one of his targets ("It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration"), it receives no worse treatment in the piece than PL/I, COBOL or APL.
- ↑ Most Important Companies. Byte Magazine (September 1995). بازیابی در 2008-06-10.
- ↑ Table of Contents: BASIC Computer Games
- ↑ Table of Contents: More BASIC Computer Games
- ↑ Table of Contents: Big Computer Games
- ↑ http://www.salon.com/tech/feature/2006/09/14/basic/index_np.html Why Johnny Can't Code
- ↑ Differences Between GW-BASIC and QBasic (2003-05-12). بازیابی در 2008-06-28.
[ویرایش] منابع
- (1964) A Manual for BASIC, the elementary algebraic language designed for use with the Dartmouth Time Sharing System (PDF), Dartmouth College Computation Center. — The original Dartmouth BASIC manual.
- Lien, David A. (1986). The Basic Handbook: Encyclopedia of the BASIC Computer Language, 3rd ed., Compusoft Publishing. ISBN 0-932760-33-3. — Documents dialect variations for over 250 versions of BASIC.
- Kemeny, John G.; Kurtz, Thomas E. (1985). Back To BASIC: The History, Corruption, and Future of the Language. Addison-Wesley, 141 pp. ISBN 0-201-13433-0.
- Sammet, Jean E. (1969). Programming languages: History and fundamentals. Englewood Cliffs, N.J.: Prentice-Hall.
[ویرایش] استانداردها
- ANSI/ISO/IEC Standard for Minimal BASIC:
- ANSI X3.60-1978 "FOR MINIMAL BASIC"
- ISO/IEC 6373:1984 "DATA PROCESSING - PROGRAMMING LANGUAGES - MINIMAL BASIC"
- ANSI/ISO/IEC Standard for Full BASIC:
- ANSI X3.113-1987 "PROGRAMMING LANGUAGES FULL BASIC"
- INCITS/ISO/IEC 10279-1991 (R2005) "Information Technology - Programming Languages - Full BASIC"
- ANSI/ISO/IEC Addendum Defining Modules:
- ANSI X3.113 INTERPRETATIONS-1992 "BASIC TECHNICAL INFORMATION BULLETIN # 1 INTERPRETATIONS OF ANSI 03.113-1987"
- ISO/IEC 10279:1991/ Amd 1:1994 "MODULES AND SINGLE CHARACTER INPUT ENHANCEMENT"
- ECMA-116 BASIC (withdrawn, similar to ANSI X3.113-1987)
[ویرایش] لینکهای خارجی
- More Basic Computer Games by David Ahl
- Big Computer Games by David Ahl

