Wikibooks:Programming languages bookshelf
Old-style bookshelves were phased out years ago for subjects, which were later converted to the Wikibooks Stacks. The corresponding page now replacing this bookshelf is Shelf:Computer programming languages. |
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: <syntaxhighlight lang="languageName"> .... </syntaxhighlight> if the language is supported by Pygments library for syntax highlighting |
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 —
- 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 Languages
- Basic —
- BlitzMax —
- 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# 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.
- 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 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
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.
In this advanced Haskell tutorial we'll implement a significant subset of Scheme. We assume no prior Haskell knowledge, but progress quickly. If you're feeling ambitious, why not Write Yourself a Scheme in 48 Hours?
- 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).
- 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.
- 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.
- 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 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.
- 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
- Description of "Functional programming"
- in wikibooks, in wikipedia.
Imperative, procedural programming languages
- 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
- 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
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