热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

编程小白学习php必须要了解的事

本文主要写给零基础的同学,作为编程的入门引导,主要介绍了计算机程序和程序语言中的机器语言、汇编语言、高级语言、解释型语言、编译型语言等。

这时候汇编语言便产生了,汇编语言的主体是汇编指令。汇编指令和机器指令的差别在于指令的表示方法上,汇编指令是机器指令便于记忆的书写格式,如执行一个操作:寄存器BX的内容送到AX中(具体什么含义可以不用深究,明白是一条完成特定功能的指令即可)

  1000100111011000               机器指令
    mov ax,bx                    汇编指令

很容易可以看出,同样一个操作,下面的汇编指令更容易被人熟记,汇编语言的出现是程序发展的一大进步,相比机器语言主要有以下几个特点:

1. 更具有可编程性,即使用汇编语言,程序员可以更加简便、更加快速、更容易理解的方式完成同样的编程任务;

2. 程序可移植性,上文介绍过不同的CPU架构支持不同的指令集体系(机器语言),所以通常以机器语言为某一类CPU架构编写的程序,不能运行在其它CPU架构之上,而有了汇编语言,可以想象同样一条汇编语句,运行在不同的CPU架构上时,只需要编译器把它编译(就如不同语言文字之间的翻译)成对应CPU架构所支持的机器码即可;

汇编语言的编译器,是可以把汇编语言翻译成目标CPU架构上机器语言的程序。

3. 高级语言

前面我们了解了什么是机器语言和汇编语言,汇编语言也是和机器语言一样,都是直接对硬件进行操作,但是汇编语言指令采用了英文缩写的标识符,更容易识别和记忆,但也只是相对于机器语言而言的。在实际编程中,汇编语言源程序也是十分复杂和冗长的,为了更加简单和高效的编写程序,于是高级语言就应运而生了。

高级语言并不是指一种语言,而是包括很多编程语言,比如C、C++、Java、php、python等等,是高度封装的编程语言。高级语言与计算机的硬件结构和CPU架构(指令系统)无关,汇编语言已经具备一定的可移植性了,编译器可以根据相应的CPU架构翻译成对应的机器语言,同样高级语言的可移植性更强,编译器也可以将高级语言翻译成目标CPU架构上的机器语言,至于是否是直接翻译成机器语言,还是先经过汇编再翻译成机器语言,取决于编译器的实现。

如今我们一般不需要学会如何用机器语言,汇编语言来进行编程,我们最多知道能如何看懂汇编语言就可以了。我们所编写的高级语言,被翻译成目标语言时,编译器会自动进行一些优化的处理。

4. 高级语言的分类

高级语言的分类方式很多,根据设计思想特点可以划分为面向过程型(命令式)语言、面向对象型语言、函数式语言和逻辑式语言,而根据代码在执行之前被翻译的时间,划分为两类: 解释型语言和编译型语言。

面向过程型(命令式)语言

这种语言的语义基础是模拟“数据存储/数据操作”的图灵机可计算模型,十分符合现代计算机体系结构的自然实现方式。其中产生操作的主要途径是依赖语句或命令产生的副作用。现代流行的大多数语言都是这一类型,比如 Fortran、Pascal、Cobol、C、C++、Basic、Ada、Java、C# 等,各种脚本语言也被看作是此种类型。

面向对象语言

现代语言中的大多数都提供面向对象的支持,但有些语言是直接建立在面向对象基本模型上的,语言的语法形式的语义就是基本对象操作。主流的支持面向对象的语言有 C++ 、Java、C#、PHP、Python等,一般的语言也都支持面向过程(命令式)的编程方式。

函数式语言

这种语言的语义基础是基于数学函数概念的值映射的λ算子可计算模型。这种语言非常适合于进行人工智能等工作的计算。典型的函数式语言如 Lisp、Haskell、ML、Scheme 、F#等。

逻辑式语言

这种语言的语义基础是基于一组已知规则的形式逻辑系统。这种语言主要用在专家系统的实现中,最著名的逻辑式语言是 Prolog。

虽然各种语言属于不同的类型,但它们各自都不同程度地对其他类型语言的运算模式都有所支持。

5. 解释型语言

解释型语言又可以根据语言的主动和被动特点划分为: 标记语言和脚本语言。标记语言时被动的等待解释,不主动向计算机发出指令,脚本语言一般主动发出指令让计算机执行任务。

标记语言

标记语言,是一种将文本(Text)以及文本相关的其他信息结合起来,展现出关于文档结构和数据处理细节的电脑文字编码。与文本相关的其他信息(包括文本的结构和表示信息等)与原来的文本结合在一起,但是使用标记进行标识。

例如: xml, html, xhtml

脚本语言

脚本语言是为了缩短传统的编写-编译-链接-运行(edit-compile-link-run)过程而创建的计算机编程语言。它的命名起源于一个脚本“screenplay”,每次运行都会使对话框逐字重复。早期的脚本语言经常被称为批量处理语言或工作控制语言。一个脚本通常是解释运行而非编译。脚本语言通常都有简单、易学、易用的特性,目的就是希望能让程序员快速完成程序的编写工作。

例如: Javascript、Vbscript、PHP、Python

6. 编译型语言

编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。

例如: C、C++、c#、java等

7. 不同类型高级语言的区别

