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

标签: 编程
2621人阅读 评论(2) 收藏 举报
分类:

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

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

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

  • 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》等。

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

7
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:3183850次
    • 积分:23798
    • 等级:
    • 排名:第310名
    • 原创:309篇
    • 转载:56篇
    • 译文:3篇
    • 评论:1559条
    博客专栏
    最新评论