Assembly level languages are basic language model to communicate with computer/calculate
these are used to create Fortran , Cobol, etc..
Basic set of instructions for the computer to understand
Current scenrio, c#, python, java are considered general purpose lanaugaes to all domain
Compiler translates these languages to machine understandable language
Ten the language B was created, then C, which started the rise of general purpose languages, C#, Python, java are considered general purpose languages to all domain
Paradigm of languages came up during the times of 1980's
procedural oriented programming was followed on Cobol (Business need) and Fortran (Formula Translations)
There were few challenges and complexities, to overcome those,
modular, functional, object oriented programming by the computer scientists and researchers.
C++ was created on top of C and Object oriented concepts was effective but there were few drawbacks,
Compile of C++ was effective but expensive, as for each OS new compilers/translators were to be creaed
Again, to overcome the challenges and drawbacks of C++ while supporting OOPs
One of the main challenge was the cost fr the compilation, Java came with the new approach of breaking down the message translation from the high level(programming) language to machine language.
one smartphone/laptop/Desktop has lets say intel/arm/amd processor, the processor converts the programming language to machine language 0,1 in the proces sit understands
but before that OS will stop in between to check whether the code is what/how it is executed and code quality is correct!
Java team created a approach called CORA, create once run anywhere which made Java Platform independent! - Platform means in the simple words a combo of windows+intel processor Mac+M1 processor etc...
Java program is not compiled directly to machine language (binary -0,1)
Java program is compiled to byte code(intermediate code (user could find it difficult to read and understand easily).
Once this is generated and the user wants it to process/run, this is passed on to JVM - based on the Platform the JVM converts to the binary (machine understandable language) - JVM has a system called a JIT (Just in Time Compiler- also known as Interpreter) .
Compiler - overall program translator (to be updated)
Interpreter- line by line translator- considered faster than the compilers.
Each OS has its own JVM - so the features and the responsibilities of the compiler was split across 2 units bringing down the compilation cost to less on considering to the cost incurred earlier.
SUN Microsystems -Java (James Gosling) and Microsoft- C# and Python
For Ex: Java had the syntaxes similar to C and C++ as the developers were familiar to those, considering java's one of the feature is considered as SIMPLE, considering python is having easy syntax.
lets say for doing those currently JDK (java developer Kit) is available- The Kit of compiler,
For the OS to understand on checking whether the programming info written int he respective language the concept of SYSNTAX came into picture, COmpiler does this
References:
Dennis Ritchie wiki and master website info.