q2K BHP
Black History Portal
THE BHP WIRE —
HIDDEN TRUTHS
What's New!
THE JOURNEY THROUGH TIME

Explore Black History

Explore the people, places, events, achievements, struggles and stories that shaped our journey.

✊🏾

Civil Rights

Movements, leaders, victories and the continuing fight for equality.

⚙️

Black Inventors

Innovation, patents, science, technology and world-changing contributions.

🏆

Sports

Pioneers, champions, Negro Leagues, records, activism and excellence.

♟️

People

Meet the people whose lives, choices and achievements shaped the journey.

📍

Places

Black towns, communities, institutions and places where history happened.

📜

Events

Moments that changed communities, movements, institutions and the nation.

Enter a person, place, event, or topic.
MY'STORY

The MOVE Fire

This is a personal recollection on the Move fire on May 13, 1985 Philadelphia police fired thousands of rounds at the MOVE house, city officials approved dropping an explosive device on the roof, the resulting fire was allowed to burn, 11 people—including five children—died, and 61 homes were destroyed. Philadelphia City Council later called it a “brutal attack carried out by the City of Philadelphia on its own citizens” and acknowledged that no individual faced criminal consequences for the bombing. One timeline correction worth preserving for the BHP record: the major previous MOVE-police confrontation was August 8, 1978, about seven years before the bombing, not a year or two earlier. Officer James Ramp was killed, other police and firefighters were wounded, nine MOVE members were later convicted, and television cameras recorded police beating Delbert Africa during his arrest. The 1985 MOVE Commission later specifically criticized city planners for failing to adequately use lessons from that 1978 confrontation. And that actually strengthens the point you’re making: 1985 did not happen without precedent or institutional memory. There had already been a deadly confrontation with MOVE, years of conflict, negotiations and police involvement before Osage Avenue.

MORE →
BLACK FACTS
The Truths They Never Taught You...

Wilmington 1898 — An American Coup

Wilmington, North Carolina once had a thriving Black middle class and an elected interracial government. In 1898 white supremacists used violence to overthrow that government, kill Black residents and drive many others from the city.

MORE →
BHP gathered finds from its connected research sources. Showing the 4 strongest Black History matches.
← BACK TO RESULTS
Wikipedia

Microsoft Small Basic

Microsoft Small Basic
ParadigmStructured, imperative, object-oriented
Designed byMicrosoft, Vijaye Raji[1][2]
DeveloperMicrosoft
First appearedOctober 23, 2008; 17 years ago (2008-10-23)[3][4]
Stable release
v1.2 / October 1, 2015; 11 years ago (2015-10-01)[5]
Typing disciplineDynamic, weak
Platform.NET Framework 4.5[5]
OSSmall Basic Desktop: Windows XP (up to version 1.0), Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10, Windows Server 2008 R2[6]
Small Basic Online: web browser
LicenseMIT License[7]
Filename extensions.sb, .smallbasic
Websitesmallbasic-publicwebsite.azurewebsites.net
Influenced by
Logo, QBasic, Visual Basic .NET

Microsoft Small Basic is a programming language, interpreter and associated IDE. Microsoft's simplified variant of BASIC, it is designed to help students who have learnt visual programming languages such as Scratch learn text-based programming.[8] The associated IDE provides a simplified programming environment with functionality such as syntax highlighting, intelligent code completion, and in-editor documentation access.[9] The language has only 14 keywords.[10]

History

[edit]
Version Release date
Unsupported: v0.1 October 23, 2008[3]
Unsupported: v0.2 December 17, 2008[11]
Unsupported: v0.3 February 10, 2009[12]
Unsupported: v0.4 April 14, 2009[13]
Unsupported: v0.5 June 16, 2009[14]
Unsupported: v0.6 August 19, 2009[15]
Unsupported: v0.7 October 23, 2009[4]
Unsupported: v0.8 February 4, 2010[16]
Unsupported: v0.9 June 11, 2010[17]
Unsupported: v0.91 November 17, 2010[18]
Unsupported: v0.95 February 8, 2011[19]
Supported: v1.0 July 12, 2011[20]
Unsupported: v1.1 March 27, 2015[21]
Latest version: v1.2 October 1, 2015[5]
Legend:
Unsupported
Supported
Legend:
Latest version
Future version

