1樓:匿名使用者
都很好啊,都是比較流行的語言
軟體開發需要學什麼?
2樓:沒啥好遊戲
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、自行設計開發新產品,新技術。
3樓:匿名使用者
數學基礎,同時要有一個完整的計算機知識體系結構,包括作業系統體系結構等,研發級崗位的程式設計師往往都需要具有本科及以上的學歷才能勝任。
計算機雖然是高科技的象徵,但又受到其它專業發展的制約。計算機專業知識的學習同樣要加強一些相關知識的學習。計算機學習過程往往是由硬體開始,走向軟體,但最終又會走向硬體。
一個軟體開發高手非常注重程式效率,而效率卻往往與計算機硬體知識是緊密相關。
因此高等數學、離散數學、線性代數等數學知識的學習也有一定需求。尤其是軟體開發高手,開發過程會涉及數學方面往往會更多一些。
要自始自終地加強英語的學習。因為目前的計算機程式設計語言主要是外國開發的,編**的主要語句往往是英文,中文通常是做解釋和說明用。有一定的英文基礎,在計算機學習上可以事半功倍。
4樓:江西新華電腦學院
這是軟體開發的全部課程,要是感興趣的話可以瞭解一下:
第一階段
5樓:匿名使用者
如何成為好的程式設計師?
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高階等技術。
雲端計算和大資料物聯網的關係究竟是什麼
大資料技術 是一種新一代技術和構架,它以成本較低 以快速的採集 處理和分專析技術,從各種超大 屬規模的資料中提取價值。大資料技術不斷湧現和發展,讓我們處理海量資料更加容易 更加便宜和迅速,成為利用資料的好助手,甚至可以改變許多行業的商業模式。大資料 big data 是這樣的資料集合 資料量增長速度...
物聯網,雲端計算,大資料和人工智慧有什麼關係
雲端計算 大資料 人工智慧這三者的發展不能分開來講,三者是有著緊密聯絡的,互相聯絡,互相依託的,脫離了誰都不能更好的發展,讓我們具體來看一下!一 大資料 大資料指無法在一定時間範圍內用常規軟體工具進行捕捉 管理和處理的資料集合,是需要新處理模式才能具有更強的決策力 洞察發現力和流程優化能力的海量 高...
物聯網和雲端計算哪個好一點,物聯網和大資料雲端計算哪個發展前景好一點
二者沒有比較的必要,雲端計算是物聯網服務的基礎,二者相互依存,望採納。物聯網是未來的趨勢 物聯網離不開雲端計算 物聯網和大資料雲端計算哪個發展前景好一點 什麼是物聯網和雲端計算!通俗點謝謝 物聯網是新一代資訊科技的重要組成部分。其英文 名稱是 the internet of things 由此,物聯...