成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

為什么你覺得C語言什么都不能做,學了沒用?不可能的

開發 后端
C語言本身是一門很簡單的語言,提供的實用功能不多,大部分要借助操作系統、第三方庫、單片機來完成。也就是說,只學C語言基本什么也做不了,也基本找不到工作。C語言是一門通用性的語言,并沒有針對某個領域進行優化,在實際項目中,C語言主要用于較底層的開發......

 為什么你覺得C語言什么都不能做,學了沒用?不可能的

 

 

對于大部分初學者,學習C語言的目的是希望做一名合格的程序員,開發出靠譜的軟件來。但是學了C語言的基本語法后,發現只能開發“黑底白字”的DOS程序,完全沒有漂亮的界面和生動的交互。于是學數據結構,學算法,學操作系統,越陷越深,越來越難,最后迷茫了,不知道學C語言能做什么,認為學習編程很難,開始懷疑自己,甚至想放棄。

其實,這是很多初學者都會踩到的一個坑!C語言本身是一門很簡單的語言,提供的實用功能不多,大部分要借助操作系統、第三方庫、單片機來完成。也就是說,只學C語言基本什么也做不了,也基本找不到工作。

C語言是一門通用性的語言,并沒有針對某個領域進行優化,在實際項目中,C語言主要用于較底層的開發,例如:

  • Windows、Linux、Unix 等操作系統的內核90%以上都使用C語言開發;
  • 開發硬件驅動,讓硬件和操作系統連接起來,這樣用戶才能使用硬件、程序員才能控制硬件;
  • 單片機和嵌入式屬于軟硬件的結合,有很多使用C語言的地方;
  • 開發系統組件或服務,用于支撐上層應用;
  • 編寫PHP擴展,增強PHP的功能;
  • 如果對軟件某個模塊(例如算法和搜索部分)的效率要求較高,也可以使用C語言來開發。

既然C語言的應用這么多,為什么很多讀者覺得它什么也做不了呢?

我們先說一個概念,就是庫(Library)。庫就是編程專家寫好的代碼,我們可以拿來直接使用,這樣能夠節省開發成本,提高開發效率,并且庫代碼的執行效率、嚴謹性、安全性和規范性要明顯優于我們自己編寫的代碼,市場上有很多優秀的庫,有的收費,有的免費,我們要善于利用這些庫,盡量不要重復造輪子。

庫一般分為兩種:

  • 編程語言的開發者在開發編程語言的時候,一般都要預先寫好常用的代碼,或者說常用的功能,例如輸入輸出、數學計算、文件操作、網絡操作、日期時間、錯誤處理、字符串處理等,這些由官方編寫的庫稱為標準庫(Standard Library),它們隨編程語言一起發布,可以認識是編程語言的一部分。
  • 有一些組織機構或者個人也會開發一些庫,有的是為了盈利,有的是業余愛好,有的是本公司正在使用的代碼,開源出來造福人類,這些庫稱為第三方庫(Third-party Library)。

第三方庫不是由官方開發,沒有質量把控,良莠不齊,但是有相當一部分也非常優秀,已經得到了大家的認可,已經應用在大公司的項目開發中,這些庫能夠和標準庫媲美。

標準庫是我們在學習編程語言時就要一起學習的,例如C語言的輸入輸出、文件操作、日期時間、字符串處理、內存管理等都是標準庫提供的功能,它們并不是C語言語法的內容。

如果一門編程語言的標準庫強大,初學者經過簡單的學習后就很容易開發出實用的項目。例如Java,它的標準庫包含了GUI(圖形界面)、圖形處理、網絡通信、網絡服務器、HTML解析、HTTP協議、多線程、多進程、正則表達式、壓縮文件、加密解密、數據校驗、音頻視頻處理、數據庫操作、XML操作等常用功能,初學者學了以后立馬就能夠開發網站、開發PC軟件,感覺很實用,也感覺學到了東西。Python、C#、VB、PHP、JavaScript、Ruby 等都是非常實用的語言,學了就能做出東西來。

反觀C語言,它的標準庫只有輸入輸出、文件操作、日期時間、數學計算等基本功能,都是在黑黑的控制臺下進行的,跟網站、PC軟件、APP等八竿子打不著,所以初學者覺得C語言沒有用。

那么,C語言到底能不能開發網站、PC軟件或者APP呢?

C語言的標準庫肯定不能干這些事情啦,就得依靠第三方庫了,遺憾的是,C語言的第三方庫大都也是底層庫,支持應用開發的庫寥寥無幾,只有一個 GTK 庫能夠開發出 PC 軟件來,而沒有與網站開發和APP開發相關的庫。

GTK 庫在PC軟件開發中也很少用了,PC軟件開發已經是 C++、C#、VB、Java、Delphi 的天下了。換句話說,開發PC軟件基本不使用C語言,而是使用 C++、C#、VB、Java、Delphi 等其它語言。

記住,C語言幾乎不用來做軟件、網站、APP等這些應用層開發,其它的編程語言能夠更好地完成任務,沒必要非得使用C語言,C語言基本都是用來做底層開發,也就是看不見摸不著的、在后臺默默提供服務的那些項目,而這樣的項目對初學者來說基本沒有實用價值,初學者也不知道它們該怎么使用。

初學者想要的C語言沒有,C語言能做的初學者用不到,就是這種矛盾導致初學者非常迷茫。

有人可能會問,C語言不是還可以用來開發單片機或者嵌入式嗎?是的沒錯,但是這個方向是軟硬件結合的,不是在我們的電腦上進行開發,而是在特殊的開發板上進行開發,并且還需要學習數字電路、模擬電路、匯編、ARM、Linux 等方面的知識,只學C語言也沒有用武之地。

