A low level programming language provides control over the computer's hardware.

Low level programming languages are closer to the code of the computer.

A high-level programming language allows for across different platforms.

High-level programming languages provide memory management.

Platform-dependent programs often require different versions for each they support.