首页 > 编程语言 >未来编程语言什么样?编译解释兼容方为王

未来编程语言什么样?编译解释兼容方为王

时间:2024-01-02 12:39:18浏览次数:38  
标签:语言 编程语言 编译 兼容 程序员 方为 编写 运行


○、编程语言的未来?

随着科技的飞速发展,编程语言在计算机领域中扮演着至关重要的角色。它们是软件开发的核心,为程序员提供了与机器沟通的桥梁。那么,在技术不断进步的未来,编程语言的走向又将如何呢?
 

俗话说,温故而知新,对编程语言也不例外。

要探讨编程语言的未来,我们先回溯一下编程语言的发展历史。

编程语言的发展历程, 又与计算机和程序员的诞生息息相关。

一、最早的程序员

未来编程语言什么样?编译解释兼容方为王_机器语言

1834年,英国数学家、发明家兼机械工程师查尔斯·巴贝其(Charles Babbage)——发明了一台差分机。

未来编程语言什么样?编译解释兼容方为王_编程语言_02

有“数字女王”之称的阿达·洛芙莱斯(Ada Lovelace)为这吧差分机编写算法,在1842年编写了历史上首款电脑程序,于1843 年公布了世界上第一套算法。阿达·洛芙莱斯因此成为世界上第一位程序员。当时程序员还不是一种职业。

二、程序员职业诞生

1946年2月14日,第一台通用计算机埃尼阿克(ENIAC:Electronic Numerical Integrator and Computer)在美国 宾夕法尼亚大学问世。程序员这种职业也随之诞生。

三、编程语言问世

为了告诉计算机我们要做什么事情,我们需要语言来跟计算机沟通,这就催生了编程语言。

(一)机器语言( machine language)

最早的编程语言的是机器语言,就是用数字0和1的不同排列组合对应不同的机器指令来进行编程。

未来编程语言什么样?编译解释兼容方为王_编程语言_03

机器语言的优缺点很明显。

1.优点:

  • 简洁
  • 可以直接执行
  • 运行速度最快

2.缺点:

  • 直观性差,不便于人类阅读理解和使用
  • 容易出错,程序的检查和调试都比较困难
  • 难以移植,因为不同的机器有不同的指令

(二)汇编语言(assembly language)

由于机器语言难读难写难检查,编程效率低,又出现了汇编语言。

在汇编语言中,用 助记符 代替 机器指令 的 操作码,用地址符号或 标号 代替指令或 操作数 的地址,从而提高程序代码的可读性。

未来编程语言什么样?编译解释兼容方为王_机器语言_04

 汇编语言的优点和缺点同样鲜明。

1.优点:

  • 指令简洁,易读易记
  • 占用资源少,运行速度快

2.缺点:

  • 表达欠佳,一些逻辑判断、循环结构不够直观
  • 难以移植,因为不同的机器有不同的汇编指令

 当然,现在的汇编语言已经可以使用.if.+ else +.endif、.while.+.endw这样的伪指令,进一步提高了代码的可读性。

(三)高级语言

一方面,随着不同硬件架构的电子计算机的出现,为提高程序代码的可移植性,避免针对不同架构的计算机重复编程,另一方面,计算机的用途日益扩大,需要编写的程序种类与日俱增,这就对编程语言的表达能力和编写代码的效率提出了更高的要求,于是高级语言应运而生。

高级语言使用较接近自然语言的语句和类似数学公式的表达式来进编程,基本脱离了机器的硬件系统,这不仅增强了语言的表达能力,而且提高了程序编写的效率,也改善了代码的可移植性。

高级语言一般分为解释型语言和编译型语言。

1.编译型语言

编译型语言的优点是编写的源程序可以一次编译成目标操作系统上的可执行程序直接运行,运行速度快。缺点是不能跨操作系统运行,需要重新编译。

即:锁定系统,一次编译,直接运行。

典型代表有C、C++、Pascal等。

2.解释型语言

解释型语言优点是编写的源程序可以在不同的操作系统上运行,缺点是每次运行都需要相应的解释程序(虚拟机)来进行解释,运行速度较慢。

即:跨越系统,次次解释,虚拟运行。

典型代表有JavaScript、Python、PHP等。

3.混合型语言

解释型语言适合用来做算法的快速验证。

编译型语言适合用来做算法的部署应用。

在云计算时代,未来的编程语言应该同时兼具解释和编译两种方式的优点,并能与其它语言兼容,即混合型语言。

现有的典型就是C#。

在2022年,C#就有望成为TIOBE 年度编程语言,但在最后一刻,却惜败于C++。

TIOBE 已近公布了 2023 年 12 月的编程语言排行榜,C#优势明显。

