入門編程,一定要從C語言開始嗎?看你想打磨什麼樣的產品!

很多小夥伴在入門編程時,C語言課程開始的,但最近有的小夥伴問我, 學編程一定要從C語言開始嗎? 直接學習JAVA可以嗎?

建議:在選擇編程語言之前,搞清楚自己的編程目的,有沒特別想打磨一個產品出來?

比如有些程序員想自己打造一款Java 遊戲,所以他選擇了java。所以,一定程度上取決於你的編程目的。

C語言現在已經很成熟,它的各種語法規則、思想都已經確立起來了,並對現在的很多語言產生很大的影響。所以作爲底層語言也是很多人在入門編程時想要第一個學習的。

但是任何事物都有其優點和缺點,C語言也不例外。下面虎牙帶大家分別來看一下。

★ C語言的優點

C語言的優點有三個:

✪ 碼量小

✪ 運行速度快

✪ 功能強大

我們先看第一個優點, C語言的代碼量很小 ,這是什麼意思呢?也就是說如果要完成同樣一個功能,用C語言編寫出來的程序的容量是很小的,而用其他語言編寫容量就會比較大。

比如 Microsoft Word 和 WPS,它們同樣都是辦公軟件,功能也差不多,但 WPS 的安裝文件只有 50MB 左右,而 Microsoft Word 的安裝文件超過 500MB,有的甚至接近 1GB。原因就是 WPS 的內核是用C語言編寫的。

C語言的第二和第三個優點是它的 運行速度比較快 和 功能強大 。我們可以通過一個例子來解釋。

世界上總共有三大操作系統:UNIX 操作系統是用純C語言編寫的;Windows 操作系統的內核也是用C語言編寫的;Linux 操作系統仍是用純C語言編寫的。

這 三大操作系統的內核全部都是用C語言編寫的 。爲什麼用C編寫,因爲C語言的速度最快。計算機中所有的軟件都是在操作系統上運行的,如果操作系統的速度很慢,那麼在它基礎上運行的軟件的速度就更慢了。而且計算機中的所有硬件都是由操作系統控制的。

舉個簡單的例子,新建一個 Word 文檔,這就意味着在硬盤上產生了這個文件。但是並沒有直接控制硬盤,我們是通過操作系統提供的“右鍵單擊”等功能來新建文件的。

也就是說,操作系統給我們提供了一個界面,或者說是給我們提供了一種可操作的手段,通過這個手段我們可以刪除文件、新建文件、打開文件或者修改文件。

所以操作系統很重要,所有的硬件全部都是由操作系統控制的。而這麼重要的東西只能用C語言來寫,所以C語言很重要。爲什麼只能用C語言寫?第一,C語言速度夠快;第二,C語言可以訪問硬件,所以它夠強大。

爲什麼不能用 Java 寫?首先,Java 太慢了;其次,Java 語言沒有指針。沒有指針就不能訪問硬件,所以它的功能是不夠的。指針是什麼稍後會講,它是C語言中非常重要的內容。

★ C語言的缺點

C語言的缺點可以用下面三點來概括:

✪ 危險性高

✪ 開發週期長

✪ 可移植性不強

我們先看第一點。假如寫同樣一個程序,在 Java 裏面會報錯,而在C語言裏面是不會報錯的。爲什麼?

因爲 C語言設計的思想是 :想怎麼寫程序就怎麼寫,只要這種寫法錯得不是很離譜,就認爲這麼寫有特殊的含義,可以通過。

比如C語言中可以將一個浮點型數據賦給一個整型變量,編譯時只會警告,因爲會丟失精度,但是在 Java 中這樣寫就會報錯,它在語法上就禁止這樣寫。

所以不同的語言對同樣一個問題有不同的處理方式。

大家想想這樣導致的結果是什麼?

因爲有歧義的程序也可以通過,這樣就會有很多漏洞,黑客往往會抓住這些漏洞進行攻擊,所以說 C語言比較危險 

這也是爲什麼C語言比較難學的原因,因爲學完之後編寫一個 程序很可能就是錯 的,但又很難發現。所以前面說 C++ 從安全性上對C語言進行了升級。

第二個是它的 開發週期比較長 。因爲C語言是面向過程的語言,面向過程語言的一個特點就是寫大項目的時候很容易“崩潰”。

當代碼上到 10 萬行的時候很容易崩潰,會出現各種各樣莫名其妙的錯誤。這時候就需要用另外一種思想將整個程序的框架重新設計一下,即用面向對象的思想設計。這也是C語言現在沒有 Java 流行的原因。

C語言的第三個缺點是 可移植性不強 。這個主要是針對 Java 的。Java 的可移植性太強了,所以就顯得C語言的可移植性不強。

什麼叫可移植性?就是說 Java 程序在哪個機器上都可以運行,而且結果一模一樣。而C語言就不行,C程序在其他機器上不一定能運行。而且就算能運行,結果可能也不一樣。

關於第一種編程語言,對於一名新手程序員來說,只要你不選特別難的,基本上沒什麼影響。

選擇你們想要學習的語言去努力學習吧!

自學C語言不易,此路應攜手前行。

如果你想跟着小編一起學編程的話!

可以來我的C語言/C++編程學習交流基地,【點擊進入】

還有(源碼,零基礎教程,項目實戰教學視頻)【點擊領取】!     

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章