一个老程序员PHP程序员说的话
我,一个老程序员,也是一个学生,把玩过甚多语言,大多不精。我既非名牌学校,也不是高学历,仅代表一部分比较蛋疼的人。 接触PHP也是很早了,从04年的OFSTAR开始的,到现在六年了,期间也接触过不少的语言。从脚本JS到底层的C语言。 坦诚的说,我不是个高手,但是我相信自己比大多数人接触的知识面要宽广,深刻些吧。 同时我也是一名学生,从东南大学到西电,对计算机的爱好一波三折。 我这里想说几个问题: 1.语言,语法重要吗? 不重要。重要的编程的基本思想。语言是不相通的,相通的是思想。PHP作为一门WEB语言,很多童鞋太过于关注其语法,总是天天翻函数,看语法,是的,他们的PHP 能力提升了,可如果叫他们转行做PY或者C,甚至是NET,那就是要了他们的命。为什么呢?就是因为他们单纯地接触PHP,而PHP只是一门脚本语言, 抹杀了许多算法和数据结构的东西,而重点强调的是函数。结果让大部分童鞋专注于语法层面,而编程思想得不到提高,很难转行。 这就是JAVA转PHP很容易,而PHP转JAVA很难的原因。这也是有四五年经验的PHPER仍然感觉自己水平提升不咋地的原因。 他们精通PHP,但除此之外,啥都不懂。这够了吗?不够。 我发现论坛里不少人总喜欢钻研函数,发现一个函数好用就沾沾自喜好久,而不知道自己已经落后高级程序员很大一截了。 斐波那契数列,如果用递归解答,100分的话,我给0分。 这说明这个人没有任何编程思想,不会理清思路,不会推理,不适合搞计算机。 就和约瑟夫环一样,一旦逻辑稍微复杂,有人就头晕了。 至少,高中数学不及格。 我测试新人,必然用约瑟夫环考察潜力和逻辑,一旦做不出来,直接全卷0分,对不起。 2.算法和数据结构在WEB开发中重要吗? 很重要。很多人总是说WEB中算法不重要,而不肯钻研这一块。才会出现一个树形结构难倒80%的PHPER,在他们眼里,一个无限分类就是算法的最高境界。一个递归难倒一半PHP新手,一个很简单的斐波那契数列难倒80%的PHPER(他们不知道循环解法才是最有效的办法,而这在任何语言里面都是经典例子,而绝大部分PHPER不知道,稍微聪明点的会用递归),不知道其他语言的程序员,特别是JAVAER会怎么想的。算法无论在什么中都是重要的。现在论坛里很多人对算法都是一窍不通,