Microsoft Small Basic - Microsoft Small Basic

Microsoft Small Basic
Microsoft Small Basic icon.png
Piccolo Basic.png
Paradigma Strutturato , imperativo , orientato agli oggetti
Progettato da Microsoft , Vijaye Raji
Sviluppatore Microsoft
Apparso per la prima volta 23 ottobre 2008 ; 12 anni fa ( 2008-10-23 )
Rilascio stabile
v1.2 / 1 ottobre 2015 ; 6 anni fa ( 2015-10-01 )
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 .smallbasic .com
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
Vecchia versione, non più mantenuta: v0.1 23 ottobre 2008
Vecchia versione, non più mantenuta: v0.2 17 dicembre 2008
Vecchia versione, non più mantenuta: v0.3 10 febbraio 2009
Vecchia versione, non più mantenuta: v0.4 14 aprile 2009
Vecchia versione, non più mantenuta: v0.5 16 giugno 2009
Vecchia versione, non più mantenuta: v0.6 19 agosto 2009
Vecchia versione, non più mantenuta: v0.7 23 ottobre 2009
Vecchia versione, non più mantenuta: v0.8 4 febbraio 2010
Vecchia versione, non più mantenuta: v0.9 11 giugno 2010
Vecchia versione, non più mantenuta: v0.91 17 novembre 2010
Vecchia versione, non più mantenuta: v0.95 8 febbraio 2011
Versione precedente, ma ancora mantenuta: v1.0 12 luglio 2011
Vecchia versione, non più mantenuta: v1.1 27 marzo 2015
Versione stabile attuale: v1.2 1 ottobre 2015
Leggenda:
Vecchia versione
Versione precedente, ancora mantenuta
Ultima versione
Ultima versione di anteprima
Rilascio futuro
Leggenda:
Vecchia versione
Versione precedente, ancora mantenuta
Ultima versione
Ultima versione di anteprima
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 Stepparola chiave. La Stepparola 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 Reade ReadNumberleggono una stringa dalla riga di comando, ma ReadNumberrifiutano 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