iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >web编程语言的进化史是什么
  • 136
分享到

web编程语言的进化史是什么

2023-06-27 09:06:16 136人浏览 安东尼
摘要

今天小编给大家分享一下WEB编程语言的进化史是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。机器语言(Machine L

今天小编给大家分享一下WEB编程语言的进化史是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

web编程语言的进化史是什么

机器语言(Machine Language)

机器语言是面向机器的语言,每一个由机器语言所编写的程序只适用于某种特定类型的计算机,即指令代码通常随CPU型号的不同而不同。它可以被计算机硬件直接识别,不需要翻译。一句机器语言实际上就是一条机器指令,它由操作码和地址码组成。机器指令的形式是用0、1组成的二进制代码串。

汇编语言(Assemble Language)

汇编语言是一种面向机器的程序设计语言,它是为特定的计算机或计算机系列设计的。汇编语言采用一定的助记符号表示机器语言中指令和数据,即用助记符号代替了二进制形式的机器指令。这种替代使得机器语言“符号化”,所以汇编语言也是符号语言。每条汇编语言的指令就对应了一条机器语言的代码,不同型号的计算机系统一般有不同的汇编语言。

计算机硬件只能识别机器指令,执行机器指令,对于用助记符表示的汇编指令是不能执行的。汇编语言编写的程序要执行的话,必须用一个程序将汇编语言翻译成机器语言程序,用于翻译的程序称为汇编程序(汇编系统)。

汇编程序是将用符号表示的汇编指令码翻译成为与之对应的机器语言指令码。用汇编语言编写的程序称为源程序,变换后得到的机器语言程序称为目标程序。

高级语言

机器语言与汇编语言受机器限制费工费时,并且缺乏通用性,为解决此问题,人们努力创造一种独立于计算机的语言。从20世纪50年代中期开始到20世纪70年代陆续产生了许多高级算法语言。这些算法语言中的数据用十进制来表示,语句用较为接近自然语言的英文字来表示。它们比较接近于人们习惯用的自然语言和数学表达式,因此称为高级语言。高级语言具有较大的通用性,尤其是有些标准版本的高级算法语言,在国际上都是通用的。用高级语言编写的程序能使用在不同的计算机系统上。 但是,对于高级语言编写的程序计算机是不能识别和执行的。要执行高级语言编写的程序,首先要将高级语言编写的程序翻译成计算机能识别和执行的二进制机器指令,然后供计算机执行。

一般将用高级语言编写的程序称为“源程序”,而把由源程序翻译成的机器语言程序或汇编语言程序称为“目标程序”。把用来编写源程序的高级语言或汇编语言称为源语言,而把和目标程序相对应的语言(汇编语言或机器语言)称为目标语言。

计算机将源程序翻译成机器指令时,通常分两种翻译方式:一种为“编译”方式,另一种为“解释”方式。所谓编译方式是把源程序翻译成等价的目标程序,然后再执行此目标程序。而解释方式是把源程序逐句翻译,翻译一句执行一句,边翻译边执行。解释程序不产生将被执行的目标程序,而是借助于解释程序直接执行源程序本身。一般将高级语言程序翻译成汇编语言或机器语言的程序称为编译程序。

一般来讲高级语言和低级语言有一下特点

高级语言:实现效率高,执行效率低,对硬件的可控性弱,目标代码大,可维护性好,可移植性好低级语言:实现效率低,执行效率高,对硬件的可控性强,目标代码小,可维护性差,可移植性差

我们都知道CPU运行的是二进制指令,所有的语言编写的程序最终都要翻译成二进制代码,但是为什么实现会有以上众多差异呢?下面以C语言为高级语言代表,汇编语言为低级语言代表来解释一下。越低级的语言,形式上越接近机器指令,汇编语言就是与机器指令一一对应的。而越高级的语言,一条语句对应的指令数越多,其中原因就是高级语言对底层操作进行了抽象和封装,使编写程序的过程更符合人类的思维习惯,并且极大了简化了人力劳动。也就是说你用高级语言写一句,会被转换成许多底层操作,大部分的工作交给了负责转换的机器(即编译器),从而人力得到了解放。因为机器就是用来为人类提供便利的,所以说高级语言的出现是计算机发展的必然结果。下面重点解释为何低级语言的执行效率更高:

低级语言可以通过控制硬件访问来优化效率

越低级的语言月接近底层,即控制硬件访问的能力越强,对硬件资源的利用效率越高。比如说汇编语言能够访问寄存器,而C语言就做不到。通过对寄存器等硬件的访问,我们可以将程序的运行效率优化到最大,而像C这样的高级语言用的最多的是堆栈这样的内存结构,访问速度自然不如寄存器了。

高级语言程序存在工作冗余,有效率损失

各种语言需要通过编译器翻译成机器码,不管编译多么智能和强大,都是会产生冗余。这里的冗余不是指指令的多少,而是有没有做没有必要的事情。 产生冗余的多少关键要看语言跟机器指令之间的耦合度。耦合度越大,编译器翻译过程越简单,产生的冗余越少。对应汇编来书,由于与机器码一一对应,所以翻译后基本没有冗余。而高级语言由于进行了抽象和封装,所以与机器指令间的耦合度较低,因此整个翻译过程较复杂,因此在高级语言在具体化的过程中不可避免会产生较多的冗余。据说C语言有10%的效率损失。

效率高不高,还取决于程序员水平

一个差的程序员用汇编写程序,可能存在很多没有用的操作,而程序高手用c语言写,可以将程序优化到最大。最终的结果可能是汇编的程序跑不过C语言程序。

总之,完成一项工作的工作量是不变的,机器做的 多了,人就做的就少了,同时人对程序的很多细节的控制性也减弱了。各种语言都是在这个平衡点附近纠结。从C/C++的注重机器运算效率的优化,到C#/JAVA注重开发效率的优化。人操作起来更加方便了,更高效了,代价就是,机器要处理的东西更多,运算效率被进一步压缩。但是这个压缩在许可范围内,那么这也是一种进步。

以上就是“web编程语言的进化史是什么”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网精选频道。

--结束END--

本文标题: web编程语言的进化史是什么

本文链接: https://www.lsjlt.com/news/309317.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • web编程语言的进化史是什么
    今天小编给大家分享一下web编程语言的进化史是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。机器语言(Machine L...
    99+
    2023-06-27
  • c语言是什么编程语言
    c语言作为一种通用、结构化的编程语言,自诞生以来广泛应用于计算机领域。其基本特性包括结构化编程、过程式编程、底层访问能力、高效性能和跨平台性。在编程语言中,c语言是系统级编程的基石,也是...
    99+
    2024-03-14
    c语言 网络编程 作用域
  • go语言是什么编程语言
    go语言是是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。Go是一种过程编程语言,可用于快速机器代码编译;它提供了并发机制,可以轻松开发多核和联网的机器级程序;它提供对接口和类型嵌入的支持。本教程操作环境:...
    99+
    2023-05-14
    Golang go语言
  • 什么是PHP编程语言
    这篇文章将为大家详细讲解有关什么是PHP编程语言,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP本身是一种简单而强大的语言。PHP语言拥有核心特性如强大的字符串和数组处理能力,同时极大的改进了对面向对...
    99+
    2023-06-17
  • go编程语言是干什么的
    Go编程语言主要用于开发网络应用、并发处理、数据处理、云计算等高性能、高可靠性、高效率的应用程序。这种语言对于并发编程非常友好,并且具有内置的并发原语。Go语言的运行效率非常高,它的编译速度极快,而且生成的代码执行效率也很高。这些特性使得G...
    99+
    2023-12-11
    go语言 Golang Go编程
  • 从 shell 到 numpy:Python 并发编程的进化史
    Python 是一门流行的编程语言,因为它在数据科学和机器学习等领域中的应用而备受关注。Python 提供了许多并发编程的库,这些库使开发人员能够利用计算机系统上的多个 CPU 核心。本文将介绍 Python 并发编程的进化史,从最基本的 ...
    99+
    2023-06-27
    并发 shell numy
  • ajax指的是什么编程语言
    这篇文章将为大家详细讲解有关ajax指的是什么编程语言,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 ajax不是编程语言,而是指一套综合了多...
    99+
    2024-04-02
  • Redis分布式锁进化史是什么
    这篇文章主要介绍“Redis分布式锁进化史是什么”,在日常操作中,相信很多人在Redis分布式锁进化史是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Redis分布式锁进化史是什么”的疑惑有所帮助!接下来...
    99+
    2023-06-02
  • go语言图标的发展史是什么
    这篇“go语言图标的发展史是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“go语言图标的发展史是什么”文章吧。go语言图...
    99+
    2023-07-04
  • Python编程语言比C语言编程好用的理由是什么
    Python编程语言比C语言编程好用的理由是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。我们大家都知道Python编程语言在实际的运行中可以把相关程序分解为模块,但是...
    99+
    2023-06-17
  • python是什么类型的编程语言
    Python是一种面向对象的动态、强类型的编程语言,是一门有条理的和强大的面向对象的程序设计语言。Python简单易用,学习成本低,看起来非常优雅干净;Python标准库和第三库众多,功能强大,既可以开发小工具,也可以开发企业级应用。本教程...
    99+
    2023-05-14
    python
  • Python编程语言的核心是什么
    本篇内容介绍了“Python编程语言的核心是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 为什么问这个问题我们需要一个用于W...
    99+
    2023-06-16
  • Go语言的典型编程语言特性是什么?
    IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天编程网给大家整理了《Go语言的典型编程语言特性是...
    99+
    2024-04-04
  • Django框架的编程语言是什么?
    Django框架是一种基于Python编程语言开发的Web框架,它是一个高级别的开发工具,旨在快速而轻松地构建网站。Django最初由Adrian Holovaty和Simon Willison在2003年创造,现已成为一个广泛...
    99+
    2024-01-19
    框架 编程语言 django
  • Java编程语言的特点是什么
    Java编程语言的特点包括:1. 简单易学:Java语法简洁清晰,与C++等语言相比更容易学习和理解。2. 面向对象:Java是一种...
    99+
    2023-08-31
    Java
  • nodejs和go语言的web server编程是怎样的
    这期内容当中小编将会给大家带来有关nodejs和go语言的web server编程是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。nodejs用nodejs现成的express module,几行代...
    99+
    2023-06-02
  • c语言编程是什么专业
    c语言编程是计算机科学与技术专业的核心课程,旨在培养具备计算机系统、软件开发和网络方面的知识和技能的高级技术人才。c语言的特点包括通用性强、效率高、可移植性好和低级性,在计算机科学与技术...
    99+
    2024-04-13
    c语言 c语言编程
  • c语言编程软件是什么
    c 语言编程软件是用于编写、调试和编译 c 语言程序的软件,它提供友好的界面,集成了代码编辑器、调试器、编译器和 ide 等功能,常見的 c 語言編程軟件包括 microsoft vis...
    99+
    2024-04-13
    c语言 c语言编程
  • 很牛的10门编程语言是什么
    本篇内容主要讲解“很牛的10门编程语言是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“很牛的10门编程语言是什么”吧!先来个简要的概括:Java,服务器端很好的编程语言C++,最通用的编程语...
    99+
    2023-06-16
  • web语义化是什么意思
    这篇文章主要讲解了“web语义化是什么意思”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“web语义化是什么意思”吧!  首先,在理解之前,我们需要先了解,什么是语义化。所谓语义化,简单来说,...
    99+
    2023-06-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作