一个老程序员PHP程序员说的话(什么是境界,我想我应该好好想一想了)

 我,一个老程序员,也是一个学生,把玩过甚多语言,大多不精。我既非名牌学校,也不是高学历,仅表明一部分比较蛋疼的人。接触PHP也是很早了,从04年的OFSTAR开始的,到如今六年了,期间也接触过很多的语言。从脚本JS到底层的C语言。坦诚的说,我不是个高手,可是我相信本身比大多数人接触的知识面要宽广,深入些吧。同时我也是一名学生,从东南大学到西电,对计算机的爱好一波三折。php


我这里想说几个问题:程序员


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会怎么想的。算法不管在什么中都是重要的。如今论坛里不少人对算法都是一窍不通,仍是看看吧,绝对错不了。3。学历重不重要?数据结构


重要。学历就是你娘,有个好娘家,不愁嫁,至少也轻松些。我发现有许多人,抱着“越穷越光荣”的心态,喜欢嘲笑高学历的人才(研究僧,烟酒生。。),正如论坛里那篇北大博士生会不会PHP的那篇文章同样的心态。让我想起来,没有文化真可怕这句话。人家博士的知识深度和学习能力,是你没法匹及的,你只能仰望的。人家玩的是编译器。因此,虚心点,你有你的工做经验,人家有人家的项目经验,不会比你差。出名的那些人有几个不是高学历。李开复,美国博士,联想总裁,军校。尊重知识。ide


4.教材重不重要?函数


看什么教材了。有的人喜欢笑话学生看死书。我想告诉你,写教科书的人都是博士,教授,能看懂书的人,很牛叉。固然了,如今某些吹牛大王出的什么XX开发王啦,XXX开发宝典的就没法相提并论了,纯粹是赚版费的,和正规的教材不是一个档次。学习


5.山寨很可耻吗?


不可耻。PHP被看作最草根的语言,没什么可耻的。PY不也是草根吗?可是为何PY能获得IT界的承认,而PHP不能呢?不少综合性的IT网站,PHP只是很小的一个版块,甚至没有。出身很差不可怕,怕的就是不争气。

6。我有必要学习其余语言吗?


有!PHP是一门优势和缺点特别突出的语言,因此他并不适合做为一门入门型的语言来学习,它也不是一门综合性极好的语言。这就是为何如今大学的教材选择C语言,FORTRAN,JAVA而绝对不会选择 PHP做为教材的缘由。学习了其余语言,开阔了本身的视野,你才会发现本身是多么眇小,才会学会谦虚。7。我有必要进培训机构吗?


不必。培训机构的实力不敢恭维,快餐教育只会培养出一个代码工人,而不是程序员。综合我上面的观点,你应该知道咋作了。
建议:
1.不要中止学习。
2.不要中止思考。
3.不要中止进步。
4.不要浮躁狂妄(不少搞技术的人容易陷入其中)


5.踏实。我老看到不少人对C语言一窍不通就开始讨论或询问PHP的变量机制。我不了解这个对你有啥用,就算你只知其一;不知其二了,除了显耀外,还能怎样。咱们必须知道学习是一个过程。快餐吃了会养分不良的。同是穷二代,这就是为何有人以为生活很美好,有人每天骂娘;
有人感谢教育,有人每天痛骂学校的缘由。为何名牌大学的学生感谢新学校给了他一分工做,而下流大学的对学校痛骂不已;由于有人靠知识改变了命运,有人没有。什么算法数据结构和语言一点关系也没有,说明做者也就半桶水出来气气这帮phper壮大一下.net的声势 …
经验!=技术 你认为不要紧,那是你内功和层次不够。功夫的修炼有一个层次的。简单的,好比说对于一个数组排序,只有1000个元素的数组排序和10亿个元素的数组的排序同样吗?求10000之内的素数和100亿之内的素数同样吗?你不要跟我说他们的算法是同样的,也不要跟我说排序么不就是SORT函数么。更不要说后面的状况你遇不到。(你网站规模一大,必须考虑这个东西。底层操做无非就是数字运算)你更不要跟我说我一个MEMCACHE就就解决了。


这就是大公司好比百度和小公司的面试题为何很大区别,为何大公司愿意招没有经验的应届生也不愿招有经验没技术的人,更愿意招科班出身的人,也是为何一个应届生的薪水能超过几年工做经验的人。缘由不是学历,而是他们有一个系统的学习,从算法到编译原理,从数据结构到C语言,从软件工程到离散数学,从应筹学到微积分。这个系统的学习体制保证了他们的快速上手和深刻理解能力。你有三年工做经验,但对于同一个陌生的东西,你坑能要半年,而他只要两个月。故,我强调一个系统的学习,作 programmer而不是coder。
也是你进不了大公司,作不了核心的缘由。


你说算法和WEB无关,


那你是否是认为斐波那契数列就仅仅是玩游戏的,求老兔子生小兔子的?

你是否知道余弦定理在搜索中的应用很广,而不是高中生拿来算算三角形夹角那样的简单?