Jump to content

Microsoft Small Basic

Microsoft Small Basic
Парадигма Структурированный , императивный , объектно-ориентированный
Разработано Microsoft , Виджай Раджи [1] [2]
Разработчик Майкрософт
Впервые появился 23 октября 2008 г .; 15 лет назад ( 23 октября 2008 г. ) [3] [4]
Стабильная версия
v1.2 / 1 октября 2015 г .; 8 лет назад ( 01.10.2015 ) [5]
Дисциплина набора текста Динамичный , слабый
Платформа .NET Framework 4.5 [5]
ТЫ Небольшой базовый рабочий стол: Windows XP (до версии 1.0), Windows Vista , Windows 7 , Windows 8 , Windows 8.1 , Windows 10 , Windows Server 2008 R2. [6]
Small Basic Online: веб-браузер
Лицензия МОЯ лицензия [7]
Расширения имен файлов .sb, .smallbasic
Веб-сайт smallbasic-publicвеб-сайт .azureвеб-сайты .сеть
Под влиянием
Логотип , QBasic , Visual Basic .NET

Microsoft Small Basic — это язык программирования , интерпретатор и связанная с ним среда разработки . от Microsoft Упрощенный вариант BASIC . Он разработан, чтобы помочь студентам, которые изучили языки визуального программирования, такие как Scratch, изучить текстовое программирование. [8] Соответствующая IDE обеспечивает упрощенную среду программирования с такими функциями, как подсветка синтаксиса , интеллектуальное завершение кода и доступ к документации в редакторе. [9] В языке всего 14 ключевых слов. [10]

История [ править ]

Версия Дата выпуска
Старая версия, больше не поддерживается: v0.1. 23 октября 2008 г. [3]
Старая версия, больше не поддерживается: v0.2. 17 декабря 2008 г. [11]
Старая версия, больше не поддерживается: v0.3. 10 февраля 2009 г. [12]
Старая версия, больше не поддерживается: v0.4. 14 апреля 2009 г. [13]
Старая версия, больше не поддерживается: v0.5. 16 июня 2009 г. [14]
Старая версия, больше не поддерживается: v0.6. 19 августа 2009 г. [15]
Старая версия, больше не поддерживается: v0.7. 23 октября 2009 г. [4]
Старая версия, больше не поддерживается: v0.8. 4 февраля 2010 г. [16]
Старая версия, больше не поддерживается: v0.9. 11 июня 2010 г. [17]
Старая версия, больше не поддерживается: v0.91. 17 ноября 2010 г. [18]
Старая версия, больше не поддерживается: v0.95. 8 февраля 2011 г. [19]
Старая версия, но все еще поддерживается: v1.0. 12 июля 2011 г. [20]
Старая версия, больше не поддерживается: v1.1. 27 марта 2015 г. [21]
Текущая стабильная версия: v1.2. 1 октября 2015 г. [5]
Legend:
Старая версия
Старая версия, все еще поддерживается
Latest version
Latest preview version
Future release
Legend:
Old version
Older version, still maintained
Последняя версия
Latest preview version
Будущий выпуск

Microsoft анонсировала Small Basic в октябре 2008 года. [3] и выпустил первую стабильную версию для распространения 12 июля 2011 г. [20] на веб-сайте Microsoft Developer Network (MSDN) вместе с учебной программой. [22] и вводное руководство. [23] несколько выпусков Community Technology Preview Между анонсом и выпуском стабильной версии было выпущено (CTP).

27 марта 2015 г. Microsoft выпустила Small Basic версии 1.1. [21] который исправил ошибку и обновил целевую версию .NET Framework с версии 3.5 до версии 4.5, что сделало ее первой версией, несовместимой с Windows XP .

Microsoft выпустила Small Basic версии 1.2 1 октября 2015 г. [5] Версия 1.2 была первым обновлением после четырехлетнего перерыва, в котором были представлены новые функции Small Basic. Microsoft Kinect , В обновлении добавлены классы для работы с датчиками движения [5] увеличено количество языков, поддерживаемых включенным объектом Dictionary, и исправлен ряд ошибок. [6]

