Pike (programming language)

Pike is an interpreted, general-purpose, high-level, cross-platform, dynamic programming language, with a syntax similar to that of C. Unlike many other dynamic languages, Pike is both statically and dynamically typed, and requires explicit type definitions. It features a flexible type system that allows the rapid development and flexible code of dynamically typed languages, while still providing some of the benefits of a statically typed language.

Pike
Logo for the Pike programming language.
ParadigmMulti-paradigm: object-oriented, functional, procedural
Designed byFredrik Hübinette
DeveloperPike development team supported by the Software and Systems division of the Department of Computer and Information Science (IDA) at Linköping University
First appeared1994; 30 years ago (1994)
Stable release
8.0.1738 / January 30, 2022; 2 years ago (2022-01-30)
Typing disciplineStatic, dynamic, manifest
OSAny Unix-like, Windows
LicenseGPL/LGPL/MPL
Websitepike.lysator.liu.se Edit this at Wikidata
Major implementations
Pike
Influenced by
LPC, C, C++

Pike features garbage collection, advanced data types, and first-class anonymous functions, with support for many programming paradigms, including object-oriented, functional and imperative programming. Pike is free software, released under the GPL, LGPL and MPL licenses.

History

edit

Pike has its roots in LPC, which was a language developed for MUDs. Programmers at Lysator in Linköping, Sweden, most notably Fredrik Hübinette and Per Hedbor,[1] separated the language and virtual machine from the rest of the MUD driver, and used it as a rapid prototyping language for various applications, calling it LPC4.

LPC's license did not allow use for commercial purposes, and so a new GPL implementation was written in 1994, called μLPC (micro LPC).

In 1996, μLPC was renamed to Pike in order to provide a more commercially viable name. Although the name of the company has changed over the years, the company now known as Roxen Internet Software employed many Pike developers, and provided resources for Pike's development. Roxen is also the name of a web server developed by the company in Pike. In 2002, the programming environment laboratory at Linköping University took over maintenance of Pike from Roxen. Several Pike programmers have found their way to the Linköping office of Opera Software, where the language plays a central role in the server/gateway parts of the Opera Mini application.[2][3]

Example

edit
int main()
{
  write("Hi there! What's your name?\n");
  string name = Stdio.stdin->gets();
  write("Nice to meet you, " + name + "!\n");
  return 0;
}

See also

edit

References

edit
  1. ^ "The history of pike".
  2. ^ Lextrait, Vincent (January 2010). "The Programming Languages Beacon, v10.0". Archived from the original on 30 May 2012. Retrieved 14 March 2010.
  3. ^ "Hacker News - Pike Programming Language - Discussion - We built the Opera Mini server infrastructure based on Pike, starting back in 20..." news.ycombinator.com. Retrieved 1 August 2023.
edit