php往後會被什麼取代?

前端萌新一枚,想學一門後端語言,前後同吃。感覺node.js市面上招人的不是很多。php還能活多久?想跟著潮流走


不好說。有些人家中殷實,吃老本都能吃好幾年;有些人則苦苦掙扎,生活得很艱辛。

這都看命運吧?算一卦去唄?(??ω??)


ASP要取代PHP,結果ASP完蛋了.

RoR要取代PHP,結果RoR寂寥了.

Node要取代PHP,但Node已經發展8年了.

而PHP呢?在w3techs的統計上份額仍然長期超過80%.

https://w3techs.com/technologies/overview/programming_language/all

PHP的成功在於堅定不移地走群眾路線.

量變(用戶量/代碼量)引起質變.

結論就是:簡單實用的東西永遠不會過時.


沒有取代一說,只有搶佔市場份額。

先是ruby on rails掀起的web框架風潮,不少語言都開發了自己的web框架。比如python的django、flask,scala的play,go也有一大把,這些都在一定程度上「取代」了php,甚至php自己也搞了laravel、think等等

以前php的定位更像是「前端增強語言」,自帶的模板語法,方便的部署等等都可以看做是「後端中的前端」,很多公司也是把其作為web渲染的主要手段,而node這個「前端中的後端」在某種程度上也和它有一定程度上的重合。

隨著前端框架的崛起,前後分離基本上已經是必然的事,像php、rails這類快速開發的全棧式解決方案的優勢越來越弱,現在後端都直接提供restful api即可,因而隨便什麼語言基本上都沒太大差別。

雖然說php7大放異彩,不過毫無疑問未來的日子裡新興的公司將很少會再把php作為首選,php不再可能是web類的霸主。其實從培訓班的php課程減少就可看出一些端倪。


  1. PHP仍然是毫無爭議的,最簡單,門檻最低的Web語言
  2. PHP仍然是CMS領域的絕對壟斷者,前1000萬site有一半多是CMS,不過貢獻不了多少職位
  3. BAT三家,B和T是C++ &> Java &> PHP,A是完全不用PHP,國內體量最大的三家就這樣
  4. 有贊,小紅書等一票市值10億以上公司,已經實現或正在實現從PHP轉Java/Go

不要小看BAT的影響力,國內大部分能做起來的創業公司的CTO或者技術骨幹,往往來自BAT,間接的輸出了BAT的技術風格。

如果有人用就算活著,我想PHP會比每一個看到過這個主題的人活的更久,現在還有用perl寫的網站呢。很多留存的成熟PHP項目,也不會那麼快換別的技術做。但是PHP在10億市值以上公司里的空間,可能會被壓縮,部分被Go和Java取代。

作為前端萌新,建議還是從PHP入手後端吧,別的怕你學不會,hello world沒搞的定就放下。很多工作數年的PHPer,剛接觸Java的時候,也是罵幾句麻煩然後放棄了,他們對Java的認識還停留在5年前,包括一些PHP名人,提起Java還以為要寫getter/setter和XML配置文件呢。


@Kita Hyogo @吳Philip @Artisan 更新一下,介紹一些現代Java Web的東西

mybatis/spring-boot-starter 其中

mybatis-spring-boot-sample-xml是用XML管理SQL的例子

mybatis-spring-boot-sample-annotation是通過註解把SQL寫在代碼里的例子

pom.xml是maven構建工具的配置,如果你用graddle構建,那麼這個xml也不需要

你再看看springboot官網的例子,都是零XML

Spring Boot,最小的hello world

Accessing Data with JPA,帶資料庫訪問的例子,SQL是自動合成的

然後是springboot的模板工程定製和下載 https://start.spring.io/,你可以選擇構建工具,開發語言,框架版本,和所需要的模塊,然後它會自動生成一個項目讓你下載,idea或者eclipse里導入就能編譯運行了。

然後順便看一下避免bean裡面寫getter/setter的工具,Project Lombok

如你所見,零XML,常見的庫自動幫你裝配,常見的CRUD幫你運行時合成。

如果需要服務化,那麼從springboot到springcloud是自然而然的事情,中間只有一層紙。

=================================================================

其實上面這些也只是現代Java Web開發一部分,還有很多有意思的東西,比如

23. WebFlux framework,spring的響應式web編程方案

Eclipse Vert.x,高性能高可用的分散式的非同步框架

Akka | Akka,又一個高並發的分散式的響應式開發的框架

=================================================================

最後扔一個springboot的最完整的配置文件,看看你能開箱即用多少種設施

Appendix A. Common application properties


以為ASP要取代PHP,ASP進化升級大搞對象,PHP也從Java搶來個對象上演美女與野獸

以為RoR要取代PHP,RoR語言優勢奇技淫巧,PHP不甘示弱框架層出不窮強扭的瓜也甜

以為Node要取代PHP,Node前端領域自成一系,PHP找來大佬C撐腰強行約架放學別走

PHP簡直好得無法想像,甚至有公司捨不得換掉PHP不惜強行用黑科技改造成另一個PHP

PHP會被取代的幾率只有0.0000000000000000000000000000000000000001%甚至更低

那可能是來自於某個渺小的PHP用戶對PHP的負面影響而產生的蝴蝶效益招致PHP的滅亡

對PHP的無腦吹捧拉低整體PHP用戶下限,對其它技術的智障攻擊令非PHP用戶產生厭惡

量變(腦殘粉/路人黑)引起質變,所以結論是:PHP是世界上最好的語言幾乎不可能被取代


審題

題主自我定位 前端 萌不萌我不曉得 反正是新人

需求 想學一門後端語言 做到前後通吃

考慮過 NodeJS 猶豫理由 招人不多

問的是 PHP 能活多久

我不曉得好多人總會有這種奇怪的想法 公務員都不敢保證自己不失業 你們擔心個卵 子的哪門語言能活多久 簡單易上手的拿起來學就是了 還有靠業餘玩後端找工作 為何不考慮前端更精進一些 簡直莫名其妙


在可見的未來php依然會有不錯的表現。

現在很多廠的技術負責人在把項目往靜態語言上遷移,其實並不是因為php的項目不能滿足需求,以我為例子,我們項目基本成型了,也沒什麼事可做了,天天就是在優化,正好我最近學了java,於是我就跟老大提出了個質量管控計劃,其中之一就是把php項目遷移到java上(說白了就是吃飽了沒事幹找點事干 ,不然老大會覺得我們太閑);其次,在項目重構中,類似java這種語言確實有優勢,打個比方,我要修改項目中一個變數名稱,在java中,由於做了類型聲明,並且靜態編譯後ide結合類型可以準確反推項目中所有引用了你需要重構的變數的位置,因此在java項目中可以放心大膽用ide去重構,不用害怕重構錯誤。由於我們項目經常做優化,做重構 ,因此遷移到java上位確實能帶來些好處。

回頭再說php為什麼不會被取代?根本原因就在於,php是一門在需求中成長起來的語言 ,而不是被天才坐在辦公室設計出來的語言。

在需求中一步一步成長起來的語言可能沒什麼先進的特性,也沒有很嚴謹的工程設計模式。但是因為是在需求中打磨出來的,這就註定了這門語言是一門務實的工具,務實的工具在現實中總是不可缺少的。

php就像汽車裡面的卡羅拉,在懂車的人眼裡,卡羅拉屌絲,平庸,沒有科技感。但是就是平庸的卡羅拉,看哪哪屌絲,但是用久了,你就發現這輛車處處透漏著實用,皮實,耐操,永遠不會把你拋在半路上。


PHP會被取代,程序員又不會被取代。

只會一種語言的,也配叫程序員?

所以,先隨便選一種好學的再說。


會被 PHP8 取代,別無


我就是前後通吃。

「Luya,協程框架」,在這裡,手擼出來的。用法和flask差不多。

「215566435/Luy框架」,前端框架,用法完全和React一樣(但是內部結構完全不同

這兩個框架都是我寫的。要學就全學了,怕什麼。什麼php,nodejs,做到後面都一樣的,怕這怕那根本沒什麼用,重點就是動手起來實踐。

最後,全學了就不怕了,我就是啊。


fullstack的名聲就是被你們搞壞的,現在只要面試碰到號稱fullstack的都忍不住刁難一下。能沉下心來嗎?


拋開語言本身,如果都會寫asp java php node的前提下,從0開始我會選擇 php

因為部署簡單啊,滿屏的一鍵部署包。

另外開發調試也簡單,

不用改一行就去編譯jar包(jsp這種特殊情況,可做的事情有限)

不用必須windows(生產環境正版很貴的)

不用折騰node,雖然他很好,但是沒有php的插件多


既然你是前端,我覺得nodejs應該更適合你一些,一方面js的坑你基本都踩過上手會快些,另外前端的很多工具都是用nodejs寫的,學好node的也算是當前前端的必修科目。目前php應該不會被淘汰,但php中的坑不亞於js,初學的話選個熟悉的點切入會更輕鬆些


寫外包速度還沒有能超過php的吧,需求就在這,簡單快捷,除非有語言開發效率和簡單程度能超php,目前還沒看到。


既然是萌新了,那麼你問的問題應該是怎麼用php實現cms的簡單二次開發。然後,過不過時跟你有毛線關係,又不影響你找工作。


PHP被取代不了,因為PHP在往後端發展,不過我更看好java 跟 vuejs的組合


分頁阅读: 1 2