《黑客与画家》--2黑客与画家

这本书果然充满了离经叛道的言论,作者 Paul Graham 果然”骨骼清奇”

在这篇文章中作者说出了,黑客与画家,等等艺术家的共性,也说出了与科学家的区别。

记得黑客曾经也是我的梦,在我对计算机一无所知的时候,我也想着自己有着一日能成为黑客,那时自己并不知道黑客是什么,只知道,是很优秀的程序设计者,对计算机世界一无所知的人。直到后来入了ACM这个大坑,忘了曾经还有这个梦(:( ), 不过,ACM的标志告诉我,发现问题,解决问题。从此我也以此为学习之道,而不在想着要成为 xx员,xx师了,只是想着要去做些事情。啊~,言归正传

作者将黑客视为计算机另外一端的产物,他认为黑客是一种设计者,像画家一样的艺术家,所谓编程,其实不是一件技术活,而是一件艺术活。计算机在他们手里仅仅是一种表达媒介而已。

黑客通过实践学习编程,这一点在高校教育中几乎不存在,高校中教人编程是给你讲讲语法,然后去做做题目,甚至让学生能够在“纸”上写好了,再去编程,这导致很多学生,害怕去写,害怕出错,其实会想我自己的学习编程的结果,语法无非是和编译器打交道,编译器说你哪错了,你找出来就是一种学习,而真正有意思的是设计,因为对于同一个问题,或者说功能,的程序并没有标准的“解”,也就是可行解是很多的,而决定什么是好的这是一个艺术活。

黑客类比于创作者,另一个学习途径是通过范例。通过看优秀的源码,而我却很少看…可能我还不是一个创作者,仅仅满足于能够用自己的方式优雅的解决某个问题吧,我认为看源码是个很费事的事情。或许这是我应该去改变的,希望我学了软件工程之后能对此有更深的想法。

作者的另一个观点是优秀黑客与普通黑客的区别在于能不能“换位思考”, 也就是能不能将程序写的让用户能清晰的明白,某一方面就是添加好的注释,不过通常我哥人的习惯是很少去看注释,一个问题是英文写的注释太长,另一个原因是更希望通过样例来看懂。或许好的创作者还应该考虑到这个因素,将注释简单化,将设计通用化。

这里作者说的其实就是软件工程的设计,作者说的黑客和软件工程师的区别不就是黑客是创作者,而软件工程师是工人吗?

猜你喜欢

转载自blog.csdn.net/dylan_frank/article/details/80457412