试图从程序员到软件艺师(读《Java编程思想》有感)

来源:互联网 发布:重生之一叶而知秋 编辑:程序博客网 时间:2024/06/04 08:44

当我拿到这本书时,看到作者的一句最让人心动的话:“尝试将程序员从操作系统的体制中解放出来,朝着软件艺师的方向发展。”

我对此的理解是,程序员不应该仅限于熟练在各个操作系统间来去自如地玩弄着自己的各种巨幅的代码篇章,而应该朝着这样的方向发展——将编程看成是一项艺术行为,把自己的各个项目成果看成就是自己精心打造的一个艺术的结晶。当然这里的程序员可能更加类似于产品设计人员了,而非专注代码的程序员了。

但是在我看来,在科技不断的发展过程中,越是底层的东西可能越来越会沉淀下来。就像数学,在21世纪之前,数学的绝大部分基础性的定义及定理都基本成形了,没有或者说少有改进的地方,除非诞生了一个数学中的某个具体分支的学科的开山鼻祖,他新发现了并定义了一个新的学科,那么在他这个领域确实还有很多东西都是空白,需要有更多的人为之积淀新的血液。当然了,数学的发展历史远远超过了计算机的历史,但是这几十年我们也见证了计算机以惊人的速度在不断发展。

因此我们有理由相信,就像现在很少但绝对是长年甚至一生专注于研究机理深奥且复杂的基础数学,计算机学科将类似越来越需要更少的人来为他的基础理论服务,大多数人还是把这些基础理论或说现成的底层代码拿来就用,而不假思考。当然了,如果你对基础的东西也感兴趣并深有研究,对这些东西你当然可以向对待“拿来主义”一样嗤之以鼻,并且可以提出批评改正的地方。但是呢,这样一来,我们可能将花大量的时间专注于底层效率的提高或者漏洞的减少等细节,当然了,如果你的最终产品是属于要求安全性极高的类型的话,这也无可厚非。而我所强调的是这些之外的产品类型,这些产品类型基本是面向个人的(其实其他的情况我没有考虑过,所以暂且不议),这样的话一定是很强调用户体验的,而用户不关心我们程序员的具体实现方法及过程。这就在无形中为我们提供了设计这样一类产品的建议:一切以用户体验为第一目标,其他都是次要的。

其实,我想说的是,我作为一个程序员,但发展的目标是面向个人用户的产品设计师。但是我想作为一个产品设计师,懂得一定的技术是必要的,再加上灵感,就很可能设计出好的产品。这里我想到曾经在知乎网上看到一个人对技术的理解——“技术是什么,其实从认知上来说,技术就是“解蔽”,俗话说就是看清某样事物的运行过程,当然看清之后,人们就可以加以利用,发明设计和创造更好的运行方式或者说产品。”正如闻名遐迩的苹果集团创始人乔布斯这样一个顶尖级设计大师,就从他曾经创造个人电脑一事可以看出起码他是知晓甚至熟知这一运行过程的,再凭着他敏锐的触觉和过人的智慧,便设计出各种令人惊艳的产品。

因此,我的目前努力方向就是打好技术的基础,同时不断关注各种产品的设计思路及思想。将来成为一个软件艺师,最自豪的一件事莫过于设计出一项令大多数人满意甚至叫好的产品,当然这样不断创作作品的的过程也是最能体现个人的价值,这不就是人生最有意义的一件事吗?

原创粉丝点击