Microsoft announced Small Basic in October 2008,[3] and released the first stable version for distribution on July 12, 2011,[20] on a Microsoft Developer Network (MSDN) website, together with a teaching curriculum[22] and an introductory guide.[23] Between announcement and stable release, a number of Community Technology Preview (CTP) releases were made.

On March 27, 2015, Microsoft released Small Basic version 1.1,[21] which fixed a bug and upgraded the targeted .NET Framework version from version 3.5 to version 4.5, making it the first version incompatible with Windows XP.

Microsoft released Small Basic version 1.2 on October 1, 2015.[5] Version 1.2 was the first update after a four-year hiatus to introduce new features to Small Basic. The update added classes for working with Microsoft's Kinect motion sensors,[5] increased the number of languages supported by the included Dictionary object, and fixed a number of bugs.[6]

On February 19, 2019, Microsoft announced Small Basic Online (SBO). It is open source software released under MIT License on GitHub.[24][25]

Language

[edit]

In Small Basic, one writes the illustrative "Hello, World!" program as follows:

TextWindow.WriteLine("Hello, World!")

Microsoft Small Basic is Turing complete. It supports conditional branching, loop structures, and subroutines for event handling. Variables are weakly typed and dynamic with no scoping rules.

Conditional branching

[edit]

The following example demonstrates conditional branching. It ask the user for Celsius or Fahrenheit and then comments on the answer in the appropriate temperature unit.

' 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 does not support an inline If statement as does Visual Basic, for example:

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

Looping

[edit]

This example demonstrates a loop. Starting from one and ending with ten, it multiplies each number by four and displays the result of the multiplication.

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

While loops are also supported, and the demonstrated For loop can be augmented through the use of the Step keyword. The Step keyword is used in setting the value by which the counter variable, i, is incremented each iteration.

Data types

[edit]

Small Basic supports basic data types, like strings, integers and decimals, and will readily convert one type to another as required by the situation. In the example, both the Read and ReadNumber methods read a string from the command line, but ReadNumber rejects any non-numeric characters. This allows the string to be converted to a numeric type and treated as a number rather than a string by the + operator.

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!")

As Small Basic will readily convert among data types, numbers can be manipulated as strings and numeric strings as numbers. This is demonstrated through the second example.

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)

In the second example, both strings are treated as numbers and added together, producing the output 3100. To concatenate the two values, producing the output 1003000, it is necessary to use the Text.Append(text1, text2) method.

Libraries

[edit]

Standard library

[edit]

The Small Basic standard library includes basic classes for mathematics, string handling, and input/output, as well as more exotic classes that are intended to make using the language more fun for learners. Examples of these include a Turtle graphics class, a class for retrieving photos from Flickr, and classes for interacting with Microsoft Kinect sensors.[26]

To make the classes easier to use for learners, they have been simplified. This simplification is demonstrated through the code used to retrieve a random mountain-themed image from Flickr:

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

Turtle graphics

[edit]

Small Basic includes a "Turtle" graphics library that borrows from the Logo family of programming languages. For example, to draw a square using the turtle, the turtle is moved forward by a given number of pixels and rotated 90 degrees in a given direction. This action is then repeated four times to draw the four sides of the square.

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

More complex drawings are possible by altering the turning angle of the turtle and the number of iterations of the loop. For example, one can draw a hexagon by setting the turn angle to 60 degrees and the number of iterations to six.

Third-party libraries

[edit]

Small Basic allows the use of third-party libraries. These libraries must be written in a CLR-compatible language, and the compiled binaries must target a compatible .NET Framework version. The classes provided by the library are required to be static, flagged with a specific attribute, and must use a specific data type.

An example of a class to be used in Small Basic is provided below, written 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;
}

If available, the Small Basic development environment will display documentation for third-party libraries. The development environment accepts documentation in the form of an XML file, which can be automatically generated from source code comments by tools such as Microsoft Visual Studio and MonoDevelop.[27]

References

