Pike ist eine objektorientierte Skriptsprache mit Garbage Collection. Ihre Syntax ist ähnlich wie die von C++ oder Java. Pike unterstützt Mehrfachvererbung, im Unterschied zu anderen Skriptsprachen ist Pike typisiert.

Dies führt unter anderem zu einer hohen Performance, welche sich in einem Platz vor [[Python]], [[Perl]] und [[Ruby]] im [[http://www.bagley.org/~doug/shootout/craps.shtml|Great Computer Language Shootout]] zeigt.

Pike wird an der Linköping Universität entwickelt: http://pike.ida.liu.se/

Die bekanntesten Applikationen sind die Web- und Applikationsserver [[http://caudium.org/|Caudium]] und [[http://www.roxen.com/|Roxen]], welche in Pike geschrieben sind. Weiterhin gibt es noch [[http://www.open-steam.org/|open-sTeam]] (Strukturieren von Informationen in Teams), eine Open Source Umgebung für den Aufbau und die Pflege virtueller Wissensräume.

Pike ist FreieSoftware und steht unter den Lizenzen [[GPL]], [[LGPL]] und Mozilla Public License (MPL). Neben [[Linux]] gibt es Pike auch für [[BSD]], Solaris, Windows und [[MacOSX]].

Einen [[Emacs]]-Mode gibt es [[ftp://ftp.roxen.com/pub/pike/contrib/pike.el|hier]].

== Hello World ==
{{{
int main()
{
  write("Hi there! What's your name?\n");
  string name = Stdio.stdin->gets();
  write("Nice to meet you, " + name + "!\n");
  return 0;
}
}}}
== Umfangreicheres Beispiel ==
''aus dem [[http://pike.ida.liu.se/docs/tutorial/|Pike Tutorial]]''

{{{
 class animal
{
  string name;
  float weight;

  void create(string n, float w)
  {
    name = n;
    weight = w;
  }

  void eat(string food)
  {
    write(name + " eats some " + food + ".\n");
    weight += 0.5;
  }
}
class friend
{
  void cuddle()
  {
    write("Cuddle, cuddle, cuddle!\n");
  }
}
//A hamster, as we all know, is both an animal and a friend, and it can also dance:
class hamster
{
  inherit animal;
  inherit friend;

  void dance()
  {
    write(name + " dances.\n");
  }
}
//So, try it out:
int main()
{
  hamster h = hamster("Blue Lightning", 0.12);
  h->cuddle();      // Cuddle as a friend
  h->eat("grain");  // Eat as an animal
  h->dance();       // Dance as a hamster
}
}}}
= Links =
 * [[http://bobo.fuw.edu.pl/~rjb/Pike/FAQ.html|inoffizielle Pike FAQ]]
 * http://www.linuxjournal.com/article.php?sid=5968

----
KategorieProgrammiersprachen