本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

码报:一个程序员的审美情感(2)

时间:2017-08-06 15:33来源:668论坛 作者:118开奖 点击:
在面向对象的课程里确实提到了一种简单的方法:假设给定一段描述需求的文本,把其中的名词当作备选的对象,把其中的动词当作对象包含的方法,把形

在面向对象的课程里确实提到了一种简单的方法:假设给定一段描述需求的文本,把其中的名词当作备选的对象,把其中的动词当作对象包含的方法,把形容词当作对象可能的属性即成员变量。事实证明,没有程序员可以严格按照这种方法得到应用域或问题域的抽象对象模型。因为,需求的文本常常是模糊的,似是而非的。你若当真,那就傻了。

可能有人会说,对象建模更像是软件架构师的工作,关程序员何事?从抽象的角度看,程序员和架构师在解决问题时毫无疑问都会用到同样的抽象思维方法,即他们都是具有抽象思维能力的软件工程师,若再做进一步的抽象,大概没有人反对,在软件这个行业,研发一线的程序员 (开发工程师)、测试工程师、架构师和项目经理都是会用脑子解决问题的人。如果你像程序员一样工作,你就是程序员;如果你像架构师一样工作,你就是架构师;软件工程师角色的界限是模糊的,不能也没必要分的清清楚楚。我不知道是否有完全不会写代码的架构师,但很少有程序员承认自己不懂架构和设计。

因此,到目前为止,我们可以发现,艺术家和程序员的思维方式起码有一点是相同的,即抽象。艺术家把物质世界和想象的虚拟世界抽象到形而上学的哲学高度,因此,艺术是普适的,永恒的。而程序员只要把问题域和应用域抽象为对象和对象的关系,进而转换为代码。抽象的高度决定了抽象的难度,优秀的程序员虽是稀缺资源,但并不鲜见,atv,而伟大的艺术家,绝对都是不世出的天才。这就不难解释:虽然计算机击败了国际象棋和围棋的人类顶尖高手,引起了人工智能可能代替或超越人类的忧虑;但人工智能在艺术领域却毫无作为,最多就是拙笨的模仿而已。

其实,就算是下棋,计算机使用的模型和人类使用的模型也是完全不一样的。当前布局到分出胜负的终局经过成千上万个中间布局存在无数条路径,组成一棵庞大的树,终局是树的叶子节点。因此可能的路径的数目相对于路径的长度是指数级的。计算机判断当前布局的优劣的依据是该布局导致最终胜局的概率,可以简单地看作是当前布局到胜局的路径的数目和到所有终局的路径的数目的比例。

我猜,AlphaGo 的深度学习算法可以多快好省的得到每个棋局的更准确的取胜的概率。不管怎样,在下棋方面,计算机比人类高明强大的地方是海量的存储和快速的查找。而人类下棋使用的是更高层次的模型,我对围棋一窍不通,用 google 搜索了一下,围棋表示下法的术语至少有几十个如挡、并、顶、爬、冲、打劫、点眼、鬼手等等,没有一个和数字相关。

我们完全不必为人类败于计算机而作杞人之忧,这和我们跑不过汽车飞不过飞机跳不过袋鼠本质上还是一个道理,计算机还没有聪明到像人类那样下棋。人类若像计算机那样下棋大概会是这样:对于当前的布局,符合规则的落子有 168 种,其中第 88 种下在“平位二八路”导致的新的布局的取胜概率是 18.68%,大于其他 167 种下法,因此,采用第 88 种下法。这样的基于冷冰冰的数字的弈棋,没有任何不确定性,比拼的只是记忆力,看谁记得多,记得准,还有什么乐趣可言呢?

简化与抽象

悟性和灵感这些只有人类才有的智慧,另外,还有不可或缺的好运气。不乏这样的艺术作品,他们的抽象的形式到了太高的境界,远远超越了时代的理解能力,经过了漫长的岁月世人才最终认识到他们的价值。而此时,创造他们的艺术家早已在穷困潦倒中郁郁地作了古人,比如梵高。

幸运的是,程序员不是什么“圣贤”,大可不必有这样的担忧。程序员在做软件的设计和架构时,建立面向对象的抽象模型的目的是为了去除需求中与问题域和应用域无关的东西,抓住问题的本质,便于理解,从而更容易写出高质量的代码。另外,更重要的是,对象模型无论多么抽象,最后要落地变成可运行的二进制程序,成功与否由用户体验说了算。所以,程序员最终的劳动成果是功利的,世俗的,可理解的,可验证的。而艺术作品是主观的,精神层面的,其价值是无法用逻辑证明的。

无论是艺术家还是程序员,都不是为了抽象而抽象,也不是为了故作高深而抽象,抽象是为了简化,把问题弄的更简单。Clive Bell 在《Art》中写道:

“To instance simplification as a peculiarity of the art of any particular age seems queer, since simplification is essential to all art. Without it art cannot exist; for art is the creation of significant form, and simplification is the liberating of what is significant from what is not.”

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容