Pike (programming language)

Pike

Paradigm| Multi-paradigm: object-oriented, functional, procedural
Designed by| Fredrik Hübinette
Developer| Pike development team supported by the Software and Systems division of the Department of Computer and Information Science (IDA) at Linköping University
First appeared| 1994; 32 years ago (1994)
Stable release|

8.0.1738 / January 30, 2022; 4 years ago (2022-01-30)

Typing discipline| Static, dynamic, manifest
OS| Any Unix-like, Windows
License| GPL/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.

## Contents

* 1 History
* 2 Example
* 3 See also
* 4 References
* 5 External links

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

1. ↑ "The history of pike". http://pike.lysator.liu.se/about/pike/history.xml.
2. ↑ Lextrait, Vincent (January 2010). "The Programming Languages Beacon, v10.0". http://www.lextrait.com/Vincent/implementations.html. 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...". https://news.ycombinator.com/item?id=31453477.

## External links

* Community Page
* Karlberg, Lars Anders (14 August 2006). "Doldis från Linköping byggde första webben" (in sv). https://www.nyteknik.se/nyheter/doldis-fran-linkoping-byggde-forsta-webben/399953.

* v
* t
* e

Programming languages

* Comparison
* Timeline
* History

* APL
* Assembly
* BASIC
* C
* C++
* C#
* COBOL
* Elixir
* Fortran
* Go
* Groovy
* Haskell
* Java
* JavaScript (JS)
* Julia
* Kotlin
* Lisp
* Lua
* MATLAB
* Objective-C
* OCaml
* Pascal
* Perl
* PHP
* Python
* R
* Ruby
* Rust
* Scala
* Shell
* Smalltalk
* Swift
* TypeScript
* Visual Basic .NET (VB.NET)
* more...

* Category
* Lists
* Alphabetical
* Categorical
* Generational
* Non-English-based

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/Pike (programming language). Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Pike_(programming_language)&oldid=189974"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template