-
1 # 嘉靖不上朝
-
2 # 見血飛程式人生
每一種開發語言,都有自己的優勢和缺陷。
說說python:
優點
Python的定位是“優雅”、“明確”、“簡單”,所以Python程式看上去總是簡單易懂,初學者學Python,不但入門容易,而且將來深入下去,可以編寫那些非常非常複雜的程式。開發效率非常高,Python有非常強大的第三方庫,基本上你想透過計算機實現任何功能,Python官方庫裡都有相應的模組進行支援,直接下載呼叫後,在基礎庫的基礎上再進行開發,大大降低開發週期,避免重複造輪子。高階語言————當你用Python語言編寫程式的時候,你無需考慮諸如如何管理你的程式使用的記憶體一類的底層細節可移植性————由於它的開源本質,Python已經被移植在許多平臺上(經過改動使它能夠工 作在不同平臺上)。如果你小心地避免使用依賴於系統的特性,那麼你的所有Python程式無需修改就幾乎可以在市場上所有的系統平臺上執行可擴充套件性————如果你需要你的一段關鍵程式碼執行得更快或者希望某些演算法不公開,你可以把你的部分程式用C或C++編寫,然後在你的Python程式中使用它們。可嵌入性————你可以把Python嵌入你的C/C++程式,從而向你的程式使用者提供指令碼功能。缺點:
速度慢,Python 的執行速度相比C語言確實慢很多,跟JAVA相比也要慢一些,因此這也是很多所謂的大牛不屑於使用Python的主要原因,但其實這裡所指的執行速度慢在大多數情況下使用者是無法直接感知到的,必須藉助測試工具才能體現出來,比如你用C運一個程式花了0.1s,用Python是0.01s,這樣C語言直接比Python快了10s,算是非常誇張了,但是你是無法直接透過肉眼感知的,因為一個正常人所能感知的時間最小單位是0.15-0.4s左右,哈哈。其實在大多數情況下Python已經完全可以滿足你對程式速度的要求,除非你要寫對速度要求極高的搜尋引擎等,這種情況下,當然還是建議你用C去實現的。程式碼不能加密,因為PYTHON是解釋性語言,它的原始碼都是以名文形式存放的,不過我不認為這算是一個缺點,如果你的專案要求原始碼必須是加密的,那你一開始就不應該用Python來去實現。執行緒不能利用多CPU問題,這是Python被人詬病最多的一個缺點,GIL即全域性直譯器鎖(Global Interpreter Lock),是計算機程式設計語言直譯器用於同步執行緒的工具,使得任何時刻僅有一個執行緒在執行,Python的執行緒是作業系統的原生執行緒。在Linux上為pthread,在Windows上為Win thread,完全由作業系統排程執行緒的執行。一個python直譯器程序內有一條主執行緒,以及多條使用者程式的執行執行緒。即使在多核CPU平臺上,由於GIL的存在,所以禁止多執行緒的並行執行。關於這個問題的折衷解決方法,我們在以後執行緒和程序章節裡再進行詳細探討 -
3 # 假程式設計師的世界
看你想做什麼。
如果你只是業餘學一下Python,用來輔助你工作,以後並不從事IT行業,那倒不必要學c,用好Python幫助你工作就好了。
-
4 # lelingtech的AI之路
應用場景
Python目前主要應用於人工智慧領域。成熟的、健全的API和第三方演算法包是它的一大優勢,Python以快速開發為大家所喜愛,根本原因是具備了良好的生態,各種第三方包應有盡有,要實現資料的處理分析,通常只需要幾行程式碼。但是在執行效率上就比較欠佳,在實際的生產環境上,通常需要C語言做核心演算法的支撐。這就要求同時也要熟悉C語言,並能更好的處理C程式與Python之前的互動。所以在大型的人工智慧專案或是資料科學專案中,C語言基本不會缺席。
2.技多不壓身
IT行業是一個高速發展的行業,各種開發語言遍地開花,這個時候需要的是快速的學習能力和技術知識的廣度。廣度達到了一定的程度才能實現“拿來即用”的效果!所以不論是C語言還是後面興起的語言,只要是有用的,都可以學習。並且隨著學習的語言越來越多,程式設計的思想掌握之後,再學其他程式語言就很容易了!
-
5 # fengyun
C語言已經完全墮落到嵌入式開發領域啦 C++勉強在高併發伺服器領域開發還能混混 逐步會被JAVA取代 目前C在應用領域都做雞翅的元件 比如資料庫 WEB伺服器等 這個領域基本都是外國人在研發 python目前在一線城市是比較流行的 可以學 在資料分析 AI WEB方向都可以做
SO 二線城市這兩個碰都不要碰 就是JAVA
C比較適合大公司
-
6 # 方法研究
二者選一的話,拿來就能用的自然是PYTHON,上手容易,可以在任何領域使用,數不清的開源庫給你免費用。
C則是屠龍技,你學會了卻可能找不到龍,因為C當前的應用範圍都是用於相當複雜的底層開發,比如作業系統開發,硬體驅動開發等領域。
-
7 # 唐叔陪你聊科技
主要看你的應用領域,如果偏硬體底層,當然C語言是基本的工具;如果領域偏上層應用,尤其是AI、搜尋、大資料,當然Python更加適合一些。
近十年的搬磚,C、C++、Java、Visual Basic、Python、Matlab都用過,自己偏向於硬體端的演算法實現,所以C++用的最多,也編寫過小的DMA驅動,用的是C,用Java寫過前端,最近用Python寫一個模擬引擎。語言只是想法的實現,就是一個工具而已,什麼語言不是最重要的,語言就像是鋼筆、鉛筆、毛筆的區別罷了,而最最重要的是你的想法,想法才是握筆寫字的人。
你有了Python的基礎,學習C也不會太難,演算法過關什麼都好辦。現在國外的初學者也基本換python了,C是偏硬體低層的,細節多,尤其是指標,不易學。學python,你現在想做的東西,用Python也基本都可以很快很方便的實現。Pyhton也不愧是世界第一膠水語言。
再說說C/C++,一般都把這兩者聯絡起來,因為C++幾乎是C的超集。我以前的專案也基本是C++為主,C為輔,其實二者從俺們做演算法的來說,差別也不太大。因為大學裡開設的課程也是C++,所以對C++情有獨鍾吧。C和C++,都要把指標掌握好,因為指標才是他們的靈魂。
-
8 # 沉沫之城
一個優秀的程式設計師一定是能夠熟練掌握多門IT程式語言的,即使學了Python也有必要學C語言,在工作中透過不斷的學習才能迅速提升提升自身的開發能力不被行業所淘汰。
-
9 # 使用者101948792948
C語言是所有程式語言的基礎
Python是新出的較為全能的語言,由C語言編寫的。
個人建議精通Python的同時也要對C語言有所瞭解,因為Python低層的很多東西都是C語言或c++語言,還是要有了解
-
10 # IT人劉俊明
作為一名IT從業者,我來回答一下這個問題。
首先,學習程式語言一定要結合應用場景,如果在應用場景沒有發生變化的情況下,通常並不需要學習新的程式語言。Python語言本身是一門流行程度比較高的全場景程式語言,而且Python語言當前的上升趨勢也非常明顯,未來隨著大資料和人工智慧技術的落地應用,Python語言的應用場景也會逐漸得到拓展。
在學習完Python程式語言之後,應該選擇一個主攻方向繼續深入學習,比如選擇大資料和人工智慧這兩個方向就不錯。目前IT行業內雖然Python語言的應用比較普遍,但是Python崗位對於從業者的要求還是比較高的,初學者一定要有一個自己的主攻方向,同時具有一定的實踐能力。
對於很多初學者來說,當前選擇大資料作為主攻方向就是不錯的選擇,一方面當前的大資料開發崗位比較多,另一方面未來也可以向人工智慧方向發展,正所謂“進可攻退可守”。掌握Python語言之後,可以進一步學習大資料平臺知識,基於大資料平臺進行行業軟體開發,在產業網際網路時代將是一個比較常見的開發方式。
從技術體系的角度來看,程式語言只是一種工具,並不是掌握越多的程式語言越好,而是要具備程式語言的實踐開發能力,這是比較重要的。如果把大資料開發分成三個學習階段的話,學習程式語言只是完成了第一個階段的學習任務,這個階段也是學習難度比較低的學習階段。
最後,如果在掌握Python語言之後,計劃進入嵌入式領域發展,那麼進一步學習C語言還是有必要的。
-
11 # 全階魔方
一是技多不壓身,二是量力而行!三就是 找工作的話 只會python肯定是不行的,現在python崗位比較少 只有1線城市可能多一點!所以還是要會點其他的程式語言
-
12 # 影式雜鋪
首先學習是有目的的,不管是出於工作層面,還是興趣方面,都是有需求才驅使去學習的,如果說是沒有目的的學習,那樣估計也學不進去。
-
13 # 明哥玩程式設計
看了一下其他答案,大家說的好像都有點跑偏
從我的個人理解來說吧(我是一名PHPer,Python也有4年多接觸)。 其實Python在我的眼裡是一個程式設計工具,不算是一種專業的開發語言,為什麼這麼說呢?
從開發而且,目前Python主要的應用場景都是在爬蟲上,像機器學習,神經網路的入門成本非常的高,並不適合一名普通的開發進入(因為要求有較高的資料和演算法基礎)
市場上python的招聘崗位在相對java,golang、php來說,份額還是比較少。
所以如果你真的在學習python,對於普通個人來說,python更適合做為一個工具,工具,工具。
對於python的總結基本就是這些,這個時候我再說一下學C的問題。C語言的學習難度是所有高階語言中較高的,但是入門難,我不推薦你學C
不知道你的身份現在是什麼?如果你還是一名學生(大學生或大學生以下),我推薦你學golang或java,如果是研究生,你可以繼續深入python,因為python作為研究工具真的很強。 如果你想在開發上面找到持久並且穩定的工作,我推薦你學java。經過幾十年的java依然為老牌技術。 各行各業都能應用廣泛。
回覆列表
我覺得你還沒有真的懂一些道理,你會Python你是用來資料爬蟲爬取、人工智慧、web網站搭建麼?如干這些,那麼Python可以勝任。
如果你很好奇,需要看看Python底層和直譯器怎麼寫的,那麼你就有必要學學C語言,畢竟Python直譯器都是C寫的。在著,你需要嵌入式、微控制器、作業系統、Linux研究,那麼必須學會C語言。
朋友,記住:語言是一門工具,你用的到它,它才有價值,你工作中需要用得著,那麼就去學,用不著你學了幹嘛。(當然不排除你有興趣想去研究它)