http://www.wkonline.com/d/Perl.html Source: The Free On-line Dictionary of Computing (09 FEB 02) awk 1. (Named from the authors' initials) An interpreted language included with many versions of Unix for massaging text data developed by Alfred Aho, Peter Weinberger, and Brian Kernighan in 1978. It is characterised by C-like syntax, declaration-free variables, associative arrays, and field-oriented text processing. There is a GNU version called gawk and other varients including bawk, mawk, nawk, tawk. Perl was inspired in part by awk but is much more powerful. Unix manual page: awk(1). netlib WWW. netlib FTP. ["The AWK Programming Language" A. Aho, B. Kernighan, P. Weinberger, A-W 1988]. Source: The Free On-line Dictionary of Computing (09 FEB 02) Perl A high-level programming language, started by Larry Wall in 1987 and developed as an open source project. It has an eclectic heritage, deriving from the ubiquitous C programming language and to a lesser extent from sed, awk, various Unix shell languages, Lisp, and at least a dozen other tools and languages. Originally developed for Unix, it is now available for many platforms. Perl's elaborate support for regular expression matching and substitution has made it the language of choice for tasks involving string manipulation, whether for text or binary data. It is particularly popular for writing CGI scripts. The language's highly flexible syntax and concise regular expression operators, make densely written Perl code indecipherable to the uninitiated. The syntax is, however, really quite simple and powerful and, once the basics have been mastered, a joy to write. Perl's only primitive data type is the "scalar", which can hold a number, a string, the undefined value, or a typed reference. Perl's aggregate data types are arrays, which are ordered lists of scalars indexed by natural numbers, and hashes (or "associative arrays") which are unordered lists of scalars indexed by strings. A reference can point to a scalar, array, hash, function, or filehandle. Objects are implemented as references "blessed" with a class name. Strings in Perl are eight-bit clean, including nulls, and so can contain binary data. Unlike C but like most Lisp dialects, Perl internally and dynamically handles all memory allocation, garbage collection, and type coercion. Perl supports closures, recursive functions, symbols with either lexical scope or dynamic scope, nested data structures of arbitrary content and complexity (as lists or hashes of references), and packages (which can serve as classes, optionally inheriting methods from one or more other classes). There is ongoing work on threads, Unicode, exceptions, and backtracking. Perl program files can contain embedded documentation in POD (Plain Old Documentation), a simple markup language. The normal Perl distribution contains documentation for the language, as well as over a hundred modules (program libraries). Hundreds more are available from The Comprehensive Perl Archive Network. Modules are themselves generally written in Perl, but can be implemented as interfaces to code in other languages, typically compiled C. The free availability of modules for almost any conceivable task, as well as the fact that Perl offers direct access to almost all system calls and places no arbitrary limits on data structure size or complexity, has led some to describe Perl, in a parody of a famous remark about lex, as the "Swiss Army chainsaw" of programming. The use of Perl has grown significantly since its adoption as the language of choice of many World-Wide Web developers. CGI interfaces and libraries for Perl exist for several platforms and Perl's speed and flexibility make it well suited for form processing and on-the-fly web page creation. Perl programs are generally stored as text source files, which are compiled into virtual machine code at run time; this, in combination with its rich variety of data types and its common use as a glue language, makes Perl somewhat hard to classify as either a "scripting language" or an "applications language" -- see Ousterhout's dichotomy. Perl programs are usually called "Perl scripts", if only for historical reasons. Version 5 was a major rewrite and enhancement of version 4, released sometime before November 1993. It added real data structures by way of "references", un-adorned subroutine calls, and method inheritance. The spelling "Perl" is preferred over the older "PERL" (even though some explain the language's name as originating in the acronym for "Practical Extraction and Report Language"). The program that interprets/compiles Perl code is called "perl", typically "/usr/local/bin/perl" or "/usr/bin/perl". Current version: 5.005_03 stable, 5.005_62 in development, as of 1999-12-04. Home. Usenet newsgroups: news:comp.lang.perl.announce, news:comp.lang.perl.misc. ["Programming Perl", Larry Wall and Randal L. Schwartz, O'Reilly & Associates, Inc. Sebastopol, CA. ISBN 0-93715-64-1]. ["Learning Perl" by Randal L. Schwartz, O'Reilly & Associates, Inc., Sebastopol, CA]. [Jargon File] (1999-12-04) Source: The Free On-line Dictionary of Computing (09 FEB 02) Python 1. A simple, high-level interpreted language by Guido van Rossum , 1991. Python combines ideas from ABC, C, Modula-3 and Icon. It bridges the gap between C and shell programming, making it suitable for rapid prototyping or as an extension language for C applications. It is object-oriented and supports packages, modules, classes, user-defined exceptions, a good C interface, dynamic loading of C modules and has no arbitrary restrictions. Python is available, among others, for Unix, Windows, DOS, OS/2, Macintosh, and Amoeba. Current version: 1.4, includes interpreter, libraries, and documentation. Home. Usenet newsgroup: news:comp.lang.python. 2. A compiler for CMU Common LISP. Python is more sophisticated than other Common Lisp compilers. It produces better code and is easier to use. The programming environment based on the Hemlock editor is better integrated than GNU Emacs based environments. (1997-02-27) Source: Jargon File (4.3.1, 29 Jun 2001) Python /pi:'thon/ In the words of its author, "the other scripting language" (other than Perl, that is). Python's design is notably clean, elegant, and well thought through; it tends to attract the sort of programmers who find Perl grubby and exiguous. Python's relationship with Perl is rather like the BSD community's relationship to Linux - it's the smaller party in a (usually friendly) rivalry, but the average quality of its developers is generally conceded to be rather higher than in the larger community it competes with. There's a Python resource page at `http://www.python.org'. See also Guido. Source: The Free On-line Dictionary of Computing (09 FEB 02) C A programming language designed by Dennis Ritchie at AT&T Bell Labs ca. 1972 for systems programming on the PDP-11 and immediately used to reimplement Unix. It was called "C" because many features derived from an earlier compiler named "B". In fact, C was briefly named "NB". B was itself strongly influenced by BCPL. Before Bjarne Stroustrup settled the question by designing C++, there was a humorous debate over whether C's successor should be named "D" or "P" (following B and C in "BCPL"). C is terse, low-level and permissive. It has a macro preprocessor, cpp. Partly due to its distribution with Unix, C became immensely popular outside Bell Labs after about 1980 and is now the dominant language in systems and microcomputer applications programming. It has grown popular due to its simplicity, efficiency, and flexibility. C programs are often easily adapted to new environments. C is often described, with a mixture of fondness and disdain, as "a language that combines all the elegance and power of assembly language with all the readability and maintainability of assembly language". Ritchie's original C, known as K&R C after Kernighan and Ritchie's book, has been standardised (and simultaneously modified) as ANSI C. See also ACCU, ae, c68, c386, C-Interp, cxref, dbx, dsp56k-gcc, dsp56165-gcc, gc, GCT, GNU C, GNU superoptimiser, Harvest C, malloc, mpl, Pthreads, ups. [Jargon File] (1996-06-01) C++ One of the most used object-oriented languages, a superset of C developed primarily by Bjarne Stroustrup at AT&T Bell Laboratories in 1986. In C++ a class is a user-defined type, syntactically a struct with member functions. Constructors and destructors are member functions called to create or destroy instances. A friend is a nonmember function that is allowed to access the private portion of a class. C++ allows implicit type conversion, function inlining, overloading of operators and function names, and default function arguments. It has streams for I/O and references. C++ 2.0 (May 1989) introduced multiple inheritance, type-safe linkage, pointers to members, and abstract classes. C++ 2.1 was introduced in ["Annotated C++ Reference Manual", B. Stroustrup et al, A-W 1990]. MS-DOS, Unix ANSI C++ - X3J16 committee. (They're workin' on it). See also cfront, LEDA, uC++. Usenet newsgroup: news:comp.lang.c++. ["The C++ Programming Language", Bjarne Stroustrup, A-W, 1986]. (1996-06-06) Source: The Free On-line Dictionary of Computing (09 FEB 02) JavaScript (Formerly LiveScript) Netscape's simple, cross-platform, World-Wide Web scripting language, only very vaguely related to Java. JavaScript is intimately tied to the World-Wide Web, and currently runs in only three environments - as a server-side scripting language, as an embedded language in server-parsed HTML, and as an embedded language run in browsers. JavaScript may end up being more popular and entrenched than Java, due to the current (May 1997) prevalence of its primary platform (see below), and its ease of learning. It has a simplified C-like syntax. Its functionality is currently limited, being aimed primarily at enhanced forms, simple web database front-ends and navigation enhancements. JavaScript originated from Netscape, and for a time, only Netscape products supported it. Microsoft now supports it, but as a "work-a-like" called JScript. The resulting inconsistencies make it difficult to write JavaScript that behaves the same in both Netscape Navigator and Microsoft Internet Explorer. This could be attributed to the slow progress of JavaScript through the standards bodies. JavaScript runs "100x" slower than C, as it is purely interpreted (Java runs "10x" slower than C code). Netscape and allies say JavaScript is an "open standard" in an effort to keep Microsoft from monopolising web software as they have desktop software. Netscape and Sun have co-operated to enable Java and JavaScript to exchange messages and data. JavaScript should not be confused with Java. JavaScript is a Sun trademark. See also VBScript. Usenet newsgroup: news:comp.lang.javascript. Mailing List: ("subscribe javascript" in body). (2001-04-24) Source: The Free On-line Dictionary of Computing (09 FEB 02) Java (After the Indonesian island, a source of programming fluid) A simple, object-oriented, distributed, interpreted, robust, secure, architecture-neutral, portable, multithreaded, dynamic, buzzword-compliant, general-purpose programming language developed by Sun Microsystems in 1995(?). Java supports programming for the Internet in the form of platform-independent Java "applets". Java is similar to C++ without operator overloading (though it does have method overloading), without multiple inheritance, and extensive automatic coercions. It has automatic garbage collection. Java programs can run stand-alone on small computers. The interpreter and class support take about 40 kilobytes; adding the standard libraries and thread support (essentially a self-contained microkernel) adds an additional 175Kb. Java extends C++'s object-oriented facilities with those of Objective C for dynamic method resolution. Java has an extensive library of routines for TCP/IP protocols like HTTP and FTP. Java applications can access objects across the Internet via URLs as easily as on the local file system. The Java compiler and linker both enforce strong type checking - procedures must be explicitly typed. Java supports the creation of virus-free, tamper-free systems with authentication based on public-key encryption. The Java compiler generates an architecture-neutral object file executable on any processor supporting the Java run-time system. The object code consists of bytecode instructions designed to be both easy to interpret on any machine and easily translated into native machine code at load time. The Java libraries provide portable interfaces. For example, there is an abstract Window class and implementations of it for Unix, Microsoft Windows and the Macintosh. The run-time system is written in POSIX-compliant ANSI C. Java applets can be executed as attachments in World-Wide Web documents using either Sun's HotJava browser or Netscape Navigator version 2.0. Home Usenet newsgroup: news:comp.lang.java. E-mail: . (1995-12-06) Source: Jargon File (4.3.1, 29 Jun 2001) Java An object-oriented language originally developed at Sun by James Gosling (and known by the name "Oak") with the intention of being the successor to C++ (the project was however originally sold to Sun as an embedded language for use in set-top boxes). After the great Internet explosion of 1993-1994, Java was hacked into a byte-interpreted language and became the focus of a relentless hype campaign by Sun, which touted it as the new language of choice for distributed applications. Java is indeed a stronger and cleaner design than C++ and has been embraced by many in the hacker community - but it has been a considerable source of frustration to many others, for reasons ranging from uneven support on different Web browser platforms, performance issues, and some notorious deficiencies in some of the standard toolkits (AWT in particular). Microsoft's determined attempts to corrupt the language (which it rightly sees as a threat to its OS monopoly) have not helped. As of 2001, these issues are still in the process of being resolved. Despite many attractive features and a good design, it is difficult to find people willing to praise Java who have tried to implement a complex, real-world system with it (but to be fair it is early days yet, and no other language has ever been forced to spend its childhood under the limelight the way Java has). On the other hand, Java has already been a big win in academic circles, where it has taken the place of Pascal as the preferred tool for teaching the basics of good programming to the next generation of hackers. bash Bourne Again SHell. GNU's command interpreter for Unix. Bash is a Posix-compatible shell with full Bourne shell syntax, and some C shell commands built in. The Bourne Again Shell supports Emacs-style command-line editing, job control, functions, and on-line help. Written by Brian Fox of UCSB. The latest version is 1.14.1. It includes a yacc parser, the interpreter and documentation. ftp://ftp.gnu.org/bash-1.14.1.tar.gz or from a GNU archive site. E-mail: <bug-bash@gnu.org>. Usenet newsgroup: news:gnu.bash.bug. (1994-07-15) Source: The Free On-line Dictionary of Computing (09 FEB 02) BASIC Beginner's All-purpose Symbolic Instruction Code. A simple language designed by John G. Kemeny and Thomas E. Kurtz at Dartmouth College in 1963. It first ran on an IBM 704 on 1964-05-01. It was designed for quick and easy programming by students and beginners. BASIC exists in many dialects, and is popular on microcomputers with sound and graphics support. Most micro versions are interactive and interpreted, but the original Dartmouth BASIC was compiled. BASIC was originally designed for Dartmouth's experimental time-sharing system and has since become the leading cause of brain-damage in proto-hackers. This is another case (like Pascal) of the cascading lossage that happens when a language deliberately designed as an educational toy gets taken too seriously. A novice can write short BASIC programs (on the order of 10--20 lines) very easily; writing anything longer is (a) very painful, and (b) encourages bad habits that will make it harder to use more powerful languages well. This wouldn't be so bad if historical accidents hadn't made BASIC so common on low-end micros. As it is, it ruins thousands of potential wizards a year. Originally, all references to code, both GOTO and GOSUB (subroutine call) referred to the destination by its line number. This allowed for very simple editing in the days before text editors were considered an essential tool on every computer. Just typing the line number deleted the line and to edit a line you just typed the new line with the same number. Programs were typically numbered in steps of ten to allow for insertions. Later versions, such as BASIC V, allow GOTO-less structured programming with named procedures and functions, IF-THEN-ELSE-ENDIF constructs and WHILE loops etc. Early BASICs had no graphic operations except with graphic characters. In the 1970s BASIC interpreters became standard features in mainframes and minicomputers. Some versions included matrix operations as language primitives. A public domain interpreter for a mixture of DEC's MU-Basic and Microsoft Basic is here. A yacc parser and interpreter were in the comp.sources.unix archives volume 2. See also ANSI Minimal BASIC, bournebasic, bwBASIC, ubasic. [Jargon File] (1995-03-15) Source: V.E.R.A. -- Virtual Entity of Relevant Acronyms December 2001 BASIC Beginner's All-purpose Symbolic Instruction Code Source: Jargon File (4.3.1, 29 Jun 2001) BASIC /bay'-sic/ n. A programming language, originally designed for Dartmouth's experimental timesharing system in the early 1960s, which for many years was the leading cause of brain damage in proto-hackers. Edsger W. Dijkstra observed in "Selected Writings on Computing: A Personal Perspective" that "It is practically impossible to teach good programming style to students that have had prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration." This is another case (like Pascal) of the cascading lossage that happens when a language deliberately designed as an educational toy gets taken too seriously. A novice can write short BASIC programs (on the order of 10-20 lines) very easily; writing anything longer (a) is very painful, and (b) encourages bad habits that will make it harder to use more powerful languages well. This wouldn't be so bad if historical accidents hadn't made BASIC so common on low-end micros in the 1980s. As it is, it probably ruined tens of thousands of potential wizards. [1995: Some languages called `BASIC' aren't quite this nasty any more, having acquired Pascal- and C-like procedures and control structures and shed their line numbers. --ESR] BASIC stands for "Beginner's All-purpose Symbolic Instruction Code". Earlier versions of this entry claiming this was a later backronym were incorrect. Source: The Free On-line Dictionary of Computing (09 FEB 02) Visual BASIC (VB) A popular event-driven visual programming system from Microsoft Corporation for Microsoft Windows. VB is good for developing Windows interfaces, it invokes fragments of BASIC code when the user performs certain operations on graphical objects on-screen. It is widely used for in-house application program development and for prototyping. It can also be used to create ActiveX and COM components. Version 1 was released in 1991 [by Microsoft?]. Current version: 6, as of 1999-11-26. Home. History. Strollo Software. Books. (1999-11-26) Source: The Free On-line Dictionary of Computing (09 FEB 02) LiveScript JavaScript http://wombat.doc.ic.ac.uk/foldoc/foldoc.cgi?query=ruby 3. A fully object oriented interpreted scripting language by Yukihiro Matsumoto . Similar in scope to Perl and Python, Ruby has high-level data types, automatic memory management, dynamic typing, a module system, exceptions, and a rich standard library. Other features are CLU-style iterators for loop abstraction, singleton classes/methods and lexical closures. In Ruby, everything is an object, including the basic data types. For example, the number 1 is an instance of class Fixnum. Current version (stable): 1.6.7, as of 2002-03-01. Ruby Home. Ruby Central. ["Programming Ruby - The Pragmatic Programmer's Guide", David Thomas, Andrew Hunt, Yukihiro Matsumoto pub. Addison Wesley 2000]. (2002-06-19) http://wombat.doc.ic.ac.uk/foldoc/foldoc.cgi?query=c-sharp C sharp ==> C# /see sharp/ An object-oriented language devised and promoted by Microsoft, intended to replace Java, which it strongly resembles. http://csharpindex.com/. (2001-10-04) http://wombat.doc.ic.ac.uk/foldoc/foldoc.cgi?query=php PHP: Hypertext Preprocessor (PHP) A server-side, cross-platform, HTML-embedded scripting language used to create dynamic web pages. PHP is Open Source software. PHP Home. [Features?] (2002-01-03) Try this search on OneLook / Google gawk GNU awk. Gawk is a superset of standard awk and includes some Plan 9 features. David Trueman and Arnold Robbins of Georgia Institute of Technology were developing it in 1993. It has been ported to Unix, MS-DOS, Macintosh, and Archimedes. Latest version: 2.15.3, as of 1993-11-08. Available by FTP from your nearest GNU archive site. Mac version. (2000-10-21)