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