Skip to content
Snippets Groups Projects
ANNOUNCE 5.44 KiB
Newer Older
  • Learn to ignore specific revisions
  • Fredrik Hübinette (Hubbe)'s avatar
    Fredrik Hübinette (Hubbe) committed
    Pike 7.1 developer version
    
    
    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 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.
    
    Niels Möller's avatar
    Niels Möller committed
    
    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
    
    Niels Möller's avatar
    Niels Möller committed
    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:
    
    Niels Möller's avatar
    Niels Möller committed
    
            + General Purpose Programming Language 
    
    	+ Freely distributed under GPL
    
    Niels Möller's avatar
    Niels Möller committed
            + 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) 
    
    Fredrik Hübinette (Hubbe)'s avatar
    Fredrik Hübinette (Hubbe) committed
                 Tru64
                 AIX 4.3
    
                 IRIX 6.5
    
    Fredrik Hübinette (Hubbe)'s avatar
    Fredrik Hübinette (Hubbe) committed
                 FreeBSD 4.0
    
    Niels Möller's avatar
    Niels Möller committed
                 HP-UX 10.20 
    
    Fredrik Hübinette (Hubbe)'s avatar
    Fredrik Hübinette (Hubbe) committed
                 Linux Red Hat 4.2, 5.2, 6.1 and others (Intel x86) 
    
    Niels Möller's avatar
    Niels Möller committed
    
            + 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
    
            + Faster Development than using C or C++
    
    Niels Möller's avatar
    Niels Möller committed
            + C-like Syntax - Easy to learn
    
    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.
    
    Niels Möller's avatar
    Niels Möller committed
    
            - No Pike native compiler or debugger available
            - Not optimal for heavy numeric processing jobs
    
            - Limited range of special effect image filters for image
              processing
    
    Niels Möller's avatar
    Niels Möller committed
    
    
    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
    
    Niels Möller's avatar
    Niels Möller committed
    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.
    
    Niels Möller's avatar
    Niels Möller committed
    
    
    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.
    
    Niels Möller's avatar
    Niels Möller committed
    
    
    MIME - Multimedia Internet Mail Extension Module
    
    
    This module makes it easy to create and decode e-mail, including
    
    Niels Möller's avatar
    Niels Möller committed
    attachments. 
    
    
    Gz - Data Compression Module
    
    
    With this module you can compress data. Its name is slightly
    
    Niels Möller's avatar
    Niels Möller committed
    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
    
    Niels Möller's avatar
    Niels Möller committed
    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.