Microsoft Small Basic , la enciclopedia libre

Microsoft Small Basic
Desarrollador(es)
Microsoft
http://www.smallbasic.com/
Información general
Paradigma Estructurado, imperativo, orientado a objetos
Apareció en 2008
Diseñado por Microsoft, Vijaye Raji
Última versión estable 1.2 (01 de octubre de 2015 (9 años, 9 meses y 7 días))
Implementaciones Small Basic Desktop, Small Basic Online
Influido por QBasic, Visual Basic .NET, Logo
Ha influido a Small Visual Basic (sVB)[1][2]
Licencia Licencia MIT
Imagen del IDE de Small Basic

Microsoft Small Basic es un lenguaje de programación, un intérprete y un IDE asociado. Se trata de una variante simplificada del BASIC de Microsoft, diseñada para ayudar a los estudiantes que han aprendido lenguajes de programación visuales como Scratch a aprender la programación basada en texto.[3]​ El IDE ofrece un entorno de programación simplificado con funciones como resaltado de sintaxis, completado inteligente de código y acceso a la documentación en el editor. [4]​ El lenguaje tiene sólo 14 palabras clave.[5]

Historia

[editar]
Version Release date
Versión antigua, sin servicio técnico: v0.1 23 de octubre de 2008[6]
Versión antigua, sin servicio técnico: v0.2 17 de diciembre de 2008[7]
Versión antigua, sin servicio técnico: v0.3 10 de febrero de 2009[8]
Versión antigua, sin servicio técnico: v0.4 14 de abril de 2009[9]
Versión antigua, sin servicio técnico: v0.5 16 de junio de 2009[10]
Versión antigua, sin servicio técnico: v0.6 19 de agosto de 2009[11]
Versión antigua, sin servicio técnico: v0.7 23 de octubre de 2009[12]
Versión antigua, sin servicio técnico: v0.8 04 de febrero de 2010[13]
Versión antigua, sin servicio técnico: v0.9 11 de junio de 2010[14]
Versión antigua, sin servicio técnico: v0.91 17 de noviembre de 2010[15]
Versión antigua, sin servicio técnico: v0.95 08 de febrero de 2011[16]
Versión antigua, con servicio técnico: v1.0 12 de julio de 2011[17]
Versión antigua, sin servicio técnico: v1.1 27 de marzo de 2015[18]
Versión estable actual: v1.2 01 de octubre de 2015[19]
Leyenda:
Versión antigua
Versión antigua, con soporte técnico
Última versión
Última versión previa
Lanzamiento futuro
Leyenda:
Versión antigua
Versión antigua, con soporte técnico
Última versión
Última versión previa
Lanzamiento futuro

Microsoft anunció Small Basic en octubre de 2008, [6]​ y lanzó la primera versión estable para su distribución el 12 de julio de 2011, [17]​ en un sitio web de Microsoft Developer Network (MSDN), junto con un programa de enseñanza [20]​ y una guía introductoria. [21]​ Entre el anuncio y la versión estable, se realizaron varias versiones de la Community Technology Preview (CTP).

El 27 de marzo de 2015, Microsoft lanzó Small Basic versión 1.1,[18]​ que corregía un error y actualizaba la versión prevista del Framework .NET de la versión 3.5 a la 4.5, convirtiéndola en la primera versión incompatible con Windows XP.

Microsoft lanzó la versión 1.2 de Small Basic el 1 de octubre de 2015. [19]​ La versión 1.2 fue la primera actualización tras un paréntesis de cuatro años para introducir nuevas funciones en Small Basic. La actualización añadía clases para trabajar con los sensores de movimiento Kinect de Microsoft,[19]​ se ha ampliado el número de idiomas admitidos por el objeto Diccionario incluido y se han corregido algunos errores.

El 19 de febrero de 2019, Microsoft anunció Small Basic Online (SBO). Se trata de un software de código abierto publicado bajo licencia MIT en GitHub. [22][23]


Lenguaje

[editar]
Helecho de Barnsley creado con Small Basic.

En Small Basic, se escribe el programa de ejemplo "¡Hola mundo! de la siguiente manera:[24]

TextWindow.WriteLine("¡Hola Mundo!") 

Admite bifurcaciones condicionales, estructuras de bucle y subrutinas para la gestión de eventos. Las variables están débilmente tipadas y son dinámicas, sin reglas de alcance.

Ejemplo ecuación de segundo grado

[editar]

Programa para resolver una ecuación de segundo grado:

