{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

Java开发和PHP开发哪个更难学啊?

leiyileiyi 回答7 收藏1
收藏问题

7条回答

Julylovin

Julylovin

回答于2022-06-22 19:30

其实这个问题可以从三个方面来回答:

1.语法层

2.应用层

一、如何自学

从语法层来说,都是c语系。关键字,操作符,以及语句差别不大,都能跨平台,都是基于解释型的语言。

java是强类型,通用语言,可以用于客户端,服务器端等各种环境。而php本身定位服务器语言,并且是弱类型语言。随着时间的推移,你会发现,原本各种脚本语言越来越向面相对象,面相接口编程,并且逐渐向强类型过度的趋势。

为什么呢?因为现在的程序越来越复杂了,不是几句增删改查能解决的。各种框架是建立在设计模式,mvc,mvvm等思想理念上的,要求你的语言支持继承,支持多态,支持数据隐藏等等。所以php也在改革,改得越来越像java了。而且大型程序,强类型有着天然优势,例如编译器错误检查,函数签名自解释,内存使用量小非常多,等等等等(例如typescript现在优势逐渐显示出来了)。所以我的结论,如果你一开始学,还是选java比较适合。个人建议而已!我不想引起语言之争!

从应用层来说,不管哪门语言,学了语法就是掌握格式而已,真正的应用是需要很多基础知识

首先,肯定是数据结构要掌握,你不会抽象结构,不会一些基础容器操作,那根本没办法走远。其次,业务知识。如果你做服务器开发,那么tcp/ip http等基础协议至少要了解。各种常用类库要会用。如过更加专业的领域,例如金融之类的,那么还需要行业知识。然后,面相对象和设计模式一定要多了解,多学习,多模仿,多应用。当然这个是靠你自学以及经验的,需要慢慢累积。就是一句话,多动脑,多动手,多查资料

关于如何自学:

我个人经验是选定一个开源项目就不要换,深入了解。

一定要学会跟断点,各种调试方法。

分析项目的各个模块,各个类之间的关系,为什么要这么做

一定还学会google,baidu。拼命了解术语和关键字。建立对代码的敏感性触觉。

以你所学源码为基础进行知识的学习。任何知识都是具有延续性(上下扩展)和延展性(左右扩展),随着时间的增加,你会积累越来越多知识。

反正一口气吃成一个胖子.那是不可能的!

扩展资料:

java语言的历史已经非常悠久,一直处于大哥地位。这一方面是因为他是众多语言的基础,比如现在比较火爆的android,java就是android的基础。学习java的人,可以很快转入android的队伍,足以看出,java的灵活性。其次,现在大多数企业都以java作为主流语言,如果你经常上网的话,就可以发现,许多网站都是用java做的。为什么呢?原因就在于,java适应性实在是太强了,任何一个平台他都可以在里面游刃有余。

1、java和php技术层面对比:

java是纯面向对象开发,功能强大,分支众多,没有java不能做的软件。C/S也好B/S也好。从功能上讲,没有语言可以和java相比。但其优势也是其劣势,具体参考第6点。

PHP属于后起之秀,吸收了java和c以及perl等语言优点,专注互联网领域。WEB领域PHP拥有得天独厚的优势,WEB领域没有语言可以和他比。

两者相比,基本上java完胜。但是其实并没有太大的可比性,专注领域不同。单纯拿两者都可以做的WEB来说,PHP完胜。

2、java和php市场份额对比:

java语言算是古老,多年的发展,其在C/S领域和B/S领域都占有一席之地,特别是在电信和银行行业。但随着社会需求的变化和其他语言的专注,java的市场正被一点点蚕食,WEB领域几乎被PHP一统天下,嵌入式领域几乎被C++一统天下,客户端领域几乎被C语言一统天下,要不是安卓的出现,java的命运还真不好说了。其之前积累的巨大java帝国不会一下子崩塌,一定是有一个过程。所以现在学习并不需要担心其前途,现在学习你更需要担心的却是近十年间英才辈出的javaer,和大批正在进入java阵营的同业者。

PHP在市场描述就比较简单了,因为我们只要看一个领域,那就是web领域。WEB领域php的市场超过80%,其余的则是如java-JSP,asp,C#,.NET,python,ruby等。网站500强中有395家使用PHP。全球最 大的两个网站facebook和新浪微博全在使用PHP。 两者相比,算平分秋色。

3、java和PHP的发展空间对比

安卓势头很猛,但手机安装app数量有限,推广难,也是app面临的最 大挑战,好在安卓只有JAVA可以做,除此之外就是HTML5了。

中国人口占全球人口19.7%,中国网民占全球网民22.4%,中国网站数量占全球网站数量的0.5%,网站的可发展空间可谓巨大;发达国家互联网对GDP的贡献可达20%,中国互联网对GDP的影响仅为3%。可谓互联网的发展空间巨大,而互联网离不开WEB,WEB离不开PHP。

两者相比,个人觉得PHP的优势更加明显。

4、java和PHP的薪资对比

薪资事由供求关系决定的,人才缺失,薪资自然高,人才饱和,薪资自然不会高。

java由于大学基本都有这个课程,很多人想从事软件行业的时候,自然就学习JAVA了,加上java近10年的火爆,人才辈出,整个java行业是处于供大于求的。南京地区:一个30人的java培训班,最 后差不多10人找不到理想的工作而转行,最 低薪资甚至只有1000多元,就有人肯干。当然java学的好的,薪资4000多也是不少的。

PHP完全依托于市场的驱动,难点在于很多人并不了解PHP,也没途径可以了解,根本原因是大学没有这个课程,我知道的,南京百十所高校只有晓庄学院开了PHP课程,而且不是作为主修。市场对PHP的需求,高校并不清楚,高校更愿意推符合学院派特点的java。

学习php的人少,企业需求多,导致PHP薪资远远超过了同行业者。一般起薪没有低于3000元的。南京地区高的早已经突破4500元。北上广更是突破了6000元的起薪。

两者相比:除了java工作难找,但只要找到了工作,高位线是差不多的,低位线JAVA明显处于劣势。

5、java和php的薪资涨幅速度对比:

java是公认的难,难上手,真正上手需要至少1-2年,而这期间都属于学徒级别,薪资涨幅有限。2年后会有一个较大的涨幅,基本拿个6-7千是没有问题的。

PHP是公认的简单,上手极快,基本过了试用期就可以涨工资了,PHPer正常是半年涨一次薪资,前3年的幅度都还可以,1年5-6千,2年7-8千。3年能过万的也大有人在。

两者相比:其实php的前端优势明显,后段双方区域持平。并不像很多人说的PHP后面难涨,PHP缺人,但更缺熟手。java也不像很多人吹嘘的那样高薪,两级分化严重。其实也很正常,越难的语言,两级分化越是严重。

6、java和php各自发展的瓶颈:

JavaEE体系曾经统治企业级软件开发长达数十年之久,十年间英才辈出,但是Java语言本身却越来越显示出臃肿和分裂的态势。使用Java是个昂贵的选择,复杂的需求设计, 缓慢的项目进度,昂贵的应用服务器和维护难度使Java成为了一种庙堂之上的语言。而版本的分裂也使所谓的跨平台特性成为了一句空话。

Java的特性使得它并不适合业务随着市场快速变化的互联网企业,WEB领域几乎被PHP一统天下,嵌入式领域几乎被C++一统天下,客户端领域几乎被C语言一统天下,要不是安卓的出现,java的命运还真不好说了。php的大中型系统开发,方便、快速、是java跟http://asp.net没法比拟的, 还有php有很多如yaf,yii,ci等强大的框架, 中小型一般系统的开发,一个thinkphp就足于通杀java的ssh三大框架了。

PHP由于其简单,快速开发等特点,也导致了开发复杂应用稍显吃力,所谓成也萧何败也萧何,PHP由于其关注应用层面,开发基本不需要考虑底层的东西,导致其开发快速,学习简单;但也导致了学习PHP工作一段时间比较容易遇到瓶颈,PHP在5.3版本后加入了更为强大的扩展,通过PHP的扩展可以实现PHP本身实现不了的功能。

所以PHP开发遇到了这样瓶颈,可以考虑通过扩展来解决,facebook和http://weibo.com正在大量使用扩展功能去应对一个又一个的难题。新浪微博架构师兼首席PHP技术顾问惠新宸一直在专注与PHP底层原理的研究和分享。扩展是被他认为PHP最伟大的地方。

评论0 赞同0
  •  加载中...
Leck1e

Leck1e

回答于2022-06-22 19:30

一个非常好的问题。我是工作多年的Web应用架构师,来回答一下这个问题。欢迎关注我,了解更多IT专业知识。


一,编程语言

从编程语言本身来说,Java和PHP差不多,出现在同一个时代,Java首次推出在1995年5月,PHP在同年6月。


两种语言各有特点,20多年来都在不断更新推出新版本,PHP现在最新版本7.4,官方计划2020年底推出8.0版本。


2009年Oracle收购Sun公司后,Java发展得到了大力支持,现在使用非常多的Java8发布于2014年,当前最新版本是Java14。和早期版本相比,从Java8开始,吸收了越来越多的现代化编程语言的优点,比如lambda表达式。


二,学习难度

Java是一种静态面向对象编程语言,继承了很多的C++优点,功能强大、简单易用、跨平台可移植,具有多线程、分布式等特点。入门学习不难,随着项目经验的积累逐步提升进阶。


PHP是一种通用的开源脚本语言,吸取了C,Java,Perl等多种语言的优点,在服务器端执行,主要用于Web应用开发。


三,发展前景

考虑发展前景的话,推荐学习Java语言。Java是当前的主流开发语言,应用普遍,Web应用、电商系统、企业信息管理等各种行业场景。


Java社区非常活跃,各种文档和学习资料非常丰富。因为使用广泛,所以很多同事朋友沟通交流。


开发框架也是降低学习难度的有力工具,Spring框架是Java开发时常用框架,有非常丰富的组件和易用的功能,Spring Boot和Spring Cloud更是简化了开发过程中的琐碎工作,自动化配置依赖模块、开箱即用和约定优于配置,这些特点使得Spring框架在快速开发领域非常受欢迎。

评论0 赞同0
  •  加载中...
fengxiuping

fengxiuping

回答于2022-06-22 19:30

作为一名曾经4天学会PHP开发,3天学会Java开发,并且曾多次回答过PHP及Java相关问题的撸码老手,我来谈谈我的看法:

  • 开始两者难度差不多,后来Java比PHP可能更难学。


往事回顾

刚看到这个问题的时候,其实感触挺深的,为什么呢?因为我曾经以go开发的身份进入了一家公司,然后在这家公司先后学会了PHP和Java,看到这里可能有朋友就会喷我了,别人公司叫你来是干活的,不是叫你来学其它语言的,其实冤枉,我也是被逼的。


1、与PHP的渊源

先来说说PHP吧,本来公司就是打算招go开发工程师进行项目开发,后来发现go开发太稀缺了,一时半会也招不到人,然后当时公司的其它同事又都是搞PHP的,所以主管决定就用PHP进行开发吧,因此我就阴差阳错地被迫学习了4天,然后就开始参与做项目。


  • 其实那会我对PHP都没听过,所以当时是感觉有点后背发凉,毕竟每个人对于陌生的东西总是会缺少那么点底气,后来听主管说其实跟C差不多,然后就没那么怕了,毕竟我也是C出身的,经过了几天的熟悉,果然还是挺简单的,做一些简单的功能也是得心应手,毕竟PHP作为一门弱类型语言,真的非常简单方便,不像其它语言那样有严格的类型区别,所以很多想要快速成品的项目大都会选择PHP开发。


  • 每一门计算机语言都会有方便开发的IDE工具,那么我们当时的PHP开发工具就是PhpStorm,非常方便,并且 PhpStorm 完美支持 Symfony、Laravel、Drupal、WordPress、Zend Framework、Magento、Joomla!、CakePHP、Yii 等各种主流框架。


  • 每一门计算机语言一般都会有成熟的框架,PHP也不例外,所以我们当时就选择了全能的Laravel框架进行开发,它不仅在web接口端很简洁,还能自动创建数据库表,其实在PHP界,Laravel的声誉可是挺不错的,把它称作是为WEB艺术家创造的框架。


  • 除此之外呢,我们当时为了解决websocket的长连接通信,又请来了PHP界的另一尊大神——Swoole,它是一个面向生产环境的 PHP 异步网络通信引擎,能够使PHP开发人员可以编写高性能的异步并发TCP、UDP、Unix Socket、HTTP,WebSocket 服务。


其实如果只是用PHP进行一般的项目开发,以上说到的这些东西全部学会了的话,基本就不成问题了。


2、与Java的渊源

经过半年的PHP开发,项目基本上线了,本想着该享受胜利的果实了,可是现实却总是很残酷,狠狠地甩了主管一脸,开发的项目不太适合那种请求量非常大的场合,即:高并发,后来经过协商,公司决定用Java重构一遍,当时此事还导致了一位同事辞职,因为他不想学Java,所以一摊子事全都倒向了我,于是浩浩汤汤地开启了Java之旅。


  • 其实Java相对于PHP来说,我并没有那么陌生,毕竟以前在学校的时候学过一学期,只不过工作之后就没再碰过,但是它作为一门面向对象的语言,当前热门榜排行第一,并且多年霸占榜首,可见其受欢迎程度不一般,于是我也是信心满满,自学了3天后就开始重构项目,一切也是顺风顺水,难度也不是很大。

  • 前面我们说到PHP有自己的IDE工具,那么Java呢?那必须有啊,作为这么受欢迎的语言,怎么可能没有方便开发者的工具呢,我们当时并没有用老牌的eclipse,因为它太重了,而是用的比较轻巧方便的 IntelliJ IDEA,说实话,如果想学习Java开发,这个IntelliJ IDEA工具绝对是你的编程利器,务必要会用。


  • 前面我们也说到PHP有自己的框架了,那么Java有没有呢?当然有了,当时用的就是比较流行的springboot框架,它的出现可谓真的大大降低了Java入门的门槛,作为普通的开发者可以不用去了解springboot背后的原理,但是如果想进阶为高级开发者的话,很多框架背后的秘密我们都要去探一探。


  • 其实Java的要求绝对是比PHP要高的,就算对于一个普通工程师来说所要学会的东西,绝对比PHP多得多,在这里我也没法一一详细介绍,只能稍微例举一下,比如:跟数据库打交道的mybatis、websocket的框架netty、微服务框架springcloud、消息队列rocketMQ、分布式系统Zookeeper、分布式框架Dubbo、远程调用Rpc等等。


相比PHP,Java要会的东西可多了,不过一般也不会太难,并且Java的前景应该比PHP要好,市场也更广阔,但是Java的更新速度很快,有时候旧的都还没学会,新的可能就出来了,所以想学Java也要做好心理准备。


总结

通过往事的回顾,我将自己亲身经历吐露了出来,针对这两门语言一开始怎么学,学什么也说了一个大概,我想谁难谁易,大家心中早已有了答案,但是我想说的是,不管学习哪一门语言,一定要走好这几步:选好IDE -> 熟悉基本语法 -> 熟悉框架 -> 开发项目 -> 进阶,希望我的答案能够帮助到更多迷茫的人。

评论0 赞同0
  •  加载中...
suosuopuo

suosuopuo

回答于2022-06-22 19:30

Java开发属于是Java的全系列,而PHP是前端里的一部分,为什么前端要学习PHP和数据库编程,虽然是纯前端,但是如果不了解后端的一些机制和如何给我们提供的接口,对于日后前后端交互的理解则是越来越难。所以本阶段为前后端交互打下基础。

如果想学好这些的话还是得去参加系统的培训,尤其是Java开发,我比较推荐的一个培训机构就是北京尚学堂,他们的课程特别的完整深入,后面还有就业辅导和就业推荐,找工作也不用发愁了,根本就不存在什么难不难学,而是自己想不想学,有没有兴趣学,只要想学肯定可以学好学精的。

评论0 赞同0
  •  加载中...
tolerious

tolerious

回答于2022-06-22 19:30

JAVA开发适用更广,大多企业的选择,要说学习难度也是JAVA相对PHP难一点

评论0 赞同0
  •  加载中...
wqj97

wqj97

回答于2022-06-22 19:30

首先php确实是开发速度极快,为什么?

因为弱类型(php7有类型声明选择开关,只要引入开关指令declare(strict_type=1)就会强制当前的文件下的程序遵循严格的参数类型,返回值类型),不需要定义返回的类型,加上php实际开发过程中喜欢运用它万能的数组来做计算,返回。所以他的动态扩展性非常强,如果返回值结构改变,没关系,直接改数组结构就行(注意,php数组太强大,可以当作map,list来用,底层的实现其实是hashmap)

而java可能要开发过程可能要慢一点,java面向对象的技巧,设计模式会运用的更多一点。需要定义各类model来适应你业务的需求。编写风格会有一定的统一要求。强类型在编写的时候会比php麻烦,但好处是更安全,因为类型固定,潜在风险较低,还有编译器给你做了一次保障。


评论0 赞同0
  •  加载中...
dingda

dingda

回答于2022-06-22 19:30

本人10年开发培训经验,期间经历了Java Web,Android,H5,大数据,PHP等多个不同的方向的开发,也做过软件培训公司的金牌讲师,很有兴趣回答你这个问题。

Java和PHP是两种不同的开发语言,但是两者也有很多共同之处,比如两者都可以开发web方向的项目,两者的语言都属于面向对象编程,两者都有很多的框架要学习。那么两者对比起来,到底哪个更难学,虽不能一概而论,但是从大多数来分析,Java更难学一点。

Java作为面向对象的编程语言,它的语法规则更严格,要求更多,比php的面向对象限制的东西多。

然后Java体系里,再学习web方向的技术,框架,分布式的东西等等吧,然后java里的很多框架都是半成品,没有php里的那些框架集成度高,php里的很多框架很多直接拿来用就能直接开发,所以就有了”php是世界上最美的语言“这样蜜汁自信的一说。

当然java虽然难学,但是它的生态系统是别的技术所无法比拟的,做web开发还是首选Java。君不知,国内做PHP培训最有名的机构--兄弟连,都倒闭了,说明了什么问题?用PHP开发的真不多!


我从事互联网开发10年,主要的研究方向集中在Java web微服务架构领域,Android移动端研发,HTML5前端方向,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信你一定会有所收获。

如果有Java,Android,H5等开发方面的问题,或者是开发求职方面的问题,都可以在评论区留言,或者私信我。

评论0 赞同0
  •  加载中...

相关问题

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<