The answer to your question is very simple. The name itself indicate the answer.
Machine language is the computer programming language that can be used for direct programming of the machine. All you needed is a machine and knowledge of the language but the problem with machine language is that it require 100% accuracy which is extremely difficult.
Due to hard learning of machine language assembly languages are used.
Assembly languages are used to create a program on computer and then assembler is user to convert the program into binary code of machine level code.
I hope now you understand the difference.
Machine Language is a language that can machine or computer understand. Every key press return 1/0 binary. All the instructions are given under this binary system.
Assembly language is a next level the machine language, it uses some symbol codes along with binary codes. Both are low level languages. Both does not use simple english words like our own built programs.
When we compile our own program then the compiler convert our language of the program to low level language, so that machine can understand our instructions.
With best regards
machine language - the lowest level of computer language. machine language includes the strings of 1s and 0s, that the computer can understand. although programs can be written in many different higher level languages, they all must be converted to machine language before the computer can understand and use them. also called machine code.
Assembly Language: Assembly language is a second generation programming language used in the computer systems. In assembly language, a programmer uses symbolic instructions instead of machine language instructions and descriptive names for data items and memory location. An assembly language program is written according to strict rules and then translated by an assembler into machine code. It is machine dependant language hence it is not portable. It has very less restrictions and also features high interaction between the operating system and the hardware thus enabling to write easy hardware dependant programs. The various symbolic notations used in the assembly language is called mnemonics.
Chharugh S. Konwar
Every computer has its own machine language,which is the only language understood by the computer.Originally,programs were written in machine language.But now programs are written in special programming languages,but these programs must be translated in to the machine language of the computer before the program can be executed.Machine language instructions are represented by binary numbers i.e.,sequence consisting of zero's and one's.
could represent a 12-bit machine language instruction.This instruction is divided into two parts an operation code(or op code) and an operand,e.g:
Op code 001, Operand 010001110
The op code specifies the operation(add,multiply,move.....) and the operand is the address of the data item that is to be operated on.Besides remembering the dozens of code numbers for the operations,the programmer also has to keep track of the addresses of all the data items.Thus programming in machine language is highly complicated and subject to error.Also,the program is program is machine independent.
Here the sequence of 0's and 1's that serve as operation codes in machine language are replaced by mnemonics(memory-aiding,alphabetic codes).Each assembly language instructions may have three parts,not all of which is required to be specified.The first part is the label or tag.These are the programmer defined symbols that give the address of the instruction.Then follow the op code of the operand, as with the machine language instruction.Here the operands are symbolized ad hoc,in letters chosen by the programmers.
"With Money You Can Buy a House, But Not a Home.
With Money You Can Buy a Clock, But Not Time.
With Money You Can Buy a Bed, But Not Sleep.
With Money You Can Buy a Book, But Not Knowledge.
With Money You Can Buy Blood, But Not Life."