1. 标记语言不用于向计算机发出指令,常用于格式化和链接。

2. 脚本语言介于标记语言和编程语言之间,脚本语言脚本语言不需要编译,可以直接用,由解释器来负责解释。

3. 编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高。

8. 高级语言的一般性特点

1. 高级语言接近算法语言,易学、易掌握,一般工程技术人员只要几周时间的培训就可以胜任程序员的工作;

2. 高级语言为程序员提供了结构化程序设计的环境和工具,使得设计出来的程序可读性好,可维护性强,可靠性高;

3. 高级语言远离机器语言,与计算机的硬件结构及指令系统无关,有更强的表达能力,因而所写出来的程序可移植性好,重用率高;

4. 由于把繁杂琐碎的事务交给了编译程序去做,所以自动化程度高,开发周期短,且程序员得到解脱,可以集中时间和精力去从事对于他们来说更为重要的创造性劳动,以提高程序的质量;

5. 高级语言编译生成的程序代码一般比用汇编程序语言设计的程序代码要长,执行的速度也慢。所以汇编语言适合编写一些对速度和代码长度要求高的程序和直接控制硬件的程序,高级语言程序“看不见”机器的硬件结构,不能用于编写直接访问机器硬件资源的系统软件或设备控制软件。为此,一些高级语言提供了与汇编语言之间的调用接口。用汇编语言编写的程序,可作为高级语言的一个外部过程或函数,利用堆栈来传递参数或参数的地址。

感谢大家的阅读,希望大家收益多多。

原文链接:https://blog.csdn.net/abc_1225/article/details/80237929

推荐教程:《PHP教程》

以上就是编程小白学习php必须要了解的事的详细内容,更多请关注 第一PHP社区 其它相关文章!


推荐阅读
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • MySQL中的MVVC多版本并发控制机制的应用及实现
    本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ... [详细]
  • Windows7企业版怎样存储安全新功能详解
    本文介绍了电脑公司发布的GHOST WIN7 SP1 X64 通用特别版 V2019.12,软件大小为5.71 GB,支持简体中文,属于国产软件,免费使用。文章还提到了用户评分和软件分类为Win7系统,运行环境为Windows。同时,文章还介绍了平台检测结果,无插件,通过了360、腾讯、金山和瑞星的检测。此外,文章还提到了本地下载文件大小为5.71 GB,需要先下载高速下载器才能进行高速下载。最后,文章详细解释了Windows7企业版的存储安全新功能。 ... [详细]
  • 3年半巨亏242亿!商汤高估了深度学习,下错了棋?
    转自:新智元三年半研发开支近70亿,累计亏损242亿。AI这门生意好像越来越不好做了。近日,商汤科技已向港交所递交IPO申请。招股书显示& ... [详细]
  • 如题如示,在网上查了下c#直接操作ppt的例子,但都只是很简单的写了下打开PPT插入标题插入一个图表等,但是都没有更具体的有如何可以直接更改PPT图表的数据源数据的例子。我现在的需求是,我有一个P ... [详细]
  • 本文介绍了如何将CIM_DateTime解析为.Net DateTime,并分享了解析过程中可能遇到的问题和解决方法。通过使用DateTime.ParseExact方法和适当的格式字符串,可以成功解析CIM_DateTime字符串。同时还提供了关于WMI和字符串格式的相关信息。 ... [详细]
  • 本文整理了315道Python基础题目及答案,帮助读者检验学习成果。文章介绍了学习Python的途径、Python与其他编程语言的对比、解释型和编译型编程语言的简述、Python解释器的种类和特点、位和字节的关系、以及至少5个PEP8规范。对于想要检验自己学习成果的读者,这些题目将是一个不错的选择。请注意,答案在视频中,本文不提供答案。 ... [详细]
  • 在C#中,使用关键字abstract来定义抽象类和抽象方法。抽象类是一种不能被实例化的类,它只提供部分实现,但可以被其他类继承并创建实例。抽象类可以用于类、方法、属性、索引器和事件。在一个类声明中使用abstract表示该类倾向于作为其他类的基类成员被标识为抽象,或者被包含在一个抽象类中,必须由其派生类实现。本文介绍了C#中抽象类和抽象方法的基础知识,并提供了一个示例代码。 ... [详细]
  • 在C#/ .NET中,处理基督面前的日期没有内置支持,需要编写自己的代码。本文介绍了在处理此类日期时的最佳方法,并提供了一个示例链接,可以参考编码的解决方案。 ... [详细]
  • Unity3D引擎的体系结构和功能详解
    本文详细介绍了Unity3D引擎的体系结构和功能。Unity3D是一个屡获殊荣的工具,用于创建交互式3D应用程序。它由游戏引擎和编辑器组成,支持C#、Boo和JavaScript脚本编程。该引擎涵盖了声音、图形、物理和网络功能等主题。Unity编辑器具有多语言脚本编辑器和预制装配系统等特点。本文还介绍了Unity的许可证情况。Unity基本功能有限的免费,适用于PC、MAC和Web开发。其他平台或完整的功能集需要购买许可证。 ... [详细]
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
  • 本文介绍了某点评网的搜索策略,包括名称和地址的匹配策略,模糊匹配的方法以及不同口音和拼音的近似发音。同时提供了一些例子来说明这些策略的应用。 ... [详细]
author-avatar
燕子yanzi068_476
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有