BASIC (an acronym for Beginner's All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages whose design philosophy emphasizes ease of use.
Since the mid-1970's versions of BASIC was the most popular or in many cases, the only programming language available on microcomputers. Like today when you buy a computer, the OS is slightly different, or an OEM version.
BASIC was developed at Dartmouth College in 1964, and it is said to be based on or influenced by ALGOL 60, FORTRAN II, and JOSS.
(JOSS is the acronym of JOHNNIAC Open Shop System and was one of the very first interactive, time-sharing programming languages. JOSS I, developed by J. Clifford Shaw at RAND was first implemented in 1963.)
BASIC was the same way. Each computer shipped with a BASIC often in the machine's firmware.
BASIC allowed business owners, hobbyists, consultants and professionals the ability to develop custom software solutions at a price most consumers could afford.
Today, BASIC remains popular in many computing dialects and in new languages influenced by BASIC, such as Microsoft's Visual Basic.
The major implementation of BASIC are:
Dartmouth BASIC, Apple BASIC, Atari BASIC, Sinclair BASIC, Commodore BASIC, BBC BASIC, TI-BASIC, Casio BASIC, Microsoft BASIC, Liberty BASIC, Visual Basic, FreeBASIC, PowerBASIC, and Gambas.
And you can find BASIC dialects only available on iOS mobile devices, such as SmartBASIC and techBASIC, where you can, without the need for an Internet connection write, debug and test your code on the very device you are programming for.
When asking questions about BASIC code, since each dialect has unique features, such as SpriteBASIC (new as of Jan 2017) is a game engine design language, where techBASIC is geared towards IoT programming. SmartBASIC is great for file processing and graphical interfaces, and is very well suited for writing games.
This and countless other dialects means that syntax of even what was once standard (in what we call Vintage BASIC, which should have its own tag), will not work in other dialects. Portability of code is often difficult.
So it is important to those reviewing your code to know what you wrote it in. And while some code is generic enough where it may run in other dialects, one should not assume that is the case. Let those who answer the question try and see if they can get it to work.
Those answering a question where there are more than 100 dialects of BASIC for Windows and Macs, can convert the code to work in their dialect, but when giving the answer, must reveal that, then give a detailed description of what the OP needs to solve their problem.
Just don't assume the code is broken because it does not run in your dialect of BASIC.
For more information on BASIC, here are some important links:
NOTE: For the free book site, only the older editions are free, and every page has a watermark. This may affect some people's enjoyment in reading their books.