pike.git
/
ANNOUNCE
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/ANNOUNCE:1:
-
Pike
7.
3
developer
version
+
PIKE
7.
X
ANNOUNCEMENT
+
$Id:
ANNOUNCE,v 1.10 2002/04/06 20:47:09 leif Exp $
-
While still young,
Pike
matured
over
the last few years
,
and
-
development
is
co-ordinated
by
a
team
at
Roxen
Internet
Software
AB.
-
Pike
is
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. Roxen Internet Software 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
an interpreted
,
object-oriented
programming
language
with
a
+
syntax
reminiscent
of
C
and
Java,
and
freely
available
and
distributable
+
under the GNU General Public License (GPL).
-
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 users perspective.
-
+
Pike is just as suitable for intricate and large applications as for creating use-once scripts. When needed, you can also write Pike modules in C, to gain better performance or access C 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.
-
A
list of pros and cons with
Pike
follows
:
+
Some
Pike
highlights
:
-
+
General Purpose Programming Language
-
+
Freely
distributed
under GPL
-
+ Interpreted -
No
compilation and linking needed to run code
-
+ Object Oriented -
Straightforward
and powerful object
+
+ Freely
distributable
under GPL
+
+ 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.1 & up (Sun SPARC & Intel x86)
-
Tru64
-
AIX 4.3
,
5L
-
IRIX 6
.
5
-
FreeBSD 4.0
-
HP-UX 11.00
-
Linux Red Hat 4.2, 5.2, 6.1, 7.1 and others (Intel x86)
-
+
+ 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 -
promoting
sharing of useful code
+
+ Portable - Platform independent and available on most
common
+
flavors
of
Unix
,
as
well
as
Windows
.
+ 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
-
+
+ Easy-to-Learn C-like Syntax
-
How
Pike
relates
to
other
programming
languages
:
+
The
standard
Pike
distribution
comes
with
a
number of modules for
+
various useful purposes. Among these are
:
-
+
Optimized
-
Faster
run-times
than
Perl
,
Python
,
tcl
and
Java
-
+
Faster
Development
than
using
C
or
C++
-
+
C-like
Syntax
-
Easy
to
learn
+
+
Image
processing
with
support
for
several
graphic
file
+
formats (such as JPEG
,
PNM
,
PNG,
TIFF
and
IFF), and
+
numerous image manipulation functions
+
+
Cryptographic
functions,
including
SSL
support
+
+ Database interface to several common SQL databases,
+
including MySQL and Oracle
+
+
Embedding
interfaces
for
Java
and
Perl
-
Below you will find a list of some desired but missing features, or
-
cons, of Pike. Pike is still under development and the goal is to
-
incorporate those in future versions.
-
-
- No Pike native compiler or debugger available
-
- Not optimal for heavy numeric processing jobs
-
- Limited range of special effect image filters for image
-
processing
-
-
-
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
-
-
Pike is distributed accompanied by a set of
modules
,
some of which are
-
described below.
-
-
-
Image - Image Processing Module
-
-
The Image module lets you perform common image manipulation and
-
processing operations from Pike programs. The supported operations
-
include
cutting and pasting, scaling, rotation, linear filtering of
-
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.
-
-
-
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, Postgres,
-
Oracle and ODBC.
-
-
-
MIME
- Multimedia Internet Mail Extension Module
-
-
This module makes it easy to create and decode e-mail
,
including
-
attachments.
-
-
-
Gz
- Data Compression Module
-
-
With this module you can compress data. Its name is slightly
-
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 AES
,
IDEA, DES
-
(including tripple DES) and CAST
,
the RC4 stream cipher, the hash
-
functions MD5
and
SHA,
and the public key cryptography algorithm
-
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.
+
Some
other
modules include support for MIME, Gz,
Gmp
,
Gdbm
,
GTK
,
+
XML
, and
regular
expressions
.