====== Language ======

===== Introduction =====

The primary purpose of this wiki is to give immediate help to programmers wanting to know how to perform specific tasks in specific languages. However, a frequently asked question is: "Which language should I use?", and many programmers remain largely ignorant of the vast majority of programming languages, so some brief notes are appropriate.

This article will briefly introduce a number of old and new languages, addressing questions such as: * what makes this language unique? * when would it be appropriate to use this language? * what are similar languages?
* what are current implementations?

Please note that there are many [[Religious|Issues]] involved, and this article should maintain an objective and thoughtful tone, acknowledging that there are different opinions, and that they are all entitled to a rational voice.

===== Languages =====

===== See Also ===== [[Language|Cribsheets]]

[[Frameworks]]

This page contains a list of compilers and interpreters for various languages.

===== Language: BASIC =====

[[bwbasic]] [[freebasic]] [[glbcc]] [[hbasic]] [[kbasic]] [[scriptbasic]] [[smallbasic]] [[wxbasic]] [[xbasic]] [[x11basic]] [[yabasic]]

===== Language: C ===== [[http://www.cs.virginia.edu/~lcc-win32/|Lcc-win32]] * LCC stands for local C compiler. A compiler system for windows developer by Jacob Navia. [[http://gcc.gnu.org/|Gnu Compiler Collection]] * The Gnu Compiler Collection includes a C compiler called gcc. * [[http://fabrice.bellard.free.fr/tcc/|Tiny C Compiler]]

===== Language: C# =====

===== Language: C++ ===== [[http://gcc.gnu.org/|Gnu Compiler Collection]] * The Gnu Compiler Collection's C++ compiler is called g++.

===== Language: Java ===== [[http://java.sun.com/|Sun's Java Compiler]] * Sun's Java Compiler is the only compiler authorized by Sun Microsystems. It is the benchmark against which the others measure themselves.

[[http://gcc.gnu.org/java/|GNU's GCJ Compiler]] * GCJ is GNU's Java compiler for the GCC compiler suite. It's still very early, but it has the benefit of compiling to machine code, not to the Java bytecode.

[[http://jikes.sourceforge.net/|IBM's Jikes Compiler]] * IBM's Jikes Compiler is a high quality, extremely fast compiler. Many developers use it for building their development copies, while using the Sun compiler for releases.

[[http://www.kaffe.org/|Tim Wilkinson's and Jim Pick's Kaffe Compiler]] * Kaffe was an early entrance into the scene, and was the first real JIT on the market. It's primary use nowadays is for embedded systems.

===== Language: Pascal =====

==== Free Pascal ==== [[http://www.freepascal.org/|Free Pascal]] The language syntax has excellent compatibility with TP 7.0 as well as with most versions of Delphi (classes, rtti, exceptions, ansistrings, widestrings, interfaces). A Mac Pascal compatibility mode is also provided to assist Apple users. Furthermore Free Pascal supports function overloading, operator overloading, global properties and other such features.

===== Language: Perl ===== [[http://www.perl.com/download.csp|Perl 5.10 source code]] is distributed in a form of a tar.gz file. There are various binary distributions for almost any system. Most linux distributions comes with perl. A well known distribution for Windows is Activestate's [[http://www.activestate.com/store/productdetail.aspx?prdGuid=81fbce82-6bd5-49bc-a915-08d58c2648ca|ActivePerl]]

===== Language: PHP =====

===== Language: Python =====

===== Language: Ruby =====