19 февраля 2019 г. Microsoft анонсировала Small Basic Online (SBO). Это программное обеспечение с открытым исходным кодом , выпущенное под лицензией MIT на GitHub . [24] [25]

Язык [ править ]

В Small Basic пишут иллюстративную фразу «Hello, World!» программа следующим образом:

TextWindow.WriteLine("Hello, World!")

Microsoft Small Basic является полным по Тьюрингу . Он поддерживает условное ветвление , структуры циклов и подпрограммы для событий обработки . Переменные и слабо типизированы динамические , без правил области видимости.

Условное ветвление [ править ]

Следующий пример демонстрирует условное ветвление. Он запрашивает у пользователя градусы Цельсия или Фаренгейта , а затем комментирует ответ в соответствующей единице измерения температуры.

' A Program that gives advice at a requested temperature.
TextWindow.WriteLine("Do you use 'C'elsius or 'F'ahrenheit for temperature?")
TextWindow.WriteLine("Enter C for Celsius and F for Fahrenheit:")
question_temp: ' Label to jump back to input if wrong input was given
tempunit = TextWindow.Read()
' Temperature Definitions in Celsius:
tempArray["hot"] = 30     ' 30 °C equals 86 °F
tempArray["pretty"] = 20  ' 20 °C equals 68 °F
tempArray["cold"]= 15     ' 15 °C equals 59 °F

If tempunit = "C" OR tempunit = "c" Then
  TextWindow.WriteLine("Celsius selected!")
  tempunit = "C" ' Could be lowercase, thus make it uppercase
ElseIf tempunit = "F" OR tempunit = "f" Then
  TextWindow.WriteLine("Fahrenheit selected!")
  ' We calculate the temperature values for Fahrenheit based on the Celsius values
  tempArray["hot"] = ((tempArray["hot"] * 9)/5) + 32
  tempArray["pretty"] = ((tempArray["pretty"] * 9)/5) + 32
  tempArray["cold"] = ((tempArray["cold"] * 9)/5) + 32
  tempunit = "F" ' Could be lowercase, thus make it uppercase
Else
  GOTO question_temp ' Wrong input, jump back to label "question_temp"
EndIf
TextWindow.Write("Enter the temperature today (in " + tempunit +"): ")
temp = TextWindow.ReadNumber()
If temp >= tempArray["hot"] Then
  TextWindow.WriteLine("It is pretty hot.")
ElseIf temp >= tempArray["pretty"] Then
  TextWindow.WriteLine("It is pretty nice.")
ElseIf temp >= tempArray["cold"] Then
  TextWindow.WriteLine("Don't forget your coat.")
Else
  TextWindow.WriteLine("Stay home.")
EndIf

Small Basic не поддерживает встроенные If оператор, как и Visual Basic , например:

If temp > 50 Then TextWindow.WriteLine("It is pretty nice.")

Цикл [ править ]

Этот пример демонстрирует цикл. Начиная с единицы и заканчивая десятью, он умножает каждое число на четыре и отображает результат умножения.

TextWindow.WriteLine("Multiplication Tables")
For i = 1 To 10
  TextWindow.Write(i * 4)
EndFor

While циклы также поддерживаются, и продемонстрированный For Цикл может быть расширен за счет использования Step ключевое слово. Step Ключевое слово используется для установки значения, по которому переменная счетчика, i, увеличивается на каждой итерации.

Типы данных [ править ]

Small Basic поддерживает основные типы данных , такие как строки , целые и десятичные числа , и легко преобразует один тип в другой в зависимости от ситуации. В примере оба Read и ReadNumber методы читают строку из командной строки, но ReadNumber отклоняет любые нечисловые символы. Это позволяет преобразовать строку в числовой тип и рассматривать ее как число, а не как строку. + оператор.

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 shall be " + ( age + 5 ) + " years old!")

Поскольку Small Basic легко преобразует типы данных, числами можно манипулировать как строками, а числовыми строками — как числами. Это демонстрируется на втором примере.

TextWindow.WriteLine(Math.log("100")) 'Prints 2
TextWindow.WriteLine("100" + "3000") ' Prints 3100
TextWindow.WriteLine("Windows " + 8) ' Prints Windows 8
TextWindow.WriteLine(Text.GetLength(1023.42)) ' Prints 7 (length of decimal representation including decimal point)

