dc04b8 | 2000-04-11 | Fredrik Hübinette (Hubbe) | | Pike 7.1 developer version
|
1975c9 | 1997-11-18 | Peter Nordgren | |
While still young, Pike matured over the last few years, and
development is now co-ordinated by a team at Idonex AB. Pike is still
released under the GNU General Public License (GPL). It is, and will
continue to be, freely distributed. Briefly, this means that you are
free to use and modify the source code in any way you please, see the
file COPYING for details. Idonex maintains the right to the brand name
and the copyright, guaranteeing that Pike will be continuously
developed and enhanced, and remain free software.
Pike is easily learned, and just as easily used to develop powerful
applications. Pike is designed to be useful and powerful. As the
syntax of Pike is similar to that of C, most programmers will find it
easy to use. As Pike is a high-level, interpreted and modular
object-oriented language, powerful applications can be rapidly
developed. Pike has evolved rather than been designed. The changes to
Pike that have been made have been guided by its users' needs. In
general, the better you get to know Pike, the more you will appreciate
it, from a user's perspective.
|
192f62 | 1997-11-18 | Niels Möller | |
Pike is just as suitable for intricate and large applications as for
creating use-once scripts. When needed, you can also write
|
1975c9 | 1997-11-18 | Peter Nordgren | | Pike modules in C, to gain better performance or access C
|
192f62 | 1997-11-18 | Niels Möller | | libraries. This is transparent to the module's users; the modules
written in C and those written in Pike are accessed in exactly the
same way.
|
68b346 | 1998-07-27 | Fredrik Hübinette (Hubbe) | | A list of pros and cons with Pike follows:
|
192f62 | 1997-11-18 | Niels Möller | |
+ General Purpose Programming Language
|
1975c9 | 1997-11-18 | Peter Nordgren | | + Freely distributed under GPL
|
192f62 | 1997-11-18 | Niels Möller | | + Interpreted - No compilation and linking needed to run code
+ Object Oriented - Straightforward and powerful object
orientation, including multiple inheritance
+ Modular - Extendible with modules written in C or Pike
+ Powerful - High-level language, concise code
+ Incremental - Allows on-the-fly modifications and recompilations
+ Source Code Available - To promote sharing of useful code
+ Portable - Platform independent and available on most flavors of Unix
At present the following platforms are supported:
Solaris 2.5 & 2.6 (Sun SPARC & Intel x86)
|
dc04b8 | 2000-04-11 | Fredrik Hübinette (Hubbe) | | Tru64
AIX 4.3
|
192f62 | 1997-11-18 | Niels Möller | | IRIX 6.3
|
dc04b8 | 2000-04-11 | Fredrik Hübinette (Hubbe) | | FreeBSD 4.0
|
192f62 | 1997-11-18 | Niels Möller | | HP-UX 10.20
|
dc04b8 | 2000-04-11 | Fredrik Hübinette (Hubbe) | | Linux Red Hat 4.2, 5.2, 6.1 and others (Intel x86)
|
192f62 | 1997-11-18 | Niels Möller | |
+ Powerful, Flexible and Efficient Data Types
+ Automatic Memory Management
+ Scalable - as useful for small scripts as for powerful and
complex applications.
+ Text Processing - e.g. for filtering
+ Exception Handling
+ Multi-Threaded Application Development Possible
How Pike relates to other programming languages:
+ Optimized - Faster run-times than Perl, Python, tcl and Java
|
1975c9 | 1997-11-18 | Peter Nordgren | | + Faster Development than using C or C++
|
192f62 | 1997-11-18 | Niels Möller | | + C-like Syntax - Easy to learn
Below you will find a list of some desired but missing features, or
cons, of Pike. As indicated by the version number 0.5, Pike is still
under development and the goal is to incorporate those in future
versions.
- No Pike native compiler or debugger available
- Limited image format import and export support
- Not optimal for heavy numeric processing jobs
- Not for GUI based applications
|
1975c9 | 1997-11-18 | Peter Nordgren | | - Limited range of special effect image filters for image
processing
|
192f62 | 1997-11-18 | Niels Möller | |
Some successful applications using Pike include:
+ Network Applications - as Client/Server applications
e.g. the Roxen Challenger Server and a range of server extensions
Mail Gateways
Client/server Protocol Implementations
Multi-User-Dungeons
+ System Administration Tools & Utilities - Even as quick one-shots
e.g. adduser or adddomain scripts that setup users/domains
Real-time Client/Server Status Monitor
+ Assorted Text Processing Utilities
+ CGI Programs
|
1975c9 | 1997-11-18 | Peter Nordgren | | Pike is distributed accompanied by a set of modules, some of which are
|
192f62 | 1997-11-18 | Niels Möller | | described below.
Image - Image Processing Module
The Image module lets you perform common image manipulation and
processing operations from Pike programs. The supported operations
|
1975c9 | 1997-11-18 | Peter Nordgren | | include cutting and pasting, scaling, rotation, linear filtering of
|
2d17af | 1997-11-20 | Niels Möller | | most kinds, rendering text, etc. Anti-aliasing can be used when
performing any kind of drawing operation. Using the Image module, you
can automate jobs that would otherwise have required tedious work in
an interactive image processing program such as Adobe PhotoShop.
|
192f62 | 1997-11-18 | Niels Möller | |
Currently, the only input format is ppm. Output formats are ppm and
gif.
Sql - Interface to SQL Databases
The SQL interface makes it possible to use common SQL databases from
within your applications. It includes support for mSQL, MySQL and
Postgres.
MIME - Multimedia Internet Mail Extension Module
|
52bebb | 1997-11-18 | Henrik Grubbström (Grubba) | | This module makes it easy to create and decode e-mail, including
|
192f62 | 1997-11-18 | Niels Möller | | attachments.
Gz - Data Compression Module
|
1975c9 | 1997-11-18 | Peter Nordgren | | With this module you can compress data. Its name is slightly
|
192f62 | 1997-11-18 | Niels Möller | | misleading, as it uses ZLIB. ZLIB uses the same compression algorithm
as gzip, but the format for the compressed data is not compatible with
gzip.
Crypto - Cryptographic Toolkit
The crypto toolkit is a set of objects implementing various
cryptographic algorithms, as well as objects used to glue the other
objects together. The toolkit includes block ciphers IDEA, DES
|
52bebb | 1997-11-18 | Henrik Grubbström (Grubba) | | (including tripple DES) and CAST, the RC4 stream cipher, the hash
functions MD5 and SHA, and the public key cryptography algorithm
|
192f62 | 1997-11-18 | Niels Möller | | RSA. It also includes a some randomness sources.
The toolkit can be used for most kinds of cryptographic applications,
including encrypted network connections, as well as encryption of
files or other data.
|