Wikibooks:Programming languages bookshelf

Note: If you can't find what you're looking for here, check:
 * Computer programming for general topics.
 * Domain-specific languages bookshelf form Meta-Languages

= Alphabetically =

Ada – Bourne Shell Scripting

 * ActionScript &mdash;
 * Ada Language
 * Ada Programming (book information) (PDF)
 * Structured ~ Imperative ~ Procedural ~ Object oriented ~ Generic ~ Concurrent ~ Distributed ~ System ~ Embedded
 * Ada is a structured language with a Pascal like syntax which may make Ada a suitable teaching language. The Wikibook for Ada is the only Wikibook which has an entry for all Key concepts. Apart from academic use, Ada is professionally used in Air Traffic Control, Aviation (Commercial and Defense) , Rail Transportation, Communications (Satellites and Receivers) and Swiss banks - most of which are constantly on the lookout for good Ada programmers.
 * Ada Style Guide
 * This style guide is an update to the Ada 95 Quality and Style Guide to reflect the latest update to the language, commonly called Ada 2005. The purpose of this guide is to help computer professionals produce better Ada programs by identifying a set of stylistic guidelines that will directly impact the quality of their Ada programs.
 * AppleScript Programming
 * Assembly Languages
 * x86 Assembly
 * MIPS Assembly
 * 68000 Assembly
 * PowerPC Assembly
 * TI 83 Plus Assembly
 * 360 Assembly
 * 6502 Assembly
 * SPARC Assembly
 * Basic &mdash;
 * BlitzMax &mdash;
 * Business Basic
 * FutureBASIC
 * QBasic -
 * REALbasic
 * Visual Basic Classic -
 * Visual Basic is good for people who just want to make a program that works and has a GUI. Can only be used for Windows based systems however. Very good for Rapid Application Development but also perfectly usable for general purpose programming of many kinds.
 * Visual Basic .NET - object-oriented
 * While Visual Basic .NET retains most of the keywords that define the Visual Basic language its structure has been altered considerably. Within the .NET Framework it has become a powerful and flexible language now implementing true object-oriented design and threading amongst other enhancements.  While it is still largely limited to the Windows platform the Mono Project does support it on Linux.
 * DarkBASIC Programming
 * DarkBASIC is a powerful, direct X based programming language, developed so that everyday gamers can program their own games.
 * XBasic
 * XBLite
 * Bourne Shell Scripting -

C – FPI Script

 * C - - (|Index)  Structured ~ Imperative ~ Procedural
 * C is a system programming language and has a fairly simple syntax and a small set of keywords but with an extensive set of rules attached to those. It is also one of the most used languages. C is pretty much as low-level a programming language as you can get before assembly language. C was originally designed to program operating systems - specifically, it was designed to implement UNIX. It compiles to very small executables and it is used extensively in embedded systems with limited memory. C is the basis for, or has greatly influenced many modern programming languages such as Java, C#, PHP, and Python.

C++ is a general purpose, multi-paradigm mid-level programming language

 * C++ Programming - - Structured ~ Imperative ~ Procedural ~ Object oriented
 * C++ Programming As A Set Of Problems
 * Understanding C++
 * More C++ Idioms -

C#

 * C# Programming -
 * C# is a relatively new object-oriented programming language very similar to Java and is one of the four built-in languages for the .NET Framework by Microsoft. The Mono Project has also implemented much of .NET for other Operating Systems, such as Linux, BSD and OS X.  C# incorporates its features from C++, Java and also addresses their shortcomings.


 * Clojure
 * Concurrent Clean -
 * Common Lisp -
 * D - Structured ~ Object oriented ~ Functional (under development)
 * D is a programming language created by Walter Bright and available at Digital Mars. It's a C++ derivative with emphasis on execution efficiency, simple semantic models and safe features. D is a multi-paradigm language featuring garbage collection and contracts.  Support for functional programming is under development.  There is a comparison table available to show some of the features of D compared to well-established ones.


 * Learning to Program with D -
 * Delphi -
 * Eiffel - Object oriented ~ Design by contract
 * Eiffel is a pure real-world object-oriented language designed as such from the ground up in the early 1980s by Bertrand Meyer. It embodies several formal techniques, such as the use of assertions making them accessible to the programmer and designer in an integrated technique called design by contract, used to break down the functionality of software into cooperating modules (classes). The correct interaction of these modules is checked by the use of preconditions, postconditions, and class invariants, integrated with the exception handling mechanism. Eiffel incorporates an elegant design of multiple inheritance and generics.


 * Elm programming language
 * Elm is a strong-typed reactive functional programming language for declaratively creating graphical user interfaces. It compiles to Javascript so that programs can be shown in web browsers.


 * Erlang Programming -
 * Forth -
 * Fortran -
 * FPI Script -

