Microsoft Small Basic - Microsoft Small Basic
Paradigma | Strutturato , imperativo , orientato agli oggetti |
---|---|
Progettato da | Microsoft , Vijaye Raji |
Sviluppatore | Microsoft |
Apparso per la prima volta | 23 ottobre 2008 |
Rilascio stabile | v1.2 / 1 ottobre 2015
|
Disciplina di digitazione | Dinamico , debole |
piattaforma | .NET Framework 4.5 |
OS | Small Basic Desktop: Windows Vista , Windows 7 , Windows 8 , Windows 8.1 , Windows 10 , Windows Server 2008 R2 Small Basic Online: browser web |
Licenza | Licenza MIT |
Estensioni dei nomi dei file | .sb, .smallbasic |
Sito web | www |
Influenzato da | |
Logo , QBasic , Visual Basic .NET |
Microsoft Small Basic è un linguaggio di programmazione , interprete e IDE associato . La variante semplificata di BASIC di Microsoft , è progettata per aiutare gli studenti che hanno appreso linguaggi di programmazione visiva come Scratch a imparare la programmazione basata su testo. L'IDE associato fornisce un ambiente di programmazione semplificato con funzionalità come l' evidenziazione della sintassi , il completamento intelligente del codice e l'accesso alla documentazione nell'editor. La lingua ha solo 14 parole chiave.
Storia
Versione | Data di rilascio | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
v0.1 | 23 ottobre 2008 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
v0.2 | 17 dicembre 2008 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
v0.3 | 10 febbraio 2009 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
v0.4 | 14 aprile 2009 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
v0.5 | 16 giugno 2009 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
v0.6 | 19 agosto 2009 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
v0.7 | 23 ottobre 2009 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
v0.8 | 4 febbraio 2010 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
v0.9 | 11 giugno 2010 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
v0.91 | 17 novembre 2010 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
v0.95 | 8 febbraio 2011 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
v1.0 | 12 luglio 2011 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
v1.1 | 27 marzo 2015 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
v1.2 | 1 ottobre 2015 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vecchia versione
Versione precedente, ancora mantenuta
Ultima versione
Rilascio futuro
|
Microsoft ha annunciato Small Basic nell'ottobre 2008 e ha rilasciato la prima versione stabile per la distribuzione il 12 luglio 2011, su un sito Web Microsoft Developer Network (MSDN), insieme a un curriculum didattico e una guida introduttiva. Tra l'annuncio e il rilascio stabile, sono state effettuate numerose versioni di Community Technology Preview (CTP).
Il 27 marzo 2015, Microsoft ha rilasciato la versione 1.1 di Small Basic, che ha corretto un bug e ha aggiornato la versione di .NET Framework di destinazione dalla versione 3.5 alla versione 4.5.
Microsoft ha rilasciato la versione 1.2 di Small Basic il 1 ottobre 2015. La versione 1.2 è stato il primo aggiornamento dopo una pausa di quattro anni a introdurre nuove funzionalità in Small Basic. L'aggiornamento ha aggiunto classi per lavorare con i sensori di movimento Kinect di Microsoft , ha aumentato il numero di lingue supportate dall'oggetto Dictionary incluso e corretto una serie di bug.
Il 19 febbraio 2019, Microsoft ha annunciato Small Basic Online (SBO). È un software open source rilasciato sotto licenza MIT su GitHub .
Lingua
In Small Basic, si scrive l'illustrazione "Hello, World!" programma come segue:
TextWindow.WriteLine("Hello, World!")
Microsoft Small Basic è Turing completo . Supporta ramificazioni condizionali , strutture di loop e subroutine per la gestione degli eventi . Le variabili sono debolmente tipizzate e dinamiche senza regole di ambito.
ramificazione condizionale
L'esempio seguente mostra la ramificazione condizionale. Richiede la temperatura attuale in gradi Fahrenheit e commenta la risposta.
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
loop
Questo esempio mostra un ciclo. Partendo da uno e terminando con dieci, moltiplica ogni numero per quattro e visualizza il risultato della moltiplicazione.
TextWindow.WriteLine("Multiplication Tables")
For i = 1 To 10
TextWindow.Write(i * 4)
EndFor
While
anse sono supportati anche, e dimostrato For
ciclo può essere aumentata attraverso l'uso della Step
parola chiave. La Step
parola chiave viene utilizzata per impostare il valore di cui la variabile contatore, i
, viene incrementata ad ogni iterazione.
Tipi di dati
Small Basic supporta i tipi di dati di base , come stringhe , interi e decimali e convertirà prontamente un tipo in un altro come richiesto dalla situazione. Nell'esempio, entrambi i metodi Read
e ReadNumber
leggono una stringa dalla riga di comando, ma ReadNumber
rifiutano qualsiasi carattere non numerico. Ciò consente di convertire la stringa in un tipo numerico e di trattarla come un numero anziché come una stringa +
dall'operatore.
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!")
Poiché Small Basic convertirà facilmente tra i tipi di dati, i numeri possono essere manipolati come stringhe e le stringhe numeriche come numeri. Ciò è dimostrato attraverso il secondo esempio.
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)
Nel secondo esempio entrambe le stringhe vengono trattate come numeri e sommate tra loro, producendo l'output 3100. Per concatenare i due valori, producendo l'output 1003000, è necessario utilizzare il metodo.
Text.Append(text1, text2)
Biblioteche
Libreria standard
La libreria standard Small Basic include classi di base per la matematica, la gestione delle stringhe e l' input/output , oltre a classi più esotiche che hanno lo scopo di rendere l'uso della lingua più divertente per gli studenti. Esempi di questi includono una classe di grafica Turtle , una classe per recuperare foto da Flickr e classi per interagire con i sensori Microsoft Kinect.
Per rendere le classi più facili da usare per gli studenti, sono state semplificate. Questa semplificazione è dimostrata attraverso il codice utilizzato per recuperare un'immagine casuale a tema montagna da Flickr:
For i = 1 To 10
pic = Flickr.GetRandomPicture("mountains")
Desktop.SetWallPaper(pic)
Program.Delay(10000)
EndFor
Grafica tartaruga
Small Basic include una libreria grafica "Turtle" che prende in prestito dalla famiglia di linguaggi di programmazione Logo . Ad esempio, per disegnare un quadrato utilizzando la tartaruga, la tartaruga viene spostata in avanti di un determinato numero di pixel e ruotata di 90 gradi in una determinata direzione. Questa azione viene poi ripetuta quattro volte per disegnare i quattro lati del quadrato.
For i = 1 to 4
Turtle.Move(100) ' Forward 100 pixels
Turtle.Turn(90) ' Turn 90 degrees right
EndFor
Disegni più complessi sono possibili alterando l'angolo di rotazione della tartaruga e il numero di iterazioni del ciclo. Ad esempio, si può disegnare un esagono impostando l'angolo di rotazione su 60 gradi e il numero di iterazioni su sei.
Librerie di terze parti
Small Basic consente l'utilizzo di librerie di terze parti. Queste librerie devono essere scritte in un linguaggio compatibile con CLR e i file binari compilati devono avere come destinazione una versione di .NET Framework compatibile. Le classi fornite dalla libreria devono essere static , contrassegnate con un attributo specifico e devono utilizzare un tipo di dati specifico.
Di seguito viene fornito un esempio di una classe da utilizzare in Small Basic, scritta in 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;
}
Se disponibile, l'ambiente di sviluppo Small Basic visualizzerà la documentazione per le librerie di terze parti. L'ambiente di sviluppo accetta la documentazione sotto forma di file XML , che può essere generato automaticamente dai commenti del codice sorgente da strumenti come Microsoft Visual Studio e MonoDevelop .
Riferimenti
link esterno
- Sito ufficiale
- Informatica per bambini di Kidware Software
- Impara a programmare con Small Basic di No Starch
- Le basi di Small Basic Discussione con Vijaye Raji ed Erik Meijer su SmallBasic
- Introduzione a Small Basic Discussione con Vijaye Raji e Robert Hess su SmallBasic
- Microsoft Small Basic per .NET Revisione di Microsoft Small Basic, con applicazione di esempio
- Categoria:Microsoft Small Basic Task implementate in Microsoft Small Basic su rosettacode.org