Lightweight Programming Language
Lightweight programming languages are programming languages 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 FALSEFALSE is a minimalist [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Computer Programming
Computer programming or coding is the composition of sequences of instructions, called computer program, programs, that computers can follow to perform tasks. It involves designing and implementing algorithms, step-by-step specifications of procedures, by writing source code, code in one or more programming languages. Programmers typically use high-level programming languages that are more easily intelligible to humans than machine code, which is directly executed by the central processing unit. Proficient programming usually requires expertise in several different subjects, including knowledge of the Domain (software engineering), application domain, details of programming languages and generic code library (computing), libraries, specialized algorithms, and Logic#Formal logic, formal logic. Auxiliary tasks accompanying and related to programming include Requirements analysis, analyzing requirements, Software testing, testing, debugging (investigating and fixing problems), imple ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
NewLISP
newLISP is a scripting language, a dialect of the Lisp family of programming languages. It was designed and developed by Lutz Mueller. Because of its small resource requirements, newLISP is excellent for embedded systems applications. Most of the functions you will ever need are already built in. This includes networking functions, support for distributed and multicore processing, and Bayesian statistics. newLISP is free and open-source software released under the GNU General Public License, version 3 or later. History newLISP design is influenced by the two main Lisp dialects, Common Lisp and Scheme, and by other languages like Pascal and C. newLISP originated in 1991 and was originally developed on a Sun-4 workstation. It later moved to Windows 3.0, where version 1.3 was released on CompuServe around 1993, then became available as a Windows graphical user interface (GUI) graphics-capable application and a DOS console application (both 16-bit). In 1995, with the release o ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Lua (programming Language)
Lua is a lightweight, high-level, multi-paradigm programming language designed mainly for embedded use in applications. Lua is cross-platform software, since the interpreter of compiled bytecode is written in ANSI C, and Lua has a relatively simple C application programming interface ( API) to embed it into applications. Lua originated in 1993 as a language for extending software applications to meet the increasing demand for customization at the time. It provided the basic facilities of most procedural programming languages, but more complicated or domain-specific features were not included; rather, it included mechanisms for extending the language, allowing programmers to implement such features. As Lua was intended to be a general embeddable extension language, the designers of Lua focused on improving its speed, portability, extensibility and ease-of-use in development. History Lua was created in 1993 by Roberto Ierusalimschy, Luiz Henrique de Figueiredo and Wa ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Squirrel (programming Language)
Squirrel is a high level imperative, object-oriented programming language, designed to be a lightweight scripting language that fits in the size, memory bandwidth, and real-time requirements of applications like video games. MirthKit, a simple toolkit for making and distributing open source, cross-platform 2D games, uses Squirrel for its platform. It is used extensively by Code::Blocks for scripting and was also used in '' Final Fantasy Crystal Chronicles: My Life as a King''. It is also used in '' Left 4 Dead 2'', '' Portal 2'' and '' Thimbleweed Park'' for scripted events and in NewDark, an unofficial '' Thief 2: The Metal Age'' engine update, to facilitate additional, simplified means of scripting mission events, aside of the regular C scripting. Language features * Dynamic typing * Delegation * Classes, inheritance * Higher order functions * Generators *Cooperative threads ( coroutines) * Tail recursion * Exception handling *Automatic memory management (mainly referenc ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Boa (JavaScript Engine)
Boa is an open-source JavaScript engine written in Rust. Boa was introduced at JSConf EU 2019 by Jason Williams. Williams created Boa in 2017 after working on Servo and being inspired by the "written from scratch" CSS engine. He was eager to work on a JavaScript engine using Rust to learn more about how JavaScript implementations work, since then the project has had over 100 contributors. Overtime the engine gained more prominent features such as bytecode compilation, better conformance to the specification and ergonomic API design. Design Boa is an open-source implementation of a JavaScript execution engine. The project is developed as a Rust library for embedding the JavaScript engine in Rust applications. Additionally, the authors of Boa provide a command-line interface (CLI) for users to interact with Boa as standalone JavaScript interpreter accessible from a command line. Boa follows the common interpreter design which approximately consists of a lexer, parser, compiler ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
QuickJS
The first engines for JavaScript were mere interpreters of the source code, but all relevant modern engines use just-in-time compilation for improved performance. JavaScript engines are typically developed by web browser vendors, and every major browser has one. In a browser, the JavaScript engine runs in concert with the rendering engine via the Document Object Model and Web IDL bindings. However, the use of JavaScript engines is not limited to browsers; for example, the V8 engine is a core component of the Node.js runtime system. They are also called ECMAScript engines, after the official name of the specification. With the advent of WebAssembly, some engines can also execute this code in the same sandbox as regular JavaScript code. History The first JavaScript engine was created by Brendan Eich in 1995 for the Netscape Navigator web browser. It was a rudimentary interpreter for the nascent language Eich invented. (This evolved into the SpiderMonkey engine, still used by the F ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
JerryScript
JerryScript is an ultra-lightweight JavaScript engine for the Internet of things. It is capable of executing ECMAScript 5.1 source code on devices with less than 64 KB of memory. The engine was open sourced on GitHub in June 2015. JerryScript is licensed under the Apache License 2.0. In October 2016 the JS Foundation was formed and JerryScript is one of the initial projects. Key characteristics of JerryScript * Full ECMAScript 5.1 standard compliance * 170K binary size when compiled for ARM Thumb-2 * Heavily optimized for low memory consumption * Written in C99 for maximum portability * Snapshot support for precompiling JavaScript source code to byte code * Mature C API An application programming interface (API) is a connection between computers or between computer programs. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build ..., easy to embed in applications ** Projects such as Io ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Espruino
Espruino is an open-source JavaScript interpreter for single-board microcontrollers. It is designed for devices with small amounts of RAM (as low as 8 kiB). Espruino implements a large amount of the ECMAScript ES5 spec with parts of the ES6 spec where it is useful in an embedded environment. Overview Espruino was created by Gordon Williams in 2012 as an attempt to make microcontroller development truly multiplatform. Though initially not open-source, the Espruino firmware was offered as a free download for STM32 microcontrollers. It was made open-source in 2013 after a successful Kickstarter campaign for a development board running the software. Since the original Espruino board, there have been a number of new official development boards including the small USB thumb-drive-sized Espruino Pico, the Wifi-equipped Espruino WiFi, the Puck.js with built-in Bluetooth and the Pixl.js with a built-in LCD display and Arduino shield compatibility. Espruino is the operating system used ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
ECMAScript
ECMAScript (; ES) is a standard for scripting languages, including JavaScript, JScript, and ActionScript. It is best known as a JavaScript standard intended to ensure the interoperability of web pages across different web browsers. It is standardized by Ecma International in the documenECMA-262 ECMAScript is commonly used for client-side scripting on the World Wide Web, and it is increasingly being used for server-side applications and services using runtime environments such as Node.js, Deno and Bun. ECMAScript, ECMA-262, JavaScript ECMA-262, or the ''ECMAScript Language Specification'', defines the ''ECMAScript Language'', or just ECMAScript. ECMA-262 specifies only language syntax and the semantics of the core application programming interface ( API), such as , , and , while valid implementations of JavaScript add their own functionality such as input/output and file system handling. History The ECMAScript specification is a standardized specification of a script ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Ring (programming Language)
Ring is a dynamic programming language, dynamically typed, general-purpose programming language. It can be embedded in C/C++ projects, extended using C/C++ code or used as a standalone language. The supported programming paradigms are Imperative programming, imperative, Procedural programming, procedural, Object-oriented programming, object-oriented, Functional programming, functional, Metaprogramming, meta, Declarative programming, declarative using nested structures, and Natural-language programming, natural programming. The language is portable (Windows, Linux, macOS, Android (operating system), Android, WebAssembly, etc.) and can be used to create Console application, console, Graphical user interface, GUI, Web application, web, PC game, game and mobile applications. History In 2009, Mahmoud Samir Fayed created a minor domain-specific language called Supernova that focuses on User interface, User interface (UI) creation and uses some ideas related to Natural-language programmi ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Scheme (programming Language)
Scheme is a dialect of the Lisp family of programming languages. Scheme was created during the 1970s at the MIT Computer Science and Artificial Intelligence Laboratory (MIT CSAIL) and released by its developers, Guy L. Steele and Gerald Jay Sussman, via a series of memos now known as the Lambda Papers. It was the first dialect of Lisp to choose lexical scope and the first to require implementations to perform tail-call optimization, giving stronger support for functional programming and associated techniques such as recursive algorithms. It was also one of the first programming languages to support first-class continuations. It had a significant influence on the effort that led to the development of Common Lisp.Common LISP: The Language, 2nd Ed., Guy L. Steele Jr. Digital Press; 1981. . "Common Lisp is a new dialect of Lisp, a successor to MacLisp, influenced strongly by ZetaLisp and to some extent by Scheme and InterLisp." The Scheme language is standardized in the offic ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Red (programming Language)
Red is a programming language designed to overcome the limitations of the programming language Rebol. Red was introduced in 2011 by Nenad Rakočević, and is both an imperative programming, imperative and functional programming language. Its syntax and general usage overlaps that of the interpreted Rebol language. The implementation choices of Red intend to create a Solution stack, full stack programming language: Red can be used for extremely high-level programming (Domain-specific language, DSLs and Graphical user interface, GUIs) as well as low-level programming (operating systems and device drivers). Key to the approach is that the language has two parts: ''Red/System'' and ''Red''. * ''Red/System'' is similar to C, but packaged into a Rebol lexical structure for example, one would write instead of . * ''Red'' is a homoiconicity, homoiconic language, which is capable of meta-programming with Rebol-like semantics. Red's runtime library is written in Red/System, and uses a hyb ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |