从先辈们了解到的道理,有的是老程序员,有的是在web开发这个行业里有自己的经验之道。作为程序员的晚辈,我们可以借鉴学习下他们的思想。在这里记录一些经验话语。希望能对那些刚刚入门的或在道路奋斗的PHPER有些帮助。
我这里想说几个问题:
1.语言,语法重要吗?
不重要。重要的编程的基本思想。语言是不相通的,相通的是思想。PHP作为一门WEB语言,很多童鞋太过于关注其语法,PHP只是一门脚本语言,抹杀了许多算法和数据结构的东西,而重点强调的是函数。结果让大部分童鞋专注于语法层面,而编程思想得不到提高,很难转行。这就是JAVA转PHP很容易,而PHP转JAVA很难的原因。这也是有四五年经验的PHPER仍然感觉自己水平提升不咋地的原因。
斐波那契数列,如果用递归解答,100分的话,我给0分。
这说明这个人没有任何编程思想,不会理清思路,不会推理,不适合搞计算机。
就和约瑟夫环一样,一旦逻辑稍微复杂,有人就头晕了。
2.算法和数据结构在WEB开发中重要吗?
很重要。很多人总是说WEB中算法不重要,而不肯钻研这一块。才会出现一个树形结构难倒80%的PHPER,在他们眼里,一个无限分类就是算法的最高境界。一个递归难倒一半PHP新手,一个很简单的斐波那契数列难倒80%的PHPER(他们不知道循环解法才是最有效的办法,而这在任何语言里面都是经典例子,而绝大部分PHPER不知道,稍微聪明点的会用递归),算法无论在什么应用中都是重要的。
3。学历重不重要?
重要。学历就是你娘,有个好娘家,不愁嫁,至少也轻松些。
人家博士的知识深度和学习能力,是你无法匹及的,你只能仰望的。人家玩的是编译器。
所以,虚心点,你有你的工作经验,人家有人家的项目经验,不会比你差。尊重学历与知识。
4.教材重不重要?
看什么教材了。有的人喜欢笑话学生看死书。我想告诉你,写教科书的人都是博士,教授,能看懂书的人,很牛叉。因人而异,看好书,看懂书。实践书。
5.php山寨很可耻吗?
不可耻。PHP被看做最草根的语言,没什么可耻的。php存在即是合理的,况且PHP的应用所占比重很大很重要。
很多综合性的IT网站,PHP只是很小的一个版块,甚至没有。出身不好不可怕,怕的就是不争气。
6。我有必要学习其他语言吗?
有必要学习其他语言!PHP是一门优点和缺点特别突出的语言,学习了其他语言,开阔了自己的视野,你才会发现自己是多么渺小,才会学会谦虚。
建议:
1.不要停止学习。
2.不要停止思考。
3.不要停止进步。
4.不要浮躁狂妄。(很多搞技术的人容易陷入其中)
5.踏实。我老看到很多人对C语言一窍不通就开始讨论或询问PHP的变量机制。我不了解这个对你有啥用,就算你一知半解了,除了显耀外,还能怎样。
我们必须知道学习是一个过程。快餐吃了会营养不良的。
同是穷二代,这就是为什么有人觉得生活很美好,有人天天骂娘;有人感谢教育,有人天天痛骂学校的原因。因为有人靠知识改变了命运,有人没有。
经验!=技术
你认为没关系,那是你内功和层次不够。功夫的修炼有一个层次的。
简单的,比如说对于一个数组排序,只有1000个元素的数组排序和10亿个元素的数组的排序一样吗?
求10000以内的素数和100亿以内的素数一样吗?
你不要跟我说他们的算法是一样的,也不要跟我说排序么不就是SORT函数么。更不要说后面的情况你遇不到。(你网站规模一大,必须考虑这个东西。底层操作无非就是数字运算)
你更不要跟我说我一个MEMCACHE就就解决了。
这就是大公司比如百度和小公司的面试题为什么很大区别,为什么大公司愿意招没有经验的应届生也不肯招有经验没技术的人,更愿意招科班出身的人,也是为什么一个应届生的薪水能超过几年工作经验的人。原因不是学历,而是他们有一个系统的学习,从算法到编译原理,从数据结构到C语言,从软件工程到离散数学,从应筹学到微积分。这个系统的学习体制保证了他们的快速上手和深入理解能力。你有三年工作经验,但对于同一个陌生的东西,你坑能要半年,而他只要两个月。故,我强调一个系统的学习,做programmer而不是coder。
也是你进不了大公司,做不了核心的原因。
你说算法和WEB无关,那你是不是认为斐波那契数列就仅仅是玩游戏的,求老兔子生小兔子的?
你是否知道余弦定理在搜索中的应用很广,而不是高中生拿来算算三角形夹角那样的简单?
记住:靠一门语言可以吃10年饭,靠数学可以吃1000年。
首先任何语言的能力关键在于自己的技术能力。否则给你一架波音飞机,你不会开,那它都不如自行车跑的快。
首先作PHP程序员应该从思想上认识到这是值得骄傲的事情。因为你已经进入了FREE的领域。其实并不在于语言,而在于人。
PHP是门槛低,但是有几个人摸到了它的天花板呢?
学习PHP基本功很重要。 最好有数据结构的学习经历。
对于1,2年的新手来说。在2年内必须完全掌握相关PHP基础知识。
smarty+pear+adodb+xml+json+ajax+jquery
然后建议熟练分析过国内外开源代码,例如:discuz, zendcart等等诸多。
工具类必须熟练掌握 zend studio 的开发。
数据库必须熟练掌握 mysql & nosql。
操作系统必须对liunx有一定的了解。并能配置环境。
对apache也应该买本管理员手册好好看看。
以上为2年内,必须掌握的内容,这个时候你基本已经入门了。去个单位干什么的都不很费劲了。
第三年,要丰富自己的思想。
借鉴.NET或者JAVA类的开发经验。比PHP要成熟的多,数据库可不是简单的建表查询就可以了。
多补充思想及数据库方面的内容。但是这并不意味前2年就不看。我的意思是第三年更趋于此。 然后需要一个整体的提高,而不是很片面的提升。这个时候,你就要考虑架构问题了。
第四年,当你部署一个大型项目的是否。负载及文件分布还有安全,等等部署方面的问题接踵而来。这个时候你要去努力理解什么是file server 集群,什么是web server集群 什么是database 集群等等。然后这些对你编码又有什么提高的要求,安全的要求等等。
第五年。尝试努力学习C及C++这个时候你将对栈还有指针还有内存有一个更深刻的了解。
web高级部分深入学习。
第六年。该你自己拿主义了!
我自己的一些粗浅经验,每个人的经历不同,不可能一概论之,大家仅仅当作茶余饭后的消遣话罢了。自己有计划有进步就好。毕竟学海无崖。到了今天,其实很多PHP方面的东西,我依然不懂,甚至都没有看过,想到过。 php还是很博大的,同志们共同努力啊!
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