这次我读了《梦断代码》的第十章——工程师和艺术家
我们常视艺术活动与科学工作为绝不相干之事,但两者实有类同。科学与艺术以不同的比例分据了创作与洞见的多数工作。工程师当然要在艺术与科学的深渊上搭起桥梁。工程常被定义为将科学原则应用于满足人类需要。如我们所见,软件有时感觉难以对付,是因为它不可见。不可见之物难以设想,而高度复杂的不可见之物尤难用作沟通话题。但是不可见并非唯一问题:我们也看不见电力、磁力或重力,但却能为多数实用目的可靠地预测其行为。可是,想要从软件中取出一块行为保持一致的部分以便诊断问题,这却是我们常常无法做到的。在西蒙尼看来,软件设计有两个意思,其一是我们要打造的产品。其二是让产品得以实现的软件工程。我相信有两种不同的角色——主题专家和软件工程师。
软件是一种分层结构,每一层都为相邻的上下层翻译信息和过程。底层是机器,只有纯粹的二进制0和1.顶端是人类,人类打造和使用这些层。层级是软件的精髓,驱动了软件领域的进步,但它们也身患痼疾,有漏洞。
软件工程与艺术紧密相关,软件是艺术的升华。一个软件即为一件艺术品,拥有艺术性的软件才会受到广大用户的青睐,这也正是我们为什么要重视软件的UI界面设计了。在本学期的团队项目App开发过程中,起初我们并没有重视艺术性的设计,只是一味的去完成软件该有的功能,但最后做出的产品丑陋无比,毫无艺术性,这样的软件是不会有用户愿意使用的,为此我们不得不进行了界面的美观设计。工程与艺术兼备的软件,才可以称得上是最好的软件。