Languages Overview Back to the Win32 Shootout
Back to dada's perl lab

[The Original Shootout]   [NEWS]   [FAQ]   [Methodology]   [Platform Details]   [Acknowledgements]   [Scorecard]  

Languages Overview

This page gives an overwiew about the languages used in the shootout. We consider language characteristics (programming discipline, object-oriented programming support, 'open sourceness' and so on), the execution mode (interpreted, byte-compiled or compiled) and the platforms each language is available on.

PLEASE NOTE that most of the data are absolutely subjective, they only represent the best of my knowledge. If you have strong (and well documented) objections to make, or you think I've blatantly missed something obvious, drop me a line and I'll be happy to discuss and correct this page.

That said, let's examine how to read the data in the table.

In general, symbols in the table are defined as follows:

yes
partially
no
? don't know

family defines the programming discipline the language supports. The values are:

P procedural (or imperative) programming
F functional programming
L logic programming
Language Characteristics Execution Platforms
family OOP scripting open
source
IDE interp. byte
comp.
comp. Win32 Unix Mac AS/400 BeOS Amiga
AWK P ? ? ? ?
C P ? ? ? ?
C++ P - - ? ? ? ?
EIFFEL P - - ? ? ? ?
ERLANG F - - ? ? ? ? ?
FORTH (P) - ? ? ? ? ?
HASKELL F - - ? ? ? ?
ICON P - ? ? ? ?
JAVA P the bytecode is compiled on the fly to native code by the Java Virtual Machine (JIT compilation), so it is really a compiled language, even if it doesn't seem ? ? ?
JAVASCRIPT P - - ? ? ? ?
LISP P/F - ? ? ? ?
LUA P - - ? ? ? ?
MERCURY L/F - - ? ? ? ?
OCAML F ? ? ? ?
PASCAL P - - - ? ? ? ?
PERL P ? ? ? ?
PHP P - - -
PIKE P - - -
PYTHON P - - - seems to be currently not supported/actively developed
REXX P - - - - -
RUBY P - - -
SCHEME P/F - ? ? ?
SML F - - - - ? ? ? ?
TCL P ? ? ? ?
VBSCRIPT P - - - - - -

AWK

Execution
Awka is a compiled version of AWK (AWK-to-C translator)

PERL

Execution
Byte-compiled Perl programs and even C-compiled are possible (although this feature is still considered experimental), but in reality the speed increase is almost inexistent, so they are not really viable options yet.

PYTHON

Platforms
The Amiga port seems to be not supported at the moment, hence the (x).


Back to the Win32 Shootout
Back to dada's perl lab
Send comments or suggestions to dada@perl.it