我与程序员之间只隔一盘象棋
生活中没有“車走直路”的捷径,我们都是小兵小卒,只能一步一格。沙场上小兵是冲在最前,也是最基础的那个,生活中,大多数人都是这样的小兵。只有在营地苦练兵法,熟读兵书,才能在沙场上战至最后,感受“八百里分麾下炙,五十弦翻塞外声”的豪情万丈。
伟人也不是生来伟大
我问一个程序员朋友,你的梦想是什么?他说:“我要成为伟大的程序员。”
“Richard Matthew Stallman、Linus Torvalds、Ken Thompson 、Dennis Ritchie、Tim Berners-Lee……这些程序设计里程碑上殿堂级的人物,我要像他们一样,用代码诠释我看到的世界。有人说,伟大的程序员是天生的,程序员是需要天赋的。但伟人也不是生而伟大的,伟大的程序员也经历过三天想不出代码的窘境。每次遇到问题,我就想伟人和我也有共同点——就是曾被问题难住,他想三天,我想三十天,我的付出是他的十倍,以后的成就也是十倍。”
程序员不是刻板印象中不苟言笑的格子控,他们也不乏幽默感。
程序设计 = 算法+数据结构+计算机语言
我问另一个程序员朋友,如何看待你的职业?他说:“我是一个翻译家,电脑它听不懂人类的语言,我翻译给它听。”
盖房子如果不把地基打好,楼盖的越高,就越危险。编程也是一个盖房子的过程,用算法、数据结构、计算机语言建起一座高楼。算法就是房子的设计图,数据结构是按照设计图建造的骨架,计算机语言是用来盖房子的工具。但如果基础不扎实,最后会溃于蚁穴,比如没有丰富的词汇量和严谨的语法逻辑,你不会是一个好的翻译家。
程序员不是刻板印象中不修边幅的理工男,他们更认真严谨。
一盘象棋的距离
上文中提到的两位朋友,是来自于云南天之游科技股份有限公司的培训生。中国象棋是他们来到天之游的首个任务,从培训部到研发部,隔着一盘象棋的距离。
为什么要选象棋游戏作为进门的试金石呢?
天之游程序总监说,最简单的东西往往最能看出一个人的水平和潜力,扎实的基本功和编程思想会从中体现出来;最简单的东西最能磨炼一个人的耐心和创造力,个人的品质会从中彰显出来。象棋看似简单的游戏中,处处体现着数据结构与算法优化的精髓。
从理论性的学习到实践性的操作,中间有必须克服的困难,但只要脚踏实地,终会跨过这盘象棋的距离。
楚河汉界,隔着两个不同的世界。大象走一步的距离远于小卒,但终越不过楚河;小卒一次只进一格,但稳扎稳打不被“吃掉”却可以越过雷池。因为小卒一步一格的方向只能向前,没有退路。