Lightweight programming languages are designed to have small memory footprint, are easy to implement (important when porting a language to different computer systems), and/or have minimalist syntax and features. These programming languages have simple syntax and semantics, so one can learn them quickly and easily. Some lightweight languages (for example Lisp, Forth, and Tcl) are so simple to implement that they have many implementations (dialects). Compiled languages BASIC BASIC implementations like Tiny BASIC were designed to be lightweight so that they could run on the microcomputers of the 1980s, because of memory constraints. Forth Forth is a stack-based concatenative imperative programming language using reverse polish notation. Toy languages Brainfuck Brainfuck is an extremely minimalist esoteric programming language. Scripting languages Io Io is a prototype-based object-oriented scripting language. Lisp Lisp-like languages are very simple to implement, so there are many lightweight implementations of it. There are some notable implementations: newLISP PicoLisp uLisp Derivatives of Lisp: Pico Rebol Red Scheme Tcl Tcl-like languages can be easily implemented because of its simple syntax. Tcl itself maybe not so lightweight, but there exists some, if not many, lightweight implementations of languages which have Tcl-like syntax. Embedded languages ECMAScript There are many embeddable implementation of ECMAScript like: Duktape Espruino JerryScript jsish MuJS QuickJS Derivatives of ECMAScript: Squirrel Lua Lua is a small (C source is approx. 300 kB tarball, as of version 5.3.5), portable and embeddable scripting language (with LuaJIT as a JIT compiler improving speed). It can be embedded in applications such as computer games to provide runtime scripting capabilities. Wren Wren is a small, fast, object-oriented scripting language. References See also Lightweight markup language Lightweight software Computer programming