Specific system capabilities for improved programmer productivity:
Large virtual address space
Modular programs with strong type-checking across module boundaries
Automatic storage management with garbage collection
Automatic resource sharing (input events and display screens)
Concurrent lightweight processes with synchronization primitives
Exception handling
Delayed binding and runtime type system
LISP-like LISTS and ATOMS
Distributed file system
Remote Procedure Calls