Resource on Computer Languages

Resource on Computer Languages

Here is a resource on computer languages and its acronyms explaining the basics and histories of each.  The huge mainframes that housed the computer processors of the 1950s and 60s seem incongruous with today’s netbooks and microservers. Computing hardware certainly has come a long way since then, providing us with iPads and mobile devices much more capable than some of the first computers. Computers cannot function on hardware alone, however. Software development has progressed alongside the development of computer hardware. While hardware provides the user with a physical interface to manipulate computer operation, software achieves this goal invisibly. As a behind-the-scenes technology, programming languages remain a highly specialized and professional area of study. Most modern computer users understand different programs achieve different goals, but know little about how different programming languages allow different functionalities. The earliest form of a programming language was developed by Herman Hollerith, who devised a way for machines to read punch cards. As punch cards had to be coded differently for different applications, early computer programs had limited functionality and were useful mainly for large calculations and database operations.

Konrad Zuse developed the first modern computing language, Plankalkul, in 1943, although it was not implemented in his lifetime. The ‘40s and ‘50s saw huge developments in computer languages in the form of ALGOL 60, COBOL and FORTRAN. Each of these languages focused on different applications, from numerical to robotic movements, although they allowed more general implementation than the punch card systems of the past. Programmers soon saw the incompatibility between different machines as problematic and developed new languages to address a wider variety of computer applications. The development of the personal computer spurred this effort to create consolidated languages that would work on a variety of machines and offer translation capabilities. The internet brought about many changes to programming languages. Web developers needed fast, reliable and simple programs that would not monopolize bandwidth resources. JavaScript, PHP and Ruby empowered web developers to create new applets for use on the web. Modularity also became popular as programmers needed to add functionality to their code without switching to a new language entirely. Languages often focus on a particular aspect of programming in order to maximize their utility. Each programming language has its own limitations and strengths in developing software. Many recent developments in programming have come from open source ideologies, where developers make the source code available publicly for anyone to improve upon. Countless computer languages have been developed throughout the computing age to satisfy the many needs of computer users and more are under development.

New programming languages often adapt from or act as improvements too previous developments. In this way programming languages can be organized into families of relation. These family trees often resemble the genealogical studies of spoken languages, with each earlier development producing many variants. Here is a list of popular languages and languages fundamental to the progression of software development as a whole.

 

ABC

Ada

ALGOL

AWK

APL

B

BASIC

BCPL

C

C++

C#

Caml

CLU

COBOL

Coral

CPL

Delphi

Eiffel

FlowMatic

Forth

  • Forth Interest Group – A nonprofit interest group dedicated to providing programmers with information on the Forth language.
  • Forth Programming Language – A brief overview of Forth and its potential for AI applications followed by links to some of the best Forth information on the web.

Fortran

Haskell

Icon

J

Java

JavaScript

Lisp

Mainsail

M MUMPS

ML

  • Standard ML – A description of Standard ML and its benefits for use in programming.
  • Standard ML ’97 – An updated version of Standard ML with links to helpful textbooks and online resources.

Modula

Oberon

Objective-C

Pascal

Perl

PHP

PL/I

Plankalkul

PostScript

Prolog

Python

Rexx

Ruby

  • Ruby Homepage – The official page for Ruby software development information.
  • Ruby-Doc – A site for Ruby documentation and help for programmers.
  • RubySyntax – Site devoted to Ruby syntax with a helpful tutorial to get started.

Sather

  • Sather History - The development of Sather at UC Berkeley and its reception by programmers.
  • Sather Homepage – The official site of Sather with documentation and compiler downloads.

Scheme

Self

Sh

  • The Traditional Bourne Shell Family – Describes the Bourne shell and its derivatives which have been instrumental in OS development since the seventh edition of Unix.
  • KornShell – A mix of C shell and Bourne shell features providing programming capabilities and Unix commands.
  • Bash – A shell for use with the GNU OS with features seen in C shell and KornShell.

Simula

Smalltalk

SNOBOL

Tcl/Tk