程序员讨厌php编程语言为什么,程序员讨厌php编程语言为什么

本文目录一览:

为什么有些程序员看不起 PHP 这门语言

像他们说的 一个是不了解 还有php是弱语言,php有自己的优势,任何语言都有自己的优势,现在和php 竞争的最大对手是java。

至于java很多都认为php做不了大的项目。只能用java。其实是片面的,众所周知,php被限制在数据库的读写上面。php没有线程,但是可以开多进程。

至于说大项目。php一样能完整但是代码的完整性不能得到保证。每个程序员都有自己的习惯。php和vc类似。你可以随心所欲,任何地方都可以用钩子完成。这就造就了 一个大的项目维护起来相当费劲。当你文件多到一定程度。你找起来都费劲。特别是这个行业人员流动大。核心人员走了,结果就更是毁灭性的。

java是编译型语言。代码完整比较完好。上面的php的缺点没有。所有大项目首选java

还有很多就不说了。但是并不是php不好 而是个人成见问题。php一样可以做大项目。

所以什么都是看需求。

最后如果我做老板 我也选java 给别人开发。因为它贵

如果自己做项目 我选php 出问题随时随地手机我都可以给修复 了。

为什么说用PHP开发大型系统令人不爽

笔者在过去的四年里一直致力于PHP应用的开发 PHP确实十分容易编写 但是PHP也有一些十分严重的缺陷

 下面笔者会给出自己的理由 为什么PHP不适合于比小型业余网站更大的网站

对递归的不良支持 递归是一种函数调用自身的机制 这是一种强大的特性可以把某些复杂的东西变得很简单 有一个使用递归的例子是快速排序(quicksort) 不幸的是 PHP并不擅长递归 Zeev 一个PHP开发人员 说道 PHP (Zend)对密集数据使用了栈方式 而不是使用堆方式 也就是说它能容忍的递归函数的数量限制和其他语言比起来明显少 见bug 这是一个很不好的借口 每一个编程语言都应该提供良好的递归支持

许多PHP模块都不是线程安全的 在几年前 Apache发布了Web服务器的 版 这个版本支持多线程模式 在这个模式下 软件一个一部分可以同时运行多个 PHP的发明者说PHP的核心是线程安全的 但是非核心模块不一定是 但是十次有九次 你想要在PHP脚本中使用这种模块 但这又使你的脚本不能合适Apache的多线程模式 这也是为什么PHP小组不推荐在Apache 的多线程模式下运行PHP 不良的多线程模式支持使PHP常被认为是Apache 依然不流行的原因之一

请阅读这篇讨论 Slashdot: Sites Rejecting Apache ?

PHP 由于商业原因而不健全 通过使用缓存 PHP的性能可以陡增 %[见基准测试] 那么为什么缓存没有被构建在PHP中呢?因为Zend——PHP的制造者 它在销售自己的Zend Accelerator 所以当然 他们不想抛弃自己的商业产品这块肥肉

但是有另一个可选择的 APC (Zend后来推出Zend Optimizer 免费的加速器——译者)

没有命名空间 设想某个人制作了一个PHP模块用来阅读文件 模块中一个函数叫做read 然后另一个人的模块可以读取网页的 同样包含一个函数read 然后我们就无法同时使用这两个模块了 因为PHP不知道你要用哪个函数

但是有一个很简单的解决方法 那就是命名空间 曾经有人建议PHP 加入这个特性 但不幸得是他没有这么做 现在 没有命名空间 每个函数都必须加上模块名作为前缀 来避免名称冲突 这导致了函数名恐怖得长 例如xsl_xsltprocessor_transform_to_xml让代码难于书写和理解

不标准的日期格式字符 很多程序员对 日期格式字符 都很熟悉 它是从UNIX和C语言中来的 其他一些编程语言采用了这个标准 但是很奇怪的 PHP有它自己的一套完全不兼容的日期格式字符 在C中 %j 表示一年中的当天 在PHP中他表示一个月中的当天 然而使事情更混乱的是 Smarty (一个很流行的PHP模版引擎)的 strftime 函数和 date_format 函数 却使用了C/UNIX的格式化字符

混乱的许可证 你也许认为PHP是免费的 所有的在手册中提到的PHP模块也是免费的 错了!例如 如果你想在PHP中生成PDF文件 你会在手册中发现两个模块 PDF 和 ClibPDF 但是这两个都是有商业许可证的 所以 你所使用的每个模块 你都要确保你同意他的许可证

不一致的函数命名规则 有些函数名称是有多个单词组成的 一般有三种单词组合的习惯

直接拼接 getnumberoffiles 用下划线分开 get_number_of_files 骆驼法则 getNumberOfFiles 大部分语言选择其中一中 但是PHP都用到了

例如 你想要把一些特殊字符转换成HTML实体 你会使用函数entities (直接拼接单词) 如果你要使用相反的功能 你要用到它的小弟弟_entity_decode 由于某些特殊的原因 这个函数名是由下划线分隔单词 怎么能这样呢?你知道有一个函数叫strpad 或者他是str_pad?每次你都要查看一下到底这个符号是什么或者直接等他出现一个错误 函数是不分大小写的 所以对于PHP来说rawurldecode 和RawUrlDecode之间没有什么区别 这也很糟糕 因为两个都使用到了同时他们看上去还不一样 混淆了阅读者

魔法引用的地狱 魔法引用(Magic quote)可以保护PHP脚本免受SQL注入攻击 这很好 但是出于某些原因 你可以在php ini中关闭这个配置 所以你如果要写出一个有弹性的脚本 你总要检查魔法引用是开启还是关闭 这样一个 特性 应该让编程更简单 而事实上变得更复杂了