TextWindow.WriteLine("Resolver una ecuación de segundo grado (ax^2 + bx + c = 0)") TextWindow.WriteLine("--------------------------------------------------")  ' Pedir al usuario los coeficientes a, b y c TextWindow.Write("Ingresa el valor de a: ") a = TextWindow.ReadNumber()  TextWindow.Write("Ingresa el valor de b: ") b = TextWindow.ReadNumber()  TextWindow.Write("Ingresa el valor de c: ") c = TextWindow.ReadNumber()  TextWindow.WriteLine("")  ' Calcular el discriminante (delta) delta = ( Math.Power(b,2) ) - (4 * a * c)  ' Analizar el valor del discriminante para determinar las soluciones If delta > 0 Then   ' Dos soluciones reales y diferentes   x1 = (-b + Math.SquareRoot(delta)) / (2 * a)   x2 = (-b - Math.SquareRoot(delta)) / (2 * a)   TextWindow.WriteLine("El discriminante (delta) es mayor que 0.")   TextWindow.WriteLine("La ecuación tiene dos soluciones reales y diferentes:")   TextWindow.WriteLine("x1 = " + x1)   TextWindow.WriteLine("x2 = " + x2) ElseIf delta = 0 Then   ' Una solución real (raíces iguales)   x = -b / (2 * a)   TextWindow.WriteLine("El discriminante (delta) es igual a 0.")   TextWindow.WriteLine("La ecuación tiene una solución real (raíces iguales):")   TextWindow.WriteLine("x = " + x) Else   ' No hay soluciones reales (soluciones complejas)   TextWindow.WriteLine("El discriminante (delta) es menor que 0.")   TextWindow.WriteLine("La ecuación no tiene soluciones reales (tiene soluciones complejas).") EndIf 

Librerías

[editar]

Librería estándar

[editar]

La biblioteca estándar Small Basic incluye clases básicas para matemáticas, manejo de cadenas y entrada/salida, así como clases más exóticas que tienen como objetivo hacer que el uso del lenguaje sea más divertido para los estudiantes. Algunos ejemplos de esto incluyen una clase de gráficos Turtle, una clase para recuperar fotos de Flickr y clases para interactuar con los sensores Microsoft Kinect. [25]

Para que las clases sean más fáciles de usar para los estudiantes, se han simplificado. Esta simplificación se demuestra a través del código utilizado para recuperar una imagen aleatoria con temática de montaña de Flickr:

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

Librerías de terceros

[editar]

Small Basic permite el uso de bibliotecas de terceros. Estas librerías deben estar escritas en un lenguaje compatible con CLR y los binarios compilados deben apuntar a un lenguaje compatible. Versión de .NET Framework. Las clases proporcionadas por la librería deben ser estáticas, estar marcadas con un atributo específico y deben utilizar un tipo de datos específico.

A continuación se proporciona un ejemplo de una clase que se utilizará en Small Basic, escrita en C# .

[SmallBasicType] public static class ClaseEjemplo {   public static Primitive Add(Primitive A, Primitive B) => A + B;    public static Primitive SomeProperty   {     get;     set;   }    public static Primitive Pi => (Primitive)3.14159; } 

Si está disponible, el entorno de desarrollo Small Basic mostrará la documentación de las librerías de terceros. El entorno de desarrollo acepta documentación en forma de archivo XML, que puede generarse automáticamente a partir de comentarios del código fuente mediante herramientas como Microsoft Visual Studio y MonoDevelop . [26]

Entre las librerias desarrolladas por terceros destacan LitDev y Ev3Basic, primera otorga funcionalidades adicionales,[27]​ mientras la segunda permite integración Set de Lego mindstorms EV3.[28]

Implementaciones

[editar]
  • Small Basic Desktop, esta es la aplicación de escritorio para Windows que se encuentra en la versión 1.2 de 2015.[29]
  • Small Basic Online (SBO), es la versión online de Small Basic que nació en 2019.[22][29]

Versiones Derivadas

[editar]

Se han realizado versiones derivadas o forks como Small Visual Basic (sVB), versión que aumenta las palabras clave de 14 a 30,[1][2]​ este ha desarrollado por Mohammad Hamdy, la cual también deriva una versión en árabe llamada Sahla.[2][1]

Referencias

