Python是近年來最流行的程式語言之一。其清晰的語法和可讀性使其成為初學者的完美編碼語言。考慮到它的廣泛用途,認為學習Python是必不可少的,這是可以學習的。
這提出了一個問題:Python什麼時候不是正確的答案?什麼時候Python程式語言是學習和/或使用的錯誤語言?
什麼是Python有益的
簡而言之,Python正在成為機器學習的語言。大多數機器語言課程都是使用Python語言編寫的,編碼教育作為一個整體採用Python作為學習語言,在教室Raspberry Pi和其他地方廣泛使用。
這些原因,以及大量使用Python的大公司,讓許多人認為它是未來的主要程式語言。但如果Python是這樣的話,你何時不會使用它?
1.您想成為Web開發人員
Python不僅能夠進行大規模的Web開發。Instagram是運行Django的最大網站,這是一個Python Web框架。這不是一件容易的事,因為Instagram工程師Zekun Li解釋道:
「我們很早就開始使用Python,因為它很簡單,但是我們不得不做很多次修復,以便在我們擴展時保持簡單。」
也就是說,Django是一個強大而優雅的框架。問題不在於其失敗。簡單的問題是:為什麼JavaScript仍然佔據主導地位時學習Django?
像React和Vue.js 這樣的JavaScript框架需求量很大。兩者都可以使用Django或其他後端,如Ruby on Rails。但是由於兩者都是基於JavaScript的語言,為什麼你會使用除Node.js以外的任何東西?這使得完整的堆棧JavaScript應用程式。一種學習和掌握的語言。
這並不是說JavaScript是一種完美的語言; 許多人會反駁。但是,如果您剛開始進行Web開發,那麼仍然沒有比JavaScript 更好的選擇。
2.你想成為遊戲開發者
Pygame的用戶可能會發現這一部分有點令人困惑。是否有專門用於在Python中創建計算機遊戲的備受推崇的庫?是的,有,Pygame是學習Python和遊戲機制的絕佳資源。
一些優秀的遊戲都是用Python編寫的,甚至還有一個完全用Pygame製作的第一人稱射擊遊戲:
沒有取消DUGA令人難以置信的成就,你可以在這裡看到問題。大多數(但不是全部)想要進入遊戲開發的人都在尋找更多東西。一個帶有開發工具和編輯器的強大平臺。從一個小想法擴展到大型和更主流的東西的潛力。
Python不能提供這個,而Unity和Unreal等遊戲引擎可以。
學習Unity的C#
Unity 完全基於C#,有相當數量的庫可以幫助進行遊戲開發。Unity編輯器是一個非常強大的工具,可以快速進行原型設計,並為初學者製作第一款遊戲提供快速入門。
為了比較尺度和視覺美,Escape From Tarkov是Unity Engine的創作:
就像低級Python教程涵蓋編程要點一樣,Unity的官方教程假設沒有先前的編程知識。
學習虛幻引擎的C ++
C ++因難以學習而臭名昭著。初學者有在線資源,虛幻引擎網站也有一些很棒的入門工具。
如果您需要任何證據證明虛幻引擎遊戲可以取得成功,那麼Fortnite就是您的最佳選擇。這款非常受歡迎的遊戲,甚至可以在您的手機上播放,都是使用虛幻創建和優化的。
使用Python目前無法實現看起來像這樣的遊戲,以及幀速率良好的1080p運行。這不是Python的失敗,更像是遊戲開發的一個簡單案例,而不是它的優勢之一。
3.您希望使用低級系統
雖然業餘碼農喜歡Python,但它並不是最好的語言。在許多低級和嵌入式系統中,Python不是一種選擇。
嵌入式系統
雖然近年來嵌入式系統的定義已經變得模糊,但有一個很好的類比。將Arduino等小型開發板視為嵌入式安全板是安全的。更大更複雜的設備,如Raspberry Pis或類似的單板計算機通常不被視為嵌入式。
問題在於記憶和時間是至關重要的。一塊嵌入式硬體中的8位晶片需要非常仔細地管理其內存。這不是Python所適用的,並且Arduino語言是C / C ++簡化版的原因。掌握Arduino的C ++版本並不像你想像的那麼複雜。
C程式語言既強大又危險。儘管是高級別的,C及其C ++超集可以訪問低級進程。從本質上講,C是第一次將機器代碼翻譯成人類可以輕易理解的東西。
精度和速度
除了在低級別管理系統的能力之外,C還提高了速度。由於C是一種非常原始的語言,因此沒有重複或垃圾收集來降低速度。這就是C因其存在危險而聞名的地方,因為內存洩漏會導致嚴重的問題。然而,這確實意味著C在時機和速度至關重要的地方閃耀。
任何想要進入硬體編程或任何形式的內核編程的人都應該考慮查看C.對於任何希望創建設備驅動程序的人來說都是如此。
額外的事實:您是否使用VST創建數位音樂並想知道如何製作它們?您可以使用C ++編寫自己的。
你需要Python嗎?
雖然這聽起來很明顯 - 如果您已經知道另一種有能力的編碼語言,為什麼要改變?
如果您在學校參加編碼課程,或者開始使用特定語言的在線編碼課程,堅持使用它會帶來好處。學習第一語言可以為您提供編程的基礎知識,並且學習一種全新的語法會減慢該過程的速度。
大多數頂級Python程式設計師都沒有開始使用該語言。由於其高度可讀性和直觀的語法,許多人發現學習其他語言的Python更容易。