zoukankan      html  css  js  c++  java
  • 对于编译原理的看法

        编译原理是计算机专业的一门重要专业课,旨在介绍编译程序构造的一般原理和基本方法。编译原理及技术从本质上来讲就是一个算法问题而已,当然由于这个问题十分复杂,其解决算法也相对复杂。但是我觉得编译就是像翻译一样,将一种语言翻译成另一种语言,编译就是将高级语言或汇编语言翻译成电脑能识别的二进制机器语言,编译原理就是讲解这个编译的过程。内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。

      而学这一门专业课,可以让我了解到机器语言和高级语言之间转换的方式,可以自己写出编译器;可以更加客观的比较出各种语言的差异;可以更加容易的理解在一个语言种哪些写法是等价的,哪些是有差异的;可以让我们对我们写的程序和程序语言有更深的本质的认识;懂得代码的本源是什么,可以更好的理解程序,解决编程中的问题。总的来说,可以让我们变得高大上,解决编程问题的会有更全新的角度去思考。

      我认为若是不学这一门学科,则会有一些损失,例如造成知识缺陷,遇到一些底层问题或者性能问题等,而且自己无法去解决。像我们自己学C语言的话,若是没学习编译原理,会遇到很多难解决的问题,而且如果不学这门课,就无法了解到编译的过程。学习了这一门学科,我认为我们能够知道各种语言的根源,更好地利用语言,甚至能创造语言。若是不学,以上这些只是笑话。

      那么,我们该如何学习这一门学科呢?这一学科有几本书是很牛的,就是龙书、虎书和鲸书。但是,作为初学者,不应该上手就用这几本书来进行学习,最好就是先把教材弄清楚,搞懂,而且上课一定要认真地去上,因为很多地方不是自己去琢磨就能懂。除此之外,更要注重实践。

  • 相关阅读:
    hive查询语句合并问题
    hive isnull或ifnull的替代方法if()方法
    hive科学计数法引发的问题
    科学计数法转字符串
    shell命令执行结果$?
    shell脚本中变量接受hive语句的返回值问题
    shell简单命令
    js切换图片
    js点击图片切换
    操作节点
  • 原文地址:https://www.cnblogs.com/zhichong/p/5857396.html
Copyright © 2011-2022 走看看