Pike (programming language)

From HandWiki
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
Website{{{1}}}
Major implementations
Pike
Influenced by
LPC, C, C++

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 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

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

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

  • LPMud family tree

References

External links