مایکروسافت اسمال بیسیک

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به ناوبری پرش به جستجو
مایکروسافت اسمال بیسیک
Microsoft Small Basic icon.png
Small Basic.png
Small Basic running on ویندوز ۷
پارادایمبرنامه‌نویسی ساخت‌یافته، برنامه‌نویسی دستوری، برنامه‌نویسی شیءگرا
طراحی‌شده توسطمایکروسافت, Vijaye Raji
توسعه‌دهندهمایکروسافت
ظهوریافته در۲۳ اکتبر ۲۰۰۸؛ ۱۱ سال پیش (۲۰۰۸-۱۰-23)
v1.2 / ۱ اکتبر ۲۰۱۵؛ ۴ سال پیش (۲۰۱۵-۱۰-01)
Dynamic ، وابستگی زیاد و کم به نوع
سکو.NET Framework 4.5
سیستم‌عاملویندوز ویستا، ویندوز ۷، ویندوز ۸، ویندوز ۸٫۱، ویندوز ۱۰، Windows Server 2008 R2[۱]
پروانهرایگان‌افزار
.sb
وب‌گاهwww.smallbasic.com

مایکروسافت اسمال بیسیک، یک نسخه ساده شده‌ای از زبان برنامه‌نویسی بیسیک است که توسط شرکت مایکروسافت ساخته شده‌است. این زبان دارای حداقل مفاهیم برنامه‌نویسی است و مایکروسافت ادعا می‌کند که برای آموزش زبان‌نویسی به افراد تازه‌کار مناسب است. این زبان تنها دارای ۱۴ کلمه کلیدی است[۲] و محیط کار آن هم تازه‌کارپسند بوده و دارای نمای ساده و واضحی است. در این زبان برنامه‌نویسی امکان پیاده‌سازی انواع الگوریتم‌های محاسباتی، محاسبات عددی، شرط‌ها و ساختارهای حلقه تکرار، زیر برنامه ها، آرایه ها، برنامه‌های متنی، گرافیکی و رابط‌های گرافیکی وجود دارد.

تاریخچه[ویرایش]

اسمال بیسیک در ابتدا در سال ۲۰۰۸[۳] توسط مایکروسافت معرفی شد و در سال ۲۰۱۱[۴] در فضای وب در سایت MSDN منتشر شد که به همراه خود دارای یک برنامه آموزشی کامل[۵]، یک راهنمای شروع به کار[۶] و چند کتاب الکترونیک است.

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

اولین آزمایش‌ها به‌طور مؤفقیت‌آمیز با تعدادی از دانش‌آموزان دوره راهنمایی، که اکثراً فرزندان کارکنان مایکروسافت بودند، انجام شد. اسمال بیسیک همچنین به‌طور مؤفقیت‌آمیز به ۲۵ دختر دبیرستانی هم آموزش داده شد.[۸]

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

در اسمال بیسیک، برنامه سنتی سلام دنیا به این شکل نوشته می‌شود:

TextWindow.WriteLine("Hello World")

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

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

مثال زیر، انشعاب شرطی را نشان می‌دهد. این برنامه دمای هوا به درجه فارنهایت را می‌گیرد و در مورد آن توضیحی می‌دهد.

TextWindow.Write("Enter the temperature today (in F): ")
temp = TextWindow.ReadNumber()
If temp> 100 Then
  TextWindow.WriteLine("It is pretty hot.")
ElseIf temp> 70 Then
  TextWindow.WriteLine("It is pretty nice.")
ElseIf temp> 50 Then
  TextWindow.WriteLine("Don't forget your coat.")
Else
  TextWindow.WriteLine("Stay home.")
EndIf

حلقه[ویرایش]

این مثال، حلقه را نشان می‌دهد. این برنامه از یک شروع می‌کند و هر عدد را در چهار ضرب کرده و نمایش می‌دهد و این کار را تا ده ادامه می‌دهد.

TextWindow.WriteLine("Multiplication Tables")
table = 4
For i = 1 to 10
  TextWindow.WriteLine(i + " × " + table + " = " + table * i)
EndFor

نوع داده‌ها[ویرایش]

این زبان از نوع داده‌های پایه‌ای مثل اعداد صحیح، رشته‌ها و اعداد اعشاری پشتیبانی می‌کند.

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

TextWindow.WriteLine("Enter your name:")
name = TextWindow.Read()
TextWindow.Write("Enter your age: ")
age = TextWindow.ReadNumber()
TextWindow.WriteLine("Hello " + name + "!")
TextWindow.WriteLine("In 5 years you will be " + ( age + 5 ) + " years old!")

اسمال بیسیک همه انواع داده‌ها، حتی آرایه‌ها، را به شکل رشته‌ها ذخیره می‌کند. بنابراین رشته‌هایی که حاوی عدد هستند را می‌توان به عنوان عدد استفاده کرد.

