作者ztwo79 (铭)
标题Re: [讨论] 学习php跟java的实用性
时间Sat Jul 21 14:07:31 2018
文长, 如果懒得看的话可以先只看短结论
短结论:
如果是希望找网页後端开发工作的话我推荐 PHP ,因为约有80%的网站使用 PHP 作为後端语言(参考注1),工作机会相对比较多。
PHP 相对於JAVA的学习门槛也来得比较低。
但如果你是希望能够跨平台,ex 网页後端开发,桌上型应用程式, 手机 Andriod 开发的话建议 JAVA。
我先说一下我的个人经验,目前工作五年,开发上主要以 PHP 为主,JAVA 有两个接案开发的经验
一个是旧系统维护和新功能需求的开发。一个是新创的案子,使用Spring framework 开发,
所以我 JAVA 相对比较不熟悉,如果下面的说法有误,欢迎指正。
在比较 JAVA 和 PHP 之前,我想先说不同的语言有他当初创造出来的目的和设计理念,各自有各自的优点和缺点。
没有必要特别去战哪个语言起哪个语言好,不同的条件就会有适合和不适合的情况。
PHP 本来设计就只是为了放在网页里面增加判断的逻辑,弱型态语言,开发上相较於 JAVA 弹性很多。
不用在一开始就定义变数的型态,就不用像JAVA可能要比较字串的时候需要做 toString, 要计算的时候又要转成 int。
PHP 又因为学习门槛低,所以你很容易接手维护到品质很差的 code。很容易碰到各种各样的义大利面程式码。
像是 php/sql/html/js/css 全都在同一页互相夹杂的程式。
各种奇耙作法的程式,像是用php echo出 javacript 再使用 include 给另外一只 php。
各种奇奇怪怪的作法会让你维护到想哭。
这也是很多人不喜欢 PHP 的主要原因之一。
但近代的 PHP 随着增加 autoloader/namespace, composer 方便套件管理,PHP 7 的效能提升,以及 Laravel 变成主流的框架。
PHP 7 和其他语言再网页开发这块,算是蛮不错的选择了。
JAVA 的话,由於整个设计理念都是围绕在 OOP 的架构,所以对於新手来说学习门槛是偏高的。
新手可能很容易连 compile 都不过,连个画面都没有就决定放弃了。
JAVA 本身算是一个有一个很好的生态系。跨平台的特性是很多语言无法取代的。
JAVA 也很有本身又有很多现成的 package 可以用。
中大型企业开发上蛮喜欢 JAVA 的, JAVA 本身在执行上也是蛮稳定的(除了很容易因为型态没设计好而坏掉,不过我觉得算是开发者的问题)。
其实比起语言的选择,我个人觉得更重要的是开发的观念更为重要
ex
程式开发的观念
OOP的观念:
封装/继承/多行
design pattern:
不同的 design pattern, 以及什麽样的情况适合用什麽样的 design pattern 去实作和设计
测试:
TDD/BDD/Unit testing/Integration testing
Code Refactoring
Dry Principle / Solid Principle
资安观念
sql injection, xss, csrf
这些观念不管你要转换什麽语言都是可以共用的,而且可以让你写出更好维护且更安全的应用程式
参考来源
(注1)
https://goo.gl/ZddPI0
※ 引述《utap2001 (寻找一个漫长的答案 )》之铭言:
: 各位前辈好
: 最近因为工作需要在学习php跟java
: javascript也有稍微懂一点
: 不过我不是资工的本科生
: 会想学java主要是想把基础打好
: 还有也想开发视窗程式
: 不过学了java之後
: 发现java上如果要开发ui
: 其实是比php复杂
: 毕竟php有html现成标签可以用
: 还有java的语法是比较不直觉
: 同样一个功能可能没有函数可以用
: 跟javascript和php差很多
: 我举个例子
: 假如我想写一个前端的资料库介面
: 可以给使用者操作
: 像这样的情况下
: 开发网页ui的速度就直接比java视窗介面快很多
: 功能也几乎一样
: 所以想请问大家
: 如果想学程式开发的话
: 是不是从网页这边下手会比较容易入门
: 也比较实用
: 还有大家在工作之後
: 实务上会用到java或是C++等中阶语言的机会多吗
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 101.11.17.245
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PHP/M.1532153253.A.3AB.html
1F:→ tkdmaf: 80%这个在台湾我不确定,实务上企业找asp.net的比较多 07/21 15:31
2F:推 nacoyow: 嗯,一般工作在南部也是asp.net比较多 07/23 21:56
3F:推 r567tw: 赞 08/01 19:32
4F:推 molopo: 推 08/24 02:05
5F:推 XD9527: asp.net ? 笑了 08/24 20:54