0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python仍是人工智能和機器學(xué)習(xí)的主導(dǎo)編程語言嗎?

如意 ? 來源:讀芯術(shù)微信公眾號 ? 作者:讀芯術(shù)微信公眾號 ? 2020-11-09 14:30 ? 次閱讀

上世紀(jì)90年代初,Python面世了。近30年來,關(guān)于它的“炒作”一直沒有少過。當(dāng)然,編程界花了至少20年的時間才認(rèn)識到它,但自那以后,它的流行程度遠(yuǎn)遠(yuǎn)超過了C、C#Java甚至Javascript。

盡管Python目前在數(shù)據(jù)科學(xué)和機器學(xué)習(xí)領(lǐng)域,以及某些程度上在科學(xué)和數(shù)學(xué)計算領(lǐng)域占據(jù)著主導(dǎo)地位,但與Julia,Swift和Java等新語言相比,它確實有其劣勢。

是什么讓Python如此受歡迎?

Python迅速發(fā)展的主要原因是易于學(xué)習(xí)和功能強大。這使得它對初學(xué)者,包括那些由于C、C++等語言語法艱澀且陌生而對其望而卻步的人,都非常有吸引力。

該語言從根本上廣泛強調(diào)代碼的可讀性。憑借其簡潔而富有表現(xiàn)力的語法,它允許開發(fā)人員在不編寫大量代碼的情況下表達想法和概念(例如在C或Java等低級語言)。Python非常簡單,可以與其他編程語言無縫集成(例如將CPU密集型任務(wù)卸載到C / C ++),這對多語言開發(fā)人員來說是一個加分項。

Python用途廣泛的另一個原因是大型企業(yè)(包括FAANG)以及無數(shù)小型企業(yè)對其的大量使用。如今,Python包里幾乎包含了可以想到的任何東西——用于科學(xué)計算的Numpy,用于機器學(xué)習(xí)的Sklearn和用于計算機視覺的Caer。

Python也有缺點

它運行很慢,非常慢

顯而易見,在未來很長一段時間里,速度都是開發(fā)人員的主要關(guān)注點之一。

Python之所以“慢”,實際上有兩個原因——Python被解釋為與編譯相反,最終導(dǎo)致執(zhí)行速度較慢;以及它是動態(tài)類型的(Python在執(zhí)行過程中自動推斷變量的數(shù)據(jù)類型)。

事實上,“Python很慢”這一說法對初學(xué)者影響很大。這是真的,但只是部分事實。以Python中可用的機器學(xué)習(xí)庫TensorFlow為例,這些庫其實是用C++編寫的,并可以在Python中使用,某種程度上構(gòu)成了圍繞C++實現(xiàn)的Python“裝飾器”。Numpy,甚至Caer,在一定程度上也是如此。

它有一個GIL(I)

Python速度緩慢的主要原因之一是存在GIL(全局解釋器鎖),它一次只能執(zhí)行一個線程。雖然這可以提高單線程的性能,但它限制了并行性,開發(fā)人員必須實現(xiàn)多處理程序而非多線程程序來提高速度。

不是內(nèi)存密集型任務(wù)的最優(yōu)解

當(dāng)對象超出范圍時,Python會自動進行垃圾回收。它旨在消除C和C++在內(nèi)存管理方面的所涉及的許多復(fù)雜問題。由于指定數(shù)據(jù)類型的靈活性(或缺乏靈活性),Python消耗的內(nèi)存量可能會迅速爆炸增長。此外,運行時可能會彈出Python未關(guān)注的錯誤,最終減緩開發(fā)過程。

移動計算中的弱存在

隨著臺式機到智能手機的巨大轉(zhuǎn)變,很明顯,我們需要更強大的語言來構(gòu)建手機軟件。盡管Python在臺式機和服務(wù)器平臺上具有很強的代表性,但是由于缺乏強大的移動計算處理能力,Python往往會在移動開發(fā)上失敗。

近年來,這一領(lǐng)域有了很大進步,但是這些新添加的庫與Kotlin,Swift和Java等強大的競爭對手相比仍有差距。

其他語言的興起

最近,Julia,Rust和Swift等較新的語言強勢入局。它們借鑒了Python,C/C ++和Java的許多優(yōu)秀設(shè)計概念——Rust基本保證了運行時的內(nèi)存安全性和并行性,并提供與WebAssembly的一流互操作性;由于支持LLVM編譯器工具鏈,Swift幾乎與C一樣快;而Julia為I/O密集型任務(wù)提供了異步I/O,并且速度非???。

Python從來就是很好的編程語言,它從來沒有超越C/C++和Java。它是一種通用的編程語言,強調(diào)人類可讀的、以英語為中心的語法,允許程序和應(yīng)用程序的快速開發(fā)。

歸根結(jié)底,Python和其他語言一樣,是一種工具。有時候,它是很好的工具。有時候不是。大多數(shù)情況下,只是 “還不錯”。

Python作為一種編程語言會消亡嗎?筆者不這么認(rèn)為。

那么,它的魅力正在消失嗎?也許有一點,但只是一點點。
責(zé)編AJX

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3521

    瀏覽量

    93270
  • 人工智能
    +關(guān)注

    關(guān)注

    1787

    文章

    46061

    瀏覽量

    235018
  • python
    +關(guān)注

    關(guān)注

    53

    文章

    4753

    瀏覽量

    84079
收藏 人收藏

    評論

    相關(guān)推薦

    pytorch和python的關(guān)系是什么

    在當(dāng)今的人工智能領(lǐng)域,Python已經(jīng)成為了最受歡迎的編程語言之一。Python的易學(xué)易用、豐富的庫和框架以及強大的社區(qū)支持,使其成為了數(shù)據(jù)
    的頭像 發(fā)表于 08-01 15:27 ?789次閱讀

    FPGA在人工智能中的應(yīng)用有哪些?

    FPGA(現(xiàn)場可編程門陣列)在人工智能領(lǐng)域的應(yīng)用非常廣泛,主要體現(xiàn)在以下幾個方面: 一、深度學(xué)習(xí)加速 訓(xùn)練和推理過程加速:FPGA可以用來加速深度學(xué)習(xí)的訓(xùn)練和推理過程。由于其高并行性和
    發(fā)表于 07-29 17:05

    Python在AI中的應(yīng)用實例

    Python人工智能(AI)領(lǐng)域的應(yīng)用極為廣泛且深入,從基礎(chǔ)的數(shù)據(jù)處理、模型訓(xùn)練到高級的應(yīng)用部署,Python都扮演著至關(guān)重要的角色。以下將詳細(xì)探討Python在AI中的幾個關(guān)鍵應(yīng)用
    的頭像 發(fā)表于 07-19 17:16 ?620次閱讀

    如何在Python中開發(fā)人工智能

    Python中開發(fā)人工智能(AI)是一個廣泛而深入的主題,它涵蓋了從基礎(chǔ)的數(shù)據(jù)處理到復(fù)雜的機器學(xué)習(xí)、深度學(xué)習(xí)以及自然
    的頭像 發(fā)表于 07-15 15:01 ?1011次閱讀

    Python中的人工智能框架與實例

    人工智能(AI)領(lǐng)域,Python因其簡潔的語法、豐富的庫和強大的社區(qū)支持,成為了最受歡迎的編程語言之一。本文將詳細(xì)介紹Python中的
    的頭像 發(fā)表于 07-15 14:54 ?663次閱讀

    人工智能輔助編程工具的定義和工作原理

    的工作方式。這類工具利用機器學(xué)習(xí)、深度學(xué)習(xí)等先進技術(shù),幫助程序員更高效、更準(zhǔn)確地編寫和維護代碼,極大地提升了軟件開發(fā)的效率和質(zhì)量。本文將對人工智能輔助
    的頭像 發(fā)表于 07-05 18:00 ?766次閱讀

    人工智能、機器學(xué)習(xí)和深度學(xué)習(xí)是什么

    在科技日新月異的今天,人工智能(Artificial Intelligence, AI)、機器學(xué)習(xí)(Machine Learning, ML)和深度學(xué)習(xí)(Deep Learning,
    的頭像 發(fā)表于 07-03 18:22 ?673次閱讀

    深度學(xué)習(xí)常用的Python

    深度學(xué)習(xí)作為人工智能的一個重要分支,通過模擬人類大腦中的神經(jīng)網(wǎng)絡(luò)來解決復(fù)雜問題。Python作為一種流行的編程語言,憑借其簡潔的語法和豐富的庫支持,成為了深度
    的頭像 發(fā)表于 07-03 16:04 ?390次閱讀

    Python人工智能領(lǐng)域的應(yīng)用

    功能強大的編程語言,成為了人工智能研究和開發(fā)的首選工具之一。本文將深入探討Python人工智能領(lǐng)域的廣泛應(yīng)用,分析其優(yōu)勢、具體應(yīng)用案例以及
    的頭像 發(fā)表于 07-02 18:20 ?702次閱讀

    5G智能物聯(lián)網(wǎng)課程之Aidlux下人工智能開發(fā)(SC171開發(fā)套件V2)

    ://t.elecfans.com/v/27221.html *附件:初學(xué)者完整學(xué)習(xí)流程實現(xiàn)手寫數(shù)字識別案例_V2-20240506.pdf 人工智能 語音對話機器人案例 26分03秒 https
    發(fā)表于 05-10 16:46

    機器學(xué)習(xí)怎么進入人工智能

    人工智能已成為一個熱門領(lǐng)域,涉及到多個行業(yè)和領(lǐng)域,例如語音識別、機器翻譯、圖像識別等。 在編程中進行人工智能的關(guān)鍵是使用機器
    的頭像 發(fā)表于 04-04 08:41 ?148次閱讀

    5G智能物聯(lián)網(wǎng)課程之Aidlux下人工智能開發(fā)(SC171開發(fā)套件V1)

    *附件:初學(xué)者完整學(xué)習(xí)流程實現(xiàn)手寫數(shù)字識別案例.pdf 人工智能 語音對話機器人案例 26分03秒 https://t.elecfans.com/v/27185.html *附件:語音對話
    發(fā)表于 04-01 10:40

    嵌入式人工智能的就業(yè)方向有哪些?

    聯(lián)網(wǎng)ARM開發(fā) NB-IoT開發(fā)及實戰(zhàn) 七:python工程師,人工智能工程師 python語法基礎(chǔ) python核心編程 基于OpenCV
    發(fā)表于 02-26 10:17

    嵌入式學(xué)習(xí)步驟

    開發(fā)板上測試固件以及在實際設(shè)備上進行測試。 嵌入式系統(tǒng)的多樣化發(fā)展,它將更為廣泛地應(yīng)用于各個領(lǐng)域,實現(xiàn)智能化、網(wǎng)絡(luò)化、自動化的目標(biāo)。同時,隨著人工智能機器學(xué)習(xí)技術(shù)的發(fā)展,嵌入式系統(tǒng)
    發(fā)表于 02-02 15:24

    Python編程語言屬于什么語言

    、易于學(xué)習(xí)和理解的語言,強調(diào)代碼的可讀性和簡潔性。Python的設(shè)計真正做到了"堅守一種方法",非常注重代碼的正確性和一致性。這也是為什么Python非常受歡迎的主要原因之一。接下來,
    的頭像 發(fā)表于 11-22 14:31 ?1144次閱讀