Machine language is a group of commands executed by the central processing unit (CPU) and is the lowest-level representation of a computer program. It is easily understood by the CPU and is often represented in binary or hexadecimal digits, making it extremely difficult for humans to read quickly (if at all).
Assembly language is similar in many ways to Machine language except in that it allows for instructions to follow naming conventions, rather than to be entirely numeric. This allows humans to work more easily with assembly language than machine language, as its representation is more like human language.
Both languages are processor, and hence machine, dependent.
For example, the command to move the contents of register 2 to cell 1 would be represented in each language as follows:
Machine language 4021
Assembly language MOV R2, R1
Hence assembly language makes more human sense than machine language to the developer however it must be noted that as assembly language takes some interpretation to be used by the processor (into Machine language) there is a slight reduction in processing time.