1樓:匿名使用者
額。。。樓上幾位都講了,我也拋磚引玉下~~~c++能做的,c也能做;
linux下的主要開發語言時c;
你可以買本apue看看,也就是《advanced programming of unix environment》還有該書作者的兩外基本神作:《unix網路程式設計》、《tcp/ip詳解》一、二、三冊,這幾本書就夠用了~~~;
最後,想說的是c++等實際需要了再去學習,語法的複雜性、類庫的紛雜等讓初學者望而卻步,不過沒事,你c底子好,多動手就行了~~~程式設計的道理是相通的!基本上用c的比較多 ~~~
2樓:
c++和c差不了多少的
學習linux需要什麼基礎?需要了解c語言和c++嗎?
3樓:有種慵懶叫
1 、一定的英文基礎是必要的,需要了解c語言和c++。針對學習shell程式設計,及熟知各種linux系統命令使用即可。如果有python或perl基礎則更容易上手。
2、 看書時要多做習題,一題一題的弄明白,要不書也白看。從一開始養成良好的程式設計習慣,怎麼算好的你看書上的**怎麼寫的。
3、關於數學, 初中數學水平可以程式設計,小學甚至學前班也沒什麼不可以。 另一方面數學博士程式設計的時候也不會嫌自己數學學的太多了。 需要多少數學這跟你要做的東西很有關係, 也影響到你學習的深入程度, 工作中就影響你的**質量。
總的來說數學水平是越高越好, 但並沒有一個門檻, 什麼水平都可以學, 就是質量差一些。
4、學習linux核心開發。linux的核心是由絕大部分的c語言和少部分組合語言組成的。要學習linux核心開發,必須要懂c語言,同時對作業系統原理需要有一定了解。
5、學習linux平臺上的軟體開發。這部分包含很廣,有各種各樣的要,需要根據專案性質確定基礎需求。
linux作業系統軟體包不僅包括完整的linux作業系統,而且還包括了文字編輯器、高階語言編譯器等應用軟體。它還包括帶有多個視窗管理器的x-windows圖形使用者介面,如同我們使用windows nt一樣,允許我們使用視窗、圖示和選單對系統進行操作。
4樓:老男孩教育
學習linux不需要有c語言或c++基礎,而且linux對基礎沒有強制性要求,即便是0基礎小白也可以學習。
5樓:風若遠去何人留
區分學習的項,有以下區別:
1 學習linux的操作及系統維護。
不需要任何基礎,針對學習shell程式設計,及熟知各種linux系統命令使用即可。如果有python或perl基礎則更容易上手。
2 學習linux核心開發。
linux的核心是由絕大部分的c語言和少部分組合語言組成的。要學習linux核心開發,必須要懂c語言,同時對作業系統原理需要有一定了解。
3 學習linux平臺上的軟體開發。
這部分包含很廣,有各種各樣的要,需要根據專案性質確定基礎需求。
軟體開發需要學什麼?
6樓:沒啥好遊戲
1、學習 linux系統安裝、 常用命令、應用程式安裝。
2、 學習 linux 下的 c 程式設計、這本書必學《unix 環境高階程式設計》、《unix網路程式設計》,rechard stevens 寫的,c 高手大都學習過 《c 和指標》、《c 缺陷與陷阱》、《高質量c/c++程式設計指南》、《c 專家程式設計》、《the c programming language》
3、程式設計師大都要學:資料結構,嵌入式程式設計師資料結構必學!
4、底層開發人員大都要學:微機原理、計算機體系結構,嵌入式開發人員必學!
5、微控制器可以讓一個從事軟體開發的人瞭解和如何操作硬體,有必要學,因為一開始就從 arm 入手,不太現實!
6、arm 體系結構,其中有彙編。
7、數位電路有必要學習,不然你在做底層開發時真的會不知道怎麼看原理圖,起碼也得懂與入門吧。
8、arm + linux 應用程式開發(前提是要有開發板)
9、要做底層開發,就必須知道軟硬體之間是如何銜接和配合工作的,那麼電子技術應該要好好學習了,很多時候會用到類比電路知識,這是區別好手與菜鳥的不同之處之一。
10、linux 下的彙編要學,這樣你才能真正瞭解你寫的程式是如何在一個特定的硬體上跑的。這是區別好手與菜鳥的不同之處。
11、tcp/ip 協議棧要學,所有的嵌入式高手都得掌握的東西,這是區別好手與菜鳥的不同之處之三。
12、有了這些東西,拿下 linux 驅動 已經不再話下,需要你去學習 linux 核心源**和linux驅動程式設計,這是一個技術昇華。
14、各種 ic ,各種 bootloader 你能夠參與其開發設計。
15、自行設計開發新產品,新技術。
7樓:匿名使用者
數學基礎,同時要有一個完整的計算機知識體系結構,包括作業系統體系結構等,研發級崗位的程式設計師往往都需要具有本科及以上的學歷才能勝任。
計算機雖然是高科技的象徵,但又受到其它專業發展的制約。計算機專業知識的學習同樣要加強一些相關知識的學習。計算機學習過程往往是由硬體開始,走向軟體,但最終又會走向硬體。
一個軟體開發高手非常注重程式效率,而效率卻往往與計算機硬體知識是緊密相關。
因此高等數學、離散數學、線性代數等數學知識的學習也有一定需求。尤其是軟體開發高手,開發過程會涉及數學方面往往會更多一些。
要自始自終地加強英語的學習。因為目前的計算機程式設計語言主要是外國開發的,編**的主要語句往往是英文,中文通常是做解釋和說明用。有一定的英文基礎,在計算機學習上可以事半功倍。
8樓:江西新華電腦學院
這是軟體開發的全部課程,要是感興趣的話可以瞭解一下:
第一階段
9樓:匿名使用者
如何成為好的程式設計師?
how to become a good programmer?
首先問你一個問題:
你們在學校都學些什麼課程?問這個問題的原因是,我認為學校的電腦科學基礎課很重要。如果你所在學校的課程設定合理,那你應該先把主要精力花在這些基礎課上。
很多學生看到基礎理論就茫然,不知道這些圖表,符號,甚至硬體的知識對將來的軟體開發有什麼用。用處大得很哪。比如,作業系統課裡講到的多執行緒的東西在系統程式設計裡很有用。
又比如,儘管你將來不會去涉及電腦的硬體,計算機架構裡的知識對分析演算法的效能(快慢等等)很有用。可以把計算機語言和開發工具比作文字,而把電腦科學的知識比做思想。只有思想,不會行文,不行;但是,行文流暢,思想空洞,也不行。
大學的階段正是打好基礎,豐富思想的年代。
成為一名好的程式設計師,不是簡單地通過學幾門課程就能做到的。我個人認為成為一名好的程式設計師的要素有:
1。紮實的基礎知識;
2。很強的解決問題的能力;
3。熟練的程式設計除錯能力;
4。創新能力;
5。團隊合作能力;
6。持續的自學能力;
7。好奇心
這些能力和品質(甚至可以說是習慣)都應該從大學階段就著手培養,並且從身邊的小事開始培養。比如,很多中國的大學畢業生都缺乏程式設計和除錯經驗。學習c語言,考試過關就算學會了。
課題專案中,只要程式能夠編譯,執行,並且輸入輸出滿足要求就了事了。但是,寫程式的時候是否想過如何把程式寫得更加精煉,高效,高質量?對程式除錯中出現的問題是否刨根問底知道原因,還是不求甚解搪塞過去算數?
還有,很多中國的大學畢業生對於知識的掌握膚淺,機械,沒有好奇心,不會刨根問底。比如,學會了c++,有沒有看過一個object在編譯後,在彙編**中是如何被初始化的?這個object的各個成員在記憶體中是如何放的?
在一個成員函式被呼叫的時候編譯器在彙編**中加入了哪些額外的動作?虛擬函式的呼叫是如何實現的? 這些東西恐怕在程式語言或編譯原理中都沒有詳細提到。
但是,你是否有過好奇心去知道?最後,一些中國學生的大問題就是死記硬背,沒有學到某種演算法技術的根本原理,沒有應變和創新的能力。比如,有個問題是如何在不用額外記憶體的情況下把一棵樹的同一層節點都連起來。
很多學生都能夠回答這是一個廣度遍歷的問題。但是,課本上說了廣度遍歷是一定要有額外資料結構輔助的(佇列)。所以,不給額外記憶體怎麼行?
請看,課本上說的用佇列的方法記住了,但是就是不知道為什麼要用佇列。如果深刻掌握了這個佇列的作用,那麼這個問題是很容易的。
舉了這麼多例子,我想說明的事,想成為一位好程式設計師(其實從事任何一個行業都是如此),重要的是要養成一個鑽研,好奇,創新,動手,合作,不滿足於填鴨,不滿足於考試交差,不滿足於表象的一種優秀的習慣。這不是學幾門課能夠一蹴而就的。當然,如果你的在校課程不能使你滿足,我以及論壇上的朋友可能能夠給你推薦一些書或科目。
我覺得要提高程式設計的能力,有一位良師很重要。這位良師可以是在程式設計方面比你走在前面的同學,也可以是學校裡你幫他做專案的老師,也可以是校外公司裡的老師或老闆。很多東西在實際的專案中,有一位良師察看你的程式,幫你指出不足,手把手地指導你除錯,會對你很有幫助。
所以,當學會了書本上的基本知識以後,可以努力尋找一些有實用性的專案,藉機在專案中找到高手指導。這個專案可以在學校找,也可以到校外找。一開始不要計較報酬,甚至如果能夠尋到高手指點,白乾也行。
其次是讀好的源**。多讀好的源**就象多讀好的文章,會有利於自己寫作。能夠讀懂別人的**也是一門硬功夫。
將來很多專案中你不會重頭做,而是在半途加入(一般文件又不很齊全),因此需要能夠很快讀懂別人**和想法的能力。
再次是看一些程式設計方面的好書。writing solid code是一本很經典的書。最近出的writing secure code也不錯。
在你熟練掌握c以後,可以學一下c++並熟悉物件導向的程式設計思路。在掌握c++的基礎上可以看一下design patterns。
看你要把程式設計學到多麼專業。到一定程度,你會發現如果沒有學過資料結構,演算法原理,編譯原理和作業系統,可能在某些方面會遇到一些障礙。所以,如果有精力和條件的話,可以同時瞭解這些方面的知識。
最後,我要提醒你不要因為程式設計這一業餘愛好而影響了你本專業的課程,除非你決定轉行。對很多在校學生來說,本專業的成績很重要,因為這個成績可能會影響到將 來找工作,申請研究生院等等。英語也很重要。
我讀翻譯的計算機書總覺得隔了一層,翻得不貼切。能夠直接閱讀英文資料更好。
計算機專業修煉和武俠**中功夫修煉都是一樣的:
金庸先生**中提到高手習武包括內功和外功,其實這個道理在計算機專業同學中一樣適用!
內功包括:基本心法和高階心法
基本心法需要每個習武者必須修煉,包括:資料結構、編譯原理、計算機組成原理、高等數學、線性代數以及外語等。
高階心法根據個人需要定,比如:網路類需要學習包括tcp/ip原理等;軟體工程需要學習包括軟體工程的基礎課程。
外功包括:基本招式和獨門武功
基本招式:比如像c,c++,c#,sql,xml 一些語言使用或者是windows 2000 server的知識等基礎應用知識。
高階招式:比如像dx9,web-services高階等技術。
php查web伺服器版本,linux伺服器,更新PHP版本,phpinfo還顯示以前的版本
其實原理就是 server http user agent 這個伺服器變數,然後再借助正則,就得到了。function get os else if eregi win 9x agent strpos agent,4.90 else if eregi win agent ereg 98 agent ...
遠端linux伺服器怎麼開啟xserver服務
夜獨行孤單 大多數時候我們不希望在伺服器上安裝圖形介面,但有時候有些程式需要圖形介面,比如安裝oracle的時候。此時,可以配置讓linux使用遠端的x server進行圖形介面顯示。首先要明確的是linux x window system的基本原理,x是一個開放的協議規範,當前版本為11,俗稱x1...
linux的web伺服器怎麼配置
要看你安裝的是什麼系統,我這裡安裝的是centos 然後再安裝nginx mysql php 就這幾個,你參考下。樓主什麼系統?ubuntu系統。sudo apt install nginx linux作為web伺服器是如何進行預設首頁設定的 一般是在相關http伺服器的配置檔案中指定,例如ngin...