Gambas – Lush

 * Gambas
 * Game Maker - (|Index) | Game Maker Programming/Tough Topics
 * Haskell - Functional
 * Icon
 * Io
 * Java Programming- - Object-Oriented ~ Concurrent
 * Java is an Object-Oriented Programming language, which can be used to teach the benefits of OO design and development, as well as advanced concepts as concurrent programming, exception handling and garbage collection (automatic memory management).


 * Java Tiger Certification
 * JavaScript -
 * Linoleum - A portable assembly
 * Lisp -
 * Lua Functional Programming
 * Lush

Mathematica – Perl

 * Mathematica -
 * MATLAB -
 * Maxima - CAS
 * MUMPS
 * mIRC Scripting -
 * Objective-C - Structured ~ Imperative ~ Procedural ~ Object oriented
 * Objective-C adds object-oriented features to C. The object-oriented model is based the SmallTalk model. Objective-C was developed by Brad Cox and was adopted by NeXT and so became the main language for programming MacOS and Cocoa.


 * OpenMP
 * PBASIC Programming
 * OpenGL
 * Oz
 * Pascal - structured programming
 * Initially, Pascal was a hypothetical language intended to teach students structured programming, and generations of students have "cut their teeth" on Pascal as an introductory language in undergraduate courses. Pascal was developed by Niklaus Wirth, who also developed Modula and Oberon as more real-world languages. Variants of Pascal are still widely used today, both in education and software development.


 * Performance Guide
 * The Performance Guide gives all developer, programmers and architects information to create performant application.


 * Perl -
 * Perl is an interpreted language. It is commonly used as a text manipulation, reporting, glue, and as a general programming language. Its availability on multiple computer platforms has led to its use as a cross-platform development tool. In the Unix environments it is often used as a substitute for shell scripting.

PHP – XForms

 * PHP -
 * PHP is a server side language that is used in the development of dynamic webpages. PHP syntax is very similar to C syntax. PHP usually uses the MySQL database server to load page information, although it can connect to other database servers like Oracle or Microsoft SQL Server. PHP was originally based on Perl.


 * Prolog -
 * Prolog is a language based on first-order predicate calculus - a system of expressing mathematical logic. In contrast to the more popular axiom of definitive programming, Prolog programs are declarative, which means that programmer declares a set of rules and facts and the user asks questions. It is the machine task to find a way of answering the question using the rules and facts. Learning Prolog will allow you to better understand computer assisted analysis of natural-language sentences and enhance your abilities as artificial-intelligence programmer.


 * Python Programming -
 * Python has a very clean and readable syntax and is run through an interpreter, which makes it easy to play with small examples, the downside of this dynamism being that Python programs typically require much more testing than in other languages. It is used for many real world, large scale projects such as MayaVi, Google, and Zope, and has been employed by organizations such as NASA for coordinating large banks of computers--a task Python has proven well-suited for.


 * Non-Programmer's Tutorial for Python 2.6 -
 * This book is a tutorial designed to be an introduction to the Python programming language. This guide is for someone with no programming experience, and because Python is considered to be a very good beginner's language, it may also serve as a general introduction to programming.


 * Non-Programmer's Tutorial for Python 3.0 -
 * This book is a tutorial designed to be an introduction to the Python 3.0 programming language. This guide is for someone with no programming experience, and because Python is considered to be a very good beginner's language, it may also serve as a general introduction to programming.  Python 3.0 and Python 2.x are different enough that the Non-Programmer's Tutorial for Python 2.6 has been converted to a new Python 3.0 tutorial.
 * A More Efficient Prime Number Generating Algorithm. Techniques and samples in Python.
 * An Introduction to Python For Undergraduate Engineers


 * Rebol Programming -
 * R Programming the open source statistical language
 * RPG
 * Ruby Programming - Object oriented
 * Ruby is a reflective, object-oriented programming language. It combines syntax inspired by Ada and Perl with Smalltalk-like object-oriented features, and also shares some features with Python, Lisp, Dylan and CLU. Ruby is a single-pass interpreted language. Ruby is said to follow the principle of least surprise (POLS), meaning that the language typically behaves intuitively or as the programmer assumes it should. Yukihiro Matsumoto, the developer of the Ruby language, noted that his primary design consideration was to make programmers happy by reducing the menial work they must do, following the principles of good user interface design. Currently, the Ruby on Rails framework has been getting much attention from the web development community for the ease and speed it provides in developing database-driven web applications.


 * SAS
 * Scriptol
 * Scheme
 * Scratch - Scratch is a graphical "block-based" programming language derived from Smalltalk, but oriented toward teaching children fundamental computer programming concepts.  The reference version of this language is written in Squeak, another derivative of Smalltalk.
 * Smalltalk -
 * Stata
 * Sway
 * Tcl - Tcl (Tool Command Language) is a dynamic programming/scripting language based on concepts of Lisp, C, and Unix shells. It can be used interactively, or by running scripts (programs). Traditionally procedural in style, it is very easy to use concepts of functional or object-oriented programming. Tcl is open source, BSD-licensed, and runs on most platforms.
 * TI-Basic 84 Programming -
 * TI-Basic 89 Programming
 * Vala Programming
 * Visual Basic Classic -
 * Visual Basic .NET -
 * XForms -