[edit]
  1. ^ Conrod, Philip; Tylee, Lou (February 2013). Programming Games with Microsoft Small Basic. Kidware Software, LLC. ISBN 978-1-937161-56-9.
  2. ^ "Featured Article: Interviews with Vijaye Raji, the creator of Small Basic". TECHCOMMUNITY.MICROSOFT.COM. 13 February 2019.
  3. ^ a b c Raji, Vijaye (23 October 2008). "Hello World". Small Basic. MSDN Blogs. Microsoft. Retrieved 9 February 2014.
  4. ^ a b Raji, Vijaye (23 October 2009). "Happy Birthday Small Basic". Small Basic. MSDN Blogs. Microsoft. Retrieved 27 September 2015.
  5. ^ a b c d e Scherotter, Michael (1 October 2015). "Small Basic 1.2 Released with Kinect Support and Bug Fixes". Small Basic. MSDN Blogs. Microsoft. Retrieved 2 October 2015.
  6. ^ a b "Download Microsoft Small Basic 1.2 from Official Microsoft Download Centre". Small Basic. Microsoft. 1 October 2015. Retrieved 2 October 2015.
  7. ^ "SmallBasic". GitHub. 17 October 2021.
  8. ^ "Small Basic". Retrieved 6 September 2020.
  9. ^ Price, Ed (22 October 2012). "The Unique Features of Small Basic". Small Basic. TechNet. Microsoft. Archived from the original on 28 April 2015. Retrieved 22 April 2015.
  10. ^ Price, Ed (8 October 2012). "What are the 14 Keywords of Small Basic?". Small Basic. MSDN Blogs. Microsoft. Retrieved 9 February 2014.
  11. ^ Raji, Vijaye (17 December 2008). "Announcing Small Basic v0_2!". Small Basic. MSDN Blogs. Microsoft. Retrieved 27 September 2015.
  12. ^ Raji, Vijaye (10 February 2009). "Microsoft Small Basic v0.3 is here". Small Basic. MSDN Blogs. Microsoft. Retrieved 27 September 2015.
  13. ^ Raji, Vijaye (14 April 2009). "v0.4 of Small Basic says "Bonjour"". Small Basic. MSDN Blogs. Microsoft. Retrieved 27 September 2015.
  14. ^ Raji, Vijaye (16 June 2009). "The newest, leanest and the meanest is here!". Small Basic. MSDN Blogs. Microsoft. Retrieved 27 September 2015.
  15. ^ Raji, Vijaye (19 August 2009). "Now available: Small Basic v0.6". Small Basic. MSDN Blogs. Microsoft. Retrieved 27 September 2015.
  16. ^ Raji, Vijaye (10 February 2010). "Small Basic v0.8". Small Basic. MSDN Blogs. Microsoft. Retrieved 27 September 2015.
  17. ^ Raji, Vijaye (11 June 2010). "Small Basic V0.9 is here!". Small Basic. MSDN Blogs. Microsoft. Retrieved 27 September 2015.
  18. ^ Aldana, Sandra (17 November 2010). "Small Basic V0.91 is more international than ever!". Small Basic. MSDN Blogs. Microsoft. Retrieved 27 September 2015.
  19. ^ Aldana, Sandra (8 February 2011). "Small Basic v0.95 speaks another language!". Small Basic. MSDN Blogs. Microsoft. Retrieved 27 September 2015.
  20. ^ a b Aldana, Sandra (12 July 2011). "Small Basic 1.0 is here!". Small Basic. MSDN Blogs. Microsoft. Retrieved 27 September 2015.
  21. ^ a b Price, Ed (27 March 2015). "Small Basic 1.1 is here!". Small Basic. MSDN Blogs. Microsoft. Retrieved 27 September 2015.
  22. ^ Price, Ed (29 April 2014). "Small Basic Curriculum". TechNet. Microsoft. Retrieved 9 February 2014.
  23. ^ Price, Ed; Takahashi, Nonki (25 February 2014). "Small Basic Getting Started Guide". TechNet. Microsoft. Retrieved 12 February 2015.
  24. ^ "Announcing Small Basic Online 1.0 – Public Preview". 20 February 2019.
  25. ^ "TechNet Wiki". 17 January 2024.
  26. ^ "System Requirements Kinect for Small Basic". ininet.org.
  27. ^ Protalinski, Emil (17 November 2008). "Yet another programming language from Microsoft: Small Basic". Ars Technica.

Further reading

[edit]
[edit]

Source: Wikipedia. Article content is retrieved live through the MediaWiki API.

