IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]当你编码时你在做什么:谈编程的本质(零)

    dc_726发表于 2017-01-03 22:07:18
    love 0

    当你编码时你在做什么:谈编程的本质(零)

    编码时间也不算短了,一直想写这么一篇文章,但苦于知识面和功力不够。经过了一年的读研学习,终于对什么是计算、什么是编程的本质有了些领悟。于是断断续续花了几天时间,斗胆提笔来谈一谈自己的理解。写着写着就越写越多,于是干脆就写成一个系列吧。还没搞懂的就先放下,等搞懂了写好了再发,用这个系列先占个位置,督促自己不断地深入学习,不要停歇。

    目前已经想到的比较重要的内容有:

    • State Machine:计算机的理论根基之一,从图灵机到何为计算。
    • Set & Function:与编码息息相关的集合与函数。
    • Tree (Graph):既能表示计算对象的执行空间,同时树在数据结构中的重要地位。
    • Top-down & Bottom-up Search:对搜索空间进行由上至下(Recursion & DFS)和由下至上(Dynamic Programming)的搜索。
    • Behind the Scene: Logic:编程的另一理论根基,为什么用计算机进行计算是“站得住脚”的科学。
    • Program & Data:代码与数据的完美统一。

    相信对这些内容的梳理和学习,对代码的理解会加深一层,编程功力一定会有很大的提高。也正应了这个系列的标题:当你编码时你究竟在做什么?每一个想不断进取的程序员、工程师在整个职业生涯都可能都会反复问自己这个问题。但这个主题本身有些“硬”,可能感兴趣的人不是那么多。但尽管如此,本人依旧相信这是一件值得做的事!

    关于学习素材的来源,主要有研究生期间学过的《Theory of Computation》、《Computing Logic》、《Analysis of Algorithm》等课,以及对应的经典书籍《Introduction to the Theory of Computation》、《Introduction to Algorithms》等。

    最后,编码不是随便敲键盘,也不只是谋生的手段。“水滴石穿,绳锯木断”,不断研习,也许就能发现在其背后隐藏的秘密。不多说了,那就让我们一起来探索编程的本质吧。



沪ICP备19023445号-2号
友情链接