编程是软件工程的核心。
实施GJB5000,是为了提高组织软件工程的能力。所以,了解编程的本质也有助于组织更好地实施GJB5000。
那么什么是编程的本质?
最初的编程是为了让计算机理解人类的意图。因为计算机本来是为了运行由0和1组成的机器语言而设计的,而这种机器语言对于人类来说,要很难理解的。所以,编程语言作为一种人类和计算机都能够理解的语言,能够将人类的意图传达给计算机。而这个过程就叫做编程。
但是,我们并不能因此就认为编程的本质是“作为计算机和人类沟通的媒介”。这还只是编程给人的表面现象。
实际上,编程语言相比自然语言(人类的语言),它具有更精确的表达能力,它避免了自然语言的模糊性,可以准确地表达人类的意图,不会让计算机产生歧义。
因此使用编程语言,就可以将人类的意图转化为计算机需要执行的操作步骤详细、准确、严密地描述出来。
这就是软件。
计算机软件,就是人类使用计算机意图的表达。编程,就是要使软件能够准确地表达人类的意图。
所以,编程的本质是思考。程序员在编程的过程中需要不断地思考:
“人们到底想要什么?想要这些东西的本质又是什么?要实现这个目的严格来说需要怎样的操作步骤?”
程序员只有思考并解决这些问题,才能更好地完成编程的工作,创造出能够准确实现人类意图的软件。
所以尽管看上去编程是和计算机打交道,但实际上编程的对象还是人类。
编程是需要人来完成的工作,因此我不相信在将来计算机可以自己来编程。——松本行弘
作为一个程序员,你理解的编程的本质是什么?
这正是:
编程面对计算机,实际对象却是人
不把本质想清楚,软件出来难成功
参考书目:代码的未来,作者:[日]松本行弘,译者:周自恒,出版社:人民邮电出版社
联系客服