尝试百度”PHP是最好的语言”,发现指向较多的是那个关于程序员的笑话。 但是如果这个梗来自于这个笑话的话,那么为什么在笑话里这个程序员不说C++/python/haskell或者别的什么语言是最好的而要说PHP是最好的呢?所以感觉似乎最早的出处不在于此。 有人知道吗?
来看看知乎网友们是怎么看待这场语言之争的吧!
网友回答
网友A
「为什么在笑话里这个程序员不说 C++ / Python / Haskell 或者别的什么语言是最好的而要说 PHP是最好的呢?」——因为说任何其他语言「最好」都并不好笑啊。
任何掌握超过两种以上非 PHP 编程语言且具有一定常识的程序员都会本能地意识到 PHP 的问题所在,曾经有一篇汇总性的文章在此: PHP: a fractal of bad design / fuzzy notepad (译文版可见:五大受损, 全面解析PHP的糟糕设计,但翻译得很烂),历陈 PHP 破败之处,激荡深远。如果你没时间去读那篇长文,那我告诉你一个简单的例子来说明 PHP 有多匪夷所思:PHP 的核心函数命名很不一致,有 「strptime」这样类 C 函数的名字,有「nl2br」这样的简写,却也有「htmlspecialchars」这样的长名。后来人们发现这种不一致并非偶然,而是当 PHP 还是只有不到一百个函数的小语言的时候,其作者决定用函数名的字符数量——来作为函数的 hash(!)。由于这个愚不可及的决定,PHP 的函数名长度要尽可能地长短有秩、均匀分布,影响一直延续至今。甚至有好事者将上述文中:
You pull out the hammer, but to your dismay, it has the claw part on both sides这一句严肃对待,做了一把 PHP 锤子:
试想你走进五金从业者公会的啤酒馆,看到墙上挂着从钉子到电动螺丝刀的各式工具当作陈列品,而你在端详一阵之后指着其中的这样一把锤子,说「啊,这是最好的工具」,你觉得酒馆里的人会是什么反应呢?
网友B
因为php和最好的语言几乎没有关系。。一般用来讽刺一些没见过世面,把自己归属于某一种编程语言的语言教徒。
事实上每一门语言都有其设计的灵魂,有它的取舍。很难说什么是最好的。比起做个脑残粉总是鼓吹自己擅长的语言,不如多学几门语言,开阔视野。
我们都喜欢分享自己的价值观。希望被认可,希望有更多同伴。其实这也是在给身边的人洗脑,这很正常。但有时候自己在某一领域的付出会成为枷锁。
网友C
Windows 是最好的操作系统!
以上为纯吐槽。
我看楼上还有很多还在讨论PHP不是最好的语言,还好我不是程序员,只是稍微懂一点代码,我认为之所以说这个梗,是因为PHP最普及和最流行,大多数不管懂不懂程序都知道或听说过,所以才能引起共鸣。这就是我上面那句吐槽的含义。
如果上面那句吐槽改为:Ubuntu 是最好的操作系统!(围观群众:What?)
网友D
难道不是这么来的?某女:你能让这个论坛的人都吵起来,我今晚就跟你走
某软件工程师:PHP是最好的语言!
某论坛炸锅了,各种吵架…
某女:服了你了,我们走吧 你想干啥都行
某软件工程师:今天不行,我一定要说服他们,PHP必须是最好的语言
某女:……
网友E
编程语言之争由来已久,
但是php和java确实是最受争议的。
自从web20热起来后,java逐渐淡出了。
究其原因并不在于语言本身,
而在于用语言的人。
因为php确实简单,门槛最低,
所以很多并不适合编程的人涌了进来,仅仅为了糊口罢了。
这些人的各种无敌言论自然让很多专业的人呲之以鼻。
天龙八部里有个星宿派,
虽然在施毒方面有些特长,但门下弟子总的来说武艺平平,
其实江湖武功低微的人多的是,低调便是了,谁又老是盯着你呢?
然而这个新宿派却偏偏跑出去招摇过市,胡吹本门派武功盖世,大有傲视天下之势,
那么其他门派的人会怎么看他们呢?
php就是语言江湖的星宿派。
网友F
对我来说PHP 就是最好的语言。它不是炫耀技巧、扯蛋概念的东西。完成任务才是程序员要做的事。没什么语言可以高效开发同时高效运行。
相关利益:写PHP17年。
网友G
作为一个十多年老phper,看到这句话,也会笑。虽然我也会c c++ java go ,并都做有相应产品。 世界上一半以上的网站是php, bat, fb,处处有它。但这些大公司在近些年,都在试图改造它。淘宝去php改java,百度重写扩展,fb搞xhp等等。但结局是搞了这么些,这几大公司却收效甚微。比之前的性能提升不了太多。在我理解看来,无非是想提高一下b格而已。
在php的初始阶段,php是连框架也没有的。直到今天,php创始人lerdorf仍然反对mvc,因为他觉得影响了性能。在那个年代,同样的一个应用,做java的待遇比php高一倍。因为php简单。如果跟你说一个人花了一个星期用php写了个论坛,跑得也还蛮好,你一点也不要惊讶,后来这个论坛还卖给了阿里。面向过程的php,成就了无数小的站点。
后来是一个框架辈出的阶段,phper们终于也有了跟java一样的mvc,待遇也慢慢接近于java了。大家明白了一件事,大项目,得有点高深的学术内涵才能忽悠的住。opp也更加规范了,你能找到的设计模式,php全都有,于是phper放言:你还敢说php不高级, 不入流? 而实际上,设计模式,真正能用到的就那么一两个。对于解析性语言,我只能,呵呵。
归结一下,php,我觉得更像屌丝逆袭。 然后,笑的人有两种,一种是屌丝的自嘲,另一种是高富帅的妒忌。
网友H
先说一下php的优点:
跟py相比,它不需要django之类的库,原生就支持web。小白们不需要配置什么东西,门槛就低了。而且php的语法是类C的,函数命名大部分也是类C的,大部分码农在学校或多或少都学过C/C++,接触php肯定要比py顺手。
跟java相比,支持php的主机显然更多。云主机兴起之前,是个虚拟主机都是lamp,都支持php。而虚拟主机是最便宜的解决方案,也就是说随便租个虚拟主机就能跑php的网站,成本就低了。
我个人认为没有什么最好的语言,只有最合适的语言。php之所以在web20的时代异军突起,击败了py,原因跟php坑不坑没有关系,跟契机有关系,跟他在那个环境下合不合适有关系。把php的流行归功于什么最好的语言简直是胡扯,也是没动脑子。
网友H
大部分敢于说自己是最好的语言的语言,至少有一部分人是真这么认为的。
比如说C语言最好的,最差最差也有一部分C语言核心开发者有信心这么说。
但是PHP语言是一个连开发者都不敢『声称是最好的语言』的语言。
这是不言自明的公设,不需要证明。
小圈子有个笑话。
会不会用PHP是有一个明确判断标准的:
只有觉得PHP是个烂语言,才有资格说「我会PHP」。
如果你连PHP有多烂都感觉不出来,请别说「我会PHP」「我会编程」。
网友J
因为php算不上一种语言。就好像说“射钉器是世界上最好的武器”一样。
ABS是常规制动装置基础上的改进型技术。它的工作原理是,依靠装在各车轮上高灵敏度的车轮转速传感器以及车身上的车速传感器,通过计算机控制。紧急制动时,一旦发现某个车轮抱死,计算机立即指令压力调节器使该轮的制动分泵泄(减)压,使车轮恢复转动。ABS的工作过程实际上是抱死-松开-抱死-松开的循环工作过程,使车辆始终处于临界抱死的间隙滚动状态,有效地克服紧急制动时的跑偏、侧滑、甩尾,防止车身失控等情况的发生。
面对如今竞争激烈的就业时代,很多大学生在职业规划上都存在欠缺。下面我将对职业生涯规划的思考与大家分享,希望能帮助到你。
从毕业至今已有6年多了,回想这些年的时间里,我的能力和刚刚毕业时有了很大的提升;但是,现在自己在什么吗能力上我并不知道,毕竟没有去过别的公司。近期我在思考自己的未来与过去的职业发展。
初入职场阶段(工作一年半)
刚毕业时我进入了一家规模比较小的公司(IT行业),那时觉得很开心,过得也充实,任务就是写代码和度代码。那时,自己的能力提升很快,毕竟学校与公司的项目是无法比较的。公司有自己开发的框架,当时的我就觉得那框架写得非常的好。编程规范:约定大于配置,强制树状依赖,多工程模型,但是也存在明显的问题,就是大量使用command模式以及弱参数类型,导致接口上无法很直观定义入参和出参。在正式项目中,第一次接触到典型的瀑布流模型。这个阶段主要的精力就是学习公司的业务和阅读公司内部开发的框架源代码,知道了apache开源项目,也是这个时候,能够熟练的使用一般的设计模式。那个时候公司的规模也比较小,经常也会写一下底层的工具类。架构也比较简单,没有所谓的分布式架构,基本上所有的业务逻辑在一个系统里面全部可以找到,排查问题也非常简单。
个人觉得,在这个阶段,是最适合学习的,尤其是自己的编码技能,也是在这个时候最容易提升的。刚毕业出来的时候,人还有一种拼搏的精神,这个时候相对来说各方面压力比较少,心也沉的住。比较适合学习编码。这个时候公司比较少,你会接触各个方面的知识,包括项目管理,项目部署,项目构建,数据库开发,这个阶段时间是最有效率的,不会有那么多邮件,流程,规范。
进入职业化阶段(工作一年半到4年 )
这个阶段就是慢慢的开始职业化的过程。从带项目开始,后来开始带人,带团队。这个时期主要偏重设计,所谓设计,就是根据产品整个业务流程,在目前业务框架和技术框架的限制下,给出具体的实现过程。这个阶段公司就开始越来越大了,系统越来越多,业务越来越复杂,慢慢的转变为分布式架构。目前想从一个系统了解到整个业务的流程,已经不太可能。随着拆分的系统越来越多,一个简单的业务流经的系统越来越多,团队配也就越来越重要。沟通和配合能力在这个阶段显的尤为重要。
随着公司的越来越大,工作上的邮件越来越多,流程越来越繁琐,规范越来越完善和变态,沟通和配合越来越多,投入在纯技术层面时间也就越来越少。同时由于工作的高度细化,有DBA,发布团队,开发环境配置团队,工具开发团队,前端团队,测试团队等等。你会发现你很难掌握全局。一个人越来越封闭与自己所负责的圈子里面。基础技术团队已经把所有的组件都封装好了,你只需要实现产品需求就可以了。慢慢的,业务开始主导你的职业生涯,你从一个程序员,会变成一个业务分析师,你花在业务分析上的时间慢慢的会超过编码时间。而公司的组织架构也慢慢的向业务架构看齐,业务架构慢慢不在coder。从这个角度上看,新技术的研究已经毫无意义,你需要的技术都有底层技术团队来实现,你只需要关于业务。这个时候应该是大多数业务导向型公司发展的必经阶段。
在这个阶段,是公司飞速发展的阶段。也是个人晋升最快的时期。记得现在的yahoo总裁-玛丽萨·迈耶在Google的时候就问过佩奇:如何才能更快的晋升,佩奇回答:加入高速成长的公司。这个说法是相当有道理的,因为公司的业务发展需要更多的更高的职位,这个时候也是人生中最累的时候。但是只要你肯努力,你的机会会很大。可惜这个时候自己有点傻。也没有全力去拼。随着公司业务的发展,业务已经慢慢的趋于饱和了,已经不是打天下的时代,必然不会有太多的机会。而自己的两个朋友在公司发展的顶峰期离职,去了其他的公司,付出超出常人的努力,已经是技术二把手和产品总监了。所以晋升有两个关键因素:1加入成长期的企业2付出更多的努力。不过这个也是赌博,全靠眼光和运气。
工作四年到现在
如果说第二个阶段还会写代码,这个阶段基本上没有写过代码。这个阶段做什么,管人,管团队,开会,管自己的业务,规划业务的发展。当公司越来越大的时候,政治,官僚气息就开始了。在这个阶段,自己也是做的最没有意思的时候,开会讨论需求,一个很简单的需求涉及的利益就很大,开会就在不断的pk和吵架中进行。毕竟业务架构都是虚的,互相不认同,不像代码,好与坏一般都能够分的清楚。这个时候,一个人的技术实力已经显的不太重要了,重要的是沟通,pk,忽悠能力。能把业务方,别的业务团队,开发忽悠住就可以了,忽悠这个能力,也许需要更高一个层次。这个阶段的开发同学就很苦逼,被这种流程,协作,规范逼着,有各种各样的质量、缺陷指标。
这个时候抽象思维能力就比较重要,这也是忽悠的基础。这个往往在架构pk中起决定性作用。业务的规划需要更高的领域知识以及抽象思维能力,而去实现它,相对来说比较简单。所谓抽象,就是从众多的事物中抽取出共同的、本质性的特征,表现在编码方面,就是设计模式,表现在业务上,就是业务架构。由于业务架构和组织架构吻合,往往业务架构能力强一个组织所在话语权就会比另外一个组织强。
体现一个人技能主要通过三个维度:
高度:这个层面往往体现在规划能力,能够看到未来业务的发展,设计出相对合理的架构满足未来业务的快速扩展。这个阶段应该是少参与到具体的编码中去,应该是一个公司的CTO或者首席架构师角色。这个方面的能力比较虚,相对来说也是最难炼成的。
广度:就是知识领域的广度。反映在IT技能上,就是所掌握的领域,比如net,java,数据库,web,前端等等。不一定每个领域都能够精通,但是至少都能了解,能够在面对问题的时候能够拿出一个切实可行的解决方案。对于跨领域方面,可能是你的沟通能力,管理能力等。
深度:在某一领域有很深入的了解,旺旺是一门具体的技术。比如js代码写的很精通,数据库知识非常丰富,精通linux操作系统底层。
深度->广度->高度,越往上,要求的抽象能力越高,越往下,要求细节知识越具体。一个人往往具备了以上三样,就是一个成功的大牛。
体现一个人价值的也可以主要通过以下五方面:
1、IT技能:这个就是具体的技能,这里就不列举了
2、领域知识:就是你所在行业领域的业务知识,包括证券,基金,电力等等。这个往往在行业领域是最有价值的,也是决定你主要身价的方面,当然前提是你不是做纯技术方面的工作。比如底层框架的开发,数据库管理员。
3、学习能力:这个也比较重要,毕竟IT这一行拼的是脑力而不是体力
4、人脉资源:这个专门指IT行业领域(我们一般找关系),遇到问题,你可以请教他们,相当于多个大脑
5、软技能:也就是沟通,协调,管理能力
你会发现,大多数情况下,你想职位越来越高,后面的比重会越来越大。
在学习方面,你要从学习具体知识到学习抽象知识,再把抽象知识应用到具体事物上。这就是“术”和“道”。
在IT技能方面就是“原理”和“实现”。学习一门技能,要从具体的用法开始,在开始学习其原理,然后知其原理而用实践中。除非是工作必须用到,我们应把更多的时间学习道,只有道,才是最保值的,也是最长久的,好比代码设计思想比代码实现过程更重要。
因为互联网在不断的创新,用户的需求、框架的类型、特效等等的要求越来越多。我们唯有不断的学习创新方能满足当下的需求。
欢迎分享,转载请注明来源:浪漫分享网
评论列表(0条)