未来编程语言什么样?编译解释兼容方为王_编程语言_05

C# 能否夺得首个TIOBE 年度编程语言呢?拭目以待……

标签:语言,编程语言,编译,兼容,程序员,方为,编写,运行
From: https://blog.51cto.com/endurer/9067481

相关文章

  • 软件开发算法为王,编程语言各取所好——我看IT圈茶余饭后的“鄙视链”
    IT圈茶余饭后的“鄙视链”IT圈茶余饭后的“鄙视链”,简直就是一场瞬间的情感大戏!“我们写xxx的看不起写xxxx“,无处不见这种互相鄙视的情绪就像一场刺激的游戏,每个人都觉得自己是鄙视链的最顶端。快来看看这个IT圈里的“鄙视链”究竟是怎样的吧!一、书店感受前几天到广西壮族自治区首......
  • 单词 slug 在编程语言的上下文里是什么含义
    在计算机编程的上下文中,"slug"这个术语通常用来表示一种人类可读的、简短的、描述性的字符串,用于标识某个特定实体,如网址、文件路径或数据库条目。这个概念在软件开发中被广泛使用,旨在提供一种清晰而易于理解的标识符,同时避免使用繁琐的、难以阅读的字符。1.URLSlug:在Web开发......
  • 谈谈计算机编程语言里的 literal(字面量)
    在编程语言中,literal(字面值)是指源代码中直接表示某种常量值的标记或符号。字面值是编程语言中的基本构建块之一,它们表示程序中的固定数据。字面值的存在是为了使程序员能够直观地表达数据,而不必依赖于变量或表达式的计算结果。字面值可以分为多种类型,其中包括整数、浮点数、字符串......
  • 解决 typescript node tsx 的兼容问题
    问题在项目中使用typescript+tsx+node存在各种兼容问题,包括:[esbuildError]:Top-levelawaitiscurrentlynotsupportedwiththe"cjs"outputformatCannotfindmodule'X'.Didyoumeantosetthe'moduleResolution'optionto'......
  • ECharts 是一个使用 JavaScript 实现的开源可视化库¹²³⁴。它可以流畅地运行在 PC
    ECharts是一个使用JavaScript实现的开源可视化库¹²³⁴。它可以流畅地运行在PC和移动设备上,兼容当前绝大部分浏览器(如IE8/9/10/11,Chrome,Firefox,Safari等)²³⁴。ECharts底层依赖轻量级的Canvas类库ZRender¹²³,提供直观,生动,可交互,可高度个性化定制的数据可视化图表¹......
  • Oracle Linux 8.9 发布 - Oracle 提供支持 RHEL 兼容发行版
    OracleLinux8.9发布-Oracle提供支持RHEL兼容发行版OracleLinuxwithUnbreakableEnterpriseKernel(UEK)&RedHatcompatiblekernel(RHCK)作者主页:sysin.orgOracleLinux是一个开放、全面的操作环境,提供虚拟化、管理、云原生计算工具和操作系统,通过一个统一的支持......
  • 16.兼容性测试
    概念:几个硬件之间、几个软件之间或是软硬件之间的相互配合程度app兼容性测试:移动设备型号多样测试APP在主流设备上能否正常运行测试APP在主流设备上崩溃卡顿现象兼容性测试作用:进一步提高产品的质量,提高用户体验尽可能达到平台无关性保证软件存在价值,是衡量软件质量的重要指标......
  • 运维和编程语言
    1.脚本注释,脚本开发规范1.1.在shell脚本中,#后面的内容代表注释掉的内容,提供给开发者或使用者观看,系统会忽略此行1.2.注释可以单独写一行,也可以跟在命令后面1.3.尽量保持爱写注释的习惯,便于以后回顾代码的含义,尽量使用英文,而非中文 2.执行shell脚本的方式:2......
  • HarmonyOS应用兼容稳定性云测试
    HarmonyOS应用兼容稳定性云测试兼容性测试兼容性测试主要验证HarmonyOS应用在华为真机设备上运行的兼容性问题,包括首次安装、再次安装、启动、卸载、崩溃、黑白屏、闪退、运行错误、无法回退、无响应、设计约束场景。具体兼容性测试项的详细说明请参考兼容性测试标准。兼容性测试支......
  • kafka 自定义开发Sink Connector组件(兼容mysql和oracle)
    1.情景展示目前,市场上已有不少能从kafka消费数据的插件,如:io.confluent.connect.jdbc.JdbcSinkConnector,但这个组件有个致命的问题是,只能同步字符串类型。具体意思是:源库源表的日期类型字段,往目标库目标表插入数据的时候,只能是字符串类型,无法自动将其转成日期类型。这样一来的......