Wikibooks:Programming languages bookshelf
From Wikibooks, the open-content textbooks collection
| Bookshelves |
|
Arts | Biology | Business and Economics | Computer Science | Computer Software | Domain-specific Languages | Education | Electronic Games | Engineering | Games and Athletics | Health science | History | How-to | Humanities | IT | Language and Literature | Languages | Law | Mathematics | Natural Sciences | Physics | Programming Languages | Social Sciences | Study Guides | Technology | Misc. | Wikibooks Help |

Bookshelf — Subject — Department
Note: If you can't find what you're looking for here, check:
- Category:Programming page.
- Computer programming for general topics.
- Wikibooks:Domain-specific languages bookshelf form Meta-Languages
|
Note to the editors: <source lang="languageName"> .... < /source > if the language is supported by GeSHi for syntax highlighting |
Contents |
Alphabetically
Ada – Bourne Shell Scripting
| Ada Programming is a tutorial teaching the Ada programming language. Ada puts unique emphasis on, and provides strong support for, good software engineering practices that scale well to very large software systems (millions of lines of code, and very large development teams). |
- Structured ~ Imperative ~ Procedural ~ Object oriented ~ Generic [1] ~ Concurrent[2] ~ Distributed[3] ~ System[4] ~ 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[5], Ada is professionally used[6] 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.
- AppleScript Programming
- Assembly Language
- Basic —
(Jan, 01 0000)
- BlitzMax —
(May, 7th 2007) - QBasic -
(Jan, 01 0000) - Visual Basic Classic -
(Aug 12, 2005)
- 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 -
(Aug 14, 2005)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
(April 4th, 2006)
- DarkBASIC is a powerful, direct X based programming language, developed so that everyday gamers can program their own games.
- XBasic
- XBLite
- BlitzMax —
- Bourne Shell Scripting -
(Oct 10, 2005)
C – Fortran
- C -
(Oct 10, 2005) - (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++ Programming -
- (Index) Structured ~ Imperative ~ Procedural ~ Object oriented
- C++ Programming As A Set Of Problems
- Understanding C++
- More C++ Idioms -
(Nov 24, 2007) - C# Programming -
(May 9, 2007)
- 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.
- Concurrent Clean -
(Jan 11, 2005) - Common Lisp -
(Nov, 01 2005) - D -
(Oct 10, 2005) 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 -
(Sep, 06 2006) - Delphi -
(Oct 10, 2005) - 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.
Gambas – Lush
| Haskell is a lazy functional programming language with a state of the art type system. This tutorial aims to be friendly enough for new programmers, yet deep enough to challenge the most experienced. Come stretch your mind with us! |
Write Yourself a Scheme in 48 Hours (download) (printer-friendly) |
In this advanced Haskell tutorial, we will implement a significant subset of Scheme together. We assume no prior knowledge; however, we will be going fast. So if you're feeling ambitious, why don't you Write Yourself a Scheme in 48 Hours? |
- Gambas
- Game Maker - (Index) | Programming:Game_Maker:Tough_Topics
- Haskell - Functional
- Icon
- Io
- Java Programming-
(Nov 23, 2005) - 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).
- JavaScript -
(Oct 10, 2005) - Linoleum - A portable assembly
- Lisp -
(Oct 10, 2005) - LSL - Linden Scripting Language
- Lua Functional Programming
- Lush
Mathematica – Perl
- Mathematica -
(Feb 12, 2005) - MATLAB -
(July 27, 2007) - Maxima - CAS
- MUMPS
- mIRC Scripting -
(March 13, 2008) - Objective-C -
(Oct 10, 2005) 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.
- OCaml is an elegant general-purpose programming language designed by w:INRIA. Although it is focused on functional programming, it also permits imperative programming and object-oriented programming, with a very flexible static type system. One of the originalities of the language is that type information is automatically inferred by the compiler, therefore freeing the developer from having to define manually interfaces, prototypes... The language features garbage-collection, a comprehensive library, syntax customization and a compiler producing either cross-platform bytecode or fast native binaries. OCaml is generally considered by computer scientists twenty years in advance of Java, its main drawback being that a degree of comprehension of type theory is required to understand some error messages arising from complex situations.
- 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.
- 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 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 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 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[citation needed]. 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.
- 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.
- 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.
- Scriptol
(Mar 6, 2006) - Scheme
- Scratch -
(May 27, 2007) 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 -
(Oct 10, 2005) - Sway
- Tcl -
(Oct 10, 2005) 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 Programming -
(Sept 28, 2007) - Visual Basic Classic -
(Aug 14, 2005) - Visual Basic .NET -
(Aug 14, 2005) - XForms -
(Feb 26, 2007)
Categorized by Paradigm
A brief description of each language is provided in the alphabetical listing, if available.
Functional programming languages
- Erlang -
(6 October 2006) - F# -
(Jun 25, 2006) - Haskell
- Lisp -
(Oct 10, 2005) - OCaml -
(Jul 7, 2007) - Scheme
- Sway
- Description of "Functional programming"
- in wikibooks, in wikipedia.
Imperative, procedural programming languages
- Assembly Language-
(Jan, 01 0000)
- Basic -
(Jan, 01 0000)
- C - (Index)
- Forth
- Fortran
(July 13, 2006) - Icon
- MUMPS
- Pascal -
(Oct 10, 2005) - Perl -
(Oct 10, 2005) - 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
- Description of "Logic programming"
- in wikipedia.
Multi-paradigm languages
- Ada Programming (book information) (PDF)
- C++ Programming
(Jan, 01 0000) - (Index). - Common Lisp -
(Nov, 01 2005) - D -
(Oct 10, 2005) - Delphi -
(Oct 10, 2005) - Fortran -
(Nov, 25 2005) - Game Maker - (Index)
- Javascript -
(Oct 10, 2005) - Oz -
(Nov, 25 2005) - Objective-C-
(Oct 10, 2005) - Objective-Pascal -
(Oct 10, 2005) - Python Programming -
(Oct 10, 2005) - Non-Programmer's Tutorial for Python -
(Mar 12, 2007) - Sway
- Tcl -
(Oct 10, 2005) - Turbo Pascal -
(Oct 10, 2005) - Visual Basic Classic -
(Aug 14, 2005)
- Description of "Multi-paradigm programming"
- in wikipedia.
Object-oriented programming languages
- C# Programming -
(Oct 10, 2005) - Lisp (with help of CLOS)
- Io
- Java Programming -
(Nov 23, 2005) - (old text) - Python Programming -
(Oct 10, 2005) - Ruby Programming -
(Oct 10, 2005) - Smalltalk
- Sway
- Visual Basic .NET -
(Aug 14, 2005) - 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
- 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 -
(Oct 10, 2005) - Programming Mac OSX with Cocoa for beginners -
(Jan 17, 2006) - SuperCard
Microsoft Windows
- C# Programming -
(Jan, 01 0000) - Game Maker -
(Jan, 01 0000) - Visual Basic Classic -
(Aug 12, 2005) - Visual Basic .NET -
(Aug 14, 2005) - DarkBASIC Programming
(April 4th, 2006)
Unix Compatible Systems
References
- ↑ Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, Section 12: Generic Units
- ↑ Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, Annex E: Distributed Systems
- ↑ Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, Section 9: Tasks and Synchronization
- ↑ Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, Annex C: Systems Programming
- ↑ The GNAT Academic Program (GAP)
- ↑ Look Who's Using Ada