No preview image
Wikipedia

Microsoft Small Basic

Microsoft Small Basic is a programming language, interpreter and associated IDE. Microsoft's simplified variant of BASIC, it is designed to help students who have learnt visual programming languages such as Scratch learn text-based programming. The associated IDE provides a simplified programming environment with functionality such as syntax highlighting, intelligent code completion, and in-editor documentation access. The language has only 14 keywords.

MORE →
Wikipedia

Basic-256

Basic-256 is a project to learn the basics of computer programming. The project started in 2007 inspired by the article “Why Johnny can't code” by David Brin, which also inspired the creation of Microsoft Small Basic. Its main focus is to provide a simple and comprehensive environment for middle/high school students to learn the basics of computer programming. Basic-256 started as a simple version of BASIC: the code editor, text output window and graphics display window are all visible in the same screen. However, successive versions have added new features, namely: Files (Eof, Size) – Version 9.4d Mouse events – Version 9.4d Sprites handling – Version 0.9.6n Database functions – Version 0.9.6y Network – Version 0.9.6.31 Real Functions and Subroutines – Version 0.9.9.1 Maps (Dictionaries) – Version 2.0.0.1 Complete documentation is available in English, Russian, Dutch, Spanish and Portuguese.

MORE →
No preview image
Wikipedia

Microsoft BASIC

Microsoft BASIC is the foundation software product of the Microsoft company and evolved into a line of BASIC interpreters and compiler(s) adapted for many different microcomputers. It first appeared in 1975 as Altair BASIC, which was the first version of BASIC published by Microsoft as well as the first high-level programming language available for the Altair 8800 microcomputer. During the home computer craze of the late-1970s and early-1980s, Microsoft BASIC was ported to and supplied with many home computer designs. Slight variations to add support for machine-specific functions, especially graphics, led to a profusion of related designs like Commodore BASIC and Atari Microsoft BASIC. As the early home computers gave way to newer designs like the IBM Personal Computer and Macintosh, BASIC was no longer as widely used, although it retained a strong following. The release of Visual Basic rebooted its popularity and it remains in wide use on Microsoft Windows platforms in its most recent incarnation, Visual Basic .NET.

MORE →
Wikipedia

BASIC

BASIC (Beginner's All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College in 1964. They wanted to enable students in non-scientific fields to use computers. At the time, nearly all computers required writing custom software, which only scientists and mathematicians tended to learn. In addition to the programming language, Kemeny and Kurtz developed the Dartmouth Time-Sharing System (DTSS), which allowed multiple users to edit and run BASIC programs simultaneously on remote terminals. This general model became popular on minicomputer systems like the PDP-11 and Data General Nova in the late 1960s and early 1970s. Hewlett-Packard produced an entire computer line for this method of operation, introducing the HP2000 series in the late 1960s and continuing sales into the 1980s. Many early video games trace their history to one of these versions of BASIC. The emergence of microcomputers in the mid-1970s led to the development of multiple BASIC dialects, including Microsoft BASIC in 1975. Due to the tiny main memory available on these machines, often 4 KB, a variety of Tiny BASIC dialects were also created. BASIC was available for almost any system of the era and became the de facto programming language for home computer systems that emerged in the late 1970s. These PCs almost always had a BASIC interpreter installed by default, often in the machine's firmware or sometimes on a ROM cartridge. BASIC declined in popularity in the 1990s, as more powerful microcomputers came to market and programming languages with advanced features (such as Pascal and C) became tenable on such computers. By then, most nontechnical personal computer users relied on pre-written applications rather than writing their own programs. In 1991, Microsoft released Visual Basic, combining an updated version of BASIC with a visual forms builder. This reignited use of the language and "VB" remains a major programming language in the form of VB.NET, while a hobbyist scene for BASIC more broadly continues to exist.

MORE →
TOPIC OF THE DAY

Greenwood / Black Wall Street

Before the 1921 destruction of Tulsa’s Greenwood District, Black residents had created a remarkable center of business and community life. The district included stores, professional offices, entertainment venues and homes owned by Black citizens. Understanding Greenwood means learning what was built—not only what was burned.

MORE →
TRIVIA QUESTION OF THE DAY

What prosperous Tulsa district became widely known as “Black Wall Street”?

The Greenwood District.