陳唯耀 李婕 吳紅宇
摘 要:本文首先簡要分析了Python的基本特點,對比了CC++、Python、JavaScript與Java這四種語言的特點及應用領域,望能為此領域研究有所借鑒與幫助。
關鍵詞:Python;流行性編程語言;現象
一、python的基本特點
·1.易于學習:Python有相對較少的關鍵字,結構簡單,和一個明確定義的語法,學習起來更加簡單。
·2.易于閱讀:Python代碼定義的更清晰。
·3.易于維護:Python的成功在于它的源代碼是相當容易維護的。
·4.一個廣泛的標準庫:Python的最大的優勢之一是豐富的庫,跨平臺的,在UNIX,Windows和Macintosh兼容很好。
·5.互動模式:互動模式的支持,可以從終端輸入執行代碼并獲得結果的語言,互動的測試和調試代碼片斷。
·6.可移植:基于其開放源代碼的特性,Python已經被移植(也就是使其工作)到許多平臺。
·7.可擴展:如果需要一段運行很快的關鍵代碼,或者是想要編寫一些不愿開放的算法,可以使用C或C++完成那部分程序,然后從Python程序中調用。
·8.數據庫:Python提供所有主要的商業數據庫的接口。
·9.GUI編程:Python支持GUI可以創建和移植到許多系統調用。
·10.可嵌入:可以將Python嵌入到C/C++程序,讓程序的用戶獲得"腳本化"的能力。
二、不同編程語言各方面的比較
C,C++,Python和Java都是通用編程語言,C語言由于其底層操作和特性和歷史的積累,在嵌入式領域是當之無愧的王者;C++是一種支持最廣泛編程范式的復雜語言,這些年來發展不太好,目前在服務器后臺和游戲領域還有其一席之地;python作為一種靈活的輕便的通用型腳本語言,適用范圍比較廣,從應用軟件到Web開發都有它的身影,由于其解釋性語言的特點,比較適合輕量級或原型開發;Java由于其跨平臺可移植性,在Web開發領域大放異彩,特別是在企業級Web開發,同時由于Android系統采用Java來開發應用程序,所以也隨著Andriod的發展而應用越發廣泛。
為了親身體會python語言的特點,我們準備通過自己的能力來實踐的編碼一下程序來體會python語言的魅力。
前期準備:想要用一門編程語言編寫出一些有實際作用的程序,首先肯定需要學習其基本語法和編寫結構。幸運的是,python語言的編程邏輯跟我們平常說話的邏輯比較相近,不想c語言那么需要專業知識的應用,它可以自動的處理許多低層次的東西,不需要編程人員的邏輯去顧及底層的東西。簡單的舉個例子,比如同樣定義一個整數類型的變量intx,在c語言中,整形變量是由閾值的,超出這個閾值程序就會報錯,因為c語言的東西是實實在在放在內存中的,它的整數型變量是要放在規定的內存中的,內存就這么大,超了就會出現溢出的錯誤。而匯編語言就更加繁瑣,在編寫匯編語言時,每寫一句話,沒出現一次簡單的計算或者出現新的變量,都要同時給出內存的準確地址。
而python語言就簡單很多,在python中定義整數型變量,你存入的數據是多大,其存入的內存個數大小就會隨之變化。因此你在設置變量是就不需要考慮內存問題,也就可以跳過很多底層的設計邏輯。我們的初期準備之一就是學習這些方面的知識,包括其基本函數,基礎庫的學習。其二就是對python編碼器的安裝。通過老師介紹以及網上查詢,最后我們決定使用anaconda這個編譯器平臺來編碼python語言(安裝平臺的過程.pdf)
(此實驗使用模擬器進行)
實驗過程:我們決定一起編寫一個比較簡單的程序,通過c語言編寫和python語言編寫,來比較其區別。我們通過最簡單的語法和math庫的運用,編寫了兩個比較簡單的計算程序,一個是以python為主要編程語言編寫的,另一個是以匯編語言為主要編程語言編寫的。
#從顯示屏中輸出A-Z26各字符
匯編:
MVRD R2 ,001A
MVRD R0 ,0041
OUT 80
DEC R2
JRZ 202E
PUSH R0
IN 81
SHR R0
JRNC 2028
POP R0
INC R0
JR 2024
RET
python:
for I in x range(26):
print chr(i+ord(“A”))
實驗結果:實驗結果我們從時間復雜度,程序運行程度,程序理解難易程度以及整個編寫思考的時間來比較。對于時間復雜度,匯編語言為O(n),而python語言為O(n2)。這代表python語言的編寫程序對于計算機來說,執行的更麻煩,需要計算的次數更多,更加消耗內存,但相反的,需要交給編寫員的東西也就更少。因此,理論上來說,python程序執行一次需要的時間是匯編程序的平方倍。而我們通過對大學生的調查,python語言編寫的程序,只要懂一點英語和一些基本邏輯的人,程序的大部分都是可以看懂的,而匯編語言編寫的程序,只有信息學院和軟件學院的學生才能看懂。也就是說明,匯編語言更加專業,而python語言就比較簡單易懂了。來整個編碼的時間,匯編語言更加需要邏輯的思考,而且很容易出現bug,非常難編寫,一個簡單如入棧出棧就需要很強的邏輯感,編寫的時間是python的兩倍甚至更多。而兩個程序得出的結論是基本相同的。
三、不同編程語言應用領域的對比
1.Java
首先我們要討論的是Java語言,相信只要略微了解編程的人就會聽過Java,其如今依然展現出強勢的增長勢頭,說其是目前最流行的編程語言也不為過。并且隨著移動和大數據的發展,以基于java的Hadoop如今發展迅速,這也是java編程人員更加千金難尋。其可以用于各種各樣的領域,包括企業應用及基礎設施,以及Wed應用和移動開發。
2.C/C++
C和C++都是基于C的語言,是目前最流行的編程語言,C常被用作系統以及應用程序的編程語言,如嵌入式系統的應用程序。C++語言為C的增強,其在出現后迅速成為開發人員之間最流行的語言之一。它是用于開發系統軟件,應用程序,設備驅動程序,嵌入式軟件,高性能服務器和客戶端應用及娛樂軟件,如視頻游戲。
3.Python
Python是應用于設計各種各樣的應用程序的動態語言,往往比Tcl,Perl,Ruby,Scheme和Java更容易編寫。Python語法簡介而清晰,具有豐富和強大的類庫。它常被昵稱為膠水語言,它能夠很輕松的把用其他語言制作的各種模塊(尤其是C/C++)輕松地聯結在一起。
4.JavaScript
JavaScript在Web應用上有著非常大的需求,主要目的是為了解決服務器端語言,比如Perl遺留的速度問題,為客戶提高更流暢的瀏覽效果。JavaScript主要用于實現為Web瀏覽器,以提供增強的用戶界面和動態網站。
四、結論
(1)自身方面。將Python與其他所有編程語言均理解為編程語言環境中的一個物種,那么每個物種都擁有自身與其他物種不同的特點。而不同物種正是因為自身所具有的獨特特點而對其環境作用產生不同的效果。一些特點會使其環境適應性更強,一些特點會使其相對更弱。在編程語言上,這些特點便表現為上述我們對于Python編程語言的優缺點闡述。(2)環境因素。對于Python編程語言來說,環境的作用分為人類環境與社會環境。對于人類來說,Python的語法簡單易懂,易于人類學習操作。這就像生態學中生物總是在選擇最簡單容易的方式的獲取食物一樣,人類為了達成目標,也總會對更簡單方便的工具更加偏愛。這就使得人類總會樂意選擇它來進行達成目的的嘗試,多的選擇也就使其廣為流傳。
參考文獻:
[1]李秀敏, 王希杰, 刁麗娟. 面向研究型及應用型醫學人才培養的Python教學探索[J]. 衛生職業教育, 2018, 499(16):80-82.
[2]屈瑞陽, 吳茂成, 楊俊義,等. 基于Python語言的邁克爾遜干涉實驗仿真及其在移動終端的應用[J]. 物理教師, 2018, 039(002):75-77.