初識 DEV C++ 首先小衚衕學自己並不是科班出身,不是電腦或者互聯網相關專業的的學生,我本科期間是車輛工程專業,偏機械一點。 本科期間對編程語言的唯一認識就是C,其實也不算是,準確的是DEV C++,但大家都懂得,本科的通識課是可以忽略不計的。 再之後就到了研究生學校這邊,考研的時候就想著能跳 ...
初識 DEV C++
首先小衚衕學自己並不是科班出身,不是電腦或者互聯網相關專業的的學生,我本科期間是車輛工程專業,偏機械一點。
本科期間對編程語言的唯一認識就是C,其實也不算是,準確的是DEV C++,但大家都懂得,本科的通識課是可以忽略不計的。
再之後就到了研究生學校這邊,考研的時候就想著能跳出老專業的限制,去見識一些新的東西,因為四年的大學生活,讓我明白如果畢業之後,還是找一份畫三維圖的工作的話,我可能會瘋掉~
陰差陽錯就來了我現在導師這邊,說是做的嵌入式,但實際上更多是電子相關的東西,或者說單片機。
又遇 Java+Mysql資料庫
還記得去年暑假,導師給我安排的第一個任務居然是做一個安卓的APP。
我是一臉的問號啊?是我拿錯劇本了嗎?
但導師安排的第一個任務,也不能不做,於是我開始了我的Java學習生涯~
同時還搭配著android studio這個軟體的學習,前後一個月,趕鴨子上架做了一個手機APP出來。
這個軟體實現的功能並不複雜。無非就是:數據的輸入,處理,輸出,再加上一個存儲歷史數據的功能。
最後勉勉強強的過了,再往後做到了MYSQL資料庫管理系統部分,所以說我的第三門語言是資料庫操作語言~
給大家放一個我當時做的筆記:這個鏈接也可以看https://www.mubucm.com/doc/3b4CT1Qx8k_
但這部分的功能並沒有完全的實現,因為開學研一的課程還是挺多的,之後這件事就不了了之了,後來我反應過來,可能這件事就是導師拿來考察我學習能力的,還好當時我沒擺爛,認認真真的去做了。
可見有些事情你可以不喜歡,但當你不得不去做的時候,一定要態度端正,盡自己最大努力。
陷於 C
我第一次看到一段C代碼時,並沒有覺得它是有多麼的特殊,在當時的我看來,無非就是固定的代碼結構,重設其中的一些變數,封裝各種功能的函數,提供相應的介面,按照邏輯進行調用。
原諒我的這種認識,因為當時的我還在51學習板上跑我的C程式,撐死一兩百行代碼。
改變我對C代碼認識的,其實源自於我惡補電腦相關課程的時候。
那段時間就覺得電腦好神奇,奇怪這玩意是怎麼跑起來的?
《電腦:一部歷史》、《深入理解電腦系統》、《電腦是怎樣跑起來的》、《程式是怎樣跑起來的》、《操作系統之哲學原理》、《網路是怎樣連接的》…………(需要這方面電子書的朋友也可以給我留言)
看了很多書和課程,但現在回想起來好像又什麼都沒記住,因為電腦的歷史真的是太精彩了,涌現出的一個又一個天才,創造出一個又一個的改變和正在改變這個世界的技術……
哎呦,跑題了,咱們回到C上。
就像有一句話說的那樣:
你可以不寫C語言的程式,但是你不可能不用C語言寫的程式.
我們可以需要深挖一下有哪些軟體以 C 語言為主:
- 操作系統內核。例如 Linux 等
- 微控制器
- 視頻編解碼器
- 底層共用庫,例如 OpenSSL 等
- Unix 命令行工具,例如 ls、cat 和 git 等
現在幾乎所有基礎設施,操作系統都有C語言的痕跡,我們很難離開它。
如果說未來有一天產生一種新的語言終將代替C,我想這種語言最起碼要有以下幾個特點:
- 能夠重用現有的 C 庫;
- 建立在已有的知識和慣例之上;
- 沒有垃圾回收,或者採用手動記憶體管理;
- 控制可執行文件的大小;
- 系統層面的友好。你需要能夠操縱位和位元組。你需要良好的二進位運算符和指針;
- 逐步替換 C 代碼。能夠良好地相容 C 的可執行文件。
當然這些也都是個人觀點,純屬沒事瞎想,未來的事誰說的清楚。
對於現在我來講,C語言仍然是一門很高深的語言,距離掌握它還有很長一段路要走。
工具語言
雖然我平時學習生活中都以C語言為主,但一旦涉及到某些領域的功能,還是會去接觸新的語言。
比如,C++做QT開發
比如,HTML5和CSS寫一些簡單的網頁
再比如,用Python爬取一些數據,併進行數據處理
等等……………………
最後
歸根結底,編程語言只是一種工具,一種我們和電腦進行交流的工具。
編程語言之間沒有高低貴賤,更沒有歧視鏈,有的只是不同的應用環境適合不同的語言,一切都是時代造就的趨勢。
參考文獻:
https://www.techug.com/post/can-c-be-replaced/
http://t.csdn.cn/SLK0T
http://t.csdn.cn/CpCFM