我们的日常生活深受软件和Web的影响。越来越多的人意识到了软件的重要性,例如,假如你想前往巴西看世界杯,你应该首先在网上预订机票,订机票时应该用你的信用卡支付费用,成功预订机票后,你的电子邮箱会收到一个电子机票。当你到达机场时,你的身份证信息会被移民数据库系统检测,当这些都OK了,登机飞往巴西。猜猜怎么着,整个过程涉及到计算机上的软件。许多人持有这样的观点:每个人应该学习如何编程。这很吸引人,但是不切实际。然而即使你不知道如何编程,这里还是有一些关于编程的事情你需要知道。
编程是一个难以置信的文化共享
许多人没有意识到这个世界上有多少免费的代码,以及依赖于这些代码的一切。如果这么多人工作免费的话,整个行业将如何操作?当然真正的问题应该是:如果人们不分享,一个行业能如何操作。
人们也没有意识到“免费”的全部含义:用户的完全自由。你想修改吗?你可以;你想拷贝吗?当然。唯一的限制通常是:需以不同的版本号码来与原始的程式码做区别。
如果更多的人意识到广泛共享是对每个人都有好处的,以及采用更自由的版权许可,这个世界将变得更好。
编程几乎没有具体的入门障碍
成为一个就业程序员,你所需的是一个上网本和一个互联网连接。相比很多高薪行业,人们并不非常注重学位和证书。
成为一名医生或律师的过程是非常复杂的,涉及到整个监管把关的人,而编程没有。如果你想改变现在所做的,可以考虑编程。如果你喜欢它,把时间放在学习基础知识上,你能够得到一个体面的编程工作,即便你没有相关的学位。
编程只是逻辑
编程没有什么神秘的,你只是用某种计算机可以理解的方式写出逻辑。这就是编程的感觉,没有歧义,电脑总是精确的执行你对它下的命令。当它做错时,意味着你下了错误的命令。电脑不会向你解释什么。它不会试图猜出你的意思,它只会照你说的去做。
这也意味着大多数程序的底层行为是非常简单的。明确的表述逻辑意味着你必须简化它,所以当你认为你的安卓游戏“反对”你时,它可能只是在后台随机运行,随机性比智能更简单,恶性行为(很难说机器学习越来越受欢迎,因为机器学习算法同时还简单,能表达令人惊讶的紧急行为。)
关于计算机,最好的是它们精确的执行你的命令,最糟糕的是它们执行你的命令,而编程的描述只有两句。