簡單聊聊Python後端開發和Java後端的區別

2021-03-06 Python進擊者

點擊上方「Python進擊者」,選擇「星標」公眾號

前言

Hello,我是Kuls.

又已經有一段時間沒寫原創了,今天總算閒了一會,趁著這個閒暇來寫篇文章。

今天我想以個人觀點來簡單說說Java後端開發和Python後端開發的區別。

Java&Python BackEnd

公眾號老粉可能知道公眾號以前的名稱是JAVAandPython君,後面才改名為Python進擊者。

為什麼起這個名稱?

其實很簡單,因為我在高中時自學編程學的就是Java,當時Python還沒現在這麼火。之後進入大學,幫老師做項目就偶然學了Python。

回歸正題


Java和Python開發後端的區別,從我個人最直觀的感受就是

1、簡易度

Python後端框架最火的就是Django和flask,我也寫過這兩個框架的系列文章,感興趣的可以去看看。就拿flask來說:

from flask import Flask

app = Flask(__name__)


@app.route("/hello", methods=["GET"])
def hello1():
    return "hello 1"


if __name__ == '__main__':
    app.run(debug=True)

我們只需要這幾行代碼就能夠寫出一個簡單的接口。而且只需要一個文件即可。

但是在springboot中(微服務框架),我們首先需要創建一個微服務項目,然後創建controller包,然後創建一個Controller,再編寫接口。

/**
 * @author kuls
 * @Desc kuls
 * @date 2020/10/26 17:00
 */
@Controller

public class DemoController {

    @GetMapping("/")
    public String demo(){
        return "123";
    }
}

從文件目錄來看,Java項目的文件也相對於flask的一個文件來說多了許多。

從上面來看,Java的複雜度是高於Python的。但是我們不能稱之為Java的劣勢,因為複雜度越高也側面說明了Java的可塑性會更大,這個我們後面也會說。


2、項目架構

了解Python或者Java中任一web框架並且都開發過的朋友,應該有個很明顯的感受,就是感覺Java的項目架構更加的清晰明了,仿佛是一種行業內的規定。

但是在Python中我們的項目架構更多的是自己去定義甚至可以不需要。

springboot項目架構flask項目架構

3、生態環境

生態環境也許是Java後端更火的原因之一吧。Java的後端生態真的是數一數二的地位,它說第二沒人敢說第一。

像很多的大型網站或平臺都是用Java做主要支撐的,例如淘寶、支付寶、京東、開源中國、中國移動等。



當然像這些大型網站不可能只用一種語言來寫後端,但是主體的支撐還是Java。

在大型網站裡用Python來做支撐的其實並不是非常的多,但是也有,例如豆瓣、youtube等。

從這個對比中,可以間接的看出Java的生態是非常強大的,如果你想使用什麼技術,基本都會和Java的一些框架整合在一起。

總結

除了上面我的一些直觀感受,Java後端的優勢確實還是有許多,例如性能、並發等。

可能有些小夥伴會說,那做Python後端還有前途嗎?

我個人認為,語言之間是沒有好與壞之分,Python前期很容易上手,但是到了後期不管是Python還是Java都同樣的難,所以不要在意這些東西,如果很想一探究竟,那就都去嘗試一下,你可能會找到自己的答案。


ps: 本文是突發奇想寫的,可能會出現錯誤,如果有錯誤請跟我聯繫或者在討論區留言

我是kuls

相關焦點

  • 什麼是2021年最佳的後端開發框架
    在這篇文章中,我將討論三個基於三種不同程式語言的後端開發框架,讓你了解2021年你應該學習什麼。什麼是2021年最佳的後端開發框架NodeJS是一個JavaScript運行時環境框架,可用於跨平臺開發。由於JavaScript是當前最流行的語言之一,這種流行也提升了NodeJS成為使用最多的後端框架之一。
  • 從後端開發轉職前端開發,我學到了什麼?
    特別是當你已經習慣了後端開發的工作模式,習慣了構建數據結構,編寫類似於測試驅動開發的測試,習慣了使用持久層、倉庫和資料庫圖表,以及給前端創建API接口。凡此種種,不勝枚舉。後端有其複雜性,所以大部分人沒有時間學習前端開發的內部運作方式。我也是。
  • 前端的魔爪已經伸到後端了,顫抖吧後端!
    整理|孫溥茜「前端的魔爪已經伸到後端了,顫抖吧後端!」11月29日,前端開發領袖黃希彤在騰訊「小程序·雲開發」技術峰會上如此放言到,現場一片笑聲。這次峰會上騰訊搞了什麼事情?(圖片來源:騰訊官方)以上三點雲開發的能力的更新,與低代碼的產品發布不難看出,後端資源封裝是大勢所趨。許多開發者關注後端運維的話題,因為後端運維通常會消耗大量時間精力,前端業務代碼還沒開始寫,就已經精疲力盡了。
  • 中國航信重慶研發中心IOS、Andorid、初級JAVA開發 、前端開發、軟體測試崗位
    崗位職責:1.負責iOS/iPad平臺下應用的開發和維護工作;2.負責相關方案及技術文檔編寫;3.根據產品需求開發相關的移動產品;4.驗證和修正測試中發現的問題;5.學習和研究新技術以滿足產品的需求;6.根據開發過程中的體驗對產品提出改進建議。
  • SpringBoot 如何統一後端返回格式?老鳥們都是這樣玩的!
    今天我們來聊一聊在基於SpringBoot前後端分離開發模式下,如何友好的 返回統一的標準格式以及如何優雅的處理全局異常。首先我們來看看為什麼要返回統一的標準格式?{  "timestamp": "2021-07-08T08:05:15.423+00:00",  "status": 500,  "error": "Internal Server Error",  "path": "/wrong"}基於以上種種情況,如果你和前端開發人員聯調接口她們就會很懵逼
  • 晶片設計的步驟(後端設計篇)
    晶片設計分為前端設計和後端設計,前端設計(也稱邏輯設計)和後端設計(也稱物理設計)並沒有統一嚴格的界限,涉及到與工藝有關的設計就是後端設計。晶片設計之後端設計1. DFTDesign For Test,可測性設計。
  • 北大青鳥建大IT學院:Python和Java到底有什麼區別?
    隨著人工智慧時代的到來,Python迅速席捲全球,作為當下最熱門的程式語言,因其簡單實用且應用場景廣泛備受青睞。 一個是編程界的常勝將軍,一個是後起之秀,很多初學者糾結在這兩門語言中,不曉得哪門語言更適合自己。今天小編就來給大家普及一下,Python和Java之間的區別。
  • Python到底是個啥?為什麼這麼多人都要學?
    最初,被設計用於編寫自動化腳本(shell),隨著版本以及語言的更新,越多被用於獨立的、大型項目的開發。02python優勢Python是無所不能的程式語言,它完全採用面向對象的方式,語言結構介於 C 語言和 Perl 語言之間。
  • 利用Python開發App實戰
    (點擊上方公眾號,可快速關注)我很早之前就想開發一款app玩玩,無奈對java不夠熟悉,之前也沒有開發app的經驗,因此一直耽擱了。說在前面的話python語言雖然很萬能,但用它來開發app還是顯得有點不對路,因此用python開發的app應當是作為編碼練習、或者自娛自樂所用,加上目前這方面的模塊還不是特別成熟,bug比較多,總而言之,勸君莫輕入。
  • Python和Java的區別,看完這篇文章你就清楚啦
    隨著人工智慧時代的到來,Python迅速席捲全球,作為當下最熱門的程式語言,因其簡單實用且應用場景廣泛備受青睞。 一個是編程界的常勝將軍,一個是後起之秀,很多初學者糾結在這兩門語言中,不曉得哪門語言更適合自己。今天小編就來給大家普及一下,Python和Java之間的區別。相信認真看完這篇文章,你就會豁然開朗。
  • 推薦幾款可以直接在手機上編程的app(包含Java、C、Python等)
    和Android:AIDE集成開發環境。大部分都不需要root,可以直接編寫程序並運行,下面我簡單介紹一下這3個app的安裝和簡單使用,主要內容如下:一.AIDE集成開發環境:這個主要是用來寫java代碼(創建工程、寫小遊戲等),當然也可以寫c++代碼,只不過需要安裝對應的插件才行,自帶自動補全的功能,界面乾淨、整潔,使用起來不錯,下面我介紹一下這個app的安裝和簡單使用:
  • 數字後端三千問——No.2
    請教個比較簡單的問題,Milkyway庫是怎麼生成的?Milkyway生成可以使用synopsys的一個叫milkyway的工具。由Lef轉Milkyway,由於是synopsys工具,所以需要讀入tf文件。
  • 現代後端開發者必備技能-2018版
    今天的Web開發與幾年前完全不同,有很多不同的東西可以很容易地阻止任何人進入Web開發。這是我們決定製作這些循序漸進的視覺指南的原因之一,這些指南展示了更大的圖景,並讓任何人清楚了解他們在網頁開發中扮演的角色。這是我們決定製作這些循序漸進的視覺指南的原因之一,這些指南展示了更大的圖景,並讓任何人清楚了解他們在網頁開發中扮演的角色。毫不遲疑,讓我們開始吧。
  • 現代後端開發者必備技能——2018 版
    ,有很多不同的東西可以很容易地阻止任何人進入Web開發。對於剛開始進入後端開發的初學者,我建議你選擇任何腳本語言,因為它們有很多需求,它可以讓你快速起步。如果你有一些前端知識,你可能會發現Node.js更容易,再加上有一個很大的就業市場。如果你已經在做後端開發並且知道一些腳本語言,我建議你不要選擇另一種腳本語言,並從「功能」或「多參數」部分中選擇一些。
  • 2021年Java和Python的應用趨勢會有什麼變化
    首先,在雲計算、人工智慧時代,影響後端程式語言流行程度的關鍵因素可能並不在IT網際網路領域,而是在傳統行業領域,因為在工業網際網路的推動下,大量傳統行業領域需要藉助於雲計算、大數據、人工智慧等平臺來實現創新,所以大量的開發人員將走向傳統行業領域,這對於程式語言的應用會產生比較直接的影響。
  • 17家前後端齊聚酷家樂總部,「全屋定製開發者生態」江湖已定
    前端的設計軟體和後端的生產軟體,雖然都是軟體產品,但對於軟體公司的基因要求截然不同,核心競爭力的構建也不同,開放生態才是良性的模式 。」前端設計軟體迭代速度快,必須靈活、輕便、更新快,核心競爭力可能只持續幾個月。而後端的體系更為複雜,因此核心競爭力可能需要十幾年的時間來打造,同時由於迭代速度慢,後端的核心競爭力又能持續幾十年。
  • JAVA全棧就是你什麼都要懂!
    在TIOBE程式語言排行榜中,連續奪得第一寶座,而且國內各大知名網際網路公司,後端開發首選語言:非Java莫屬。對於一個全棧java開發工程師,必須要學習前端好吧!我們要求是從前端到後天自己就能夠獨立開發完成!
  • 濟南中天軟大數據開發課程
    Java開發工程師有三條職業規劃路線,產品方向、技術方向、數據方向。他們可以根據自己的興趣愛好選擇自己的晉升路線。一、產品方向產品方向的推廣路線是:需求分析師-業務經理-產品助理-產品運營-產品總監。產品經理是近幾年新入職的崗位,各大公司產品經理人才匱乏,崗位多,後期產品總監這個崗位不需要天天編碼。