= Categorized by Paradigm =

A brief description of each language is provided in the alphabetical listing, if available.

Functional programming languages

 * Elm programming language
 * Erlang -
 * F# -
 * Haskell
 * Lisp -
 * Scheme
 * Sway


 * Description of "Functional programming" : in wikibooks, in wikipedia.

Imperative, procedural programming languages

 * Assembly Languages-
 * x86 Assembly -
 * MIPS Assembly -
 * Programming:68K assembly -
 * Programming:PowerPC assembly -
 * Basic -
 * DarkBASIC Programming
 * QBasic -
 * Visual Basic Classic -
 * Visual Basic .NET -
 * C - (|Index)
 * Forth
 * Fortran
 * Icon
 * MUMPS
 * Pascal -
 * Perl -
 * PHP
 * RPG


 * Description of "imperative programming": in wikibooks, in wikipedia.
 * Description of "procedural programming": in wikibooks, in wikipedia.

For more imperative and procedural programming languages look at Multi-paradigm languages

Logic programming languages

 * Prolog -


 * Description of "Logic programming": in wikipedia.

Multi-paradigm languages

 * Ada Programming
 * C++ Programming -  (|Index).
 * Common Lisp -
 * D Programming -
 * Delphi Programming -
 * Fortran -
 * Game Maker Programming - (|Index)
 * JavaScript -
 * Oz -
 * Objective-C Programming-
 * Pascal Programming -
 * Python Programming -
 * Non-Programmer's Tutorial for Python 2.6 -
 * Non-Programmer's Tutorial for Python 3.0 -
 * Sway
 * Tcl Programming -
 * Visual Basic Classic -


 * Description of "Multi-paradigm programming": in wikipedia.

Object-oriented programming languages

 * C# Programming -
 * Lisp (with help of CLOS)
 * Io
 * Java Programming - - (old text)
 * Python Programming -
 * Ruby Programming -
 * Smalltalk
 * Sway
 * Visual Basic .NET -
 * C & C++ X


 * Description of "Object-oriented programming": in wikibooks, in wikipedia.

For more Object-oriented programming languages look at Multi-paradigm languages

Design by Contract

 * D -
 * Eiffel


 * Description of "Design by Contract": in wikibooks, in wikipedia.

= Categorized by Operating System=

Almost all programming languages are operating system independent and even the languages named here are often ported to operating system foreign to them.

Macintosh

 * AppleScript Programming
 * Objective-C -
 * FutureBASIC
 * Programming Mac OSX with Cocoa for Beginners -
 * SuperCard

Microsoft Windows

 * C# Programming -
 * Game Maker -
 * Visual Basic Classic -
 * Visual Basic .NET -
 * DarkBASIC Programming

Unix Compatible Systems

 * Bourne Shell Scripting -
 * ANSI C with Unix

=References=

de:Regal:Programmierung