[editar]
  1. a b c «Small Visual Basic - Visual Studio Marketplace». marketplace.visualstudio.com (en inglés estadounidense). Archivado desde el original el 22 de mayo de 2025. Consultado el 3 de julio de 2025. 
  2. a b c Ghanem, Mohammad Hamdy (1 de junio de 2025), VBAndCs/sVB-Small-Visual-Basic, consultado el 3 de julio de 2025 .
  3. «Small Basic» (en inglés). Consultado el 6 de septiembre de 2020. 
  4. Price, Ed (22 de octubre de 2012). «The Unique Features of Small Basic». Small Basic. TechNet (en inglés). Microsoft. Consultado el 22 de abril de 2015. 
  5. Price, Ed (8 de octubre de 2012). «What are the 14 Keywords of Small Basic?». Small Basic. MSDN Blogs (en inglés). Microsoft. Consultado el 9 de febrero de 2014. 
  6. a b Raji, Vijaye (23 de octubre de 2008). «Hello World». Small Basic. MSDN Blogs (en inglés). Microsoft. Consultado el 9 de febrero de 2014. 
  7. Raji, Vijaye (17 de diciembre de 2008). «Announcing Small Basic v0_2!». Small Basic. MSDN Blogs (en inglés). Microsoft. Consultado el 27 de septiembre de 2015. 
  8. Raji, Vijaye (10 de febrero de 2009). «Microsoft Small Basic v0.3 is here». Small Basic. MSDN Blogs (en inglés). Microsoft. Consultado el 27 de septiembre de 2015. 
  9. Raji, Vijaye (14 de abril de 2009). «v0.4 of Small Basic says "Bonjour"». Small Basic. MSDN Blogs (en inglés). Microsoft. Consultado el 27 de septiembre de 2015. 
  10. Raji, Vijaye (16 de junio de 2009). «The newest, leanest and the meanest is here!». Small Basic. MSDN Blogs (en inglés). Microsoft. Consultado el 27 de septiembre de 2015. 
  11. Raji, Vijaye (19 de agosto de 2009). «Now available: Small Basic v0.6». Small Basic. MSDN Blogs (en inglés). Microsoft. Consultado el 27 de septiembre de 2015. 
  12. Raji, Vijaye (23 de octubre de 2009). «Happy Birthday Small Basic». Small Basic. MSDN Blogs (en inglés). Microsoft. Consultado el 27 de septiembre de 2015. 
  13. Raji, Vijaye (10 February 2010). «Small Basic v0.8». Small Basic. MSDN Blogs (en inglés). Microsoft. Consultado el 10 de febrero de 2010. 
  14. Raji, Vijaye (11 de junio de 2010). «Small Basic V0.9 is here!». Small Basic. MSDN Blogs (en inglés). Microsoft. Consultado el 27 de septiembre de 2015. 
  15. Aldana, Sandra (17 de noviembre de 2010). «Small Basic V0.91 is more international than ever!». Small Basic. MSDN Blogs (en inglés). Microsoft. Consultado el 27 de septiembre de 2015. 
  16. Aldana, Sandra (8 de febrero de 2011). «Small Basic v0.95 speaks another language!». Small Basic. MSDN Blogs (en inglés). Microsoft. Consultado el 27 de septiembre de 2015. 
  17. a b Aldana, Sandra (12 de julio de 2011). «Small Basic 1.0 is here!». Small Basic. MSDN Blogs (en inglés). Microsoft. Consultado el 27 de septiembre de 2015. 
  18. a b Price, Ed (27 de marzo de 2015). «Small Basic 1.1 is here!». Small Basic. MSDN Blogs (en inglés). Microsoft. Consultado el 27 de septiembre de 2015. 
  19. a b c Scherotter, Michael (1 de octubre de 2015). «Small Basic 1.2 Released with Kinect Support and Bug Fixes». Small Basic. MSDN Blogs (en inglés). Microsoft. Consultado el 2 de octubre de 2015. 
  20. Price, Ed (29 de abril de 2014). «Small Basic Curriculum». TechNet (en inglés). Microsoft. Consultado el 9 de febrero de 2014. 
  21. Price, Ed (25 de febrero de 2014). «Small Basic Getting Started Guide». TechNet (en inglés). Microsoft. Consultado el 12 de febrero de 2015. 
  22. a b «Announcing Small Basic Online 1.0 – Public Preview» (en inglés). 20 de febrero de 2019. 
  23. «TechNet Wiki» (en inglés). 17 de enero de 2024. 
  24. «Small Basic». smallbasic-publicwebsite.azurewebsites.net (en inglés). Consultado el 27 de junio de 2025. 
  25. «System Requirements Kinect for Small Basic». ininet.org (en inglés). 
  26. Protalinski, Emil (17 de noviembre de 2008). «Yet another programming language from Microsoft: Small Basic». Ars Technica (en inglés estadounidense). 
  27. «LitDev». litdev.uk (en inglés). Consultado el 2 de julio de 2025. 
  28. «ev3basic - EV3 Basic programming». sites.google.com (en inglés). Consultado el 2 de julio de 2025. 
  29. a b «Small Basic Online - What's New | Microsoft Community Hub». TECHCOMMUNITY.MICROSOFT.COM (en inglés estadounidense). Archivado desde el original el 29 de noviembre de 2024. Consultado el 2 de julio de 2025. 

Enlaces externos

[editar]