Last Updated on May 22, 2022
BASIC (Beginner’s All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages whose design philosophy emphasizes ease of use. In 1964, John G. Kemeny and Thomas E. Kurtz designed the original BASIC language at Dartmouth College. They wanted to enable students in fields other than science and mathematics to use computers. At the time, nearly all use of computers required writing custom software, which was something only scientists and mathematicians tended to learn.
The advent of the personal computer was crucial to the success of BASIC. The language was designed for hobbyists, and as personal computers became more accessible to this audience, books of BASIC programs and BASIC games surged in popularity.
BASIC is generally not regarded as the easiest way to take the first steps in learning the art of programming. But it does not hinder beginners from learning how to program, or teach them bad habits. And it’s the highest low-level language. Even today, there remains value in learning BASIC.
1. A Beginner’s Guide to GAMBAS by John W. Rittinghouse, Jon Nicholson
A Beginner’s Guide to Gambas introduces the Linux-based programming language to developers of any skill level.
Gambas is the name of an object-oriented dialect of the BASIC programming language, as well as the integrated development environment that accompanies it. Designed to run on Linux and other Unix-like computer operating systems, its name is a recursive acronym for Gambas Almost Means Basic.
Intended for the Gambas novice, this book quickly introduces all of the major features of Gambas in a step-by-step manner with easy to follow sample programs and clearly written code.
- Introducing Gambas.
- Gambas Language Concepts.
- Keywords and Program Flow Control.
- Introducing the Gambas ToolBox.
- Controls for Gathering Input.
- Menus, Modules, Dialogs, and Message Boxes.
- Handling Strings and Converting Data-types.
- Using Advanced Controls.
- Working with Files.
- Math Operations.
- Object-Oriented Concepts.
- Learning to Draw.
- Error Management.
- Mouse, Keyboard and Bit Operations.
- Gambas and Databases.
- Global Gambas.
The book is published under the terms and conditions of the OpenContent License (OPL), Version 1.0.
2. A Beginner’s Guide to FreeBasic by Richard D. Clark and Ebben Feagan
FreeBASIC is a 32-bit BASIC compiler that outputs native code for Microsoft Windows, Linux and DOS via DJGPP.
- Numeric Data Types – coverage of the numeric data types that FreeBasic supports.
- Converting Numeric Data Types – implicit and explicit data conversion.
- Introduction to the C Runtime Library – covers the #include directive, the declaration statement, runtime conversion functions, and more.
- Arithmetic Operators – brief coverage of the arithmetic operators in FreeBasic.
- Bitwise Operators – NOT, AND, OR, XOR, EQV and IMP operators, as well as information on the shortcut bitwise operators, the SHL and SHR operators, and ending with bitwise macros.
- Mathematical functions- coverage of the supported mathematical functions including trigonometric functions, logarithms, and the C runtime library math constants and functions.
- Pointer Data Type covers pointers and memory, typed and untyped pointers, pointer operators, memory functions, and more.
- String Data Types – examines dynamic strings, fixed length strings, zstrings, wstrings, string functions, and more.
- Composite Data Types – types, type initialization,and unions are given coverage.
- Symbolic Constants – covers #define as a constant, the const keyword, const verses #define.
- Arrays – the chapter starts by covering one, two, and multi-dimensional arrays before going on to cover dynamic arrays, array functions, arrays of types, arrays in types, array initialization and more.
- Date and Time Functions – both intrinsic and extended data and time functions are covered.
- The Format Function – looks at string format characters, numeric format characters, date format characters, and time format characters.
- Console Programming – the console screen, the console functions, console colors, positioning text, printing text and more.
- Control Structures – includes the IF statement block, the IIF function, and the Select Case Statement Block.
The book is published under the GNU Free Documentation License, Version 1.2 or later.
3. So You Want to Learn to Program? – Programming With BASIC-256 by James M. Reneau
BASIC-256 is an easy to use version of BASIC designed to teach anybody (especially middle and high-school students) the basics of computer programming.
It uses traditional control structures like gosub, for/next, and goto, which helps kids easily see how program flow-control works. It has a built-in graphics mode which lets them draw pictures on screen in minutes, and a set of detailed, easy-to-follow tutorials that introduce programming concepts through fun exercises.
- Meeting BASIC-256 – Say Hello.
- Drawing Basic Shapes.
- Sound and Music.
- Thinking Like a Programmer.
- Your Program Asks for Advice.
- Decisions, Decisions, Decisions.
- Looping and Counting – Do it Again and Again.
- Custom Graphics – Creating Your Own Shapes.
- Subroutines – Reusing Code.
- Mouse Control – Moving Things Around.
- Keyboard Control – Using the Keyboard to Do Things.
- Images, WAVs, and Sprites.
- Arrays – Collections of Information.
- Mathematics – More Fun With Numbers.
- Working with Strings.
- Files – Storing Information For Later.
- Stacks, Queues, Lists, and Sorting.
- Runtime Error Trapping.
- Database Programming.
- Connecting with a Network.
This book is released under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License.
All books in this series:
|Free Programming Books|
|Ada||ALGOL-like programming language, extended from Pascal and other languages|
|Agda||Dependently typed functional language based on intuitionistic Type Theory|
|Arduino||Inexpensive, flexible, open source microcontroller platform|
|Assembly||As close to writing machine code without writing in pure hexadecimal|
|Awk||Versatile language designed for pattern scanning and processing language|
|Bash||Shell and command language; popular both as a shell and a scripting language|
|BASIC||Beginner’s All-purpose Symbolic Instruction Code|
|C||General-purpose, procedural, portable, high-level language|
|C++||General-purpose, portable, free-form, multi-paradigm language|
|C#||Combines the power and flexibility of C++ with the simplicity of Visual Basic|
|Clojure||Dialect of the Lisp programming language|
|COBOL||Common Business-Oriented Language|
|Coq||Dependently typed language similar to Agda, Idris, F* and others|
|Crystal||General-purpose, concurrent, multi-paradigm, object-oriented language|
|CSS||CSS (Cascading Style Sheets) specifies a web page’s appearance|
|D||General-purpose systems programming language with a C-like syntax|
|Dart||Client-optimized language for fast apps on multiple platforms|
|Dylan||Multi-paradigm language supporting functional and object-oriented coding|
|ECMAScript||Best known as the language embedded in web browsers|
|Eiffel||Object-oriented language designed by Bertrand Meyer|
|Elixir||Relatively new functional language running on the Erlang virtual machine|
|Erlang||General-purpose, concurrent, declarative, functional language|
|F#||Uses functional, imperative, and object-oriented programming methods|
|Factor||Dynamic stack-based programming language|
|Forth||Imperative stack-based programming language|
|Fortran||The first high-level language, using the first compiler|
|Go||Compiled, statically typed programming language|
|Groovy||Powerful, optionally typed and dynamic language|
|Haskell||Standardized, general-purpose, polymorphically, statically typed language|
|HTML||HyperText Markup Language|
|Icon||Wide variety of features for processing and presenting symbolic data|
|J||Array programming language based primarily on APL|
|Java||General-purpose, concurrent, class-based, object-oriented, high-level language|
|Julia||High-level, high-performance language for technical computing|
|Kotlin||More modern version of Java|
|LabVIEW||Designed to enable domain experts to build power systems quickly|
|LaTeX||Professional document preparation system and document markup language|
|Lisp||Unique features - excellent to study programming constructs|
|Logo||Dialect of Lisp that features interactivity, modularity, extensibility|
|Lua||Designed as an embeddable scripting language|
|Markdown||Plain text formatting syntax designed to be easy-to-read and easy-to-write|
|Objective-C||Object-oriented language that adds Smalltalk-style messaging to C|
|OCaml||The main implementation of the Caml language|
|Pascal||Imperative and procedural language designed in the late 1960s|
|Perl||High-level, general-purpose, interpreted, scripting, dynamic language|
|PHP||PHP has been at the helm of the web for many years|
|PostScript||Interpreted, stack-based and Turing complete language|
|Prolog||A general purpose, declarative, logic programming language|
|Python||General-purpose, structured, powerful language|
|QML||Hierarchical declarative language for user interface layout - JSON-like syntax|
|R||De facto standard among statisticians and data analysts|
|Racket||General-purpose, object-oriented, multi-paradigm, functional language|
|Raku||Member of the Perl family of programming languages|
|Ruby||General purpose, scripting, structured, flexible, fully object-oriented language|
|Rust||Ideal for systems, embedded, and other performance critical code|
|Scala||Modern, object-functional, multi-paradigm, Java-based language|
|Scheme||A general-purpose, functional language descended from Lisp and Algol|
|Scratch||Visual programming language designed for 8-16 year-old children|
|SQL||Access and manipulate data held in a relational database management system|
|Standard ML||General-purpose functional language characterized as "Lisp with types"|
|Swift||Powerful and intuitive general-purpose programming language|
|Tcl||Dynamic language based on concepts of Lisp, C, and Unix shells|
|TeX||Markup and programming language - create professional quality typeset text|
|Vala||Object-oriented language, syntactically similar to C#|
|VHDL||Hardware description language used in electronic design automation|
|VimL||Powerful scripting language of the Vim editor|
|XML||Rules for defining semantic tags describing structure ad meaning|