1.2 何为计算机科学
对编程而言,最有趣的一个方面是决定如何解决特定的问题,尤其是问题存在多种解决方案时。例如,对数字列表进行排序的方法很多,其中每种方法都有其优点。要确定哪种方法是特定情况下的最佳方法,你必须具备规范地描述和分析解决方案的技能。
计算机科学(computer science)就是算法科学,包括找出算法并对其进行分析。算法(algorithm)由一系列指定如何解决问题的步骤组成。有些算法的速度比其他算法快,有些使用的计算机内存更少。面对以前没有解决过的问题,你在学着找出算法的同时,也将学习如何像计算机科学家那样思考。
设计算法并编写代码很难,也很容易出错。由于历史的原因,编程错误被称为 bug,而找出并消除编程错误的过程被称为调试(debugging)。通过学习调试程序,你将获得解决新问题的技能。面临出乎意料的错误时,需要创造性思维。
虽然调试可能令人沮丧,但它是计算机编程中有趣且挑战智商的部分。从某种程度上来说,调试犹如侦破工作:必须根据掌握的线索猜想出引发结果的过程和事件。在有些情况下,在考虑如何修复程序以及改善其性能的过程中,还能发现新的算法。
