Domain-specific languageA domain-specific language (DSL) is a computer language specialized to a particular application domain. This is in contrast to a general-purpose language (GPL), which is broadly applicable across domains. There are a wide variety of DSLs, ranging from widely used languages for common domains, such as HTML for web pages, down to languages used by only one or a few pieces of software, such as MUSH soft code.
Tunneling protocolIn computer networks, a tunneling protocol is a communication protocol which allows for the movement of data from one network to another. It involves allowing private network communications to be sent across a public network (such as the Internet) through a process called encapsulation. Because tunneling involves repackaging the traffic data into a different form, perhaps with encryption as standard, it can hide the nature of the traffic that is run through a tunnel.
Logical clockA logical clock is a mechanism for capturing chronological and causal relationships in a distributed system. Often, distributed systems may have no physically synchronous global clock. In many applications (such as distributed GNU make), if two processes never interact, the lack of synchronization is unobservable and in these applications it is enough for the processes to agree on the event ordering (i.e., logical clock) rather than the wall-clock time.
Indigenous languageAn indigenous language, or autochthonous language, is a language that is native to a region and spoken by indigenous peoples. This language is from a linguistically distinct community that originated in the area. Indigenous languages are not necessarily national languages but they can be; for example, Aymara is an official language of Bolivia. Also, national languages are not necessarily indigenous to the country.
Fourth-generation programming languageA fourth-generation programming language (4GL) is any computer programming language that belongs to a class of languages envisioned as an advancement upon third-generation programming languages (3GL). Each of the programming language generations aims to provide a higher level of abstraction of the internal computer hardware details, making the language more programmer-friendly, powerful, and versatile. While the definition of 4GL has changed over time, it can be typified by operating more with large collections of information at once rather than focusing on just bits and bytes.
Code reuseIn software development (and computer programming in general), code reuse, also called software reuse, is the use of existing software, or software knowledge, to build new software, following the reusability principles. Code reuse may be achieved by different ways depending on a complexity of a programming language chosen and range from a lower-level approaches like code copy-pasting (e.g. via snippets), simple functions (procedures or subroutines) or a bunch of objects or functions organized into modules (e.
Philosophical languageA philosophical language is any constructed language that is constructed from first principles. It is considered a type of engineered language. Philosophical languages were popular in Early Modern times, partly motivated by the goal of revising normal language for philosophical (i.e. scientific) purposes. The term ideal language is sometimes used near-synonymously, though more modern philosophical languages such as Toki Pona are less likely to involve such an exalted claim of perfection.
Artistic languageAn artistic language, or artlang, is a constructed language designed for aesthetic and phonetic pleasure. Language can be artistic to the extent that artists use it as a source of creativity in art, poetry, calligraphy or as a metaphor to address themes such as cultural diversity and the vulnerability of the individual in a globalizing world. Unlike engineered languages or auxiliary languages, artistic languages often have irregular grammar systems, much like natural languages.
Arbitrary code executionIn computer security, arbitrary code execution (ACE) is an attacker's ability to run any commands or code of the attacker's choice on a target machine or in a target process. An arbitrary code execution vulnerability is a security flaw in software or hardware allowing arbitrary code execution. A program that is designed to exploit such a vulnerability is called an arbitrary code execution exploit. The ability to trigger arbitrary code execution over a network (especially via a wide-area network such as the Internet) is often referred to as remote code execution (RCE).
ReusabilityIn computer science and software engineering, reusability is the use of existing assets in some form within the software product development process; these assets are products and by-products of the software development life cycle and include code, software components, test suites, designs and documentation. The opposite concept of reusability is leverage, which modifies existing assets as needed to meet specific system requirements. Because reuse implies the creation of a , it is preferred over leverage.