| | Most, if not all, high-level languages support the following features: sub-routines (functions and procedures), variables, flow-control, data types, I/O, arithmetic operations, string operations, dynamic allocation (heaps), arrays, structures, constants, and literals. Unique features of some languages will find their way into other languages if the feature is generally useful, or will remain unique to the language otherwise. An example of a feature that has not received widespread acceptance is '''sets'''. | | Most, if not all, high-level languages support the following features: sub-routines (functions and procedures), variables, flow-control, data types, I/O, arithmetic operations, string operations, dynamic allocation (heaps), arrays, structures, constants, and literals. Unique features of some languages will find their way into other languages if the feature is generally useful, or will remain unique to the language otherwise. An example of a feature that has not received widespread acceptance is '''sets'''. |
| − | '''Objects''' are a means of encapsulating data and algorithms that operate on that data, with polymorphism. Originally specified in SmallTalk, objects became popular with the advent of C++. Many languages which originally did not support objects have since acquired them. For instance [[Visual BASIC]] is a version of BASIC supporting objects. Likewise, [[Borland Delphi]] is a version of Pascal supporting objects. | + | '''Objects''' are a means of encapsulating data and algorithms that operate on that data, with polymorphism. Originally specified in Simula, objects became popular with the advent of C++. Many languages which originally did not support objects have since acquired them. For instance [[Visual BASIC]] is a version of BASIC supporting objects. Likewise, [[Borland Delphi]] is a version of Pascal supporting objects. |