首頁>Club>
1
回覆列表
  • 1 # 大學生程式設計指南

    從事嵌入式開發多年,使用C語言開發已經超過十個年頭,除了C語言還用C++,java,python做過專案,程式設計師的優秀程式語言僅僅佔據一部分,而且也不會只是針對C語言,現在很多的程式設計高手也不懂的C語言,因為行業領域不同展示出來的點也不太一樣,有些java高手對於C語言甚至都沒有接觸過,難道就說這不是優秀的程式設計師,現在的程式語言已經趨向於高階化整合化,從招聘比例上看對C語言的需求遠遠低於java等程式語言。

    但從絕對的招聘數量上C語言總體來講也不在少數,因為在嵌入式領域,通訊領域,以及對效能要求非常苛刻的領域C語言還是當仁不讓的第一選擇,說到精通兩個字眼,基本上出現在剛畢業的學生身上,看看簡歷上經常寫上精通幾種程式語言,結果就是被技術面試老師打擊的體無完膚,所以建議初學者在填寫簡歷這個欄目裡面,儘量不要體現精通兩個字,寫個熟練或者熟悉更加貼近事實。越是做的時間長越是不輕易說出精通兩個字眼,掌握的東西越多越是覺得自己的知識的有限。

    所以不要輕易的把一個優秀的程式設計師和某種程式語言掛鉤,如果在掌握了一門程式語言的基礎之上再去學習別的程式語言也會變得輕鬆許多,關鍵點在學習第一門程式設計的時候已經掌握了很多程式設計思想在這種程式設計思想的指導之下,再去切入別的程式語言就會變得輕鬆許多,透過這個現象可以得出一個結論,優秀的程式設計師首先掌握程式設計的模式,程式設計模式就是在程式設計過程中總結的一些經驗。如果明白常見的網路程式設計模式,切換別的語言也會變得非常順利。

    雖然成為一個優秀的程式設計師和精通C語言並沒有太直接的關係,但如果有機會還是要學習下C語言,因為C語言是一門非常基礎的程式語言,很多程式語言的底層都是C語言實現的,所以瞭解這門程式語言對於底層的內部實現還是存在非常大好處的,如果先從C語言開始學習一直到走到上層的程式語言,對於建立自己的知識體系有非常大的好處,所以個人建議如果有機會接觸到C語言,儘量切入學習一下,對於拓展自己知識面有非常大的好處。

  • 2 # Gfilsxin

    我認為不需要!

    不可否認,C語言基本上是被當成程式設計入門的必學課程進行教學的,C語言作為一門歷史悠久的程式語言,在TIOBE上的排名一直都穩居前五!

    但這並不意味著,成為一名優秀的程式設計師,就必須要精通C語言。畢竟,語言只是一門工具,一名優秀的程式設計師,主要體現在其利用已掌握的語言解決業務的能力!

    所以,如果想成為一名優秀的程式設計師,首先需要精通的是自己工作中用到的這門語言;其次,是所處行業的業務能力;最後,可適當的多瞭解或掌握幾門其它程式語言。

  • 3 # 威風啦啦

    時代在進步,一直沿用老一套語言是肯定會被淘汰的,當然,一個人的精力是有限的,你不可能學全所有的程式語言。

    特別是現在網際網路時代了,網際網路每一天都在進步,以前的一套方法也變得不再適用於現在,所以,要想好好的在這個社會生存,那麼你一定得學習前沿的程式語言,但是,有一句老話說的好,技多不壓身是真的,你懂得多了,思考問題的角度也會變多,破題方法也會變多,所以,做程式設計師還是得一直學一直學,要不然你就會被淘汰。

  • 4 # 非究極體工程師

    我覺得你應該看一下我寫的這篇文章,專門分析了C語言適不適合學習。下面是網址。

    https://www.toutiao.com/i6716307926467740173/

    C語言是否值得我們學習? ? ? ? ? ?

    最近幾年,大資料、人工智慧、機器學習越來越受人關注,甚至達到婦孺皆知的程度。但是精通這方面的人才供不應求,再加上薪資水平相當高,會有很多人想要學習Python。並且Python語言簡單,且擁有龐大的外部庫,尤其是許多與上述內容相關的庫,如Matplotlib、Numpy、Pandas、SciPy、TensorFlow。這些庫在Python中都是相當有名氣的,使用起來也較為方便。因此,Python也成為了大資料、人工智慧、機器學習的主要語言,從而擁有相當多的學習者。

    Java以其市場需求大、發展範圍廣的優點,一直是處於排名靠前的語言。又加上Java語言簡單,安全感性高(Java不支援指標),跨平臺,可移植性高的特點經常霸佔語言榜首。

    下面給你們看一組資料:

    全世界超30億的裝置正在執行Java!

    安卓手機:任何Android手機的APP開發都是基於Java編寫的;

    網站:幾乎所有交易類網站(淘寶、天貓、京東等)保險、金融等網站都是由Java開發;

    阿里系:不但淘寶、天貓、支付寶等等阿里網站全線的Java開發;

    易系統:金融行業一部分交易系統都是Java開發(如銀行提款機系統)

    看到這裡大家一定覺得語言學習Java或者Python那麼多好處,市場需求那麼大,工資有那麼高,還學習C幹什麼?

    C到底值不值得我們學習呢。現在我們分析一下他們三個語言的區別,順便帶上C++兄弟一塊上車。

    Python:

    易學:5星

    速度:3星

    Python主要用在人工智慧,大資料分析,和網路開發,他是一個解釋性語言,比C++和C慢。但是Python可以方便的使用別的語言已經實現的功能,便捷和效率都很高。

    對於初學者來說門檻低,容易學,見效快,學完就能用

    Java :

    商用:5星

    佔資源:3星

    JAVA具有跨平臺,可移植性強。

    主要因為它有專門的JAVA虛擬機器呀,虛擬機器可以把原始碼和具體的硬體平臺隔離開。說的簡單點就是假如咱們在windows下寫了程式碼,這個程式碼無需任何改動便可再Linux下執行,這全都歸功於Java虛擬機器。

    Java就像前面說的一樣主要用於商用,主要舞臺時伺服器電腦和手機。

    C++:

    速度:5星。

    難度:5星。

    常言說“天下武功唯快不破”,程式的話也是一樣,執行速度是非常重要的指標,當你需要在短時間是處理上千萬條指令時;

    當時需要實現複雜演算法的時候;

    當你需要開發大型專案的時候,

    C++就會站出來了,因為它執行速度是賊快呀。

    C++和C和Java非常像,學習完C++去學C和Java就非常方便。

    C語言:

    嵌入式:5星

    難度:4星

    現實生活大部分的家用電器都是用微控制器來控制執行的。同時在嵌入式開發領域,考慮到成本和功耗的原因,計算能力和記憶體等硬體資源很緊張,這個時候別說Java就是C++大兄弟都感到為難。此時C由於暫用資源少,執行速度快,還能方便操作硬體,是嵌入式開發的首選語言。

    相信我寫道這裡大傢伙都已經明白各個語言的區別了,同時也明白為什麼C還是不可缺少,值得我們學習的語言(上面已經寫的很清楚了,速度快佔用資源少等)。下面我給大家看兩組資料。2019年7月最新 TIOBE 程式語言排行榜和近15年程式語言的走勢。

    最新 TIOBE 程式語言排行榜

    15年各個語言發展趨勢

    從圖中可以看出,C語言這麼多年沒有下沉,原因在於C語言屬於系統級語言,屬於底層程式語言。可以用一句簡單的話來總結:所有上層語言,都離不開底層硬體的支援,離不開C語言的支援。

  • 5 # 小黑咪

    可以學呀,好多大網際網路公司還在用c/c++呢。不過主要是後臺方向的,之前就在騰訊幹了4年c後臺開發。其實語言本身並不難,都是基礎。你最好還要了解一些語言外的相關的知識,演算法,資料庫,網路程式設計等等,這些才是核心。會這些後,換語言並不難。

  • 6 # 大象無形0

    聰明的程式設計師用Python lua js 等指令碼。 真正的程式設計師用c。 硬黑程式設計師用匯編,機器碼等。

    lua js等是面向問題,面向產品的語言。而c/c++等是面向基礎庫,面向效能,面向系統的語言。 更底層的彙編等語言,則是面向硬體,面向驅動的語言了。

  • 7 # IT人劉俊明

    這是一個非常好的問題,作為一名IT行業的從業者,同時也是一名計算機專業的研究生導師,我來回答一下這個問題。

    首先,當前的C語言不但依然值得程式設計師學習,而且未來的C語言將會持續受到關注,主要的原因有以下幾點:

    第一:物聯網前景廣闊。在當前5G通訊的推動下,物聯網領域的發展前景將非常值得期待,物聯網的發展與網際網路有很大的不同,在網際網路階段,做上層的資源整合就可以了,而在物聯網階段,要從底層的硬體研發開始,而這正需要研發人員具備C語言的應用能力。

    第二:行業結構體系進一步最佳化。在產業結構升級的推動下,廣大傳統行業需要完成網路化和智慧化改造,這就要求IT行業要全面進行結構最佳化,以適應產業結構升級的要求,網際網路必然會從上層研發逐漸走到底層研發,比如目前對於電子電路、晶片方面的研發受到了廣泛的關注。由於C語言與硬體的結合非常緊密,同時C語言也有健全的語言生態,所以未來的應用場景還是非常多的。

    第三:程式設計師結構升級。在雲計算技術的推動下,未來大量的後端開發程式設計師將完成崗位升級,從事研發級工作,而C語言是研發級程式設計師最常見的程式設計工具之一,所以未來C語言依然會有大量的使用者。

    最後,C語言雖然已經有了幾十年的應用歷史,但是C語言憑藉較高的執行效率和簡介的語法結構,一直在作業系統研發、容器研發和各種嵌入式開發中佔據著重要的位置,目前依然是最為流行的程式語言之一。從目前的發展趨勢來看,C語言對於程式設計師未來的發展來說依然具有重要的意義。

  • 8 # 雜湊的雜湊

    先說一下C語言的重要性:

    1. 作業系統的kernel都是用C語言編寫的(什麼Windows、Linux、Mac了,手機安卓系統核心都是用Linux kernel),沒有作業系統,上面的高階應用無從談起;

    2. 舉例拿Python來說吧,Python底層實現也是用C語言編寫,Python的作者吉多大叔也是一名C高手,其他高階應用語言也是如此;

    3. 說的有些誇張,可以沒有Python、Java等,但是不能沒有C語言;

    4. 一些系統級軟體開發一般都採用C/C++;

    5. 嵌入式應用產品(最熟悉的AR、VR、工控系統、一些硬體產品)、裝置驅動、物聯網等。

    接下來回答:

    1. 對於從事應用開發的程式設計師來講,學習C語言可以作為學習其他高階語言入門語言;

    2. 對於從事通訊、嵌入式、微/電子、自動化、物聯網等相關專業,如果想在本行業持續發展,C語言就是專業語言,是繞不過的。

    最後總結一下,世界上使用最廣的語言:

    1. 漢語

    2. 英語

    3. C語言

    4. 其他語言

  • 9 # 青蓮網路雲服務

    時至今日,技術界的各種新程式語言層出不窮,提供的功能特性也是應有盡有,那麼古老的 C 語言又是憑什麼屹立不倒?是否仍值得程式設計師學習?

    C是一種系統程式語言,不僅有些年頭了,而且名聲還不太好,比如未定義的行為、記憶體相關的Bug等。特別是在今時今日Go和Rust迅速走紅的情況下,C似乎已漸漸被人遺忘了。儘管如此,恕我直言,C仍然值得花時間學習。

    無論你是C語言的程式設計新手還是經驗豐富的程式設計師,我強烈建立你讀一讀《現代 C 語言》(Modern C)這本書。透過本書,你就會發現C語言也在悄悄地進化,如今這門語言也不像你想象的那麼原始。例如,C11定義了類似於C++的標準執行緒API,這個功能讓C看起來更像是一種“現代”語言,而不是過時的語言。你可以透過本書從新的角度來審視C語言。

    無論你是系統語言程式設計師、運維人員、效能工程師還是身處其他職位,對作業系統的瞭解越多,就能越好地完成工作。

    以所有流行的類Unix作業系統為例,從核心到命令列工具,幾乎都用C語言實現。研究相關的原始碼可以讓你深入理解內部作業系統。例如,我知道有一個taskset命令可以繫結到一個專用CPU程序,但我想知道其背後的實現方法,所以我閱讀了原始碼。然後,我得知了兩個真相:

    有一個“/ proc /%pid / task”資料夾,用於記錄程序的執行緒資訊;taskset實際上是透過呼叫sched_setaffinity和sched_getaffinity API來完成任務的。

    最後,因為C是靠近底層的語言,所以在某些情況下效能至關重要時,你可以利用C來編寫高效能的程式碼,充分利用CPU。

    雖然我列舉了很多我認為你應該學習C的理由,但也許你也有充分的藉口拒絕考慮C語言。沒關係。但是,如果你想嘗試C語言,那麼首先不要害怕,勇敢地邁出第一步。儘管編寫C語言程式碼很容易出錯,但是你只需要確保你編寫的內容是正確,不使用未定義的行為,那就沒問題。

  • 10 # 老陳說程式設計

    C語言是其他程式語言的基礎,學了會更好。

    如果將來打算做微控制器開發,那C語言是必須要學的;

    如果將來打算做Web開發,還需要學Java、C#、PHP中的一項或多項;

    如果將來打算做Android App開發,還需要學Android或Kotlin,而它們操作底層時,也是用C語言的實現的;如果打算做iOS App開發,在Objective-C或Swift都是可以呼叫C語言的;

    綜上所述:C語言是掌握其他語言的基礎,可借用它來理解計算機原理,從而更好的掌握其他語言。如果不深入,至少基礎的要了解一些,大有裨益。

  • 中秋節和大豐收的關聯?
  • 蘆薈葉子有黑點發卷是怎麼回事?