作为开发人员,目睹了开发平台的演化,尤其是微软的开发平台,功能越来越强大,使用起也越来越方便,很多工具唾手可得,很多类库和控件可以信手拈来,轻而易举地完成一个任务,甚至可以完成一个项目。在微软的VS平台里,就大肆渲染了其令人惊叹的、不用编写一行代码就能完成一定任务的能力。
软件开发平台的强大带来的影响是巨大的,对于初学者来讲,它降低了入门的门槛,使神秘高深的软件开发褪去面纱,露出和谒可亲的面容,成为许许多多具有梦想和创意的人的伙伴。另一方面,强大的功能必定不是本身简单,而是通过封装等手段,隐藏了内部实现细节,展示给人的只是一只只黑箱外的亮丽的接口,这对于追求原理和细节,追求高度自由的开发者来说,却增强了难度。于是,有人赞叹和欣喜,有人指责和忧虑。乐观主义和悲观主义者在强大的开发工具面前摆开了战场,厮杀之声不时响起。
有的乐观主义者对方便的控件推崇倍至,凡事必寻相应的控件,直接拖拖拉拉,再简单配置,完成任务了事。比如登录控件,数据显示控件、文本控件等,一律不问原由,只管为我所用,不求控件背后的机理,更不寻控件实现的细节。于是多年之后,仍然只对可视化的控件兴趣颇浓,却不知不觉间丧失了自己的创造性。
而悲观主义者则在另一条道路上奋力拼搏,他们相信真正的技术需要自己自己的努力。他们不畏艰辛,凡事必提记事本,携能在记事本中编写代码而自感高人一等,对使用控件一族不屑一顾,似乎只有这样才能称之为真正的开发人员,似乎自己才是真正掌握了技术。多年之后,头发开始变白,蓦然回首间,发现辛苦的耕耘与收获并不成正比,一些花了大量精力和时间获得的成果却早就被人转换成了方便的工具,只留下一声空叹。
在笔者看来,工具本质上是为人服务的。极端的乐观主义者高估了工具的价值,成为了工具的奴隶;极端的悲观主义者忽略了前人的劳动,浪费了大量的时间打造过时的工具。毫无疑问,无论对于工作,还是对于整个软件业的发展,都是不利的。
工具的发展是渐进的过程,更是人类智慧的结晶,站在前人的肩膀上,才会比前人站得更高,看得更远,这就要求后来的人员应该尽可能利用前人的成果,充分利用现有的工具,为创造更好的工具、实现更美好的梦想创造有利的条件。同时,工具的发展是有规律的,掌握发展的规律,掌握工具的内部机理,是发展工具的必要条件,懒人思想不会创造出任何新的工具,更不会为工具和工作的后续发展带来有价值的突破。
回到开发人员身上,就是需要做到两个方面的结合:充分利用强大的工具,勤奋开动思考的机器。用强大的工具来提高工作效率,用深入的思考来完善工具,创造新的工具,为应对未来的挑战创造有利的条件。