مایکروسافت اسمال بیسیک
![]() | |
پارادایم برنامهنویسی | برنامهنویسی ساختیافته، برنامهنویسی دستوری، برنامهنویسی شیءگرا |
---|---|
طراحی شده توسط | مایکروسافت, Vijaye Raji |
توسعهدهنده | مایکروسافت |
ظهوریافته در | ۲۳ اکتبر ۲۰۰۸ |
انتشار پایدار | v1.2
/ ۱ اکتبر ۲۰۱۵ |
Dynamic ، وابستگی زیاد و کم به نوع | |
بنسازه رایانش | .NET Framework 4.5 |
سیستمعامل | ویندوز ویستا، ویندوز ۷، ویندوز ۸، ویندوز ۸٫۱، ویندوز ۱۰، Windows Server 2008 R2[۱] |
پروانه | رایگانافزار |
.sb | |
وبگاه | |
متأثر از | |
لوگو (زبان برنامهنویسی)، کیو بیسیک، ویژوال بیسیک داتنت |
مایکروسافت اسمال بیسیک، یک نسخه ساده شدهای از زبان برنامهنویسی بیسیک است که توسط شرکت مایکروسافت ساخته شدهاست. این زبان دارای حداقل مفاهیم برنامهنویسی است و مایکروسافت ادعا میکند که برای آموزش زباننویسی به افراد تازهکار مناسب است. این زبان تنها دارای ۱۴ کلمه کلیدی است[۲] و محیط کار آن هم تازهکارپسند بوده و دارای نمای ساده و واضحی است. در این زبان برنامهنویسی امکان پیادهسازی انواع الگوریتمهای محاسباتی، محاسبات عددی، شرطها و ساختارهای حلقه تکرار، زیر برنامه ها، آرایه ها، برنامههای متنی، گرافیکی و رابطهای گرافیکی وجود دارد.
تاریخچه
[ویرایش]اسمال بیسیک در ابتدا در سال ۲۰۰۸[۳] توسط مایکروسافت معرفی شد و در سال ۲۰۱۱[۴] در فضای وب در سایت 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
منابع
[ویرایش]- ↑ "{{جا:PAGENAME}}". Small Basic. Microsoft. 1 October 2015. Retrieved 2 October 2015.
- ↑ «What are the 14 Keywords of Small Basic? - Small Basic - Site Home - MSDN Blogs». Blogs.msdn.com. ۲۰۱۲-۱۰-۰۸. دریافتشده در ۲۰۱۴-۰۲-۰۹.
- ↑ «Hello World - Small Basic - Site Home - MSDN Blogs». Blogs.msdn.com. ۲۰۰۸-۱۰-۲۳. دریافتشده در ۲۰۱۴-۰۲-۰۹.
- ↑ «Small Basic 1.0 is here! - Small Basic - Site Home - MSDN Blogs». Blogs.msdn.com. ۲۰۱۱-۰۷-۱۲. دریافتشده در ۲۰۱۴-۰۲-۰۹.
- ↑ «Small Basic Curriculum - TechNet Articles - United States (English) - TechNet Wiki». Social.technet.microsoft.com. دریافتشده در ۲۰۱۴-۰۲-۰۹.
- ↑ «Small Basic Getting Started Guide - TechNet Articles - United States (English) - TechNet Wiki». Social.technet.microsoft.com. دریافتشده در ۲۰۱۴-۰۲-۰۹.
- ↑ «Products and Extensions for Visual Studio». Msdn.microsoft.com. دریافتشده در ۲۰۱۴-۰۲-۰۹.
- ↑ «Expert to Expert: The Basics of SmallBasic | Charles | Channel 9». Channel9.msdn.com. ۲۰۰۹-۰۱-۲۰. دریافتشده در ۲۰۱۴-۰۲-۰۹.
پیوند به بیرون
[ویرایش]- سایت رسمی
- وبلاگ رسمی
- اصول برنامهنویسی, یک کتاب در مورد مفاهیم پایه برنامهنویسی با استفاده از اسمال بیسیک (انگلیسی)
- خودآموزهای برنامهنویسی اسمال بیسیک برای کودکان و بزرگسالان (انگلیسی) by Kidware Software & Computer Science for Kids
- آشنایی با اسمال بیسیک discussion with Vijaye Raji and Robert Hess on SmallBasic
- خانوادههای زبانهای برنامهنویسی بیسیک
- زبانهای برنامهنویسی آموزشی
- زبانهای برنامهنویسی داتنت
- زبانهای برنامهنویسی ساختهشده در ۲۰۰۸ (میلادی)
- زبانهای برنامهنویسی سطح بالا
- زبانهای برنامهنویسی
- معرفیشدههای مرتبط با رایانه در ۲۰۰۸ (میلادی)
- نرمافزارهای دارای اجازهنامه امآیتی
- نرمافزارهای رایگان مایکروسافت
- محیطهای توسعه مجتمع آزاد
- نرمافزارهای آزاد منحصر به ویندوز