当前位置:网站首页>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
边栏推荐
- Three. JS introductory learning notes 03: perspective projection camera
- SysOM 案例解析:消失的内存都去哪了 !| 龙蜥技术
- TiDB For PostgreSQL和YugabyteDB在Sysbench上的性能对比
- Postman generate timestamp, future timestamp
- The inevitable trend of the intelligent development of ankerui power grid is that microcomputer protection devices are used in power systems
- 招标公告:盘锦市人民医院盘锦医院数据库维保项目
- Vite path alias @ configuration
- What else can an ordinary person do besides working in a factory to make money?
- nodejs package. JSON version number ^ and~
- 10 schemes to ensure interface data security
猜你喜欢
LeetCode2_ Add two numbers
TiDB For PostgreSQL和YugabyteDB在Sysbench上的性能对比
Dotween -- ease function
Lecturer solicitation order | Apache seatunnel (cultivating) meetup sharing guests are in hot Recruitment!
numpy--疫情数据分析案例
C4D learning notes 2- animation - timeline and time function
Mysql database basic operation DQL basic query
Whole process analysis of unity3d rendering pipeline
Step by step monitoring platform ZABBIX
无线传感器网络--ZigBee和6LoWPAN
随机推荐
Particle effect for ugui
TS as a general cache method
应用程序和matlab的通信方式
分步式监控平台zabbix
Odoo集成Plausible埋码监控平台
leetcode 241. Different ways to add parentheses design priority for operational expressions (medium)
Is it reliable to open an account on Tongda letter with your mobile phone? Is there any potential safety hazard in such stock speculation
招标公告:盘锦市人民医院盘锦医院数据库维保项目
Three. JS introductory learning notes 11:three JS group composite object
用手机在通达信上开户靠谱吗?这样炒股有没有什么安全隐患
121. The best time to buy and sell stocks
持续创作,还得靠它!
Eye of depth (VI) -- inverse of matrix (attachment: some ideas of logistic model)
Align individual elements to the right under flex layout
融云斩获 2022 中国信创数字化办公门户卓越产品奖!
js中复选框checkbox如何判定为被选中
What about the pointer in neural network C language
Numpy --- basic learning notes
安科瑞电网智能化发展的必然趋势电力系统采用微机保护装置是
Shader basic UV operations, translation, rotation, scaling