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 |