A "Hello, World!" program is a computer program that outputs or displays "Hello, World!" to a user.
ActionScript is an object-oriented programming language originally developed by Macromedia Inc. (later acquired by Adobe Systems).
Ada is a structured, statically typed, imperative, and object-oriented high-level computer programming language, extended from Pascal and other languages.
Addison-Wesley is a publisher of textbooks and computer literature.
In computer science, ahead-of-time (AOT) compilation is the act of compiling a higher-level programming language such as C or C++, or an intermediate representation such as Java bytecode or.NET Framework Common Intermediate Language (CIL) code, into a native (system-dependent) machine code so that the resulting binary file can execute natively.
In computer programming, an anonymous function (function literal, lambda abstraction, or lambda expression) is a function definition that is not bound to an identifier.
Apache Groovy is a Java-syntax-compatible object-oriented programming language for the Java platform.
Apache Subversion (often abbreviated SVN, after its command name svn) is a software versioning and revision control system distributed as open source under the Apache License.
Apress Media LLC is a publisher of information technology books, based in New York City.
In computer science, arbitrary-precision arithmetic, also called bignum arithmetic, multiple-precision arithmetic, or sometimes infinite-precision arithmetic, indicates that calculations are performed on numbers whose digits of precision are limited only by the available memory of the host system.
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.
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.
BeOS is an operating system for personal computers first developed by Be Inc. in 1991.
Berkeley Software Distribution (BSD) was a Unix operating system derivative developed and distributed by the Computer Systems Research Group (CSRG) of the University of California, Berkeley, from 1977 to 1995.
A birthstone is a gemstone that represents a person's month of birth.
In computer programming, a block or code block is a lexical structure of source code which is grouped together.
BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and redistribution of covered software.
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# (/si: ʃɑːrp/) is a multi-paradigm programming language encompassing strong typing, imperative, declarative, functional, generic, object-oriented (class-based), and component-oriented programming disciplines.
C++ ("see plus plus") is a general-purpose programming language.
Character encoding is used to represent a repertoire of characters by some kind of encoding system.
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 object-oriented programming with classes, a class variable is a variable defined in a class of which a single copy exists, regardless of how many instances of the class exist.
Classic Mac OS is a colloquial term used to describe a series of operating systems developed for the Macintosh family of personal computers by Apple Inc. from 1984 until 2001.
Clojure (like "closure") is a dialect of the Lisp programming language.
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 computing, Common Gateway Interface (CGI) offers a standard protocol for web servers to execute programs that execute like console applications (also called command-line interface programs) running on a server that generates web pages dynamically.
Programming languages are used for controlling the behavior of a machine (often a computer).
A complex number is a number that can be expressed in the form, where and are real numbers, and is a solution of the equation.
In computer science and computer programming, a continuation is an abstract representation of the control state of a computer program.
Corals are marine invertebrates in the class Anthozoa of phylum Cnidaria.
In computing, cross-platform software (also multi-platform software or platform-independent software) is computer software that is implemented on multiple computing platforms.
Crystal is a general-purpose, object-oriented programming language, designed and developed by Ary Borenszweig and Juan Wajnerman and more than 200 contributors.
curses is a terminal control library for Unix-like systems, enabling the construction of text user interface (TUI) applications.
D is an object-oriented, imperative, multi-paradigm system programming language created by Walter Bright of Digital Mars and released in 2001.
In computer programming, a declaration is a language construct that specifies properties of an identifier: it declares what a word (identifier) "means".
In computer programming, a default argument is an argument to a function that a programmer is not required to specify.
A domain-specific language (DSL) is a computer language specialized to a particular application domain.
DOS is a family of disk operating systems.
In computer programming, duck typing is an application of the duck test in type safety.
Dylan is a multi-paradigm programming language that includes support for functional and object-oriented programming, and is dynamic and reflective while providing a programming model designed to support efficient machine code generation, including fine-grained control over dynamic and static behaviors.
In computer science, a dynamic array, growable array, resizable array, dynamic table, mutable array, or array list is a random access, variable-size list data structure that allows elements to be added or removed.
In computer science, dynamic dispatch is the process of selecting which implementation of a polymorphic operation (method or function) to call at run time.
Dynamic programming language, in computer science, is a class of high-level programming languages which, at runtime, execute many common programming behaviors that static programming languages perform during compilation.
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.
Elixir is a functional, concurrent, general-purpose programming language that runs on the Erlang virtual machine (BEAM).
An esoteric programming language (sometimes shortened to esolang) is a programming language designed to test the boundaries of computer programming language design, as a proof of concept, as software art, as a hacking interface to another language (particularly functional programming or procedural programming languages), or as a joke.
Exception handling is the process of responding to the occurrence, during computation, of exceptions – anomalous or exceptional conditions requiring special processing – often changing the normal flow of program execution.
In mathematics and computer programming, exponentiating by squaring is a general method for fast computation of large positive integer powers of a number, or more generally of an element of a semigroup, like a polynomial or a square matrix.
An expression in a programming language is a combination of one or more constants, variables, operators, and functions that the programming language interprets (according to its particular rules of precedence and of association) and computes to produce ("to return", in a stateful environment) another value.
Falcon is an open source, multi-paradigm programming language.
Frequently asked questions (FAQ) or Questions and Answers (Q&A), are listed questions and answers, all supposed to be commonly asked in some context, and pertaining to a particular topic.
In computer science, a fiber is a particularly lightweight thread of execution.
The File Transfer Protocol (FTP) is a standard network protocol used for the transfer of computer files between a client and server on a computer network.
In functional programming, fold (also termed reduce, accumulate, aggregate, compress, or inject) refers to a family of higher-order functions that analyze a recursive data structure and through use of a given combining operation, recombine the results of recursively processing its constituent parts, building up a return value.
In computing, particularly in the context of the Unix operating system and its workalikes, fork is an operation whereby a process creates a copy of itself.
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.
In computer science, garbage collection (GC) is a form of automatic memory management.
GemStone/S is computer software, an application framework that was first available for the programming language Smalltalk as an object database.
In computer software, a general-purpose programming language is a programming language designed to be used for writing software in the widest variety of application domains (a general-purpose language).
In computer science, a generator is a special routine that can be used to control the iteration behaviour of a loop.
Git is a version control system for tracking changes in computer files and coordinating work on those files among multiple people.
GitHub Inc. is a web-based hosting service for version control using Git.
In computer programming, a global variable is a variable with global scope, meaning that it is visible (hence accessible) throughout the program, unless shadowed.
The GNU General Public License (GNU GPL or GPL) is a widely used free software license, which guarantees end users the freedom to run, study, share and modify the software.
The government of Japan is a constitutional monarchy in which the power of the Emperor is limited and is relegated primarily to ceremonial duties.
GraalVM is an extension of the Java virtual machine to support more languages and execution modes.
In computer programming, green threads are threads that are scheduled by a runtime library or virtual machine (VM) instead of natively by the underlying operating system.
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.
In mathematics and computer science, a higher-order function (also functional, functional form or functor) is a function that does at least one of the following.
The Hypertext Transfer Protocol (HTTP) is an application protocol for distributed, collaborative, and hypermedia information systems.
AIX (Advanced Interactive eXecutive, pronounced) is a series of proprietary Unix operating systems developed and sold by IBM for several of its computer platforms.
IBM i is an operating system that runs on IBM Power Systems and on IBM PureSystems.
In computer science, imperative programming is a programming paradigm that uses statements that change a program's state.
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.
In object-oriented programming (OOP), an instance is a concrete occurrence of any object, existing usually during the runtime of a computer program.
In object-oriented programming with classes, an instance variable is a variable defined in a class (i.e. a member variable), for which each instantiated object of the class has a separate copy, or instance.
In computer science, an integer is a datum of integral data type, a data type that represents some range of mathematical integers.
An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development.
Interactive Ruby Shell (IRB or irb) is a REPL for programming in the object-oriented scripting language Ruby.
International Components for Unicode (ICU) is an open source project of mature C/C++ and Java libraries for Unicode support, software internationalization, and software globalization.
The International Organization for Standardization (ISO) is an international standard-setting body composed of representatives from various national standards organizations.
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.
Ioke is a dynamic, strongly typed, prototype-based programming language targeting the Java Virtual Machine and the Common Language Runtime.
Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP), the communications protocol that provides an identification and location system for computers on networks and routes traffic across the Internet.
IronRuby is an implementation of the Ruby programming language targeting Microsoft.NET framework.
In computer programming, an iterator is an object that enables a programmer to traverse a container, particularly lists.
Japan (日本; Nippon or Nihon; formally 日本国 or Nihon-koku, lit. "State of Japan") is a sovereign island country in East Asia.
The is a standards organization and is the International Organization for Standardization (ISO) member body for Japan.
is an East Asian language spoken by about 128 million people, primarily in Japan, where it is the national language.
Java is a general-purpose computer-programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible.
A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages and compiled to Java bytecode.
JRuby is an implementation of the Ruby programming language atop the Java Virtual Machine, written largely in Java.
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.
In computing, just-in-time (JIT) compilation, (also dynamic translation or run-time compilation), is a way of executing computer code that involves compilation during execution of a program – at run time – rather than prior to execution.
In programming language theory, lazy evaluation, or call-by-need is an evaluation strategy which delays the evaluation of an expression until its value is needed (non-strict evaluation) and which also avoids repeated evaluations (sharing).
Linux is a family of free and open-source software operating systems built around the Linux kernel.
Lisp (historically, LISP) is a family of computer programming languages with a long history and a distinctive, fully parenthesized prefix notation.
The LLVM compiler infrastructure project is a "collection of modular and reusable compiler and toolchain technologies" used to develop compiler front ends and back ends.
In computer science, a local variable is a variable that is given local scope.
Lua (from meaning moon) is a lightweight, multi-paradigm programming language designed primarily for embedded use in applications.
macOS (previously and later) is a series of graphical operating systems developed and marketed by Apple Inc. since 2001.
MacRuby is a discontinued an implementation of the Ruby language that ran on the Objective-C runtime and CoreFoundation framework under development by Apple Inc. which "was supposed to replace RubyCocoa".
MagLev is an alternative implementation of the Ruby programming language built on the GemStone/S virtual machine from GemTalk Systems.
Manning Publications is an American publisher established by Lee Fitzpatrick and Marjan Bace that publishes books on computer technology topics, with a particular focus on web development.
Memory management is a form of resource management applied to computer memory.
In object-oriented programming, a metaclass is a class whose instances are classes.
Metaprogramming is a programming technique in which computer programs have the ability to treat programs as their data.
The Metasploit Project is a computer security project that provides information about security vulnerabilities and aids in penetration testing and IDS signature development.
A method in object-oriented programming (OOP) is a procedure associated with a message and an object.
Microsoft Windows is a group of several graphical operating system families, all of which are developed, marketed, and sold by Microsoft.
Mirah (formerly Duby) is a programming language based on Ruby language syntax, local type inference, hybrid static–dynamic type system, and a pluggable compiler toolchain.
In object-oriented programming languages, a Mixin is a class that contains methods for use by other classes without having to be the parent class of those other classes.
Modular programming is a software design technique that emphasizes separating the functionality of a programme into independent, interchangeable modules, such that each contains everything necessary to execute only one aspect of the desired functionality.
A monkey patch is a way for a program to extend or modify supporting system software locally (affecting only the running instance of the program).
mruby is an interpreter for the Ruby programming language with the intention of being lightweight and easily embeddable.
Multiple inheritance is a feature of some object-oriented computer programming languages in which an object or class can inherit characteristics and features from more than one parent object or parent class.
is a Japanese multinational provider of information technology (IT) services and products, headquartered in Minato, Tokyo, Japan.
NeXTSTEP is a discontinued object-oriented, multitasking operating system based on UNIX.
No Starch Press is an American publishing company, specializing in technical literature often geared towards the geek, hacker, and DIY subcultures.
Nu is an interpreted object-oriented programming language, with a Lisp-like syntax, created by Tim Burks as an alternative scripting language to program OS X through its Cocoa application programming interface (API).
In computing, a null pointer has a value reserved for indicating that the pointer does not refer to a valid object.
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.
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").
Objective-C is a general-purpose, object-oriented programming language that adds Smalltalk-style messaging to the C programming language.
OpenSSL is a software library for applications that secure communications over computer networks against eavesdropping or need to identify the party at the other end.
An operating system (OS) is system software that manages computer hardware and software resources and provides common services for computer programs.
In programming, operator overloading, sometimes termed operator ad hoc polymorphism, is a specific case of polymorphism, where different operators have different implementations depending on their arguments.
In programming languages and type theory, parametric polymorphism is a way to make a language more expressive, while still maintaining full static type-safety.
Parrot is a register-based process virtual machine designed to run dynamic languages efficiently.
Perl is a family of two high-level, general-purpose, interpreted, dynamic programming languages, Perl 5 and Perl 6.
In computing, a plug-in (or plugin, add-in, addin, add-on, addon, or extension) is a software component that adds a specific feature to an existing computer program.
ppc64 is an identifier commonly used within the Linux, GNU Compiler Collection (GCC) and LLVM open-source software communities to refer to the target architecture for applications optimized for 64-bit big-endian PowerPC and Power Architecture processors.
The principle of least astonishment (POLA) (alternatively "principle/law/rule of least astonishment/surprise") applies to user interface and software design.
Programming paradigms are a way to classify programming languages based on their features.
Programming Ruby is a book about the Ruby programming language by Dave Thomas and Andrew Hunt, authors of The Pragmatic Programmer.
Proprietary software is non-free computer software for which the software's publisher or another person retains intellectual property rights—usually copyright of the source code, but sometimes patent rights.
Python is an interpreted high-level programming language for general-purpose programming.
In mathematics, a rational number is any number that can be expressed as the quotient or fraction of two integers, a numerator and a non-zero denominator.
A Read–Eval–Print Loop (REPL), also known as an interactive toplevel or language shell, is a simple, interactive computer programming environment that takes single user inputs (i.e. single expressions), evaluates them, and returns the result to the user; a program written in a REPL environment is executed piecewise.
In computer science, reflection is the ability of a computer program to examine, introspect, and modify its own structure and behavior at runtime.
A regular expression, regex or regexp (sometimes called a rational expression) is, in theoretical computer science and formal language theory, a sequence of characters that define a search pattern.
Ring is a dynamic and general-purpose programming language.
RPG Maker, known in Japan as, is the name of a series of programs for the development of role-playing games (RPGs) first created by the Japanese group ASCII, then succeeded by Enterbrain.
RSS (Rich Site Summary; originally RDF Site Summary; often called Really Simple Syndication) is a type of web feed which allows users to access updates to online content in a standardized, computer-readable format.
Rubinius is an alternative Ruby implementation created by Evan Phoenix.
A ruby is a pink to blood-red colored gemstone, a variety of the mineral corundum (aluminium oxide).
Ruby is a dynamic, interpreted, reflective, object-oriented, general-purpose programming language.
The Ruby License is a Free and Open Source license applied to the Ruby programming language and also available to be used in other projects.
Matz's Ruby Interpreter or Ruby MRI (also called CRuby) was the reference implementation of the Ruby programming language named after Ruby creator Yukihiro Matsumoto ("Matz").
Ruby on Rails, or Rails, is a server-side web application framework written in Ruby under the MIT License.
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.
RubyMotion is an implementation of the Ruby programming language that runs on iOS, OS X and Android.
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.
Rust is a systems programming language sponsored by Mozilla which describes it as a "safe, concurrent, practical language," supporting functional and imperative-procedural paradigms.
In object-oriented programming, the safe navigation operator (also known as optional chaining operator, safe call operator or null-conditional operator) is a binary operator that returns null if its first argument is null; otherwise it returns the second argument.
In computer programming, a sigil is a symbol attached to a variable name, showing the variable's datatype or scope, usually a prefix, as in $foo, where $ is the sigil.
Smalltalk is an object-oriented, dynamically typed, reflective programming language.
Software versioning is the process of assigning either unique version names or unique version numbers to unique states of computer software.
Solaris is a Unix operating system originally developed by Sun Microsystems.
The Sony NEWS ("Network Engineering Workstation", later "NetWorkStation") is a series of Unix workstations sold during the late 1980s and 1990s.
A source-to-source compiler, transcompiler or transpiler is a type of compiler that takes the source code of a program written in one programming language as its input and produces the equivalent source code in another programming language.
In computer programming, a statement is a syntactic unit of an imperative programming language that expresses some action to be carried out.
In computer programming, string interpolation (or variable interpolation, variable substitution, or variable expansion) is the process of evaluating a string literal containing one or more placeholders, yielding a result in which the placeholders are replaced with their corresponding values.
A string literal or anonymous string is a type of literal in programming for the representation of a string value within the source code of a computer program.
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 programming, a subroutine is a sequence of program instructions that performs a specific task, packaged as a unit.
SunOS is a Unix-branded operating system developed by Sun Microsystems for their workstation and server computer systems.
Swift is a general-purpose, multi-paradigm, compiled programming language developed by Apple Inc. for iOS, macOS, watchOS, tvOS, and Linux.
Symbian is a discontinued mobile operating system (OS) and computing platform designed for smartphones.
A symbol in computer programming is a primitive data type whose instances have a unique human-readable form.
In computer science, syntactic noise is syntax within a programming language that makes the programming language more difficult to read and understand for humans.
The Pragmatic Programmer: From Journeyman to Master is a book about software engineering by Andrew Hunt and David Thomas, published in October 1999, first in a series of books under the label The Pragmatic Bookshelf.
In computer science, a thread of execution is the smallest sequence of programmed instructions that can be managed independently by a scheduler, which is typically a part of the operating system.
Tk is a free and open-source, cross-platform widget toolkit that provides a library of basic elements of GUI widgets for building a graphical user interface (GUI) in many programming languages.
In computer science, type conversion, type casting, and type coercion are different ways of changing an entity of one data type into another.
In computing, type introspection is the ability of a program to examine the type or properties of an object at runtime.
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.
Unicode is a computing industry standard for the consistent encoding, representation, and handling of text expressed in most of the world's writing systems.
UNIX System V (pronounced: "System Five") is one of the first commercial versions of the Unix operating system.
A Usenet newsgroup is a repository usually within the Usenet system, for messages posted from many users in different locations using Internet.
The user interface (UI), in the industrial design field of human–computer interaction, is the space where interactions between humans and machines occur.
A component of software configuration management, version control, also known as revision control or source control, is the management of changes to documents, computer programs, large web sites, and other collections of information.
In computing, a virtual machine (VM) is an emulation of a computer system.
Visual Basic.NET (VB.NET) is a multi-paradigm, object-oriented programming language, implemented on the.NET Framework.
A web framework (WF) or web application framework (WAF) is a software framework that is designed to support the development of web applications including web services, web resources, and web APIs.
why's (poignant) Guide to Ruby, sometimes called w(p)GtR or just "the poignant guide", is an introductory book to the Ruby programming language, written by why the lucky stiff.
Windows Embedded Compact, formerly Windows Embedded CE and Windows CE, is an operating system subfamily developed by Microsoft as part of its Windows Embedded family of products.* Unlike Windows Embedded Standard, which is based on Windows NT, Windows Embedded Compact uses a different hybrid kernel.
Windows Phone (WP) is a family of discontinued mobile operating systems developed by Microsoft for smartphones as the replacement successor to Windows Mobile and Zune.
In computing, Extensible Markup Language (XML) is a markup language that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable.
XRuby was the first Ruby to Java static compiler which compiles Ruby source code (.rb) to Java bytecode (.class).
YAML (YAML Ain't Markup Language) is a human-readable data serialization language.
YARV (Yet another Ruby VM) is a bytecode interpreter that was developed for the Ruby programming language by Koichi Sasada.
is a Japanese computer scientist and software programmer best known as the chief designer of the Ruby programming language and its reference implementation, Matz's Ruby Interpreter (MRI).
zlib is a software library used for data compression.
.NET Framework (pronounced dot net) is a software framework developed by Microsoft that runs primarily on Microsoft Windows.
.rb, .rbw, Eigenclass model, Ruby (Programming Language), Ruby (computing), Ruby (lang), Ruby (language), Ruby (programming language, Ruby Application Archive, Ruby Programming Language, Ruby Rogues, Ruby lang, Ruby language, Ruby prog, Ruby programming, Ruby programming language, Ruby syntax, Ruby-gnome2, Ruby-language, Rubylang.