[Home]History of Programming language

HomePage | Recent Changes | Preferences

Revision 104 . . (edit) December 15, 2001 10:35 pm by (logged).203.224.xxx [fixed some links]
Revision 103 . . (edit) December 15, 2001 10:33 pm by (logged).203.224.xxx [mention Lisp where appropriate]
Revision 102 . . (edit) December 7, 2001 6:57 pm by (logged).37.81.xxx [link fix]
Revision 101 . . (edit) December 6, 2001 9:18 pm by (logged).196.144.xxx [A couple of typo/punctuation edits]
Revision 100 . . (edit) December 3, 2001 7:40 am by Matthew Woodcraft [Move Ada into Algol family]
Revision 99 . . (edit) November 30, 2001 5:46 am by (logged).97.55.xxx [*added C-BASIC]
Revision 98 . . (edit) November 22, 2001 11:29 pm by Robbe [re-target RPG]
Revision 97 . . (edit) November 22, 2001 11:26 pm by Robbe [link to occam]
Revision 96 . . (edit) November 22, 2001 12:51 am by Rjstott
Revision 95 . . November 19, 2001 10:24 am by MartyMcGowan
Revision 94 . . November 10, 2001 2:15 am by (logged).188.19.xxx [added Objective C]
  

Difference (from prior major revision) (minor diff, author diff)

Changed: 25c25
Languages can be classified as statically typed systems (e.g. C++ or Java), and dynamically typed languages (e.g. JavaScript, Tcl or Prolog);
Languages can be classified as statically typed systems (e.g. C++ or Java), and dynamically typed languages (e.g. Lisp, JavaScript, Tcl or Prolog);

Changed: 32c32
Sometimes statically-typed languages are called "type-safe" or "strongly typed", and dynamically-typed languages are called "untyped" or "weakly typed"; confusingly, these same terms are also used to refer to the distinction between languages like Eiffel, Oberon, Scheme, or OCaml?, in which it is impossible to use a value as a value of another type and possibly corrupt data from an unrelated part of the program or cause the program to crash, and languages like FORTH, C, assembly language, C++, and most implementations of Pascal, in which it is possible to do this.
Sometimes statically-typed languages are called "type-safe" or "strongly typed", and dynamically-typed languages are called "untyped" or "weakly typed"; confusingly, these same terms are also used to refer to the distinction between languages like Eiffel, Oberon, Lisp, Scheme, or OCaml?, in which it is impossible to use a value as a value of another type and possibly corrupt data from an unrelated part of the program or cause the program to crash, and languages like FORTH, C, assembly language, C++, and most implementations of Pascal, in which it is possible to do this.

Changed: 57c57
The core of the idea of reference is that there must be a method of indirectly designating of storage space. The most common method is through named variables. Depending on the language, further indirection may include references that are pointers to other storage space stored in such variables or groups of variables. Similar to this method of naming storage, is the method of naming groups of instructions. Most programming language use macro calls, procedure calls or function calls as the statements that use these names. Using symbolic names in this way allows a program to achieve significant flexibility, as well as a high measure of reusability. Indirect references to available programs or predefined data divisions allow many application-oriented languages to integrate typical operations as if the programming language included them as higher level instructions.
The core of the idea of reference is that there must be a method of indirectly designating storage space. The most common method is through named variables. Depending on the language, further indirection may include references that are pointers to other storage space stored in such variables or groups of variables. Similar to this method of naming storage is the method of naming groups of instructions. Most programming language use macro calls, procedure calls or function calls as the statements that use these names. Using symbolic names in this way allows a program to achieve significant flexibility, as well as a high measure of reusability. Indirect references to available programs or predefined data divisions allow many application-oriented languages to integrate typical operations as if the programming language included them as higher level instructions.

Changed: 64c64
There are a few languages which offer a high degree of freedom in allowing self-modification in which a program re-writes parts of itself to handle new cases. Typically, only machine language and members of the LISP family (Common Lisp, Scheme, MUMPS) provide this capability; languages that support dynamic linking and loading such as C, C++, and the Java programming language
There are a few languages which offer a high degree of freedom in allowing self-modification in which a program re-writes parts of itself to handle new cases. Typically, only machine language and members of the Lisp family (Common Lisp, Scheme, MUMPS) provide this capability; languages that support dynamic linking and loading such as C, C++, and the Java programming language

Changed: 93c93
**macro, text processing
**macro, text processing

Added: 116a117
**Ada

Added: 117a119
**Atlas Autocode

Added: 132a135
**C-BASIC?

Removed: 144d146
Ada --

Changed: 176c178
Oberon
Oberon Occam

Changed: 181c183
REBOL -- REXX -- RPG -- Ruby
REBOL -- REXX -- RPG? -- Ruby

Changed: 216c218
Procedural languages: BASIC, C, COBOL, FORTRAN, Pascal,
Procedural languages: Ada, BASIC, C, COBOL, FORTRAN, Pascal,

Changed: 219c221,222
Object-oriented languages: Smalltalk, Eiffel, Modula-3?, C++, Java, Sather, and Oberon(?) are object-oriented languages. The data structures are defined in object classes, which also include code (methods). Thus the effects of a change to the code reamin very localized. Object classes can be extended by inheritance.
Object-oriented languages: Smalltalk,
Eiffel, Modula-3?, C++, Java, Sather, and Oberon(?) are object-oriented languages. The data structures are defined in object classes, which also include code (methods). Thus the effects of a change to the code reamin very localized. Object classes can be extended by inheritance.

Changed: 221c224
Functional languages: APL, C., LISP, ML, Ocaml?, Scheme, Haskell define programs and subroutines as mathematical functions. Many so-called functional languages are "impure" and also contain imperative features.
Functional languages: APL, LISP, ML, Ocaml?, Scheme, Haskell define programs and subroutines as mathematical functions. Many so-called functional languages are "impure" and also contain imperative features.

HomePage | Recent Changes | Preferences
Search: