|
Pike occurs as general-all-purpose, high-level, dynamic programming language, with the syntax similar to it of C. Unlike numbers of more dynamic languages, pike is statically typed, & takes expressed nature and severity definitions. It features the flexible nature & severity rules that allows the rapid development and flexible code of dynamically typewritten languages, when however providing do you need a statically typewritten language.
Pike features garbage collection, advanced data types, & number one-class anon. functions, & supports numerous programming paradigms, including object-oriented, functional, aspect-oriented and imperative programming. Pike is free software, released under a GPL, LGPL and MPL licenses.
History
Pike has its roots within LPC, which was a language developed for MUDs . LPC's license did non allow apply for commercial purposes, and then the newly GPL implementation was written around 1994, known as ųLPC. Inside 1996, ųLPC was renamed to pike to provide the additional commercially viable title. Although a title of a company has changed above a years, the company currently called Roxen Internet Programs listed several pike developers, & provided resources for its development. Within 2002, a programming environment laboratory at Linköping University took over maintenance of pike from either Roxen.
Data types
A below listing shows all the standard information types that pike will bring. Advanced information types like sequences, queues, heaps, stacks, etc. come available in the ADT module which is involved by using pike.
Basic information types:
int
float
string
Container types:
array
mapping
multiset
Information types:
program (the compiled representation of a class)
object (an time of the class)
function
Pike takes expressed nature & severity definitions for tons variables, and existence the strongly typewritten language, utilizes this page to report nature and severity errors at compile period. a charted code might develop a compiler error indicating that total must exist as an whole number, & the code is attempting to assign swimming point & string values to the whole number variable.
int total;
total = Phoebe.Five; // Pentad.Fin occurs as swimming point value
total = "5"; // "5" occurs as string, non a whole number value 5
This behaviour is traditionally considered restrictive & limiting by advocator of dynamically typewritten language. But unlike C, C++ & Javthe, pike utilizes the flexible nature and severity formulas, letting computer programmer to declare variables that can be any of a total of types. the ensuing demonstrates the variable that may be either an whole total or even a swimming point number.
int|float total;
total = Little phoebe;
total = Little phoebe.Quintuplet;
In addition, there is a favorite "mixed" information nature and severity definition that allows the variable to exist as any rather information nature and severity.
mixed total;
total = V; // total is today a whole number value 5
total = Quintet.Quint; // total is nowadays a float value Fivesome.5
total = "5"; // total is at present a string value 5
Sequentially to convert the value from either of these nature and severity to a second, it may be explicitly cast:
mixed total;
total = (int)Fivesome; // total is at present a whole number value 5
total = (string)total; // total is today a string value 5
|