首页 > 技术文章 > 02梦断代码读书笔记

rongzhang 2022-01-05 16:52 原文

卡普尔的团队开始问自己一个看似简单的问题:我们如何组织信息?如何对这种信息组织法建模——需要怎样的数据结构才能让计算机也能回答这个问题?

软件没有磁芯。它就像洋葱般层层叠叠,每一层都辛辛苦苦地建立于前一层基础之上。程序员把这种结构叫做“抽象层叠",每当新添一层时,就要把一些复杂而特殊的东西转换为简单而通用的东西。

在抽象层叠的最底端, 正好在核心内存之上的部分就是汇编语言。

语言的选择可能都是一个项目在前期选择时必须要经历的痛苦抉择。文中谈到了汇编、Fortran、C、Perl,谈到了编译型语言和解释型语言,最后项目用Python语言来实现。

Python 是一种“解释型语言(interpreted language)" 。“编译型语言(compiled language)" 通过编译器先将程序员的源代码翻译为机器可读的二进制代码后再运行,而解释型语言则是在运行时做类似的工作——解释器逐行翻译源代码,再喂给处理器运行。解释型语言效率较差,因为你要同时运行自己的程序和解释器。但这也使得解释型语言较为敏捷。

在RDF 中,数据存储的基本单位是“属性(attribute)" ; Chandler 条目可以包含许多不同属性(对于一封电子邮件,典型的属性可能是“日期”、“发件人”、“ 主题”、“正文”等等)。

奇客的2种定义:

以(计算机)程序缺陷为食----不善社交、身有恶臭、面色苍白的偏执狂,具有奶酪刨丝器一般的人格特点。

专注于己事的人;追求技术(特别是专业技术)和梦想、不融入主流社会的人。

群件(Groupware):即时通信、聊天室、缺陷跟踪、源借故传统的邮件列表等工具,个人感觉要慎用这些工具,否则你的工作时间会被这些工具吃得一干二净。

推荐阅读