自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

1970年以來技術(shù)的發(fā)展趨勢,怪不得程序員35歲就被裁......

開發(fā) 項目管理
早期的編程語言依賴于GOTO語句,用于控制程序的執(zhí)行流程,隨著程序規(guī)模的擴大,過多的GOTO語句會導致程序難以理解和維護,形成所謂的“面條式代碼”。

今天整理了一下1970年以來技術(shù)的發(fā)展趨勢:


編程范型

主流網(wǎng)絡(luò)和協(xié)議

主流架構(gòu)

1970s

結(jié)構(gòu)化編程

APARNET

分組交換

NCP、X.25

主機---終端

層次數(shù)據(jù)庫,網(wǎng)狀數(shù)據(jù)庫

1980s

面向?qū)ο?/p>

局域網(wǎng)

Usenet

TCP/IP

Socket

FTP

SMTP/POP3

客戶端---服務(wù)器架構(gòu)

關(guān)系數(shù)據(jù)庫

1990s

面向?qū)ο?/p>

面向組件

撥號網(wǎng)絡(luò)

互聯(lián)網(wǎng)

Web 1.0

HTTP

RPC

C/S 向 B/S 遷移

2000s

面向?qū)ο?/p>

面向服務(wù)

互聯(lián)網(wǎng),Web 2.0 ,WebService, P2P、HTTP、SOAP、XML-RPC

B/S架構(gòu),面向服務(wù)、三層架構(gòu)、MVC、EAI、ESB、SOA、REST

2010s

多泛型結(jié)合

移動網(wǎng)絡(luò),物聯(lián)網(wǎng)

3G、4G、5G、Wifi

MQTT、WebSocket、WebRTC

微服務(wù)、EDA、無服務(wù)架構(gòu)、云原生、服務(wù)網(wǎng)格、分布式架構(gòu)、并行、容器化、云計算,DevOps

2020s

??

??

??

這個表格年代的方式列出了技術(shù)的變化,不一定100%準確,例如以10年為一個單位有些武斷,Web Service實際上跨越了90年代和2000年代,C/S應用跨越了80年代和90年代......

下面展開解釋一下:

1970年代

早期的編程語言依賴于GOTO語句,用于控制程序的執(zhí)行流程,隨著程序規(guī)模的擴大,過多的GOTO語句會導致程序難以理解和維護,形成所謂的“面條式代碼”。

60年代末,出現(xiàn)了軟件危機,結(jié)構(gòu)化編程被認為是解決方案之一。

圖片圖片

結(jié)構(gòu)化編程通過明確的控制流、清晰的程序結(jié)構(gòu)和模塊化設(shè)計,使得軟件開發(fā)變得更加可維護和可靠。

Edsger Dijkstra的理論和對GOTO的批評是結(jié)構(gòu)化編程興起的關(guān)鍵因素,結(jié)合Pascal、C等結(jié)構(gòu)化編程語言的普及,結(jié)構(gòu)化編程逐漸成為編寫高質(zhì)量軟件的標準。

圖片圖片

這個時代的網(wǎng)絡(luò)還不發(fā)達,ARPANET繼續(xù)發(fā)展,成為現(xiàn)代互聯(lián)網(wǎng)的基礎(chǔ),雖然以太網(wǎng)已經(jīng)被發(fā)明出來,但是還沒有得到廣泛應用。

應用程序主要安裝在大型機上,用戶可以通過終端進行遠程訪問,使用的主要是層次數(shù)據(jù)庫和網(wǎng)狀數(shù)據(jù)庫。

1980年代

企業(yè)和大學開始使用局域網(wǎng),全球互聯(lián)網(wǎng)雛形已經(jīng)形成。

1983年,TCP/IP取代NCP成為ARPANET的主要協(xié)議,并逐漸成為互聯(lián)網(wǎng)的標準協(xié)議。

圖片圖片

此時的互聯(lián)網(wǎng)上還沒有Web,流行的應用是電子郵件、FTP、Usenet、Gopher等網(wǎng)絡(luò)應用。

圖片圖片

以C++,Smalltalk為代表的面向?qū)ο缶幊涕_始興起,強調(diào)通過類對問題進行組織和抽象,封裝、繼承、多態(tài)的概念開始為大眾接受。

圖片圖片

客戶端-服務(wù)器架構(gòu)開始興起,軟件都裝在臺式機(客戶端)上,然后通過局域網(wǎng)連接到中心的數(shù)據(jù)庫(服務(wù)器)執(zhí)行數(shù)據(jù)操作。

圖片圖片

1990年代

90年代早期,大家主要用局域網(wǎng),比如非常流行的Novell,是很多大學局域網(wǎng)的標配。

拖拽式快速開發(fā)工具(如Delphi、VB等)大行其道,成為開發(fā)桌面軟件和C/S軟件的不二之選。

圖片圖片

用Sybase的PowerBuilder開發(fā)MIS在國內(nèi)也非常流行,它的DataWindow提供了一個可視化的SQL繪制器,支持外連接、聯(lián)合和子查詢操作,非常受歡迎。

圖片圖片

到了中后期,國內(nèi)才可以撥號上網(wǎng),連上了互聯(lián)網(wǎng)。

1995年,Java的出現(xiàn)給面向?qū)ο笥旨恿艘话鸦?,面向?qū)ο蟪蔀橹髁鳌?/p>

圖片圖片

在Windows平臺上,微軟推出了COM和COM+,主推面向組件編程

圖片圖片

90年代后期,Web應用開始出現(xiàn),但是這個時候的應用都非常簡單,一個公司和單位能有一個靜態(tài)頁面構(gòu)成的網(wǎng)站就不錯了。

以CGI、PHP、ASP為代表的技術(shù)開始讓網(wǎng)頁可以和用戶進行交互,一些應用程序從C/S架構(gòu)開始往B/S架構(gòu)遷移。

2000年代

ASDL進入千家萬戶,雖然網(wǎng)速只有幾M,但相比90年代的幾十K的撥號網(wǎng)絡(luò),已經(jīng)快多了。

B/S架構(gòu)正式占據(jù)主流,中小網(wǎng)站特別喜歡LAMP:

圖片圖片

2000年代早期,Sun推出的J2EE發(fā)展到頂峰,應用服務(wù)器(Weblogic、WebSphere)大行其道,不管應用是大是小,跑在應用服務(wù)器中才顯得高大上。

在這個架構(gòu)中,企業(yè)的業(yè)務(wù)要封裝成EJB,放到應用服務(wù)器中運行,應用服務(wù)器提供了分布式、安全性、事物等功能。

圖片圖片

理念是挺好的,實際上卻跑偏了,J2EE笨重繁瑣,到后期被SSH,Tomcat等輕量級的框架和應用服務(wù)器替代。

面向?qū)ο?,設(shè)計模式更是火得不得了,Java、設(shè)計模式、XML成了“絕配”。

面對80年代,90年代建立的各種遺留系統(tǒng),巨頭們提出了面向服務(wù)的架構(gòu)(SOA)來實現(xiàn)系統(tǒng)的集成,ESB、SOAP、WSDL、UDDI、XML-RPC等新概念層出不窮。

圖片圖片

2010年代

程序員的黃金時代。

互聯(lián)網(wǎng)的盛宴還未結(jié)束,移動互聯(lián)網(wǎng)又驟然爆發(fā),再加上大數(shù)據(jù)、云計算,給程序員帶來了無窮多的機會。

這個時代,人手一部手機,從3G到4G、5G,移動網(wǎng)絡(luò)和WIFI無處不在,HTTP協(xié)議已經(jīng)不夠用了,MQTT、WebSocket、WebRTC、QUIC、gRPC等針對不同場景提出了不同的解決方案。

程序員的職業(yè)也開始細化:手機端、前端、后端、大數(shù)據(jù)、算法、運維,可謂百花齊放。

前端程序員操作著各種JS框架實現(xiàn)頁面展示和操作流程控制,調(diào)用后端的服務(wù)來實現(xiàn)業(yè)務(wù)。

后端程序員則把應用拆成了微服務(wù),運行在云端的Docker容器中,用k8s管理起來。

圖片圖片

由于移動互聯(lián)網(wǎng)帶來的海量用戶和海量請求,數(shù)據(jù)也在瘋狂累積,大數(shù)據(jù)程序員則忙著用Hadoop、Spark、Hive、Kafka、Flink等工具對數(shù)據(jù)進行分析,希望從中發(fā)現(xiàn)一些規(guī)律。

DevOps開始普及,自動化工具使得開發(fā)和部署變得更加快速高效,縮短了從開發(fā)到生產(chǎn)環(huán)境的時間,同時提升了軟件的穩(wěn)定性和質(zhì)量。

Java、JavaScript、Python、Go等語言不但支持面向?qū)ο螅€支持函數(shù)式編程。為了更好地處理數(shù)據(jù)流,出現(xiàn)了響應式編程。

2020年代

我們現(xiàn)在還處于2020年代的前期,用的網(wǎng)絡(luò)、技術(shù)、軟件架構(gòu)和2010年代后期差不多,唯一一個出現(xiàn)巨大變化的就是以ChatGPT為代表的人工智能了。

但人工智能在編程領(lǐng)域依然還處于輔助階段,給它明確的需求,它能幫程序員快速生成代碼,但是還無法獨立地從需求開始,設(shè)計,編碼,測試,部署,這可能得等到通用人工智能的突破了。

程序員的35歲危機問題

從大型機到局域網(wǎng),從局域網(wǎng)到互聯(lián)網(wǎng),從互聯(lián)網(wǎng)到移動互聯(lián)網(wǎng)。

技術(shù)時代的每一次變化都會引發(fā)通信協(xié)議、編程語言、軟件架構(gòu)發(fā)生巨變,這種變化基本上每隔10年左右就來一波。

這種劇烈變化的奇觀可能在全行業(yè)中都是獨一份,程序員也就沒有辦法像律師、醫(yī)生等行業(yè)可以積累幾十年的領(lǐng)域知識,成為行業(yè)專家。

一個大學生畢業(yè)時,二十出頭,工作10來年,出現(xiàn)了新的技術(shù)浪潮,可不就遇到危機了嗎?

其實這么說也不完全對,因為:

1. 技術(shù)的發(fā)展不是突變,而是漸變

不是說十年一到,老技術(shù)就一刀切,不再用了。

像Servlet/JSP這樣的技術(shù),市面上仍然很多老舊的系統(tǒng)是用它們開發(fā)的。60多歲的COBOL,依然支持全球43%的銀行,處理者每天3萬億美元的交易。

老技術(shù)依然有市場,但是大多處于維護狀態(tài),不需要那么多的人力了。

2.  程序員會持續(xù)學習的

像70后80后,經(jīng)歷了局域網(wǎng)時代,互聯(lián)網(wǎng)時代,移動互聯(lián)網(wǎng)時代,有很多人不愿意走出舒適圈,跟不上了,但也有很多人也在不斷學習新的技術(shù),新的架構(gòu),與時俱進。

這些人可能當上了架構(gòu)師、技術(shù)經(jīng)理,或者在某個基礎(chǔ)技術(shù)領(lǐng)域深耕多年,成為專家,繼續(xù)保持競爭力。

3. 在應用層瘋狂內(nèi)卷,被資本家無情壓榨

這個才是主要原因,國內(nèi)公司在基礎(chǔ)軟件上發(fā)展很差,沒法養(yǎng)活大量的深耕操作系統(tǒng)、數(shù)據(jù)庫、編譯器、中間件等領(lǐng)域的程序員,大部分公司都是實現(xiàn)業(yè)務(wù),在應用層瘋狂內(nèi)卷,拿著國外開源的框架/類庫開發(fā)一下就行了,不需要在某個領(lǐng)域積累深厚的專家級程序員。

既然付出的主要是人力成本,資本家選擇的肯定是便宜的、年輕的,更能加班的,年紀大的就會被無情拋棄。

希望再過10年,下一代程序員能過得更好一點兒吧!

責任編輯:武曉燕 來源: 碼農(nóng)翻身
相關(guān)推薦

2010-03-15 08:37:00

程序員35歲

2019-10-24 13:56:24

2019-11-28 10:53:19

程序員技能開發(fā)者

2018-09-06 13:06:46

程序員焦慮谷歌

2020-06-02 15:25:01

程序員技能開發(fā)者

2024-01-11 15:27:53

人工智能數(shù)字孿生量子計算

2021-06-07 08:18:46

大齡程序員開發(fā)

2021-12-20 14:42:39

程序員職業(yè)技術(shù)

2019-10-08 10:39:31

程序員職場焦慮

2021-10-08 06:42:59

程序員社會性缺陷

2022-08-10 11:10:35

AR數(shù)字信息

2019-12-20 10:33:38

云計算IT技術(shù)物聯(lián)網(wǎng)

2009-07-23 09:41:32

程序員職業(yè)發(fā)展

2020-12-03 06:19:52

程序員經(jīng)濟職場

2020-07-30 07:33:30

程序員

2021-02-25 14:13:49

程序員IT互聯(lián)網(wǎng)

2021-02-23 22:29:22

程序員IT副業(yè)

2019-09-17 10:19:56

程序員裁員團隊

2021-03-08 08:42:05

程序員技術(shù)體力勞動

2020-04-13 08:50:05

失業(yè)程序員代碼
點贊
收藏

51CTO技術(shù)棧公眾號