Pike (programming language): Difference between revisions

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
imported>Alexflatter
No edit summary
 
pike is not interpreted but compiles to bytecode like python
 
Line 10: Line 10:
| paradigm = [[multi-paradigm programming language|Multi-paradigm]]: [[Object-oriented programming|object-oriented]], [[functional programming|functional]], [[procedural programming|procedural]]
| paradigm = [[multi-paradigm programming language|Multi-paradigm]]: [[Object-oriented programming|object-oriented]], [[functional programming|functional]], [[procedural programming|procedural]]
| year = {{Start date and age|1994}}
| year = {{Start date and age|1994}}
| designer = Fredrik Hübinette
| designer = [https://fredrik.hubbe.net/me.html 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
| developer = Pike development team supported by the Software and Systems division of the Department of Computer and Information Science (IDA) at Linköping University
| latest_release_version = 8.0.1738
| latest_release_version = 8.0.1738
Line 25: Line 25:
}}
}}


'''Pike''' is an [[interpreter (computing)|interpreted]], [[general-purpose programming language|general-purpose]], [[high level programming language|high-level]], [[cross-platform]], [[dynamic programming language]], with a syntax similar to that of [[C (programming language)|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''' is an [[general-purpose programming language|general-purpose]], [[high level programming language|high-level]], [[cross-platform]], [[dynamic programming language]], with a syntax similar to that of [[C (programming language)|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 (computer science)|garbage collection]], advanced data types, and [[First-class function|first-class]] [[anonymous function]]s, with support for many [[programming paradigm]]s, including [[object-oriented programming|object-oriented]], [[functional programming|functional]] and [[imperative programming]]. Pike is [[free software]], released under the [[GNU General Public License|GPL]], [[LGPL]] and [[Mozilla Public License|MPL]] licenses.
Pike features [[garbage collection (computer science)|garbage collection]], advanced data types, and [[First-class function|first-class]] [[anonymous function]]s, with support for many [[programming paradigm]]s, including [[object-oriented programming|object-oriented]], [[functional programming|functional]] and [[imperative programming]]. Pike is [[free software]], released under the [[GNU General Public License|GPL]], [[LGPL]] and [[Mozilla Public License|MPL]] licenses.
Line 69: Line 69:
==External links==
==External links==
* {{Official website}}
* {{Official website}}
* [https://fredrik.hubbe.net/pike/tutorial/tutorial.html Pike Manual]
* [http://www.gotpike.org/ Community Page]
* [http://www.gotpike.org/ Community Page]
* {{cite web |last1=Karlberg |first1=Lars Anders |title=Doldis från Linköping byggde första webben |url=https://www.nyteknik.se/nyheter/doldis-fran-linkoping-byggde-forsta-webben/399953 |website=NyTeknik |access-date=1 August 2023 |language=sv |date=14 August 2006}}
* {{cite web |last1=Karlberg |first1=Lars Anders |title=Doldis från Linköping byggde första webben |url=https://www.nyteknik.se/nyheter/doldis-fran-linkoping-byggde-forsta-webben/399953 |website=NyTeknik |access-date=1 August 2023 |language=sv |date=14 August 2006}}

Latest revision as of 20:46, 4 October 2025

Template:Multiple issues Script error: No such module "Infobox".Template:Template otherScript error: No such module "Check for unknown parameters".

Pike is an 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

Script error: No such module "Portal".

References

Template:Reflist

External links

Script error: No such module "Navbox".

  1. Script error: No such module "citation/CS1".
  2. Script error: No such module "citation/CS1".
  3. Script error: No such module "citation/CS1".