Во втором примере обе строки обрабатываются как числа и складываются вместе, давая выходной результат 3100. Чтобы объединить два значения и получить выходной результат 1003000, необходимо использовать Text.Append(text1, text2) метод.

Библиотеки [ править ]

Стандартная библиотека [ править ]

Small Basic Стандартная библиотека включает базовые классы по математике, обработке строк и вводу/выводу , а также более экзотические классы, призванные сделать использование языка более увлекательным для учащихся. К ним относятся графический класс Turtle , класс для получения фотографий с Flickr и классы для взаимодействия с датчиками Microsoft Kinect. [26]

Чтобы сделать занятия более удобными для учащихся, они были упрощены. Это упрощение демонстрируется с помощью кода, используемого для получения случайного изображения горной тематики с Flickr:

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

Графика черепахи [ править ]

Small Basic включает графическую библиотеку «Черепаха», заимствованную из семейства языков программирования Logo . Например, чтобы нарисовать квадрат с помощью черепахи, черепаху перемещают вперед на заданное количество пикселей и поворачивают на 90 градусов в заданном направлении. Затем это действие повторяется четыре раза, чтобы нарисовать четыре стороны квадрата.

For i = 1 to 4
  Turtle.Move(100) ' Forward 100 pixels
  Turtle.Turn(90) ' Turn 90 degrees right
EndFor

Более сложные рисунки возможны за счет изменения угла поворота черепахи и количества итераций цикла. Например, можно нарисовать шестиугольник , установив угол поворота 60 градусов и количество итераций шесть.

Сторонние библиотеки [ править ]

Small Basic позволяет использовать сторонние библиотеки. Эти библиотеки должны быть написаны на языке, совместимом с CLR , а скомпилированные двоичные файлы должны быть ориентированы на совместимую версию .NET Framework. Классы, предоставляемые библиотекой, должны быть статическими , помечены определенным атрибутом и должны использовать определенный тип данных.

Ниже приведен пример класса, который будет использоваться в Small Basic, написанного на C# .

[SmallBasicType]
public static class ExampleClass
{
    public static Primitive Add(Primitive A, Primitive B) => A + B;

    public static Primitive SomeProperty
    {
        get;
        set;
    }

    public static Primitive Pi => (Primitive)3.14159;
}

Если доступно, среда разработки Small Basic отобразит документацию для сторонних библиотек. Среда разработки принимает документацию в виде XML- файла, который может автоматически генерироваться из комментариев к исходному коду с помощью таких инструментов, как Microsoft Visual Studio и MonoDevelop . [27]

