热门标签 | 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社区 其它相关文章!


推荐阅读
  • Python 异步编程:深入理解 asyncio 库(上)
    本文介绍了 Python 3.4 版本引入的标准库 asyncio,该库为异步 IO 提供了强大的支持。我们将探讨为什么需要 asyncio,以及它如何简化并发编程的复杂性,并详细介绍其核心概念和使用方法。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 如何在PHPcms网站中添加广告
    本文详细介绍了在PHPcms网站后台添加广告的方法,涵盖多种常见的广告形式,如百度广告和Google广告,并提供了相关设置的步骤。同时,文章还探讨了优化网站流量的SEO策略。 ... [详细]
  • 本文探讨了如何在给定整数N的情况下,找到两个不同的整数a和b,使得它们的和最大,并且满足特定的数学条件。 ... [详细]
  • 自学编程与计算机专业背景者的差异分析
    本文探讨了自学编程者和计算机专业毕业生在技能、知识结构及职业发展上的不同之处,结合实际案例分析两者的优势与劣势。 ... [详细]
  • 本文介绍如何使用Python进行文本处理,包括分词和生成词云图。通过整合多个文本文件、去除停用词并生成词云图,展示文本数据的可视化分析方法。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文详细介绍了如何使用Python编写爬虫程序,从豆瓣电影Top250页面抓取电影信息。文章涵盖了从基础的网页请求到处理反爬虫机制,再到多页数据抓取的全过程,并提供了完整的代码示例。 ... [详细]
  • 本文介绍如何使用 Python 编写程序,检查给定列表中的元素是否形成交替峰值模式。我们将探讨两种不同的方法来实现这一目标,并提供详细的代码示例。 ... [详细]
  • 深入理解C++中的KMP算法:高效字符串匹配的利器
    本文详细介绍C++中实现KMP算法的方法,探讨其在字符串匹配问题上的优势。通过对比暴力匹配(BF)算法,展示KMP算法如何利用前缀表优化匹配过程,显著提升效率。 ... [详细]
  • dotnet 通过 Elmish.WPF 使用 F# 编写 WPF 应用
    本文来安利大家一个有趣而且强大的库,通过F#和C#混合编程编写WPF应用,可以在WPF中使用到F#强大的数据处理能力在GitHub上完全开源Elmis ... [详细]
  • 本文深入探讨了Python中的高阶函数和Lambda表达式的使用方法,结合实际案例解析其应用场景,帮助开发者更好地理解和运用这些强大的工具。 ... [详细]
  • C# LiNQ 查询 join连接
    C# LiNQ 查询 join连接 ... [详细]
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社区 版权所有