如果你覺得學了C語言沒用,那么恭喜你,你是對的,應用層的開發一般真的用不上它。

但是,沒用也要學,學習C語言并不一定是要應用它,C語言可以夯實你的編程基礎,尤其是數據結構、算法、內存、線程、進程、通信、操作系統等底層的計算機知識,沒有C語言基礎是學不好的。

這些底層知識并不一定能夠直接應用在實際開發中,但是它們會讓你有底氣,會讓你透徹地理解編程概念,會讓你站的“低”看得遠,會讓你避免很多低級錯誤,會讓你心中有“架構師”的思維。不學C語言是碼農,學了C語言是程序員。

初學者必須C語言開始嗎?

建議從C語言開始,然后學習數據結構、算法、內存、線程、進程、通信、操作系統等基本的概念,它們是學習編程的基礎,不管是應用層開發還是底層開發,這些知識都是必須的。

如果你非要跳過C語言,從其他語言開始,比如 Java、Python、PHP、JavaScript、C# 等,也不是不可以;但是,在學習的過程中你會有一種霧里看花、空中樓閣的感覺,很多東西只會用,卻理解不了,深入不了,原因就是沒有計算機基礎,沒學會走就想跑了,這個時候,還得老老實實回來學習C語言。

如何學習底層知識

關于數據結構、算法、內存、線程、進程、通信、操作系統等這些基本的知識,重要的是理解概念,知道計算機是怎么回事,千萬不要深入細節,把自己繞進去,耽誤一兩年的功夫,要盡早跳出來去做應用開發,找到興趣點,獲得成就感。

這個時候,C語言主要的作用是讓你入門,了解編程語言的基本語法,強化編程思維,學習計算機底層知識,為以后的職業生涯打下堅實的基礎,而不是用它來做實際開發。

在實際開發中,遇到問題,或者哪里理解不透了,可以再來回顧這些底層知識,這個時候就可以深入細節了。因為有了實際開發經驗,再學習底層知識就知道哪里是重點了,不會像無頭的蒼蠅一樣亂飛,什么都學。

【拓展】C語言為什么沒有應用層開發的庫

C語言是一門“古老”的語言了,它只支持面向過程編程,不支持面向對象編程和泛型編程,在中大型的應用層項目開發中,C語言已經顯得捉襟見肘了,C++、Java、Python、C# 等其他編程語言能夠更好地勝任,為C語言開發應用層的庫簡直是費力不討好,所以幾乎沒人這么做。

GTK 算是一個應用層的庫,但是它也比較老了,新版的 GTK+ 已經支持 C++ 了,不再僅僅支持C語言了。

我們先不管面向過程、面向對象、泛型這些晦澀的編程概念,簡單地理解就是,C語言支持的特性少,用起來費勁,開發效率低,而 C++、Java、Python、C# 等支持的特性多,用起來方便,開發效率高。

C語言的優勢是運行效率極高,這正是底層開發所看重的。底層開發有時候就是一個模塊,或者是一個服務,規模不算大,但是對效率有嚴格的要求,此時用C語言就非常合適,所以針對底層開發的C語言庫較多,因為它們有非常大的實用價值。

 

 

責任編輯:龐桂玉 來源: 今日頭條
相關推薦

2014-06-20 15:16:35

微軟SQL Server

2021-04-20 08:11:33

Css前端@property

2016-03-14 14:45:18

中華網

2019-02-13 10:55:00

2021-03-23 10:08:02

編程互聯網數據科學

2014-07-17 10:38:30

大數據

2020-07-31 17:13:28

Python開發工具

2020-06-01 09:29:10

人工智能技術機器人

2019-01-02 06:26:02

API應用程序編程接口應用安全

2021-02-21 14:05:02

區塊鏈比特幣安全

2014-01-17 14:39:18

12306 搶票

2019-12-09 10:29:04

Go語言開發互聯網

2021-01-08 08:22:25

代碼應用程序

2023-12-05 07:19:43

CAP定理分布式

2024-01-24 07:30:45

MySQL數據庫索引

2011-07-21 08:49:06

軟件項目

2013-02-26 09:46:10

大數據非結構化數據

2012-06-12 09:47:17

C語言

2020-09-04 15:34:07

C編程語言開發

2012-04-10 08:58:26

小米
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品第2页 | 欧美一级片在线 | 国产一区二区三区久久久久久久久 | 福利社午夜影院 | 国产精品日日摸夜夜添夜夜av | 欧美一区二区三区国产精品 | 99久久久久久久久 | 欧美一区在线看 | 久久久一区二区 | 欧美国产91 | 伊人久久一区二区 | 久热电影 | 不用播放器看的av | 在线婷婷 | 久久精品欧美一区二区三区不卡 | 亚洲精品福利在线 | 日韩欧美一级精品久久 | 黄在线 | 国产一区二区精品 | 亚洲国产一区二区三区四区 | 久草在线视频中文 | 中文字幕一区在线观看视频 | 在线视频国产一区 | 欧美在线一级 | 日韩精品一区二区三区 | 夜夜草天天草 | 乱码av午夜噜噜噜噜动漫 | 欧美a在线看 | 亚洲一区二区三区免费在线 | 亚洲人成网亚洲欧洲无码 | 国产欧美日韩 | 国产91av视频在线观看 | 毛片网络 | 中文字幕一二三区 | 91av在线免费看 | 婷婷在线免费 | 亚洲最新在线视频 | 日韩欧美国产成人一区二区 | 亚洲精品久久久一区二区三区 | 99国产在线| 国产一区二区三区精品久久久 |