當前位置: 妍妍網 > 碼農

有人說,Python比C語言難?該怎麽反駁

2024-04-23碼農

記得我第一次學程式語言,是本科時的C語言選修課程,當時的感覺是編程真的好復雜,什麽指標、斷言、動態分配等各種概念,完全搞不懂啊。後來哼哧哼哧考了個七十多分,算是過關了。

後來知道C是偏硬體的程式語言,主要的用途是系統開發、嵌入式開發,所以我至今也沒有用過C語言,後來做數據工作,開始接觸Python、R,覺得和C完全不一樣,有太多的輪子可以用。

最近在知乎上看到一個問題,說python不比C簡單,不排除這是個釣魚貼。

高贊的幾個回答,還是蠻有趣,暗諷的比較多。基本意思是提問者屬於小白,壓根不知道C的難度。

但某種意義上,這個問題其實是值得討論的。

對於95%以上的人來說,Python比C要簡單很多,但對於另外5%深度使用Python的人來說,Python用起來可能會比C更復雜。

為什麽呢?先看看Python和C語言的差異。

前面說過,C語言偏硬體編程,程式碼更加底層,Python相比C語言進行了封裝和簡化,類似windows和Linux的感覺。

Python把C語言中很多復雜、晦澀、冗長的功能概念都進行封裝簡化,比如數據型別、記憶體管理、錯誤處理等,本來C語言需要幾十行程式碼能實作的功能,Python幾行程式碼就搞定。

同樣的打印hello word,python只需一行程式碼。

print("Hello, World!")

C語言需要五六行

#include<stdio.h>
intmain(){
printf("Hello, World!\n");
return0;
}

很明顯看出來python對函式和數據型別都進行了封裝和簡化處理,讓程式碼更加容易編寫和閱讀。

另外,Python擁有大量的內建庫和第三方庫,呼叫起來非常方便,不需要程式設計師自己重新造輪子,這也是導致在絕大部份需求上,Python會比C簡單很多。

那又為什麽對於深度使用python的人來說,python可能又會比C語言更加難呢?

這同樣是因為python的封裝和簡化導致了難,雙刃劍的兩面性。

首當其沖的是python的低效問題,因為python高級語言特性,犧牲了速度,不像C需要那樣更接近硬體層面。

所以使用python開發復雜計畫,必然要最佳化效能,比如CPython等,這會復雜很多。

其次,由於python把很多底層細節隱藏封裝起來,如果你想進行更深度的開發,會比較困難,程式碼的維護和品質也更難管理。

所以你會看到C語言寫的軟體能穩定執行幾十年沒問題,很多大型軟體也是C開發的。

但python在這塊就比較劣勢,比如開發效能密集型套用、即時性套用、高並行套用,就需要更多的時間去研究,並不像C那麽方便穩定。

總的來說,C語言肯定比Python更艱深晦澀,但想要把Python用的爐火純青,不見得會比C簡單。

加入知識星球 【我們談論數據科學】

600+ 小夥伴一起學習!