Lightweight programming languages areprogramming languages designed to have smallmemory footprint, are easy to implement (important whenporting a language to different computer systems), and/or haveminimalist syntax and features.[1]
Theseprogramming languages have simple syntax and semantics, so one can learn them quickly and easily. Some lightweight languages (for exampleLisp,Forth, andTcl) are so simple to implement that they have many implementations (dialects).[2]
BASIC implementations likeTiny BASIC were designed to be lightweight so that they could run on themicrocomputers of the 1980s, because of memory constraints.
Forth is a stack-based concatenative imperative programming language usingreverse Polish notation.
FALSE is anesoteric programming language, with a complete implementation done in 1024 bytes.
Brainfuck is an extremely minimalist esoteric programming language.
FlipJump is a minimalisticone-instruction set computer.[3]
Io is a prototype-based object-orientedscripting language.
Lisp-like languages are very simple to implement, so there are many lightweight implementations of it.
There are some notable implementations:
Derivatives of Lisp:
Tcl-like languages can be easily implemented because of its simple syntax. While Tcl itself is not lightweight, there are some lightweight implementations of languages with similar syntax.[4][5][6]
There are many embeddable implementation ofECMAScript like:
Derivatives of ECMAScript:
Lua is a small (C source is approx. 300 kBtarball, as of version 5.3.5), portable and embeddable scripting language (withLuaJIT as a JIT compiler improving speed). It can be embedded in applications such ascomputer games to provide runtime scripting capabilities.[7]
Wren is a small, fast, object-oriented scripting language.[8]