Java 为什么比 PHP 更加安全稳定可维护?
都说 Java 比 PHP 稳定安全,可维护性好,为什么啊,难道就因为 sun 公司提供的一系列的技术支持?难道像阿里那种电商就不能 PHP?如果阿里用 PHP 较之 Java 会出现哪些问题?本人入 PHP 只有一年时间,参与过类似搜房的房地产网站开发,做过几款 App的接口,目前兼职参与搭建一个多用户的电商平台。之前在学校只懂 Java 皮毛。 感觉 PHP 好的,真搞不懂 PHP 哪里不如 Java 安全稳定。
回复内容:
这东西完全看人。。。那些说,java因为它的特性,不至于被菜鸟写太乱的我也只能呵呵了。你们也太小看菜鸟的实力了。 咦,看来我有资格来谈一谈,,,
1.编码规范
JAVA大小写敏感,PHP对 函数名、方法名、类名是不区分大小写的。
这在生产中容易导致问题,比如window系迁移至类Unix系。
在编码规范上SUN给出了一个好的风格样式,再加上使用的各类Jar包的规范。
一个菜鸟只要用心,是不会写烂代码的风格的。
PHP确有些小头痛呢,因为之前流行的是面向过程式编程。
独立开发者各有各的风格,个人觉得那些DISCUZ、DECMS等等是带坏一票人啊。
二次开发那个命名随意,真是任性。
当然,现在PHP也支持OOP了,各类框架的命名风格也一定程度的约束了编码人员的风格。
当然,要写烂一样很简单。
再加上是弱类型语言,代码质量的好坏比JAVA,对程序员的要求是更高的,虽然PHP简单。
正如 @Cweili 所说:“安全和稳定就需要开发者的水平来保证了”。
结论就是JAVA容易养成更好的统一编码规范,利于维护、阅读。
菜鸟都能写出一手规范的代码。
2.变量、强类型
强类型语言,导致变量之间转换繁琐,定义、初始化、转换麻烦。
JAVA中,代码块的很大一部分是变量的定义、初始化与转换,又臭又长。
如果忘记初始化,程序容易报空指针错误。
PHP在这一块就很好,变量随处用。再加上PHP的可变变量特性。
同样的一个route功能实现,JAVA要繁琐太多,这也是我对强类型语言一直诟病的。
PHP可以省去大量繁琐的定义、初始化和类型转换,代码结构轻便,更加专注于业务逻辑上。
JAVA强类型也决定了代码在编码时期的严谨性和可靠性,这个比PHP优。
PHP一个可变变量可能就会让你无法重构,所以对IDE不是很友好,调试起来你要发疯。
JAVA重构方便,但结构笨重,开发节奏慢,调试倒是很方便。
拿PHP来做数据安全要求高的业务还是不建议的。
3.异常、业务完整性
PHP的生命周期(PHP的生命周期)设计决定了它的异常处理功能的使用没有JAVA广泛。
接触过的如DISCUZ、DECMS、ECSHOP这些系统对于异常处理很弱。
很少使用try{}catch{}处理异常,因为一旦执行期发生异常就可能导致程序崩溃,
对于业务性要求高的系统来说不是一件好事。
谁都不希望执行到一半,程序异常就崩溃了吧,那业务回滚怎么办?
就如 @石峰 说的:“入门简单的语言,给我的感觉是想要用的好其实更难,比如js或者php”。
个人看法有限,知友请轻喷!
PS:
为什么大型网站前端使用 PHP 后台逻辑用 Java? - Java
PHP 和 Java 的主要区别有哪些? - 编程语言 语言选择不决定代码稳定与否与可维护性高低,这两者主要取决于写的代码本身。
如果用Java和PHP开发一般web后端程序,安全性取决于写的代码本身是否安全,如是否总是做输入检查,XSS预防等等,而不是用的语言本身是否安全。
特例可能是和Finance相关的业务,通常不考虑用弱类型语言来写,这有部分安全的考虑,但更多是精度和效率。 PHP 垃圾程序员太多。某天我生成了 PHP 的 SDK 给 PHPER ,然后人家都不 include 文件的,就是一口咬定我得接口有问题啊调不通啊,唉,都不知道他们怎么面上的。。。。。。 PHP 还是一门好语言来着。 我觉得楼主的假设是错的

阿里系的规模和历史使很多技术选型不能完全靠技术层面来决定,不是一个好参考对象。
例如说,没记错的话淘宝最初的最初就是基于一个PHP框架快速开发出来的。后来规模稍微大了一些,请来Sun做技术顾问,自然而然转为用Java EE。有很多淘宝的页面是用Velocity模版写的也是历史原因,很难说它当时是不是最好的(至于很多年后它还好不好就更加不好说了)。一言难尽。题主如果对淘宝的技术演进背后的故事感兴趣的话可以读读@子柳的《淘宝技术这十年》。
至于笼统的“为啥PHP没Java稳定”,这话题还是留给各语言/框架教徒们战了(逃 因为大量低水平php程序员的存在。
他们真能把code写的非常之烂。
java规矩多,写烂不容易。 记得看过一句对java的评价,java是一种工业级的编程语言,个人以为很有道理。无论使用者水平如何,java开发出来的程序不会太差。
而入门简单的语言,给我的感觉是想要用的好其实更难,比如js或者php。做了很多封装也就意味着隐藏更多原理,原理不明白自然没法做的更好。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

PHP仍然具有活力,其在現代編程領域中依然佔據重要地位。 1)PHP的簡單易學和強大社區支持使其在Web開發中廣泛應用;2)其靈活性和穩定性使其在處理Web表單、數據庫操作和文件處理等方面表現出色;3)PHP不斷進化和優化,適用於初學者和經驗豐富的開發者。

PHP適合web開發,特別是在快速開發和處理動態內容方面表現出色,但不擅長數據科學和企業級應用。與Python相比,PHP在web開發中更具優勢,但在數據科學領域不如Python;與Java相比,PHP在企業級應用中表現較差,但在web開發中更靈活;與JavaScript相比,PHP在後端開發中更簡潔,但在前端開發中不如JavaScript。

PHP和Python各有優劣,選擇取決於項目需求和個人偏好。 1.PHP適合快速開發和維護大型Web應用。 2.Python在數據科學和機器學習領域佔據主導地位。

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

PHP和Python各有優勢,適合不同場景。 1.PHP適用於web開發,提供內置web服務器和豐富函數庫。 2.Python適合數據科學和機器學習,語法簡潔且有強大標準庫。選擇時應根據項目需求決定。
