Wikibooks:Programming languages bookshelf
From Wikibooks, the open-content textbooks collection
Bookshelves |
Biology | Computer Science | Computer Software | Education | Health science | History | Humanities | Language and Literature | Languages | Law | Mathematics | Natural Sciences | Physics | Programming Languages | Social Sciences | Study Guides | Misc. | Wikibooks Help |
Note: If you can't find what you're looking for here, check:
- 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). |
- ActionScript —
(stub only – 7. Jul 2006)
- Ada Language
- Ada Programming (book information) (PDF)
- 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.
- 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.
- Ada Programming (book information) (PDF)
- AppleScript Programming
- Assembly Language
- Basic —
(Jan, 01 0000)
- BlitzMax —
(May, 7th 2007)
- Business Basic
- FutureBASIC
- QBasic -
(Jan, 01 0000)
- REALbasic
- 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 – FPI Script
- 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.
- Clojure
- 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.
- Erlang Programming -
(29 Mar 2008)
- Forth -
(Jan, 01 0000)
- Fortran -
(Jan, 01 0000)
- FPI Script -
(January 10, 2009)
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) | Game Maker Programming/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.
- PHP -
(Oct 10, 2005)
- 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 -
(Oct 10, 2005)
- 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 -
(Oct 10, 2005)
- 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.
- Non-Programmer's Tutorial for Python -
(Mar 12, 2007)
- 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 -
(Mar 25, 2009)
- 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 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 -
(Oct 10, 2005)
- R Programming the open source statistical language
- RPG
- Ruby Programming -
(Oct 10, 2005) 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
(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)
- Stata
- 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 84 Programming -
(Sept 28, 2007)
- TI-Basic 89 Programming
- Vala Programming
- 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
- Description of "Functional programming"
- in wikibooks, in wikipedia.
Imperative, procedural programming languages
- Assembly Language-
(Jan, 01 0000)
- x86 Assembly -
(Jan, 01 0000)
- MIPS Assembly -
(Jan, 01 0000)
- Programming:68K assembly -
(Jan, 01 0000)
- Programming:PowerPC assembly -
(Jan, 01 0000)
- x86 Assembly -
- Basic -
(Jan, 01 0000)
- DarkBASIC Programming
(April 4th, 2006)
- QBasic -
(Jan, 01 0000)
- Visual Basic Classic -
(Aug 12, 2005)
- Visual Basic .NET -
(Aug 14, 2005)
- DarkBASIC Programming
- 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
- Prolog -
(Oct 10, 2005)
- 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 Programming -
(Oct 10, 2005)
- Delphi Programming -
(Oct 10, 2005)
- Fortran -
(Nov, 25 2005)
- Game Maker Programming - (Index)
- JavaScript -
(Oct 10, 2005)
- Oz -
(Nov, 25 2005)
- Objective-C Programming-
(Oct 10, 2005)
- Pascal Programming -
(Oct 10, 2005)
- Python Programming -
(Oct 10, 2005)
- Non-Programmer's Tutorial for Python -
(Mar 12, 2007)
- Sway
- Tcl Programming -
(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)
- FutureBASIC
- 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
- Bourne Shell Scripting -
(Oct 10, 2005)
- ANSI C with Unix
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