Free Programming Books

6 Excellent Free Books to Learn BASIC

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 GAMBASA 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.

Chapters include:

  • 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.

Read more


2. A Beginner’s Guide to FreeBasic by Richard D. Clark and Ebben Feagan

A Beginner’s Guide to FreeBasicFreeBASIC is a 32-bit BASIC compiler that outputs native code for Microsoft Windows, Linux and DOS via DJGPP.

Chapters include:

  • 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.

Read more


3. So You Want to Learn to Program? – Programming With BASIC-256 by James M. Reneau

So You Want to Learn to Program? – Programming With BASIC-256BASIC-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.

Chapters include:

  • 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.

Read more


Next page: Page 2 – Learning to Program with Visual Basic and .NET Gadgeteer and more books

Pages in this article:
Page 1 – A Beginner’s Guide to GAMBAS and more books
Page 2 – Learning to Program with Visual Basic and .NET Gadgeteer and more books


All books in this series:

Free Programming Books
JavaGeneral-purpose, concurrent, class-based, object-oriented, high-level language
CGeneral-purpose, procedural, portable, high-level language
PythonGeneral-purpose, structured, powerful language
C++General-purpose, portable, free-form, multi-paradigm language
C#Combines the power and flexibility of C++ with the simplicity of Visual Basic
JavaScriptInterpreted, prototype-based, scripting language
PHPPHP has been at the helm of the web for many years
HTMLHyperText Markup Language
SQLAccess and manipulate data held in a relational database management system
RubyGeneral purpose, scripting, structured, flexible, fully object-oriented language
AssemblyAs close to writing machine code without writing in pure hexadecimal
SwiftPowerful and intuitive general-purpose programming language
GroovyPowerful, optionally typed and dynamic language
GoCompiled, statically typed programming language
PascalImperative and procedural language designed in the late 1960s
PerlHigh-level, general-purpose, interpreted, scripting, dynamic language
RDe facto standard among statisticians and data analysts
COBOLCommon Business-Oriented Language
ScalaModern, object-functional, multi-paradigm, Java-based language
FortranThe first high-level language, using the first compiler
ScratchVisual programming language designed for 8-16 year-old children
LuaDesigned as an embeddable scripting language
LogoDialect of Lisp that features interactivity, modularity, extensibility
RustIdeal for systems, embedded, and other performance critical code
LispUnique features - excellent to study programming constructs
AdaALGOL-like programming language, extended from Pascal and other languages
HaskellStandardized, general-purpose, polymorphically, statically typed language
SchemeA general-purpose, functional language descended from Lisp and Algol
PrologA general purpose, declarative, logic programming language
ForthImperative stack-based programming language
ClojureDialect of the Lisp programming language
JuliaHigh-level, high-performance language for technical computing
AwkVersatile language designed for pattern scanning and processing language
CoffeeScriptTranscompiles into JavaScript inspired by Ruby, Python and Haskell
BASICBeginner’s All-purpose Symbolic Instruction Code
ErlangGeneral-purpose, concurrent, declarative, functional language
VimLPowerful scripting language of the Vim editor
OCamlThe main implementation of the Caml language
ECMAScriptBest known as the language embedded in web browsers
BashShell and command language; popular both as a shell and a scripting language
LaTeXProfessional document preparation system and document markup language
TeXMarkup and programming language - create professional quality typeset text
ArduinoInexpensive, flexible, open source microcontroller platform
TypeScriptStrict syntactical superset of JavaScript adding optional static typing
ElixirRelatively new functional language running on the Erlang virtual machine
F#Uses functional, imperative, and object-oriented programming methods
TclDynamic language based on concepts of Lisp, C, and Unix shells
FactorDynamic stack-based programming language
EiffelObject-oriented language designed by Bertrand Meyer
AgdaDependently typed functional language based on intuitionistic Type Theory
IconWide variety of features for processing and presenting symbolic data
XMLRules for defining semantic tags describing structure ad meaning
ValaObject-oriented language, syntactically similar to C#
Standard MLGeneral-purpose functional language characterized as "Lisp with types"
DGeneral-purpose systems programming language with a C-like syntax
DartClient-optimized language for fast apps on multiple platforms
MarkdownPlain text formatting syntax designed to be easy-to-read and easy-to-write
KotlinMore modern version of Java
Objective-CObject-oriented language that adds Smalltalk-style messaging to C
PureScriptSmall strongly, statically typed language compiling to JavaScript
ClojureScriptCompiler for Clojure that targets JavaScript
VHDLHardware description language used in electronic design automation
Share this article

Share your Thoughts

This site uses Akismet to reduce spam. Learn how your comment data is processed.