Computer Programming Languages
A comparison of programming languages:
| Item | Visual Basic | Object Pascal | C++ | PowerScript | Java | |
| Derivation | Basic | Pascal | C | Powerbuilder | Sun Java | |
| Ease of use | high | high | low-medium | medium-high | medium-high | |
| Platforms | Windows incl. CE | Windows, not CE yet | Windows, others | Windows, Mac, Unix | Most | |
| Limitations | moderate | minimal | very minimal | high | moderate | |
| OOP: | ||||||
|
single but can mimic multiple via interfaces & aggregation | single and multiple or use of aggregation | not protected or private inheritance | |||
|
yes private, protected, public sections | yes, private, protected, public sections | ||||
|
yes if method declared as virtual | yes if method declared as virtual | ||||
|
yes | yes | ||||
| method overloading | yes | yes | ||||
| function overloading | yes | yes | ||||
| operator overloading | no? | yes | ||||
| virtual methods | yes | yes | ||||
| dynamic dispatching of methods | yes | no | ||||
| in-line methods | no | yes | ||||
| delegation | yes | no | ||||
| pointers | yes | yes | no | |||
| linked lists | yes | no | ||||
| dynamic arrays | yes | yes | yes | |||
| datatypes: | ||||||
|
yes | no | ||||
|
yes | no | ||||
|
no | yes | no | |||
|
no | yes | no | |||
|
yes | no | ||||
|
yes | no | ||||
| Declare class within another class | yes | yes | no | |||
| Runtime type information | yes | yes | no | |||
| Set handling | yes | no | ||||
| Inline compiler | no | yes | yes | no | ||
| Range checking | yes (can turn off) | yes | no | |||
| Type checking | yes | yes | ||||
| Memory management | Record in VMT; dynamic objects only, no custom memory allocation routines | Struct in VMT; static, automatic & dynamic objects;memory allocation; | ||||
| Component creation: | ||||||
|
no ??MFC's | yes | yes | no ??PFC's | ||
|
no?? | yes | yes | no | ||
|
yes | yes | yes | no? | ||
|
no | yes | yes | no | ||
| Protocol support: | ||||||
|
yes | yes | yes | yes? | ||
|
no | yes | yes | no | ||
|
yes | yes | yes | yes? | ||