|
Pike is a general-purpose, high-level, dynamic programming language, with a syntax similar to that of C. Unlike many other dynamic languages, pike is statically 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 the benefits of a statically typed language. Pike features garbage collection, advanced data types, and first-class anonymous functions, and supports many programming paradigms, including object-oriented, functional, aspect-oriented and imperative programming. Pike is free software, released under the GPL, LGPL and MPL licenses. In computer science, a dynamic programming language is a kind of programming language in which programs can change their structure as they run: functions may be introduced or removed, new classes of objects may be created, new modules may appear. ...
The C Programming Language, Brian Kernighan and Dennis Ritchie, the original edition that served for many years as an informal specification of the language The C programming language is a standardized programming language developed in the early 1970s by Ken Thompson and Dennis Ritchie for use on the UNIX operating...
In computing, garbage collection (also known as GC) is a form of automatic memory management. ...
In computer science, object-oriented programming, OOP for short, is a computer programming paradigm that emphasizes the following concepts: Objects - Packaging data and functionality together into units within a running computer program; objects are the basis of modularity and structure in an object-oriented computer program. ...
Functional programming is a programming paradigm that treats computation as the evaluation of mathematical functions. ...
In Software Engineering, the programming paradigm of aspect-oriented programming (AOP) (also called aspect-oriented software development (AOSD)) attempts to aid programmers in the Separation of concerns, or the breaking down of a program into distinct parts that overlap in functionality as little as possible. ...
In computer science, imperative programming, as opposed to declarative programming, is a programming paradigm that describes computation in terms of a program state and statements that change the program state. ...
Free software, as defined by Richard Stallman and his Free Software Foundation, can be used, copied, studied, modified and redistributed. ...
The GNU logo For other uses of GPL, see GPL (disambiguation). ...
GNU logo The GNU Lesser General Public License (formerly the GNU Library General Public License) is an FSF approved Free Software license designed as a compromise between the GNU General Public License and simple permissive licenses such as the BSD license and the MIT License. ...
The Mozilla Public License is an open source and a free software license. ...
History Pike has its roots in LPC, which was a language developed for MUDs . LPC's license did not allow use for commercial purposes, and so a new GPL implementation was written in 1994, called ųLPC. In 1996, ųLPC was renamed to pike 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 its development. In 2002, the programming environment laboratory at Linköping University took over maintenance of pike from Roxen. The LPC programming language is an object-oriented programming language derived from C and developed by Lars Pensjö to facilitate MUD building on LPMuds. ...
In computer gaming, a MUD (multi-user dungeon, dimension, or sometimes domain) is a multi-player computer game that combines elements of role-playing games, hack and slash style computer games, and social Internet Relay Chat channels. ...
Linköping University Linköping University (LiU) or Linköpings universitet is a state university in Linköping, Sweden. ...
Data types The following list shows all the standard data types that pike provides. Advanced data types such as sequences, queues, heaps, stacks, etc. are available in the ADT module which is included with pike. Basic data types: Container types: Reference types: - program (the compiled representation of a class)
- object (an instance of a class)
- function
Pike requires explicit type definitions for all variables, and being a strongly typed language, uses this information to report type errors at compile time. The following code will produce a compiler error indicating that number must be an integer, and the code is attempting to assign floating point and string values to the integer variable. int number; number = 5.5; // 5.5 is a floating point value number = "5"; // "5" is a string, not the integer value 5 This behaviour is traditionally considered restrictive and limiting by proponents of dynamically typed language. However unlike C, C++ and Java, pike uses a flexible type system, allowing programmers to declare variables that may be any of a number of types. The following demonstrates a variable that can be either an integer or a floating point number. int|float number; number = 5; number = 5.5; Additionally, there is a special "mixed" data type definition that allows a variable to be any kind of data type. mixed number; number = 5; // number is now the integer value 5 number = 5.5; // number is now the float value 5.5 number = "5"; // number is now the string value 5 In order to convert a value from one type to another, it can be explicitly cast: mixed number; number = (int)5; // number is now the integer value 5 number = (string)number; // number is now the string value 5 External links - Official homepage
- Community Page
|