It is not impossible to optimize high level language code. It is just a matter of the compiler being able to track the effect of the various statements in the program, and determine the various optimizations that are required. Yes, it is more complex, but it is very possible to optimize high level language code. In fact, modern compilers are so good at optimization that the programmer's attempts to optimize code, while well intended, are of smaller and smaller effect.
Don't misunderstand - even though the compiler does a good job of optimization, that does not eliminate the programmer's responsibility of writing good code.
Assembly language is a low-level programming language that is used to write programs that directly correspond to machine code instructions. It is often used in software development to optimize performance and control hardware at a very detailed level.
its impossible to do that
Because it cannot be understood by users. High level language like C can be understood by the user by looking at its source code. But assembly level language does not have any source code, its a language converted from high level language to low level language (assembly level language or machine level language) so that the language which the user could read/understand can also be read/understand by the machine.
Not only can we but we have to! Machine code is the only language understood by the computer, thus all languages, both low and high level, must be converted to machine code in order to execute. Most compiled languages can produce low-level symbolic code (assembly language), but not all, especially those that compile to byte code rather than machine code. However, all code has to be compiled or interpreted to machine code at some point and machine code can be disassembled to produce low-level symbolic code.
Yes. Any language that does not closely resemble the machine code is a high-level language. The more abstract the language, the more high-level it is and the more complex it is to translate into machine code. Logo is highly abstract; it bears no resemblance whatsoever to machine code, therefore it is high level.
Assembly language is a low-level programming language that is used to communicate directly with a computer's hardware. Its purpose is to provide a more human-readable way to write code that can be translated into machine code, which the computer can understand and execute. Assembly language allows programmers to have more control over the hardware and optimize performance, making it ideal for tasks that require speed and efficiency.
It is meaningless. The term 'high-level language' implies a high-level of abstraction between the source code and the resultant machine code. In order for there to be a one-to-one relationship between the source code and the machine code, there must be little to no abstraction; the source language must be low-level. Assembly language is a low-level language with little to no abstraction.
You cannot convert machine code to high-level language. It's a one-way process. The best you can do is disassemble a machine code program, producing code similar to assembly language.
Machine code & Assembly language.
op code is high level language
Machine code.
There is no program that can translate machine code to a high-level language. The best you can do is disassemble the code. This produces code that is similar to assembly language, but which lacks variable names and comments. Even a skilled programmer will need to spend hours disentangling the code in order to make it readable -- but you can never restore the code back to its original source code, no matter what language it was written in.