计算机语言的分类

本文探讨了编程语言的三大分类:编译型、解释型和混合型,以及动态类型和静态类型、强类型和弱类型的差异。以Java和Python为例,解释了语言分类的复杂性和不准确性,强调理解语言特性的实质比严格分类更重要。
摘要由CSDN通过智能技术生成

计算机语言的分类

 到目前为止,我自己学过或者说碰过的语言有 C、Java、JavaScript、Python、Go。最近在学的是 Go,看到 Go meta描述是:静态、编译型。但是突然发现自己对于编译型的理解就是:该种语言若要执行,则需要从源码转换为二进制,而语言的静态和动态却摸不着头脑。看来自己基础不牢,需要总结了。

语言大致可以按一下分类:

  • 编译型、解释型、混合型;
  • 动态类型语言、静态类型语言;
  • 强类型、弱类型;

实际上,上述分类并不能说具有绝对的科学性。

一、编译、解释、混合型

定义

  • 编译型:需通过编译器(compiler)将源代码编译成机器码,然后链接为可执行文件。编译的工作流程大致为:源代码 → 词法分析 → 语法分析 → 语义分析 → 目标代码(编译)链接 → 可执行文件,其中:
    • 编译:把源代码编译成机器码;
    • 链接:把各个模块的机器码和依赖库串连起来生成可执行文件;
  • 解释型:解释性语言的程序不需要编译,相比编译型语言省了道工序,解释性语言在运行程序的时候才逐行翻译。
  • 混合型:编译器将源码编译成中间码而不再是二进制机器码,然后中间码需要被即时编译器翻译成目标平台的本地代码;

分类<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值