ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

语言基础再谈 - 详解

语言基础再谈 - 详解

语言基础再谈

  • 一、编程语言的演变
    • 1.1 机器语言(machine language)
    • 1.2 符号语言(symbolic language)
    • 1.3 高级语言(high-level language)
    • 1.4 第四代语言(fourth generation language)
      • 1.4.1 查询语言(Query language)
      • 1.4.2 报告生成器(Report generator)
      • 1.4.3 图形语言(Graphical language)
      • 1.4.4 应用程序构建器(Application Builder)
      • 1.4.5 形式化规范说明语言(Formal specification language)
    • 1.5 自然语言(natural language)
  • 二、搭建并运行程序
    • 2.1 源程序(source prgram)
    • 2.2 编译程序(compiler)
    • 2.3 解释程序(interpreter)
    • 2.4 链接程序(linker)
    • 2.5 翻译器(translator)
  • 三、编程语言种类
    • 3.1 过程化语言(procedural language)
    • 3.2 面向对象语言(object-oriented language)
    • 3.3 函数型语言(functional language)
    • 3.4 专用语言(special language)
    • 3.5 说明性语言(declarative language)

一、编程语言的演变

1.1 机器语言(machine language)

1.2 符号语言(symbolic language)

  • 用一些符号和助记符(symbols and mnemonics)来代替机器语言中的某些指令
  • 符号语言也叫汇编语言(assembly language)
  • 用符号语言写的程序需要被翻译为汇编语言才能被机器识别,翻译的过程由符号语言结束
  • 缺点
    • 与机器语言仍然很想,与解决人类障碍的方法大相径庭
    • 每一台机器有一套符号语言,代码工作量仍然很大
    • 仍然需要了解机器底层原理,同时还需要记住符号
    • 可移植性差

1.3 高级语言(high-level language)

1.4 第四代语言(fourth generation language)

  • 是问题指向的编程语言
  • 用户可以只告诉系统去做什么,系统自己知道怎么去做
  • 第四代语言分支

1.4.1 查询语言(Query language)

1.4.2 报告生成器(Report generator)

  • 帮助用户自动生成报告的重要工具
  • 可以基于数据库内容自动生成格式化的报告
  • 通常包含数据提取、格式设置和输出功能
  • 重要有ADF(Application Development Framework)中的报告功能

1.4.3 图形语言(Graphical language)

1.4.4 应用程序构建器(Application Builder)

  • 将所有的功能集成在一个工具里
  • 过去:
    • 一个IDE来写代码
    • 一个数据库管理工具来设计表
    • 一个UI设计器来画界面
    • 另一个工具来设计报表
  • 现在:在一个工具中

1.4.5 形式化规范说明语言(Formal specification language)

1.5 自然语言(natural language)

  • 在理想情况下,机器可以识别自然语言,但现在还不行

二、搭建并运行脚本

2.1 源程序(source prgram)

  • 比如,用C语言完成的程序,并保存为文本编辑器
  • 计算机并不能直接阅读源程序,需要将程序编程目标程序(object program)或者可执行程序(executable program)

2.2 编译程序(compiler)

2.3 解释程序(interpreter)

-边编译边运行

2.4 链接程序(linker)

2.5 翻译器(translator)

  • 机器代码或中间代码)就是将C语言编写的源文件,转换为目标文件(通常
  • 分为两种
    • 编译器compiler
    • 解释器interpreter
  • 主要任务
    • 语法和语义检查:检查代码是否有拼写错误、语法错误、类型不匹配等
    • 代码优化:对代码进行局部优化,提高效率
    • 生成符号表:记录文档中定义的函数名、变量名(称为符号)以及它们需要从外部调用的函数名

三、编程语言种类

3.1 过程化语言(procedural language)

  • 克服一个问题可以分为若干活动
  • 一个活动可以是一个语句,或者是子程序
  • 子程序(subroutines)
    • 可继续被分解,知道被分解为基本操作——语句
  • 面向过程的设计旨在实现特定计算任务的操作流程与步骤,然后使用过程式语言来描述这些操作流程和步骤
  • 主要是C

3.2 面向对象语言(object-oriented language)

3.3 函数型语言(functional language)

  • 依据函数模型来解决问题
  • 应用的基本单元是函数
  • 一个函数可能被理解为一个从一系列输入(X)到输出(Y)映射的黑箱

3.4 专用语言(special language)

3.5 说明性语言(declarative language)

  • 通过也能够叫声明式语言
  • 程序员只得描述“想要什么”或“问题的定义”,而不得详细指定“如何做”的具体步骤
  • 就像你用C语言,你要写怎么找到一个数组中的偶数;但是使用声明式语言,你只用告诉它你要找一个数组中的偶数,至于怎么找是它的问题
  • 常见的语言
    • SQL:最经典的声明式语言,用于数据库查询
    • 如何绘制这些内容就是HTML:描述了网页应该有什么内容(标题、段落、图片),而不
    • CSS:描述了HTML内容应该如何被样式化(颜色、布局),浏览器引擎负责具体渲染
返回列表