热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何在Java和PHP之间做出选择:与MySQL的兼容性分析

尽管PHP曾是我的入门语言,并且至今仍是我的主要工作技能,但在经过五年的开发实践后,我更倾向于推荐Java。Java在与MySQL的兼容性和稳定性方面表现出色,更适合初学者学习和长期发展。此外,Java拥有更丰富的开发资源和社区支持,能够为开发者提供更多的成长机会和技术支持。

建议 Java ,虽然 PHP 是我的入门语言,也是我的饭碗,但五年的 PHP 开发经验还是让我觉得 PHP 不适应新人入门:

PHP 是我的入门编程语言,我是半路出家,非科班,毕业工作两年后才自学编程,选的就是 PHP,至今已有五年时间。回过头看,从编程语言层面上讲, PHP 不仅乏善可陈,甚至可以说是糟糕,其实并不适合作为入门的编程语言。因为会让新手染上很多陋习,坏的习惯一旦养成,要再更改就难了。

但,PHP 也确实称得上是世界上最好的语言,是的,这并非调侃

评价语言的好坏有很多角度,从入门难易上,PHP 的入门相对而言太简单了,比 Python 还简单,初学者仅仅需要懂得基础的语法,再学一些基础的前端,就可以写出一个留言板,一个简单的网站,甚至在早几年,就可以直接拿到 dedecms 二次开发的岗位了。可谓是光速入门。

再进阶的,掌握面向对象,熟悉使用一两个框架,就可以去面试,有些甚至能拿到上万的工资了,而此时,他可能才入门一年左右。

所以,在入门简单,找工作容易,快速做项目,部署简单的层面上讲,PHP 确实是最好的语言,没有之一

可这也正是 PHP 令人诟病的地方,入门简单意味着每年都很多低水平的初学者入场,他们没真正理解面向对象,不懂测试,不注意异常捕获,不关心代码规范,撸起袖子就是干,只要代码跑得起来就可以。做起功能来确实是很快,而代码质量却惨不忍睹,根本难以扩展。所幸大多数项目都撑不到需要扩展的那一天。一个网站一天只有一万不到的独立 ip ,代码写得再糟糕,也是能扛得住,卡了就加缓存,挂了就重启服务,能满足老板的需求即可。

日复一日,PHP 程序员的编程水平并没有提高,要价却越来越高,视野一直局限在自己的一亩三分地,眼界却越来越高。处于这种状况的 PHP 从业者要警惕,PHP 的红利期并不会一直持续,事实上,除了在 web 领域,PHP 在其他地盘的建树几乎为 0 , 而 web 领域有越来越多的竞争对手。

好日子并不会一直存在,如果你不让自己一直保持成长的话...

建议 PHP 程序员不要把自己定义为某一语言的程序员,应该每年都学一门新的语言或新的技术栈,深入提升自己的编程能力。我身边的牛人同事,有几个选择了 PHP Python Go 作为技术栈,他们的共同点就是:语言本身并不重要,最重要的是高效地解决问题。而不同语言适用于不同的场景,所以需要多学几门语言,才能在各场景中自由高效地切换

即使在今天的我看来,PHP 有很多不足,我并不会将其作为我往后的主要编程语言,但 PHP 正如中学时的初恋一样: 青涩,任性,留下的却是最令人怦然心动的感受。时过境迁,已经想不起来当初为什么会对那个女孩如此痴迷,但那种内心小鹿乱撞的悸动会一直铭刻心中。

因为,PHP(她)让我爱过...



推荐阅读
  • 2023年,Android开发前景如何?25岁还能转行吗?
    近期,关于Android开发行业的讨论在多个平台上热度不减,许多人担忧其未来发展。本文将探讨当前Android开发市场的现状、薪资水平及职业选择建议。 ... [详细]
  • Python 领跑!2019年2月编程语言排名更新
    根据最新的编程语言流行指数(PYPL)排行榜,Python 在2019年2月的份额达到了26.42%,稳坐榜首位置。 ... [详细]
  • 本文是对《敏捷软件开发:原则、模式与实践》一书的深度解析,书中不仅探讨了敏捷方法的核心理念及其应用,还详细介绍了面向对象设计的原则、设计模式的应用技巧及UML的有效使用。 ... [详细]
  • 本文探讨了如何通过优化 DOM 操作来提升 JavaScript 的性能,包括使用 `createElement` 函数、动画元素、理解重绘事件及处理鼠标滚动事件等关键主题。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • Beetl是一款先进的Java模板引擎,以其丰富的功能、直观的语法、卓越的性能和易于维护的特点著称。它不仅适用于高响应需求的大型网站,也适合功能复杂的CMS管理系统,提供了一种全新的模板开发体验。 ... [详细]
  • 问题描述现在,不管开发一个多大的系统(至少我现在的部门是这样的),都会带一个日志功能;在实际开发过程中 ... [详细]
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • 解决JavaScript中法语字符排序问题
    在开发一个使用JavaScript、HTML和CSS的Web应用时,遇到从SQLite数据库中提取的法语词汇排序不正确的问题,特别是带重音符号的字母未按预期排序。 ... [详细]
  • TCP协议中的可靠传输机制分析
    本文深入探讨了TCP协议如何通过滑动窗口和超时重传来确保数据传输的可靠性,同时介绍了流量控制和拥塞控制的基本原理及其在实际网络通信中的应用。 ... [详细]
  • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
  • CSS Border 属性:solid 边框的使用详解
    本文详细介绍了如何在CSS中使用solid边框属性,包括其基本语法、应用场景及高级技巧,适合初学者和进阶用户参考。 ... [详细]
  • 本文详细介绍了在Windows系统中如何配置Nginx以实现高效的缓存加速功能,包括关键的配置文件设置和示例代码。 ... [详细]
  • 如何在PyCharm中配置Python脚本的默认模板
    本文介绍如何在PyCharm中设置Python脚本的默认模板,以便每次创建新的.py文件时自动填充预设内容,提高开发效率。 ... [详细]
  • CRZ.im:一款极简的网址缩短服务及其安装指南
    本文介绍了一款名为CRZ.im的极简网址缩短服务,该服务采用PHP和SQLite开发,体积小巧,约10KB。本文还提供了详细的安装步骤,包括环境配置、域名解析及Nginx伪静态设置。 ... [详细]
author-avatar
秦乐0_707
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有