TextWindow.WriteLine(Math.log("100")) 'عدد ۲ را چاپ می‌کند
TextWindow.WriteLine("100" + "3000") ' ۳۱۰۰ را چاپ می‌کند
TextWindow.WriteLine("Windows " + 8) ' عبارت Windows 8 را چاپ می‌کند
TextWindow.WriteLine(Text.GetLength(1023.42)) ' عدد ۷ را چاپ می‌کند که تعداد کاراکترها (عددها و ممیز) است

در مثل دوم، هر دو رشته عدد هستند و بنابراین جمع عددی می‌شوند. برای چسباندن دو رشته به هم (تا جواب ۳۰۰۰۱۰۰ حاصل شود)، باید از Text.Append(text1, text2) استفاده کرد.

کتابخانه‌ها[ویرایش]

کتابخانه استاندارد[ویرایش]

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

از آنجایی که این زبان برای آموزش است، کار دریافت تصاویر از فلیکر در آن، بسیار ساده‌تر شده است، که در مثال زیر هم دیده می‌شود.

For i = 1 To 10
  pic = Flickr.GetRandomPicture("mountains")
  Desktop.SetWallPaper(pic)
  Program.Delay(10000)
EndFor

کتابخانه‌های شخص ثالث[ویرایش]

اسمال بیسیک اجازه استفاده از کتابخانه‌های ساخته شده توسط دیگران را هم می‌دهد. این کتابخانه‌های باید به یک زبان همگون با زبان اجرای مشترک مایکروسافت (CLR) نوشته شده باشند و کلاس‌هایی که قرار است توسط اسمال‌بیسیک استفاده شوند، باید ایستا (static) بوده و با یک ویژگی مشخص شده باشند که نشان‌دهنده این است که اسمال‌بیسیک قرار است از آن استفاده کند. توابع، ویژگی‌ها و متغیرهای این کلاس‌ها، باید یک نوع داده اولیه‌ای که در کتابخانه استاندارد اسمال بیسیک وجود دارد را برگردانند.

یک نمونه از کلاسی که قرار است در اسمال بیسیک از آن استفاده شود، در زیر آمده‌است که به زبان سی شارپ نوشته شده‌است.

[SmallBasicType]
public static class ExampleSBClass
{
  public static Primitive Add(Primitive A, Primitive B)
  {
    return A + B;
  }

  public static Primitive SomeProperty { get; set; }

  public static Primitive Pi
  {
    get
    {
      return (Primitive)3.14159;
    }
  }
}

لاک‌پشت[ویرایش]

اسمال بیسیک، یک کتابخانه گرافیکی لاکپشت هم دارد که ایده‌اش از زبان برنامه‌نویسی لوگو گرفته شده‌است. به عنوان مثال با کد زیر می‌توان یک مربع را با استفاده از لاک‌پشت کشید:

For i = 1 to 4
  Turtle.Move(100)
  Turtle.TurnRight()
EndFor

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

  1. "{{جا:PAGENAME}}". Small Basic. Microsoft. 1 October 2015. Retrieved 2 October 2015.
  2. «What are the 14 Keywords of Small Basic? - Small Basic - Site Home - MSDN Blogs». Blogs.msdn.com. ۲۰۱۲-۱۰-۰۸. دریافت‌شده در ۲۰۱۴-۰۲-۰۹.
  3. «Hello World - Small Basic - Site Home - MSDN Blogs». Blogs.msdn.com. ۲۰۰۸-۱۰-۲۳. دریافت‌شده در ۲۰۱۴-۰۲-۰۹.
  4. «Small Basic 1.0 is here! - Small Basic - Site Home - MSDN Blogs». Blogs.msdn.com. ۲۰۱۱-۰۷-۱۲. دریافت‌شده در ۲۰۱۴-۰۲-۰۹.
  5. «Small Basic Curriculum - TechNet Articles - United States (English) - TechNet Wiki». Social.technet.microsoft.com. دریافت‌شده در ۲۰۱۴-۰۲-۰۹.
  6. «Small Basic Getting Started Guide - TechNet Articles - United States (English) - TechNet Wiki». Social.technet.microsoft.com. دریافت‌شده در ۲۰۱۴-۰۲-۰۹.
  7. «Products and Extensions for Visual Studio». Msdn.microsoft.com. دریافت‌شده در ۲۰۱۴-۰۲-۰۹.
  8. «Expert to Expert: The Basics of SmallBasic | Charles | Channel 9». Channel9.msdn.com. ۲۰۰۹-۰۱-۲۰. دریافت‌شده در ۲۰۱۴-۰۲-۰۹.

پیوند به بیرون[ویرایش]