zoukankan      html  css  js  c++  java
  • 编译原理

    什么是编译原理

          编译原理是计算机专业的一门重要专业课,旨在介绍编译程序构造的一般原理和基本方法。内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。 编译原理是计算机专业设置的一门重要的专业课程。虽然只有少数人从事编译方面的工作,但是这门课在理论、技术、方法上都对学生提供了系统而有效的训练,有利于提高软件人员的素质和能力。


    学习编译原理的好处

    1、可以更加容易的理解在一个语言种哪些写法是等价的,哪些是有差异的
    2、可以更加客观的比较不同语言的差异

    3、更不容易被某个特定语言的宣扬者忽悠

    4、学习新的语言是效率也会更高

    5、其实从语言a转换到语言b是一个通用的需求,学好编译原理处理此类需求时会更加游刃有余

     

    6、学会了编译原理,就可以用编译原理的眼光来看带我自己的代码,写出了优秀的单元测试。


    不学的损失

    1、不能用语法分析来分析出一段用户上传是否含有代码,从而让你的网站更完善。
    2、不能分析和分解用户输入的SQL语句,理解是否有害和是否有SQL注入。
    3、无法在业务软件中结算方面允许用户输入条件表达式和四则运算,允许用户自定义结算公式或条件,使软件上一个档次。
    4、学习编译原理甚至可以实现自己创造的编程语言,以后编程全用自语言来做,然后编译成老板要的那种语言。有的公司要JAVA,有的公司要C#,C++,VB等等你都不必每样都费心了。这样做还有一个好处,你的源程序其实是自语言,目标代码则是社会上公认的源程序,所以是可以公开的。如果以这种技术为核心技术开公司的话,则有着技术上更高一层的先进性,这种核心竞争力是很值钱的,不学就没有这方面的优势。

     

    怎么学习

    1、要读:《编程语言实现模式》,主要用ANTLR讲解各种例子。《领域专用语言实战》用Ruby、Groovy等语言讲解。

    2、得至少懂点计算机硬件原理。。例如所有运算只能在特定的寄存器中计算,然后存回ram(变量所在地)

    3、上课认真听讲,作业认真完成。

    4、多自己实践学习,遇到不懂的,就问同学问老师,上网或者看书找答案。

  • 相关阅读:
    Spring之Redis访问(Spring-data-redis)
    SpringCloud之Hystrix容错保护原理及配置
    SpringCloud之Feign声明式调用原理及配置
    SpringCloud之Ribbon负载均衡配置
    基于Zookeeper实现分布式锁
    SpringCloud之Eureka注册中心原理及其搭建
    SpringBoot定时任务(schedule、quartz)
    Java和操作系统交互(Java 代码是怎么执行)(转)
    深入SpringBoot注解原理及使用
    Spring事务的配置、参数详情及其原理介绍(Transactional)
  • 原文地址:https://www.cnblogs.com/wban48/p/5857403.html
Copyright © 2011-2022 走看看