| Fact/Language | Assembly | C | C++ | Java | JavaScript | Visual Basic |
|---|---|---|---|---|---|---|
| year invented | 1950s | 1972 | 1986 | 1995 | 1995 | 1991 |
| main inventor | ? | Dennis Ritchie | Bjarne Stroustrup | James Gosling | ? | ? |
| corporation | ? | AT&T Bell Labs | Bell Labs | Sun Microsystems | Netscape | Microsoft |
| major platforms, operating systems |
hardware-dependent | minicomputers, PCs UNIX, Windows |
workstations, PCs UNIX, Windows |
web browsers UNIX, Windows |
web browsers UNIX, Windows |
PCs Windows |
| current version(s) | many | many | many | 2 (language) 1.4 (API/SDK) |
1.4? | 6; .NET |
| distinguishing features | converted to machine code by assembler | low-level speed, high level structure | C with object-oriented additions | networked, platform independence | embedded in HTML | event-driven, Windows only |
| Feature/Language | Assembly | C | C++ | Java | JavaScript | Visual Basic |
|---|---|---|---|---|---|---|
| level | low | low-high | low-high | high | high | high |
| compiled? | yes | yes | yes | yes | no | yes |
| interpreted? | no | no | no | yes | yes | yes |
| C-like syntax? | no | yes | yes | yes | yes | no |
| procedural? | no | yes | yes | yes | yes | yes |
| object-oriented? | no | no | yes | yes | yes | yes |
| inheritance? | no | no | yes | yes | yes | yes |
| event handling? | no | no | no | yes | yes | yes |
| GUI components? | no | no | no | AWT/Swing | HTML forms | yes |
| performance/speed | fast | fast | fast | medium | slow | medium |
| language size/complexity | low | medium | high | high | medium | high |
| portability | low | medium | medium | high | medium | low |
| use for prototyping | low | low | medium | medium | medium | high |
| use for large programs | low | low | high | high | low | medium |
| available free of cost? | no | GNU | GNU | yes | yes | no |