A true high level language (HLL) provides abstraction from the hardware's implementation, so by definition, a HLL must be machine independent. In practice, this means that every HLL depends on an abstraction layer that must be "ported" to a given hardware class before the HLL will execute on it. Some do this by means of a Virtual Machine (such as Java), while others achieve it by "just-in-time" compilation, such as Perl and .NET (specifically, the .NET Common Language Runtime); both concepts are similar in nature but have different technical implementations.
FORTRAN (FORmula TRANslator) is the best-known earliest example of machine independent language. This is where the language is not dependent on the characteristics of the computer. COBAL (COmmon Business-Orientated Language) is the other type of programming language that is machine independent. COBAL was developed by the US Navy for business applications.
The difference between high level languages and machine languages are as follows: 1)Machine language uses binary numbers/codes but high level languages(HLL) use key words similar to English and are easier to write. 2)Machine Language is a Low level language and is machine dependant while HLLs are not.
Machine-dependent (generally called "platform-dependent")
high level language is converted to machine level language using a compiler or an interpreter
A programming language that is machine-independent is called a "high-level" language - this includes Java, C++, Python, etc. A programming language that is machine-dependent is called a "low-level" language. For PCs, this usually includes assembly, binary code or some proprietary languages on embedded devices.
A language at the level of the machine it runs on. AKA Machine code, it's the underlying language that computer CPU's speak.
It is not possible to explain the computing environment in terms of a high-level programming language because the language is independent of the machine; it is the machine that defines the computing environment not the language. With high-level languages like C, the exact same source code can be compiled on any machine regardless of its computing environment. Note that the language itself is merely an abstraction; it allows us to express computations in a machine-independent manner. The implementation of the language is actually defined by the language compiler. Each machine type requires its own independent implementation, although a single compiler implementation can cater for a family of processors sharing a common architecture (such as 32-bit and 64-bit variations of the same architecture). The C language standard defines how computations should be expressed in the language itself, but it is the compiler's job to interpret these expressions such that every machine performs the computations as efficiently as the hardware will allow and produces consistent results regardless of the computing environment.
we need compiler to convert high level language in to machine language
Machine code is the ONLY example of machine language. However, every machine architecture has its own version of machine code; it is the native language of the machine. If you want to examine machine code upon your own machine, use a hex editor. This will show you every byte of the code in hexadecimal form.
Machine code is the native language of the machine. The machine does not "understand" any language other than its own native language. As such, all other languages, including low level assembly languages, must be compiled or interpreted in order to produce the required machine code.
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 computer does not execute a program in a high level language. A computer executes a program in machine language. The high level language is converted into machine language by a compiler. Alternatively, an interpreter executes on the computer in machine language and the interpreter executes the high level language.