当前位置:网站首页>What are compiled languages and interpreted languages?
What are compiled languages and interpreted languages?
2022-07-07 16:07:00 【Le_ Sam】
First, what are compiled languages and interpreted languages ?
Computers can't understand high-level languages , Can not directly execute high-level language , It can only understand machine language directly , So if a program written in any high-level language wants to be run by a computer , It has to be converted into computer language , That's machine code .
Computers can't understand high-level languages , Can not directly execute high-level language , It can only understand machine language directly , So if a program written in any high-level language wants to be run by a computer , It has to be converted into computer language , That's machine code . There are two ways of this transformation :
1. compile
2. explain
Therefore, high-level languages are also divided into compiled languages and interpreted languages .
The main difference is that , The former can run on the platform after compiling the source program , The latter is compiled during runtime . So the former runs fast , The latter has good cross platform performance .
Compiler language
Use a special compiler , For a specific platform , Compile the high-level language source code into machine code that can be executed by the hardware of the platform , And packaging into the platform can identify the executable program format .
characteristic
Before a program written in a compiled language is executed , A special compilation process is needed , Compile the source code into a machine language file , Such as exe File format , When you want to run again later , You can use the compilation results directly , Such as direct operation exe file . Because it only needs to be compiled once , You don't need to compile later , So compiler language is efficient .
summary
1. Compile into platform related machine language files at one time , The runtime is detached from the development environment , High operational efficiency ;
2. Platform specific , Generally, it can't be ported to other platforms ;
3. The existing C、C++、Objective All of them belong to compiler language .
Explanatory language
Use a special interpreter to interpret the source program line by line into a specific platform machine code and execute it immediately . It is only when the code is executed that the interpreter dynamically translates and executes line by line , Instead of translating before execution .
characteristic
Interpretive languages don't need to be compiled in advance , It directly interprets the source code into machine code and executes it immediately , So as long as a platform provides the corresponding interpreter can run the program .
summary
1. Every time an interpreted language runs, it needs to interpret the source code as machine code and execute it , Low efficiency ;
2. As long as the platform provides the corresponding interpreter , You can run the source code , So it is easy to transplant the source program ;
3.Python Etc. belong to explanatory language .
Compiled and interpreted , Both have advantages and disadvantages
The former is due to the fast execution of the program , Lower system requirements under the same conditions , So it's like developing an operating system 、 Large applications 、 The database system uses it all the time , image C/C++、Pascal/Object Pascal(Delphi) They are all compiled languages , And some web script 、 Server script and auxiliary development interface do not require high speed 、 Programs that have certain requirements for compatibility between different system platforms usually use interpretative languages , Such as Java、JavaScript、VBScript、Perl、Python、Ruby、MATLAB wait .
About java
Java Different from other languages . because java There are different for different platforms JVM, Cross platform implementation . therefore Java Language has a saying that compilation runs everywhere .
1. You can say it's compiled : Because of all the Java The code is compiled ,.java There is no use without compilation .
2. You can say it's interpretive : because java The code cannot be run directly after compilation , It is interpreted to run in JVM Upper , So it's interpreted to run , That's even the explanation .
3. however , current JVM For efficiency , There are some. JIT Optimize . It will .class The binary code of is compiled into local code to run directly , therefore , It's compiled again .
Personally think that ,java It's an interpretive language , Because though java You also need to compile , Translate it into .class file , But it's not a machine recognizable language , It's bytecode , In the end jvm The explanation of , In order to execute , It's also java Cross platform reasons . So I said java It's compiled , It's also explanatory , But if it has to be classified , From a conceptual definition , I'm afraid java It should be put into explanatory language .
Compiled languages include :C、C++、Delphi、Pascal、Fortran
Explanatory languages include :Java、Basic、javascript、python
边栏推荐
- Enterprise log analysis system elk
- Sysom case analysis: where is the missing memory| Dragon lizard Technology
- Three. JS introductory learning notes 13: animation learning
- Numpy -- data cleaning
- Dotween -- ease function
- Application example of infinite list [uigridview]
- Description of vs common shortcut keys
- Cut ffmpeg as needed, and use emscripten to compile and run
- 无线传感器网络--ZigBee和6LoWPAN
- Postman generate timestamp, future timestamp
猜你喜欢
C4D learning notes 1- animation - animation key frames
Postman generate timestamp, future timestamp
Plate - forme de surveillance par étapes zabbix
通知Notification使用全解析
Eye of depth (VI) -- inverse of matrix (attachment: some ideas of logistic model)
Step by step monitoring platform ZABBIX
Rongyun won the 2022 China Xinchuang digital office portal excellence product award!
Cut ffmpeg as needed, and use emscripten to compile and run
Three. JS introductory learning notes 00: coordinate system, camera (temporarily understood)
95.(cesium篇)cesium动态单体化-3D建筑物(楼栋)
随机推荐
Odoo集成Plausible埋码监控平台
PyTorch 中的乘法:mul()、multiply()、matmul()、mm()、mv()、dot()
融云斩获 2022 中国信创数字化办公门户卓越产品奖!
Simple understanding and application of TS generics
Three. JS introductory learning notes 10:three JS grid
Numpy -- data cleaning
Wireless sensor networks -- ZigBee and 6LoWPAN
C4D learning notes 3- animation - animation rendering process case
深度之眼(六)——矩阵的逆(附:logistic模型一些想法)
js中复选框checkbox如何判定为被选中
Xingruige database was shortlisted as the "typical solution for information technology application and innovation in Fujian Province in 2021"
L'application à l'échelle de la normalisation mature des produits ai des compagnies maritimes, cimc, leader mondial de l'intelligence artificielle portuaire et maritime / intelligence artificielle des
AB package details in unity (super detail, features, packaging, loading, manager)
Three. JS introduction learning notes 12: the model moves along any trajectory line
Eye of depth (VI) -- inverse of matrix (attachment: some ideas of logistic model)
【花雕体验】15 尝试搭建Beetle ESP32 C3之Arduino开发环境
The unity vector rotates at a point
Ue4/ue5 multi thread development attachment plug-in download address
招标公告:盘锦市人民医院盘锦医院数据库维保项目
尤雨溪,来了!