Sometimes it means different things. People use machine code for sequence of 0s and 1s, and assembler is usually called machine languages. But for the most part people use these two phrases interchangeably.
There is no such thing as a platform-free programming language. The correct term is platform-independent language. It simply means that the same source code can be compiled or interpreted upon any platform; the code is not machine-dependent.
No, they are two different things, source code is human-readable and machine code is machine-readable (though it can be represented in assembly)
They are the same thing. Every machine type has its own version of machine code, the native language of the machine (native machine code). All high-level code must be converted to native machine code before it can execute. Machine code is machine dependent but high-level code is generally machine-independent, thus the same source code can generally be converted to suit any type of machine using a suitable compiler or interpreter.
A machine code program. Machine code is the native language of the machine and the only language actually understood by the machine. However, program instructions can be written using a high-level programming language that the computer can translate into machine code using another machine code program called a compiler.
Java byte code is the code that is output by the Java compiler. Byte code is not machine code, it must be interpreted to create the machine code. This is handled by the Java virtual machine. Pretty much every platform produced today has a Java virtual machine implementation, so the same byte code can be executed upon any machine. Byte code can be regarded as being the native language of the virtual machine, as opposed to machine code which is the native language of the physical machine.
Computers only understand machine code. Low-level Assembler language and all high-level languages must be assembled or compiled to machine code in order to execute. However, the computer itself can be programmed (with a machine-code program) to generate the required machine code from either a low-level or high-level input. Low-level Assembler is an almost one-to-one translation of symbols and mnemonics to machine code whereas high-level languages often compile to object code which is then linked to produce machine code. Interpreted high-level languages are not compiled to machine code but are interpreted by another program, an interpreter, which translates each line of high-level code into the required machine code at runtime. Java, for instance, compiles to byte code suitable for the Java virtual machine. The JVM is a machine code program that interprets the byte code to produce machine-specific machine code. As a result of this interpretation, Java programs are much slower than machine-coded implementations of the same program.
When the code is targeted towards a specific machine architecture. Machine code is entirely machine-dependent, as is the low-level assembly language used to produce that machine code. High-level languages are not machine dependant, however source code can still be targeted towards a specific architecture or platform. Such code is non-portable, however many high-level languages provide methods to filter machine-dependant or platform-dependant code such that the same source code can be compiled on different machines and platforms.
Because machine language itself varies across systems. For example, machinecode for a x86 is totally different from machinecode for a PowerPC. This is why we need compilers and assemblers, so that the same higher level code can be translated into lower level code for various architectures.
Computers transmit information in binary code (also called "Machine Code") and then the computer's Operating System takes that binary code information and displays it in the language that the operator has chosen for it to be displayed it. All computers, regardless of language or country, use the same machine code.
the reason why we translate is that source code may be in assembly( low level language) or high level language and the only language computer understand is 0s and 1s which is binary code so the program written in either assembly or high level language must be convert or translate to binary and program written in HLL are in English form while the assembly are equivalent machine language.
Machine language is the actual instructions in computer memory that are fetched into the processor and executed. It is directly executable and consists of what look to most human beings like a bunch of hexadecimal numbers, though a few geeks such as myself can tell it is code instead of numbers. For example, the instructions executing interrupt 21, service 10, are: B410 CD21 Assembly language is a human readable as mnemonics, it translates on a one for one basis into machine language. The computer cannot execute assembly language directly, but human beings who are trained can understand it. The assembly language equivalent of the above instructions is: MOV AH,10 ; prepare for service 10 by putting 10 into AH INT 21 ; vectors into code established in the interrupt table
Basically they do the same: converting from one level of language into another. A compiler converts high level language (programming language like java) into machine-language. That is language a computer understands. An interpreter converts high level language into an intermediate level. When a program is exectuted, that intermediate level is reconverted to machine language.