开源之迷
上QQ阅读APP看书,第一时间看更新

02 掌握技能:从表象到源代码

看完让人头大的法律声明文本和迷幻多彩的软件之后,该是接触软件的“原材料”的时候了。计算机所展示的功能是我们看到的表象,正如上一章所展示的社交聊天、支付理财、浏览信息、播放电影等App,是符合人们的日常诉求的,而这些App之所以能够运行,是因为运行的是经过编译的程序。当然,计算机只能识别二进制的内容,是类似如下这样的:

0010101001010100101010101010101010101001

这样的代码,大部分程序员是读不懂的,也没有人能够通过撰写这样的二进制符号而实现上述的各类功能。

人类只能读懂人类自身的语言,或者是接近于自然语言的语言——计算机编程语言。大部分的软件开发者是可以通过阅读代码就预判出执行结果的,诠释这一点最为形象的莫过于电影《黑客帝国》中描述的场景:川流不息的源代码在某个高手的眼中不再是代码,而是可以不经大脑翻译的、由代码模拟出的整个城市。

“普通人”看源代码之捷径

出于各种各样的考虑,可能主要是商业的因素,也可能是为了降低用户操作的复杂程度,源代码被隐藏起来。我们先来找一下万维网中的源代码观看入口。

浏览器是进入万维网空间的入口,几乎每台计算机设备都会安装这款软件,它们常见的有Chrome、Firefox等。下面以Chrome为例,输入网址:

http://jiansheng.works/helloworld.html

你看到的将是“你好,开源之迷”“你好,开源世界!”这样几个大字。

在页面的空白处,你可以单击鼠标右键,在弹出的快捷菜单中选择“查看页面源代码”。这时页面显示如下:

<!DOCTYPE html>
<html>
<head>
<title>Hello, World.</title>
</head>
<body>
 
<h1>你好,开源之迷</h1>
<p>你好,开源世界!</p>
 
</body>
</html>

浏览器本身会对HTML、JavaScript等进行解析并呈现。

到这里,你已经开始拥有进入开源世界的技能了,接下来就需要不断地进行练习,学习更多种计算机编程语言,即按照正向的方式来理解软件,而不是像我们现在正在进行逆向介绍——通过表象往后挖掘。