前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >编程语言|编译原理

编程语言|编译原理

作者头像
仇诺伊
发布2020-04-24 11:57:16
2K0
发布2020-04-24 11:57:16
举报
文章被收录于专栏:佳爷的后花媛佳爷的后花媛

关于昨天的思考:

  1. 编译器的各个步骤有哪些?
  2. 能否省略其中某个步骤
  3. 编译器是怎样解析代码的?
  4. 什么是语法树?
  5. 怎样生成目标程序?
  6. 语义分析和语法分析有什么不同?
  7. 中间代码是怎么生成的?
  8. 代码优化有必要么?
  9. 什么是三地址代码?
  10. 编译器怎样记录源程序中使用的变量的名字?
  11. 编译构造工具有哪些?

今天的是讲一讲编程语言,为什么会有这么多不同的编程语言?为什么还会有新的编程语言?

https://v.qq.com/x/page/a0821r4y8o0.html

1.3 The Economy of Programming Languages

这里可以看看程序设计语言的发展历程:

第一台电子计算机出现在20世纪40年代,使用由0,1序列组成的机器语言编程,这个序列明确的告诉计算机以什么样的顺序执行那些运算,运算本身也是很底层的:把数据从一个位置移动到另一个位置,把两个寄存器中的值相加,比较两个值......

高级程序设计语言:

20世纪50年代,助记汇编语言的开发,开始人类友好编程。一开始,一个汇编语言中的指令仅仅是机器指令的助记表示,后来,宏指令被加入到汇编语言中,这样,程序员就可以通过宏指令为频繁使用的机器指令序列定义带有参数的缩写。

走向高级的重大一步:

20世纪50年代后五年,用于科学计算的Fortran语言,用于商业数据出路的Cobol语言和用于符号计算的Lisp语言被开发出来。

当前:

有几千种程序设计语言,分类方式很多,其中按照语言的代可以这样分类:

  • 第一代:机器语言
  • 第二代:汇编语言
  • 第三代:Fortran,Cobol,Lisp,C,C++,C#,Java(高级程序设计语言)
  • 第四代:为特定应用设计的语言,比如用于生成报告的NOMAD,用于数据查询的SQL,用于文本排版的Postscript。
  • 第五代:基于逻辑和约束的语言,比如Prolog,OPS5

另外一种分类是分成

  • 强制式语言 C,C++,JAVA,C#
  • 声明式语言 ML,HASKELL,PROLOG
  • 冯诺依曼语言 FORTRAN,C
  • 面向对象语言 C++,C#,JAVA,Ruby
  • 脚本语言 AWK,JavaScript ,Perl ,PHP,Python ,Ruby ,TCL

编程语言和编译器有关系么?

有关系,紧密相关。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-01-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 佳爷的后花媛 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.3 The Economy of Programming Languages
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档