缺少标准框架 一个成长中的网站没有一个整体框架 最终会变成维护的噩梦 一个框架可以让很多工作变得简单 现在最流行的框架模型时MVC 模型 在其中表现层 业务逻辑和数据库访问都分离开了

很多PHP网站不使用MVC 模型 他们甚至没有一个框架 甚至现在有一些PHP框架同时你都可以自己写一个 关于PHP的文章和手册没有提高框架的一个字 同时JSP 开发人员使用像Struts的框架 ASP开发人员使用 net 看起来好像这些概念都广泛被PHP开发人员所了解 这就说明了PHP实际上到底是多专业

总结什么问题?

对于非常小的项目 它可以是一个十分符合人意的编程语言 但是对于较大的和更为复杂的项目 PHP就显出他的薄弱了 当你不断地摸索之后 你会发现笔者提到的某些问题的解决方案 所以 当解决方案已知之后 为什么不能修正他呢?另外为什么这些修补不在手册中提到呢?

一个开源的语言十分流行是一件好事 但不幸得是 它不是一个伟大的语言 笔者希望所有的问题能有一天得到解决(也许在PHP ?) 然后我们就将拥有一个开源语言 他既开源 又好用

到现在 当你要启动一个多于 个脚本页面的项目的时候 你最好考虑C#/ASP NET 或者 Java/JSP或者也许Python同样是一个更好的选择

lishixinzhi/Article/program/PHP/201311/21371

为什么程序员鄙视php

主要原因是PHP程序员大多在接私活很忙呐!很难接私活的JAVA、C#程序员才会在论坛,qq群起哄。

在工作中,很多公司随着业务的增加与需求多样性,有些企业就是要求用PHP开发,所以很多开发公司都是跟着市场走,主流的编程语言java与PHP碰面,多数情况下java程序员都不喜欢PHP程序员。

PHP号称世界上最好的编程语言,在java程序员觉得PHP能开发的,java同样能开发,而且比PHP还好,所以不认为PHP是世界上最好的编程语言,java才是世界最好的编程语言。

java面向对象在编程语言中支持是最好的,虽然PHP也是支持面向对象,但是在真正的大型项目中,多数人都会选择java编程开发。

java在多线程高并发实战效果是最好的,我们也知道PHP也是可以实现多线程高并发功能,但是这些都是针对中小型网站,像大型商城在线购物系统,java可以完美实现并满足目前多人在线下单数量功能。

java编程语言复杂,需要大量学习精力,PHP编程语言简单,在开发中不需要太多配置环境。

其实每种编程语言都有它本身的优势与价值所在,当你正真领悟一种编程语言,你才知道这种语言的正真用处。

为什么有些程序员看不起PHP这门语言

背后没有大公司支持,例如微软C#、甲骨文的JAVA,这些就有显赫的背景。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/183412.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-24 16:29
下一篇 2024-11-24 16:29

相关推荐

  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • 兼职程序员能挣钱吗?

    可以。不过,兼职程序员赚钱的关键就在于如何找到并利用合适的机会。 一、掌握技能 作为程序员,掌握必要的技能是兼职挣钱的前提。除了扎实的编程技能,了解相关工具和平台也非常重要。常见的…

    编程 2025-04-29
  • PHP怎么接币

    想要在自己的网站或应用中接受比特币等加密货币的支付,就需要对该加密货币拥有一定的了解,并使用对应的API进行开发。本文将从多个方面详细阐述如何使用PHP接受加密货币的支付。 一、环…

    编程 2025-04-29
  • 兼职程序员外包平台的开发与实现

    随着社会经济和科技的快速发展,更多人选择通过互联网进入编程行业。兼职开发已成为一种新型就业方式,并且这种方式在新冠肺炎疫情袭来、大规模远程办公的背景下更为普遍。本文将从多个方面详细…

    编程 2025-04-28
  • 使用PHP foreach遍历有相同属性的值

    本篇文章将介绍如何使用PHP foreach遍历具有相同属性的值,并给出相应的代码示例。 一、基础概念 在讲解如何使用PHP foreach遍历有相同属性的值之前,我们需要先了解几…

    编程 2025-04-28
  • PHP获取301跳转后的地址

    本文将为大家介绍如何使用PHP获取301跳转后的地址。301重定向是什么呢?当我们访问一个网页A,但是它已经被迁移到了另一个地址B,此时若服务器端做了301重定向,那么你的浏览器在…

    编程 2025-04-27
  • PHP登录页面代码实现

    本文将从多个方面详细阐述如何使用PHP编写一个简单的登录页面。 1. PHP登录页面基本架构 在PHP登录页面中,需要包含HTML表单,用户在表单中输入账号密码等信息,提交表单后服…

    编程 2025-04-27
  • 传智播客黑马程序员怎么样

    传智播客是一家专业的IT培训机构,旗下的黑马程序员培训项目备受好评,那么传智播客黑马程序员怎么样呢?本文将从多个方面为大家详细阐述,让大家更加了解其优缺点。 一、学习方式 传智播客…

    编程 2025-04-27
  • PHP与Python的比较

    本文将会对PHP与Python进行比较和对比分析,包括语法特性、优缺点等方面。帮助读者更好地理解和使用这两种语言。 一、语法特性 PHP语法特性: <?php // 简单的P…

    编程 2025-04-27
  • Zig语言:全能多范式编程语言

    本文主要介绍Zig语言的特点和使用方法,并提供对应的代码示例。 一、基本特点 Zig是一种现代的、可靠的编程语言。它强调性能、安全和清晰度。它是单独的,意味着每个源文件都是完全独立…

    编程 2025-04-27

发表回复

登录后才能评论