Ссылки [ править ]

  1. ^ Конрод, Филип; Тайли, Лу (февраль 2013 г.). Программирование игр с помощью Microsoft Small Basic . Кидваре Программное обеспечение, ООО. ISBN  978-1-937161-56-9 .
  2. ^ «Рекомендуемая статья: Интервью с Виджае Раджи, создателем Small Basic» . TECHCOMMUNITY.MICROSOFT.COM . 13 февраля 2019 г.
  3. ^ Jump up to: а б с Раджи, Виджайе (23 октября 2008 г.). "Привет, мир" . Малый базовый . Блоги MSDN. Майкрософт . Проверено 9 февраля 2014 г.
  4. ^ Jump up to: а б Раджи, Виджайе (23 октября 2009 г.). «С Днем Рождения, Малый Базовый» . Малый базовый . Блоги MSDN. Майкрософт . Проверено 27 сентября 2015 г.
  5. ^ Jump up to: а б с д и Шероттер, Майкл (1 октября 2015 г.). «Выпущена версия Small Basic 1.2 с поддержкой Kinect и исправлениями ошибок» . Малый базовый . Блоги MSDN. Майкрософт . Проверено 2 октября 2015 г.
  6. ^ Jump up to: а б «Загрузите Microsoft Small Basic 1.2 из официального центра загрузки Microsoft» . Малый базовый . Майкрософт. 1 октября 2015 года . Проверено 2 октября 2015 г.
  7. ^ «СмоллБазик» . Гитхаб . 17 октября 2021 г.
  8. ^ «Маленький базовый» . Проверено 6 сентября 2020 г.
  9. ^ Прайс, Эд (22 октября 2012 г.). «Уникальные особенности Small Basic» . Малый базовый . ТехНет. Майкрософт . Проверено 22 апреля 2015 г.
  10. ^ Прайс, Эд (8 октября 2012 г.). «Каковы 14 ключевых слов Small Basic?» . Малый базовый . Блоги MSDN. Майкрософт . Проверено 9 февраля 2014 г.
  11. ^ Раджи, Виджайе (17 декабря 2008 г.). «Анонсируем Small Basic v0_2!» . Малый базовый . Блоги MSDN. Майкрософт . Проверено 27 сентября 2015 г.
  12. ^ Раджи, Виджайе (10 февраля 2009 г.). «Microsoft Small Basic v0.3 уже здесь» . Малый базовый . Блоги MSDN. Майкрософт . Проверено 27 сентября 2015 г.
  13. ^ Раджи, Виджайе (14 апреля 2009 г.). "В версии 0.4 Small Basic написано "Bonjour" " . Малый базовый . Блоги MSDN. Майкрософт . Проверено 27 сентября 2015 г.
  14. ^ Раджи, Виджайе (16 июня 2009 г.). «Самое новое, самое тощее и самое подлое здесь!» . Малый базовый . Блоги MSDN. Майкрософт . Проверено 27 сентября 2015 г.
  15. ^ Раджи, Виджайе (19 августа 2009 г.). «Теперь доступно: Small Basic v0.6» . Малый базовый . Блоги MSDN. Майкрософт . Проверено 27 сентября 2015 г.
  16. ^ Раджи, Виджайе (10 февраля 2010 г.). «Маленький базовый v0.8» . Малый базовый . Блоги MSDN. Майкрософт . Проверено 27 сентября 2015 г.
  17. ^ Раджи, Виджайе (11 июня 2010 г.). «Small Basic V0.9 уже здесь!» . Малый базовый . Блоги MSDN. Майкрософт . Проверено 27 сентября 2015 г.
  18. ^ Алдана, Сандра (17 ноября 2010 г.). «Small Basic V0.91 более интернационален, чем когда-либо!» . Малый базовый . Блоги MSDN. Майкрософт . Проверено 27 сентября 2015 г.
  19. ^ Алдана, Сандра (8 февраля 2011 г.). «Small Basic v0.95 говорит на другом языке!» . Малый базовый . Блоги MSDN. Майкрософт . Проверено 27 сентября 2015 г.
  20. ^ Jump up to: а б Алдана, Сандра (12 июля 2011 г.). «Small Basic 1.0 уже здесь!» . Малый базовый . Блоги MSDN. Майкрософт . Проверено 27 сентября 2015 г.
  21. ^ Jump up to: а б Прайс, Эд (27 марта 2015 г.). «Small Basic 1.1 уже здесь!» . Малый базовый . Блоги MSDN. Майкрософт . Проверено 27 сентября 2015 г.
  22. ^ Прайс, Эд (29 апреля 2014 г.). «Малый базовый учебный план» . ТехНет . Майкрософт . Проверено 9 февраля 2014 г.
  23. ^ Прайс, Эд; Такахаси, Нонки (25 февраля 2014 г.). «Небольшое базовое руководство по началу работы» . ТехНет . Майкрософт . Проверено 12 февраля 2015 г.
  24. ^ «Анонсируем Small Basic Online 1.0 — общедоступная предварительная версия» . 20 февраля 2019 г.
  25. ^ «ТехНет Вики» .
  26. ^ «Системные требования Kinect для Small Basic» . ininet.org .
  27. ^ Проталински, Эмиль (17 ноября 2008 г.). «Еще один язык программирования от Microsoft: Small Basic» . Арс Техника .

Дальнейшее чтение [ править ]

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 1ab42afdc83017a17ba8fafe16c6a6f3__1710988740
URL1:https://arc.ask3.ru/arc/aa/1a/f3/1ab42afdc83017a17ba8fafe16c6a6f3.html
Заголовок, (Title) документа по адресу, URL1:
Microsoft Small Basic - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)