程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> Liunx+C編程一站式學習

Liunx+C編程一站式學習

編輯:關於C語言

Liunx+C編程一站式學習這本書有什麼特點?面向什麼樣的讀者?
這本書最初是為某培訓班的嵌入式系統Linux工程師就業班課程量身定做的教材之一。該課程是為期四個月的全日制職業培訓,要求學員畢業時具備非常Solid的C編程能力,能熟練地使用Linux系統,同時對計算機體系結構與指令集、操作系統原理和設備驅動程序都有較深入的了解。然而學員入學時的水平是非常初級而且參差不齊的:學歷有專科、本科也有研究生,專業有和計算機相關的也有很不相關的(例如會計專業),以前從事的職業有和技術相關的也有完全不相關的(例如HR),年齡從二十出頭到三十五六歲的都有。這麼多背景完全不同、基礎完全不同、思維習慣和理解能力完全不同的人來聽同一堂課,大家都迫切希望學會嵌入式開發技術,投身IT行業,這就是職業教育的特點,也是我編這本書時需要考慮的主要問題。
學習編程絕不是一件簡單的事,尤其是對於零基礎的初學者來說。大學的計算機專業有四年時間從零基礎開始培養一個人,微積分、線代、隨機、離散、組合、自動機、編譯原理、操作系統、計算機組成原理等等一堆基礎課,再加上C/C++、Java、數據庫、網絡、軟件工程、計算機圖形學等等一堆專業課,最後培養出一個能找到工作的學生。很遺憾這最後一條很多學校沒有做好,來亞嵌培訓的很多學生就是四年這麼學過來的,但據我們考查他們的基礎幾乎為零,我不知道為什麼。與之形成鮮明對比的是,只給我們四個月的時間,同樣要求從零基礎開始,最後培養出一個能找到工作的學生,而且還要保證他找到工作,這就是職業教育的特點。
為什麼我說“只給我們四個月的時間”?我們倒是想教四年呢,但學時的長短我們做不了主,是由市場規律決定的。四年的任務要求四個月做好,要怎麼完成這樣一個幾乎不可能的任務?有些職業教育給出的答案是“實用主義”,打出了“有用就學,沒有用就不學”的口號,大肆貶低說大學裡教的基礎課都是過時的、無用的,只有他們教的技術才是實用的,這種炒作很不好,我認為大學裡教的每一門課都是非常有用的,基礎知識在任何時候都不會過時,倒是那些時髦的“實用技術”有可能很快就過時了。
四年的任務怎麼才能用四個月做好?我們給出的答案是“優化”。現在大學裡安排的課程體系最大的缺點就是根本不考慮優化。每個過來人都會有這樣的感覺:大一大二學了好多數學課,卻不知道都是干什麼用的,為什麼要學。連它有什麼用都不知道怎麼能有興趣學好呢?然後到大三大四學專業課時,用到以前的知識了,才發現以前學的數學是多麼有用,然而早就忘得一干二淨了,考完試都還給老師了,回頭重新學吧,這時候才發現很多東西以前根本沒學明白,現在才真的學明白了,那麼前兩年的時間豈不是都浪費了?大學裡的課程體系還有一個缺點就是不靈活,每門課必須占一個學期,必須由一個老師教,不同課程的老師之間沒有任何溝通和銜接,其實這些課程之間是相互依賴的,把它們強行拆開是不符合人的認知規律的。比如我剛上大學的時候,大一上半學期就被逼著學C語言,其實C語言是一門很難的編程語言,不懂編譯原理、操作系統和計算機體系結構根本不可能學明白,那半個學期自然就浪費掉了。當時幾乎所有學校的計算機相
關專業都是這樣,大一上來就學C語言,有的學校更瘋狂,上來就學C++,導致大多數學生都以為自己會C語言,但其實都是半吊子水平,到真正寫代碼的時候經常為一個Bug搞得焦頭爛額,卻沒有機會再系統地學一遍C語言,因為在學校看來,C語言課早在大一就給你“上完了”,就像一頓飯已經吃完了,不管你吃飽沒吃飽,不會再讓你重吃一遍了。顯而易見,如果要認真地對這些課程做優化,的確是有很多水份可以擠的。
本書有以下特點:
● 不是孤立地講C語言,而是和編譯原理、操作系統、計算機體系結構結合起來講。或者說,本書的內容只是以C語言為載體,真正講的是計算機的原理和程序的原理。
● 強調基本概念和基本原理,在編排順序上非常重視概念之間的依賴關系,每次引入一個新的概念,只依賴於前面章節已經講過的概念,而絕不會依賴後面章節要講的概念。有些地方為了敘述得完整,也會引用後面要講的內容,比如說“有關XX我們到XX章再仔細講解”,凡是這種引用都不是必要的依賴,可以當它不存在,只管繼續往下看就行了。
● 盡量做到每個知識點直到要用的時候才引入。過早引入一個知識點,講完了又不用它,讀者很快就會遺忘,這是不符合認知規律的。這是一本從零基礎開始學習編程的書,不要求讀者有任何編程經驗,但讀者至少需要具備以下素質:
● 熟悉Linux系統的基本操作。如果不具備這一點,請先參考其它教材學習Linux系統的基本操作,熟練之後再學習本書,《鳥哥的Linux私房菜》據說是Linux系統管理和應用方面比較好的一本書。但學習本書並不需要會很多系統管理技術,只要會用基本命令,會自己安裝系統和軟件包就足夠了。
● 具有高中畢業的數學水平。本書會用到高中的數學知識,事實上,如果不具有高中畢業的數學水平,也不必考慮做程序員了。但並不是說只要具有高中畢業的數學水平就足夠做程序員了,只能說看這本書應該沒有問題,數學是程序員最重要的修養,計算機科學其實就是數學的一個分支,如果你的數學功底很差,日後還需惡補一下。
● 具有高中畢業的英文水平。理由同上。
● 對計算機的原理和本質深感興趣,不是為就業而學習,不是為拿高薪而學習,而是真的感興趣,想把一切來龍去脈搞得清清楚楚而學習。
● 勤於思考。本書盡最大努力理清概念之間的依賴關系,力求一站式學習,讀者不需要為了找一個概念的定義去翻其它書,也不需要為了搞清楚一個概念在本書中前後一通亂翻,只需從前到後按順序學習即可。但一站式學習並不等於傻瓜式學習,有些章節有一定的難度,需要積極思考才能領會。本書可以替你節省時間,但不能替你思考,不要指望像看小說一樣走馬觀花看一遍就能學會。

Linux C編程一站式學習.rar

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved