天天看點

未來物聯網全棧開發 的主流語言是什麼?

未來物聯網全棧開發的主流語言是什麼?

CSDN推出的讨論話題是:未來物聯網全棧開發主流語言是什麼?

      小虎老師,從考試角度來分析此題,也就是先要審題,抓住幾個關鍵資訊:

      1.未來的

      2.物聯網

      3.全棧式開發

      4.主流語言

      5.兩個語言中,選一個,即JavaScript、Python;

      小虎老師,嘗試逐一分析,各個擊破,所謂:系統分析法,即SA法。

     一、未來開發有什麼特點和趨勢:

     1.簡單、快速、高效;

     2.滿足web開發,浏覽器開發是基礎;

     3.面向對象語言、可以科學計算,能夠大量計算複雜、大量的任務、更好融合人工智能架構、平台,總之要包羅萬象,什麼任務都能幹,應用場景很寬泛,也要有深度;

     二、物聯網未來的特點和趨勢是什麼?

     1.裝置更小,速度運作更快,功耗更低,傳感器精度更高,功能更強大;

     2.會利用人工智能技術,如深度學習、機器學習等成熟技術,更加智慧;

     3.會與市場上各種新技術快速融合,如人工智能、虛拟現實、區塊鍊等;

     4.物聯網的安全性提上議事日程,迫在眉睫;

     5.跟各個行業更加緊密結合,深耕細作來進一步發展,如汽車,跟無人駕駛,如醫療,如便攜式醫療裝置,醫生遠端診療患者等;

    三、Python與JavaScript的差別:

      1.學習成本

     python文法簡單,本身就容易上手。

     2.語言優勢

     Python和Javascript都支援多種不同的程式設計範式,但是在面向對象的程式設計上面,它們有很大的差別。

    Javascript的面向對象是基于原型(prototype)的,

    對象的繼承是由原型(也是對象)建立出來的,由原型對象建立出來的對象繼承了原型鍊上的方法。

     而Python則是中規中矩的基于類(class)的繼承,并天然的支援多态(polymophine)。

     Python寫起來要比Javascript舒服很多。

     2.線程模型

     在Javascript的世界中是沒有多線程的概念的,并發使用過使用事件驅動的方式來進行的, 所有的JavaScript程式都運作在一個線程中。在HTML5中引入web worker可以并發的處理任務,但沒有改變Javascript單線程的限制。

     Python通過thread包支援多線程。

     4.與其他語言的互動

     Python的特征之一:可以通路底層語言的,C/C++ DLL/so,Java類庫,.net等。是以多用于整合舊有系統。

     5.架構、庫

     Python的各種架構,庫很多。

     Python自由使用select,poll , epoll 等異步io方式。

     6.技術覆寫面

      node.js、Python都覆寫嵌入式、桌面、伺服器,但是Python還覆寫到IC(VHDL),科學資料分析,金融資料分析。前端與UI渲染是Javascript的領域。此外,移動APP是JavaScript勝出。

     7.代碼維護

     Javascript設計本身有許多缺陷,畢竟當時設計的時候隻是作為在浏覽器中做一些簡單任務的script,是以代碼一旦龐大,維護還是有困難。

    8.擴充性

     毫無疑問,除了lua,還沒有别的語言可以說有python的擴充性便利了,對于計算密集型的業務或者功能可以輕而易舉的使用C語言來自定義擴充。更何況python自身還存在幾何倍數于npm的擴充包。并且你還可以直接對架構層面進行修改跟自定義(當然在許可證許可的條件下),重新定義引擎行為,eventloop行為,自由度高。

      結論:

      未來物聯網全棧開發主流語言是Python,JavaScipt為輔。