Lightweight programming language
A lightweight programming language is one that is designed to have very small memory footprint, is easy to implement (important when porting a language to different systems), and/or has minimalist syntax and features.[1]
These programming languages have simple syntax and semantics, so they could be learnt easily and in little time. Some of them (like Lisp, Forth, Tcl) are so simple to implement that they have many implementations ("dialects"). [2]
Examples
BASIC
BASIC implementations like Tiny BASIC were designed to be lightweight so that these could run on microcomputers of the 80s, because of memory constraints.
Brainfuck
Brainfuck is an extremely minimalist esoteric programming language.
Forth
Forth is a stack-based concatenative imperative programming language using reverse polish notation.
Io
Io is a prototype-based object-oriented scripting language.
ECMAScript
There are many embeddable implementation of ECMAScript like:
- Duktape
- jsish
- Espruino
- MuJS
- JerryScript
- QuickJS
Lisp
Lisp-like languages are very simple to implement. So, there are many lightweight implementations of it.
Here are some notable implementations:
Lua
Lua is a small (C source is approx. 300kB tarball, as of version 5.3.5), simple, fast, portable and embeddable scripting language (with LuaJIT as a JIT compiler making it very fast). It can be embedded in many applications, like games, to provide runtime scripting capabilities. [3]
Rebol
Red
Squirrel
Wren
Wren is a small, fast, object-oriented scripting language. [4]
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. [5] [6] [7]