A "Hello, World!" program is a computer program that outputs or displays "Hello, World!" to a user.
ACM Queue is a bimonthly computer magazine founded and published by the Association for Computing Machinery (ACM).
An acronym is a word or name formed as an abbreviation from the initial components in a phrase or a word, usually individual letters (as in NATO or laser) and sometimes syllables (as in Benelux).
Ada is a structured, statically typed, imperative, and object-oriented high-level computer programming language, extended from Pascal and other languages.
Android is a mobile operating system developed by Google, based on a modified version of the Linux kernel and other open source software and designed primarily for touchscreen mobile devices such as smartphones and tablets.
In computer programming, an anonymous function (function literal, lambda abstraction, or lambda expression) is a function definition that is not bound to an identifier.
ANSI C, ISO C and Standard C refer to the successive standards for the C programming language published by the American National Standards Institute (ANSI) and the International Organization for Standardization (ISO).
In computer programming, an application programming interface (API) is a set of subroutine definitions, protocols, and tools for building software.
An application software (app or application for short) is a computer software designed to perform a group of coordinated functions, tasks, or activities for the benefit of the user.
Apress Media LLC is a publisher of information technology books, based in New York City.
In computer science, an array data structure, or simply an array, is a data structure consisting of a collection of elements (values or variables), each identified by at least one array index or key.
Language support for array types may include certain built-in array data types, some syntactic constructions (array type constructors) that the programmer may use to define such types and declare array variables, and special notation for indexing array elements.
The Association for Computing Machinery (ACM) is an international learned society for computing.
In computer science, an associative array, map, symbol table, or dictionary is an abstract data type composed of a collection of (key, value) pairs, such that each possible key appears at most once in the collection.
AWK is a programming language designed for text processing and typically used as a data extraction and reporting tool.
In computer science, the Boolean data type is a data type that has one of two possible values (usually denoted true and false), intended to represent the two truth values of logic and Boolean algebra.
Brazil (Brasil), officially the Federative Republic of Brazil (República Federativa do Brasil), is the largest country in both South America and Latin America.
BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and redistribution of covered software.
Bytecode, also termed portable code or p-code, is a form of instruction set designed for efficient execution by a software interpreter.
C (as in the letter ''c'') is a general-purpose, imperative computer programming language, supporting structured programming, lexical variable scope and recursion, while a static type system prevents many unintended operations.
C++ ("see plus plus") is a general-purpose programming language.
In object-oriented programming, a class is an extensible program-code-template for creating objects, providing initial values for state (member variables) and implementations of behavior (member functions or methods).
In programming languages, a closure (also lexical closure or function closure) is a technique for implementing lexically scoped name binding in a language with first-class functions.
CLU is a programming language created at the Massachusetts Institute of Technology (MIT) by Barbara Liskov and her students between 1974 and 1975.
In computer programming, a comment is a programmer-readable explanation or annotation in the source code of a computer program.
Programming languages are used for controlling the behavior of a machine (often a computer).
A compiler is computer software that transforms computer code written in one programming language (the source language) into another programming language (the target language).
In computer science, a composite data type or compound data type is any data type which can be constructed in a program using the programming language's primitive data types and other composite types.
Computerworld is a publication website and digital magazine for information technology (IT) and business technology professionals.
In computer science, control flow (or flow of control) is the order in which individual statements, instructions or function calls of an imperative program are executed or evaluated.
Coroutines are computer-program components that generalize subroutines for non-preemptive multitasking, by allowing multiple entry points for suspending and resuming execution at certain locations.
The Comprehensive Perl Archive Network (CPAN) is a repository of over 250,000 software modules and accompanying documentation for 39,000 distributions, written in the Perl programming language by over 12,000 contributors.
In computing, cross-platform software (also multi-platform software or platform-independent software) is computer software that is implemented on multiple computing platforms.
Dalvik is a discontinued process virtual machine (VM) in Google's Android operating system (while its bytecode format is still used as a distribution format, but no longer at runtime in newer Android) that executes applications written for Android.
In most computer programming languages, a do while loop is a control flow statement that executes a block of code at least once, and then repeatedly executes the block, or not, depending on a given boolean condition at the end of the block.
A domain-specific language (DSL) is a computer language specialized to a particular application domain.
In computer programming, duck typing is an application of the duck test in type safety.
Dynamic loading is a mechanism by which a computer program can, at run time, load a library (or other binary) into memory, retrieve the addresses of functions and variables contained in the library, execute those functions or access those variables, and unload the library from memory.
Dynamic programming is both a mathematical optimization method and a computer programming method.
Eiffel is an object-oriented programming language designed by Bertrand Meyer (an object-orientation proponent and author of Object-Oriented Software Construction) and Eiffel Software.
In mathematics, physics, and engineering, a Euclidean vector (sometimes called a geometric or spatial vector, or—as here—simply a vector) is a geometric object that has magnitude (or length) and direction.
Evaluation strategies are used by programming languages to determine when to evaluate the argument(s) of a function call (for function, also read: operation, method, or relation) and what kind of value to pass to the function.
In mathematics, the factorial of a non-negative integer n, denoted by n!, is the product of all positive integers less than or equal to n. For example, The value of 0! is 1, according to the convention for an empty product.
In class-based programming, the factory method pattern is a creational pattern that uses factory methods to deal with the problem of creating objects without having to specify the exact class of the object that will be created.
Falcon is an open source, multi-paradigm programming language.
In mathematics, the Fibonacci numbers are the numbers in the following integer sequence, called the Fibonacci sequence, and characterized by the fact that every number after the first two is the sum of the two preceding ones: Often, especially in modern usage, the sequence is extended by one more initial term: By definition, the first two numbers in the Fibonacci sequence are either 1 and 1, or 0 and 1, depending on the chosen starting point of the sequence, and each subsequent number is the sum of the previous two.
In computer science, a programming language is said to have first-class functions if it treats functions as first-class citizens.
In computing, floating-point arithmetic is arithmetic using formulaic representation of real numbers as an approximation so as to support a trade-off between range and precision.
In computer science, a for-loop (or simply for loop) is a control flow statement for specifying iteration, which allows code to be executed repeatedly.
Foreign Affairs is an American magazine of international relations and U.S. foreign policy published by the Council on Foreign Relations, a nonprofit, nonpartisan, membership organization and think tank specializing in U.S. foreign policy and international affairs.
In computer science, functional programming is a programming paradigm—a style of building the structure and elements of computer programs—that treats computation as the evaluation of mathematical functions and avoids changing-state and mutable data.
Game Developer magazine was the premier publication for working (and aspiring) video game creators from 1994–2013, reaching over 35,000 industry professionals monthly.
GameDev.net is a website dedicated to game development, launched in June 1999 by Kevin Hawkins, Dave Astle, Michael Tanczos, John Munsch, and Don Thorp, among others.
GameMonkey Script is a small, cross-platform scripting language designed for embedding into games.
In computer science, garbage collection (GC) is a form of automatic memory management.
In computing, a hash table (hash map) is a data structure that implements an associative array abstract data type, a structure that can map keys to values.
Haskell is a standardized, general-purpose compiled purely functional programming language, with non-strict semantics and strong static typing.
The International Business Machines Corporation (IBM) is an American multinational technology company headquartered in Armonk, New York, United States, with operations in over 170 countries.
In computer science, imperative programming is a programming paradigm that uses statements that change a program's state.
In computer science, information hiding is the principle of segregation of the design decisions in a computer program that are most likely to change, thus protecting other parts of the program from extensive modification if the design decision is changed.
In object-oriented programming, inheritance is the mechanism of basing an object or class upon another object (prototypal inheritance) or class (class-based inheritance), retaining the same implementation.
An integer (from the Latin ''integer'' meaning "whole")Integer 's first literal meaning in Latin is "untouched", from in ("not") plus tangere ("to touch").
International Data Group, Inc. (IDG) is a Chinese-owned, American-based media, data and marketing services and venture capital organization.
An interpreted language is a type of programming language for which most of its implementations execute instructions directly and freely, without previously compiling a program into machine-language instructions.
In computer science, an interpreter is a computer program that directly executes, i.e. performs, instructions written in a programming or scripting language, without requiring them previously to have been compiled into a machine language program.
Io is a pure object-oriented programming language inspired by Smalltalk, Self, Lua, Lisp, Act1, and NewtonScript.
Julia is a high-level dynamic programming language designed to address the needs of high-performance numerical analysis and computational science, without the typical need of separate compilation to be fast, while also being effective for general-purpose programming, web use or as a specification language.
The kilobyte is a multiple of the unit byte for digital information.
In computing, a binding from a programming language to a library or operating system service is an application programming interface (API) providing glue code to use that library or service in a given programming language.
A learning curve is a graphical representation of how an increase in learning (measured on the vertical axis) comes from greater experience (the horizontal axis); or how the more someone (or thing) does something, the better they get at it.
A lightweight programming language is one that is designed to have very small memory footprint, is easy to implement (important when porting a language), and/or has minimalist syntax and features.
Linux Journal is a monthly technology magazine published by Linux Journal, LLC.
Lisp (historically, LISP) is a family of computer programming languages with a long history and a distinctive, fully parenthesized prefix notation.
In computer science, a list or sequence is an abstract data type that represents a countable number of ordered values, where the same value may occur more than once.
In computer science, a local variable is a variable that is given local scope.
LuaRocks is a package manager for the Lua programming language that provides a standard format for distributing Lua modules (in a self-contained format called a "rock"), a tool designed to easily manage the installation of rocks, and a server for distributing them.
LuaTeX is a TeX-based computer typesetting system which started as a version of pdfTeX with a Lua scripting engine embedded.
A macro (short for "macroinstruction", from Greek μακρός 'long') in computer science is a rule or pattern that specifies how a certain input sequence (often a sequence of characters) should be mapped to a replacement output sequence (also often a sequence of characters) according to a defined procedure.
In computer science, marshalling or marshaling is the process of transforming the memory representation of an object to a data format suitable for storage or transmission, and it is typically used when data must be moved between different parts of a computer program or from one program to another.
In computing, memoization or memoisation is an optimization technique used primarily to speed up computer programs by storing the results of expensive function calls and returning the cached result when the same inputs occur again.
Metaprogramming is a programming technique in which computer programs have the ability to treat programs as their data.
A metatable is the section of a database or other data holding structure that is designated to hold data that will act as source code or metadata.
A method in object-oriented programming (OOP) is a procedure associated with a message and an object.
The MiniD programming language is a small, lightweight, extension language in the vein of Lua or Squirrel, but designed to be used mainly with the D programming language.
The MIT License is a permissive free software license originating at the Massachusetts Institute of Technology (MIT).
The MIT Press is a university press affiliated with the Massachusetts Institute of Technology (MIT) in Cambridge, Massachusetts (United States).
The Modula programming language is a descendant of the Pascal programming language.
Modula-2 is a computer programming language designed and developed between 1977 and 1985 by Niklaus Wirth at the Swiss Federal Institute of Technology in Zurich (ETH Zurich) as a revision of Pascal to serve as the sole programming language for the operating system and application software for the personal workstation Lilith.
The Moon is an astronomical body that orbits planet Earth and is Earth's only permanent natural satellite.
In computing, a namespace is a set of symbols that are used to organize objects of various kinds, so that these objects may be referred to by name.
In computing, NaN, standing for not a number, is a numeric data type value representing an undefined or unrepresentable value, especially in floating-point calculations.
O'Reilly Media (formerly O'Reilly & Associates) is an American media company established by Tim O'Reilly that publishes books and Web sites and produces conferences on computer technology topics.
In computer science, object composition (not to be confused with function composition) is a way to combine simple objects or data types into more complex ones.
Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which may contain data, in the form of fields, often known as attributes; and code, in the form of procedures, often known as methods. A feature of objects is that an object's procedures can access and often modify the data fields of the object with which they are associated (objects have a notion of "this" or "self").
A package manager or package management system is a collection of software tools that automate the process of installing, upgrading, configuring, and removing computer programs for a computer's operating system in a consistent manner.
Parrot is a register-based process virtual machine designed to run dynamic languages efficiently.
Perl 6 is a member of the Perl family of programming languages.
A permissive software license, sometimes also called BSD-like or BSD-style license, is a free software software license with minimal requirements about how the software can be redistributed.
Petróleo Brasileiro S.A. — Petrobras, more commonly known as simply Petrobras, is a semi-public Brazilian multinational corporation in the petroleum industry headquartered in Rio de Janeiro, Brazil.
In computer science, a pointer is a programming language object that stores the memory address of another value located in computer memory.
The Pontifical Catholic University of Rio de Janeiro (Pontifícia Universidade Católica do Rio de Janeiro, PUC-Rio) is a Catholic pontifical university in Rio de Janeiro, Brazil.
Portuguese (português or, in full, língua portuguesa) is a Western Romance language originating from the regions of Galicia and northern Portugal in the 9th century.
In computer science, a preprocessor is a program that processes its input data to produce output that is used as input to another program.
In information security, computer science, and other fields, the principle of least privilege (PoLP, also known as the principle of minimal privilege or the principle of least authority) requires that in a particular abstraction layer of a computing environment, every module (such as a process, a user, or a program, depending on the subject) must be able to access only the information and resources that are necessary for its legitimate purpose.
Procedural programming is a programming paradigm, derived from structured programming, based upon the concept of the procedure call.
A programming language is a formal language that specifies a set of instructions that can be used to produce various kinds of output.
Programming paradigms are a way to classify programming languages based on their features.
Prototype-based programming is a style of object-oriented programming in which behaviour reuse (known as inheritance) is performed via a process of reusing existing objects via delegation that serve as prototypes.
Python is an interpreted high-level programming language for general-purpose programming.
In computer science, a record (also called a structure, struct, or compound data) is a basic data structure.
Red is a computer programming language.
In computer science, reference counting is a technique of storing the number of references, pointers, or handles to a resource such as an object, block of memory, disk space or other resource.
In mathematical logic and theoretical computer science a register machine is a generic class of abstract machines used in a manner similar to a Turing machine.
Ring is a dynamic and general-purpose programming language.
Roberto Ierusalimschy (born May 21, 1960) is a Brazilian computer scientist, known for creating Lua programming language.
Ruby is a dynamic, interpreted, reflective, object-oriented, general-purpose programming language.
RubyGems is a package manager for the Ruby programming language that provides a standard format for distributing Ruby programs and libraries (in a self-contained format called a "gem"), a tool designed to easily manage the installation of gems, and a server for distributing them.
In computer science, run time, runtime or execution time is the time during which a program is running (executing), in contrast to other program lifecycle phases such as compile time, link time and load time.
Scheme is a programming language that supports multiple paradigms, including functional programming and imperative programming, and is one of the two main dialects of Lisp.
In computer programming, the scope of a name binding – an association of a name to an entity, such as a variable – is the region of a computer program where the binding is valid: where the name can be used to refer to the entity.
A scripting or script language is a programming language that supports scripts: programs written for a special run-time environment that automate the execution of tasks that could alternatively be executed one-by-one by a human operator.
Self is an object-oriented programming language based on the concept of prototypes.
Semantics (from σημαντικός sēmantikós, "significant") is the linguistic and philosophical study of meaning, in language, programming languages, formal logics, and semiotics.
In computer science, a set is an abstract data type that can store unique values, without any particular order.
Setuptools is a package development process library designed to facilitate packaging Python projects by enhancing the Python standard library distutils (distribution utilities).
SNOBOL (StriNg Oriented and symBOlic Language) is a series of computer programming languages developed between 1962 and 1967 at AT&T Bell Laboratories by David J. Farber, Ralph E. Griswold and Ivan P. Polonsky, culminating in SNOBOL4.
SQL (S-Q-L, "sequel"; Structured Query Language) is a domain-specific language used in programming and designed for managing data held in a relational database management system (RDBMS), or for stream processing in a relational data stream management system (RDSMS).
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 and hardware such as Electric Imp.
In computer science, a stack is an abstract data type that serves as a collection of elements, with two principal operations.
In computer science, computer engineering and programming language implementations, a stack machine is a type of computer.
In computer programming, a string is traditionally a sequence of characters, either as a literal constant or as some kind of variable.
In computer programming, programming languages are often colloquially classified as to whether the language's type system makes it strongly typed or weakly typed (loosely typed).
In computer science, syntactic sugar is syntax within a programming language that is designed to make things easier to read or to express.
In computer science, the syntax of a computer language is the set of rules that defines the combinations of symbols that are considered to be a correctly structured document or fragment in that language.
In computer science, a tail call is a subroutine call performed as the final action of a procedure.
Tcl (pronounced "tickle" or tee cee ell) is a high-level, general-purpose, interpreted, dynamic programming language.
Trade barriers are government-induced restrictions on international trade.
In computer science, type conversion, type casting, and type coercion are different ways of changing an entity of one data type into another.
In programming languages, a type system is a set of rules that assigns a property called type to the various constructs of a computer program, such as variables, expressions, functions or modules.
VHDL (VHSIC Hardware Description Language) is a hardware description language used in electronic design automation to describe digital and mixed-signal systems such as field-programmable gate arrays and integrated circuits.
Video game development is the process of creating a video game.
In computing, a virtual machine (VM) is an emulation of a computer system.
In most computer programming languages, a while loop is a control flow statement that allows code to be executed repeatedly based on a given Boolean condition.
Wrox Press (established in 1992) is a computer book publisher, originally based in Birmingham, England.
.lua, LUA Scripting, Lua (computing), Lua (language), Lua (software), Lua 5.1, Lua Programming Language, Lua programming language, Lua script, Lua scripting language, Lua syntax, LuaJIT, Object-oriented programming in Lua.