網站首頁 學習教育 IT科技 金融知識 旅遊規劃 生活小知識 家鄉美食 養生小知識 健身運動 美容百科 遊戲知識 綜合知識
當前位置:趣知科普吧 > IT科技 > 

怎麼成爲一名程序員

欄目: IT科技 / 發佈於: / 人氣:2.92W

1、 程序員意味着要編程序。(如果你僅僅想得到一份高薪水的工作,喝喝咖啡就等老闆發薪水,我奉勸你還是另找一份更合適的工作,譬如練攤,真的,兄弟,這份工作不適合你) 2、你是學文的還是學理的,編程序也許需要浪漫,但更需要邏輯和嚴謹。

本文我們將從以下幾個部分來詳細介紹如何成爲一名程序員:網絡編程、桌面軟件編程、分佈式程序設計、庫/平臺/框架/核心編程、系統編程、編程科學、參考

成爲程序員是一個日積月累的過程,需要日復一日年復一年的技能增長。編程本身是有趣的,並且有回報(腦力層面、精神層面、經濟層面)。這份指南不能保證你輕鬆當上程序員。不要神化下面這些步驟,從中你大概能瞭解在現今編程界如何成爲一名程序員。

怎麼成爲一名程序員

一、需求理解能力 在開發過程中,要在需求細節不明的情況下,有責任設法搞清楚,積極學習編程思想和方法,並在設計、編碼工作中自覺應用,對有一些複雜程度的設計,主動申請設計審查。並能在開發用戶介面之前,儘可能使用介面原型方法獲取用戶的

第1步:學習下列這些學科中一兩門引導性課程:

1 學習如何編程 這當然是最基本的黑客技術。如果你還不會任何計算機語言,我建議你從Python開始。它設計清晰,文檔齊全,對初學者很合適。儘管是一門很好的初級語言,它不僅僅只是個玩具。它非常強大,靈活,也適合做大型項目。 但是記住,如果

邏輯學

離散數學

第2步:學習數據庫概念,比如表,視圖/查詢和進程。

首先先選擇一門語言 現在比較火的是sun公司的java 和微軟的C# 友情提示:java移植性很好,這是網絡平臺所需要的。C#只能執行在微軟的平臺,有侷限性。 我不排斥其他的計算機語言 不過一般只要學懂一門語言後就相當進入程序的天堂,在學其他的語

你可以使用任何簡單的數據庫包來完成這些,比如:

做爲一名程序員至少熟練掌握兩到三種開發工具的使用,這是程序員的立身之本,其中C/C++和JAVA是重點推薦的開發工具,C/C++以其高效率和高度的靈活性成爲開發工具中的利器,很多系統級的軟件還是用C/C++編寫。而JAVA的跨平臺和與WEB很好的結合是J

MS Access

【職位名稱】程序員 【是什麼】 程序員是指從事程序開發、維護的專業人員,一般分爲程序設計人員和程序編碼員。 【做什麼】 ① 項目策劃、市場調查; ② 用戶的需求分析,策劃程序框架、流程; ③ 編寫代碼,開發程序,同時編寫開發文檔; ④ 測試,

DB V

Fox Pro

當你自己真正的完成一個程序時你就能夠成爲一個真正的程序員了。之前是需要你向前輩們認真學習的階段。 如何成爲一個優秀的程序員: 同一時間處理多個工作任務,我們對這種情況並不陌生。有時候是迫不得已,但有時候也是個人的習慣造成的。“同一

Paradox

程序員都有什麼特質? 1.有獨立思考解決問題的能力 2.好奇心強,有探索精神 3.邏輯思維能力很強 既然決定了要做一名程序員,而且做好了充分的心理準備了,就要了解程序員都有什麼特質,而現在自己自己距離這個還有多少差距?沒有人能隨隨便便就

MySQL是一個很值得學習的數據庫,因爲它免費且通用,數據庫常常用於SQL查詢。

[經驗之談]30歲,我的程序,我的夢! 程序人生 : 30歲,我的程序員夢想 作 者: redbridge (雪燃) 30歲,開始實現我的程序員夢,從一個編程愛好者,從一個業餘的程序員,一個水平不高的程序員,一個半道出家的程序員 我的經歷到這裏就告一

第3步:想好你要成爲哪種程序員。

[經驗之談]30歲,我的程序,我的夢! 程序人生 : 30歲,我的程序員夢想 作 者: redbridge (雪燃) 30歲,開始實現我的程序員夢,從一個編程愛好者,從一個業餘的程序員,一個水平不高的程序員,一個半道出家的程序員 我的經歷到這裏就告一

通常程序員會是下面某一種:

首先要熟練一種編程語言,編程是一通百通的,以後學別的語言就可以基於這種語言的理解,學起來會快好多; 其次,算法與數據結構是很重要的,不但以後找工作會考到,在實際的運用中也會起到潛移默化的作用; 第三,好的程序員是要靠代碼的積累的

網絡程序員

桌面軟件程序員

牛的人總是讓人羨慕,但如何才能讓自己成爲牛的人對我們來說更重要,本文分享的是如何才能成爲java進階程序員,你和java進階程序員只差這一篇雞湯!乾了這碗雞湯,未來不可限量! 1、離開舒適區,提高個人代碼能力 不安於現狀,進階程序員一

操作系統程序員(有單系統,也有多系統)

1:團隊精神和協作能力 ,和基本的操作常識,缺乏這種素質的人就完全不合格了。 2.要有做文檔的習慣,缺乏文檔,一個軟件系統就缺乏生命力,在未來的查錯,升級以及模組的複用時就都會遇 到極大的麻煩。 3:規範化,標準化的代碼編寫習慣 。 4.

獨立平臺程序員

優秀的程序員要具備很強的分析,和思維能力,我是一個Java JSP 的程序員,以我自己的感覺,程序員的理解能力要很強,因爲我們做一個業務系統需要了解這個業務的邏輯,纔可以去開發,至於學什麼語言,我覺得只要你可以精通一種語言,其他的你就都

分佈式程序設計員

牛的人總是讓人羨慕,但如何才能讓自己成爲牛的人對我們來說更重要,本文分享的是如何才能成爲java進階程序員,你和java進階程序員只差這一篇雞湯!乾了這碗雞湯,未來不可限量! 1、離開舒適區,提高個人代碼能力 不安於現狀,進階程序員一

庫/平臺/框架/核心程序員

成爲一名優秀的碼農,至少要避免出現下列問題 1、沒有明確的目標 心中沒有終點目標,那就只會隨波逐流。如果你想在軟件開發的職業生涯上獲得成功,那麼你需要有一個明確的目標。你應該有堅實的目標——在某個時間段內的首要目的——明確定義的目標。

系統程序員

內核程序員

驅動程序員

編譯程序員

編程科學家

怎麼成爲一名程序員 第2張

第4步:瞭解你的編程領域內相關技術和編程語言。

從初入職場菜鳥到職場大咖,很多程序員在努力充實自己,有時候我們需要對自己進行一次能力定位,瞭解自己的優勢和沒有掌握的技術。芯學苑列出幾點作爲初入職場的新手評估自己,明瞭前進學習的方向。 1、技術能力(解決問題的能力) 這是非常重要的

下面的部分詳細給出了成爲不同類型程序員所需的步驟。

做程序員最需要的就是熬得住,有時候你努力了很長一段時間可能一點好的結果都沒有這是很正常的。所以就看你的耐心怎麼樣。如果你僅僅是有,想進入這個行業嘗試,那做爲前輩來說我還是奉勸你打消這個念頭,到IT裏面做程序設計是很辛苦的,很

第一部分:網絡編程

成爲一名出色的程序員的基本規則: 1.紮實的基矗數據結構、離散數學、編譯原理,這些是所有計算機科學的基礎,如果不掌握他們,很難寫出高水平的程序。據我的觀察,學計算機專業的人比學其他專業的人更能寫出高質量的軟件。程序人人都會寫,但當

怎麼成爲一名程序員 第3張

第1步:瞭解網絡編程的含義。

我建議你看一下網上很火的一篇文章叫:程序員的十層樓。 我再寫寫我自己的經驗吧: [經驗之談]30歲,我的程序,我的夢! 程序人生 : 30歲,我的程序員夢想 作 者: redbridge (雪燃) 30歲,開始實現我的程序員夢,從一個編程愛好者,從一個業餘

網絡應用是指設計在網絡結構頂層的軟件部分。這就意味着這些應用是透過諸如火狐或IE之類的瀏覽器來處理的。架構於網絡結構的頂層並不一定要連接到網絡。這就是說網絡應用建立在如下標準網絡技術的頂層:

【職位名稱】程序員 【是什麼】 程序員是指從事程序開發、維護的專業人員,一般分爲程序設計人員和程序編碼員。 【做什麼】 ① 項目策劃、市場調查; ② 用戶的需求分析,策劃程序框架、流程; ③ 編寫代碼,開發程序,同時編寫開發文檔; ④ 測試,

HTTP

FTP

POP3

SMTP

TCP

IP協議

HTML

XML

Coldfusion

1,先學習語言本身,那就邊看邊把程序抄到電腦上執行,不要希望每次都抄的很正確,要注意在錯誤中慢慢體會語言本身爲什麼要這樣規定,慢慢理解語言。(這裏所說的語言當然指的是java語言啊) 2,等學好了java語言本身,就要學習學習java的檔案輸

ASP

JSP

PHP

ASP.NET

對於軟件開發人員來說,通常,他們職業發展有幾個選擇:專注於技術,成爲技術專家;轉型到技術型銷售、技術支援等;所以要想走得遠一點,必須有一項本領是過人的。 隨着技術成長,從技術性管理到進階管理。這是大家都看得清楚的方向,也都在向這

第2步:瀏覽不同的網站,瞭解它們的外觀。

1,文檔習慣 :文檔是一個軟件系統的生命力。一個公司的產品再好、技術含量再高,如果缺乏文檔,知識就沒有繼承,公司還是一個來料加工的軟件作坊。作爲代碼程序員,必須將30%的工作時間寫用於技術文檔。沒有文檔的程序員勢必會被淘汰。 2,模組

(右擊,選擇“檢視源”或按F12。)尋找網站類型/內容的多樣性,而非數量。通常你需要訪問以下網站類型中至少一種:

1、 程序員意味着要編程序。(如果你僅僅想得到一份高薪水的工作,喝喝咖啡就等老闆發薪水,我奉勸你還是另找一份更合適的工作,譬如練攤,真的,兄弟,這份工作不適合你) 2、你是學文的還是學理的,編程序也許需要浪漫,但更需要邏輯和嚴謹。

團體網站(商業公司,非營利機構/組織,政府組織)

資訊技術的更新速度是驚人的,程序員的職業生涯則是一個要求不斷學習的過程,永遠不能固步自封。本人在工作期間曾看見過很多程序員只要有閒暇時間就瀏覽一些沒有太大作用的網頁,在網上聊天,打遊戲,浪費了大量的時間,十分不可齲而另外一種情

網絡索引引擎(搜尋引擎,meta搜尋網站,專業化搜尋引擎,目錄)

做爲一名程序員至少熟練掌握兩到三種開發工具的使用,這是程序員的立身之本,其中C/C++和JAVA是重點推薦的開發工具,C/C++以其高效率和高度的靈活性成爲開發工具中的利器,很多系統級的軟件還是用C/C編寫。而JAVA的跨平臺和與WEB很好的結合是JAV

數據挖掘網站

[經驗之談]30歲,我的程序,我的夢! 程序人生 : 30歲,我的程序員夢想 作 者: redbridge (雪燃) 30歲,開始實現我的程序員夢,從一個編程愛好者,從一個業餘的程序員,一個水平不高的程序員,一個半道出家的程序員 我的經歷到這裏就告一

個人網站

資訊/百科全書式網頁(維基,數據單,技術規格,人工列表目錄,博客和日誌,新聞和新聞機構網站,黃頁,等等。)

社交網站(社交門戶,書籤網站,記錄筆記網站)

合作網站(這包含了上面提及的目錄,比如維基和博客)

第3步:學習至少一種頭腦風暴技術/方法,並學習一個用來實現頭腦風暴的軟件。

例如:頭腦風暴圖和微軟Visio。

怎麼成爲一名程序員 第4張

第4步:熟悉網站結構。

指的是創建概念化網絡範式、網絡地圖和導航結構。

怎麼成爲一名程序員 第5張

第5步:趕緊學一門圖形設計的課程。

儘量學習至少一個圖形編輯/操作軟件包(不是必須的,但強烈推薦)

第6步:瞭解網絡下部構造的基本情況。

包括瞭解以下:

基本網絡服務協議(HTTP,FTP, SMTP和POP3或IMAP4)

網絡服務器軟件(最好其中一個就是你以後主要工作的平臺)

網絡瀏覽軟件

郵件服務器和客戶端軟件

第7步:學習HTML和CSS語言。

或許你還想要“所見即所得”軟件包來編輯HTML。

怎麼成爲一名程序員 第6張

第8步:學習XML及其相關技術,比如XSL和XPath(不是必需,僅作推薦)。

怎麼成爲一名程序員 第7張

第9步:先建立簡單的靜態網站,直至你熟悉並習慣HTML語言。

怎麼成爲一名程序員 第8張

第10步:學習客戶端腳本語言。

多數人要麼學Java,要麼學VB,但也有一些人學習Perl和DHTML。

第11步:熟悉你所學的客戶端腳本語言。

潛意識裏提醒自己只用你學的那個語言。只有在你熟悉你的客戶端腳本語言之後才能進入下個步驟。

第12步:學習至少一種服務器端腳本語言。

如果你只用一種服務器軟件,那就學其中一種編程語言。否則,你得每個服務器軟件都學至少一種編程語言。

第13步:學完服務器端編程語言之後就開始創建一個試驗項目。

第14步:獲得你的網站,開始用你自己的網頁實驗。

第二部分:桌面軟件編程

怎麼成爲一名程序員 第9張

第1步:弄清楚桌面軟件編程是怎麼回事。

多數桌面軟件程序員都是編寫商務需要的代碼,所以好好了解一下商業及其組織和經濟結構將對節省時間、提高效率大有裨益。

怎麼成爲一名程序員 第10張

第2步:瞭解不同的電腦硬件結構。

看看數字電路設計和電腦結構的入門級課程,但是也有人認爲這對於剛起步來說太超前了,所以看兩三篇說明的文章(比如 這一篇 和 這一篇)就夠了。學完第一種編程語言後你可以再返回這個步驟。

第3步:學習一種入門級(小孩子學的那種)編程語言。

不要因爲你不是個小孩子就不好意思去學。這些入門級語言能大大減輕你正式學習第一門編程語言時的痛苦和壓力。然而這一步也不是必須的。你也可以在上一步之前完成。

第4步:學習程序化、面向對象、函數設序設計規範的入門。

第5步:學習一種程序化程式設計語言的入門課程。

無論你以後選擇何種編程語言,在某種程度上它都要求程序化程式設計。此外,據多數程序員反映,程序化程式設計總的來說是瞭解編程的一個很好的切入點。

第6步:學習至少一種進階建模技術,比如UML 或ORM。

怎麼成爲一名程序員 第11張

第7步:開始編寫一些小的主控臺應用程式或類似的應用程式。

你可以利用編程書中的常見小練習。選擇一個工具,用你所學的編程語言編寫程序。

怎麼成爲一名程序員 第12張

第8步:學習一門你選擇的編程語言的更進階課程。

確保進展之前先理解下列概念,並能熟練運用。

對程序用戶輸入輸出資訊。

程式化設計語言寫成的程序中的邏輯流程和執行流程。

聲明、分配和比較變量

編程結構分支,比如if..then..else 和 select/switch..case.

循環結構,比如while..do, do..while/until, for..next.

創建、調用程序與函數的編程句法

數據類型及如何操控

用戶定義數據類型(records/structs/units)及其使用

如果你的語言支援超載函數,理解它。

你選擇的語言的內存處理方式(指針,變量窺視,等等。)

如果你的語言支援運營商超載,理解它。

如果你的語言支援delegates/函數指針,理解它。

第9步:應用你所學的進階技能

面向對象的規範

怎麼成爲一名程序員 第13張

第10步:至少再學習一門編程語言規範的入門課程。

推薦學習每種範式的編程語言,多數進階程序員確實是這麼做的,然而,通常你開始時只學一種,應用所學知識訓練了一段時間,獲得了編程的鮮活經驗,然後接着學習另一種。試試下面的語言:

邏輯編程範式

函數編程範式

怎麼成爲一名程序員 第14張

第11步:試着比較你所學的兩門編程語言。

評估各自利弊。通常可按以下方法完成

拿出你在學習第一門編程語言時編寫的簡單範例,現在用第二門語言重新編寫。

創建一個工程,儘量用上兩種語言完成它。有時取決於你選擇的工程和語言,你可能僅用一門語言還無法完成這個工程呢!

寫一份兩種語言之間相似結構和獨特之處對比的速查表或一覽表。

儘量使用另一門語言找到模仿這兩門語言中獨特之處的辦法。

第12步:利用你學過的一種語言來學習可視化編程概念。

幾乎所有的編程語言都具有支援可視化編程和其他支援控制檯或類似控制檯編程的版本/庫。同時進行的包括:

初步瞭解事件驅動編程。在某種程度上,多數可視化編程依賴事件及事件處理(用上你選擇的語言)。

儘可能多的嘗試桌面軟件,理解軟件是做什麼的。多數軟件開發公司會提供產品的測試版,你可以拿來測試軟件。在完善用戶介面方面保持更新。

閱讀關於圖形用戶介面的文章或教程。

怎麼成爲一名程序員 第15張

第13步:開始把你所學的知識運用到你設計的軟件小工程中。

儘量把你的編程專業知識運用到你日常生活中的問題上。比如,編寫程序,批量重命名檔案,視覺上比較文字檔案,複製目錄裏的檔案名到內存/文字檔案之類的東西。剛開始簡單一點。

怎麼成爲一名程序員 第16張

第14步:創建一個虛擬的“畢業工程”。

把這個放到最後完成,用上你到目前爲止學到的可視化編程技術。

第15步:透過學習更進階的課程、更加註意細節以及在網上學習搭建架構的技巧,來加深對你學過的可視化架構/庫/包的理解。

怎麼成爲一名程序員 第17張

第16步:搜尋其他含可視化元素的包/庫並學習它們。

第17步:學習圖形學課程(而非圖形設計)。

對於想要寫出吸引人的用戶介面元素的程序員來說,這將大有裨益。

第18步:成爲遊戲程序員(不是必須的)。

很大程度上游戲編程是被當作桌面編程的。如果你想成爲遊戲程序員,完成這些步驟後你需要進一步學習遊戲編程。對於遊戲程序員而言,圖形學課程是必須的,後續步驟中第二門語言應該選擇邏輯/函數編程語言(最好是Prolog或Lisp)。

第三部分:分佈式程序設計

怎麼成爲一名程序員 第18張

第1步:處理分佈式應用編程。

分佈式應用編程被許多人認爲是最難學的一種,它要求計算機和通信技術中的不同知識。

第2步:快速瞭解通信系統及其硬件。

這個步驟不是必須的,但是對於理解網絡拓撲結構很有用。

怎麼成爲一名程序員 第19張

第3步:熟悉網絡硬件結構和設備,比如集線器、接線臺和路由器。

第4步:學習網絡協議的課程。

在你開始分佈式應用編程之前,你需要好好理解“開放系統互聯 (OSI) ”模型、以太、IP、TCP、UDP和HTTP 。

怎麼成爲一名程序員 第20張

第5步:學習XML 語言,並熟悉它。

第6步:開始學習一門shell腳本語言。

對基於Windows的編程,可以是任何能與Windows腳本宿主相容的腳本。對基於Linux的編程,Bash腳本和 Perl就夠了。對這兩個平臺都強烈推薦Java,原因如下:

幾乎所有操作系統的都支援腳本宿主(Windows 腳本宿主默認支援java ,大多數Linux發行版都有支援java腳本控制的包)。

許多開發者認爲它很容易學。

當你需要學第二門編程語言(C,C++,C#,Java和J#都有ALGOL開源句法)時,它擁有的ALGLO開源句法就能使你熟悉更多編程語言

透過學習java,你會熟悉網頁的客戶端腳本,這可謂一大福利!

怎麼成爲一名程序員 第21張

第7步:開始時用上你學的腳本知識,只運用程序化程式設計。

之後,根據你的腳本語言和它所支援的,你可以用上更進階的編程技巧和範式。所有的腳本語言在某種程度上都有程序化程式設計的一些方面。

怎麼成爲一名程序員 第22張

第8步:使用你所學的腳本語言,寫出實現機器之間通信的腳本。

學習完成這個所必需的東西。簡單的通信就足夠了。

怎麼成爲一名程序員 第23張

第9步:轉移到桌面腳本/編程語言。

一個比較好的是多範式語言,比如Python。簡單瞭解第二門語言。有許多理由讓多數程序員選擇java。然而,在這個領域內C#正在獲得多數優勢。Java和C#被青睞的原因如下:

它們是面向對象的編程語言,使大量程序員免遭實現細節之苦,因爲它們都支援組成部分(代碼單元、預編譯,它們可以執行特定任務,並被用到其他程序中)。

它們支援事件驅動編程,在某種程度上還支援OO和程式化程序設計。

建立語言的架構按屬性分佈(比如Java)。

有許多現成的包來處理。社交網絡同時作爲開原始碼和架構內置包,這使得程序員繼續其他人工作更加容易。

怎麼成爲一名程序員 第24張

第10步:專注於語言的核心部分,尤其hi那些支援網絡。

少注意用戶介面元素,比如輸出,視窗設計和技術等。

第11步:學習分佈式應用設計與結構的課程。

可以透過書本、網上教程或學術課程來完成。然而,十分有必要理解分佈式應用的結構及其概念。

第12步:使用你所學的編程語言來了解服務部分建構和服務。

怎麼成爲一名程序員 第25張

第13步:學習如下技術中一種或更多。

推薦你每一種都瞭解以下。多數分佈式應用程序員不會止於一兩門編程語言,他們會每個操作系統各學至少一種語言。這是因爲如果你希望你的應用“分佈式”,你應該至少爲每個主要的操作系統各提供一個版本。

公共對象訪問代理體系結構(CORBA)

簡單對象訪問協議(SOAP)

異步JavaScript和XML(AJAX)

分佈式組建對象模型(DCOM)

.NET遠程處理

XML 網絡服務

第四部分:庫/平臺/框架/核心編程

第1步:瞭解什麼是核心編程。

核心程序員幾乎都是進階程序員,已經從編寫應用轉變爲給其他程序員編寫代碼彙編。

怎麼成爲一名程序員 第26張

第2步:學習一門支援創建可重複使用內容/包的編程語言,如果你還沒學過的話。

怎麼成爲一名程序員 第27張

第3步:學習一門UML 和ORM的進階課程。

多數庫開發者使用其中一種,或兩種都用。

第4步:學習軟件工程的課程。

第5步:學習至少一個模組,基於內容的、面對對象的和 事件驅動編程技術和概念。

你所學覆蓋越多編程範式和語言,你就能成爲越成功的庫/包程序員。

怎麼成爲一名程序員 第28張

第6步:進一步瞭解不同的操作系統及其支援的編程架構。

第7步:集中學習獨立平臺架構、編程語言和技術。

怎麼成爲一名程序員 第29張

第8步:如果到目前爲止你學習的編程語言具有ANSI/ISO/EEE/W3C標準版本,那麼掌握這些標準。

無論何時儘可能使用標準代碼。

第9步:嘗試模擬簡單的、已經建立的庫,尤其是開源的庫。

這在成爲庫/包程序員的早期階段十分有用。從簡單的包開始,比如單位轉換和中間科學計算包。如果你是大學生,利用你的非編程課程,嘗試把這些課程的方程式與核心科學用作庫。

第10步:在你的編程領域內尋找開源的包。

首先下載包的二進制/可執行檔案。儘量去用,並發現它的利弊。之後,下載源,儘量弄明白它是怎麼完成的。嘗試再創造這些庫或其部分。剛開始,看完代碼再做;之後,先做再看代碼。後期階段,嘗試完善那些庫。

怎麼成爲一名程序員 第30張

第11步:學習不同方法。

給程序員分發、配送內容。

通常,庫/包程序員傾向於以遞歸和/或迭代的思想來思考他們面臨的所有問題 。儘量把每個問題當作一個小問題的彙編(一系列更小的任務)或一個重複的不斷縮小問題範圍直至把這些更小的範圍彼此堆到一起的處理過程去思考。

庫/包程序員傾向於概括化。也就是說,當面臨一個特定的簡單的問題時,他們通常會想到一個更爲概括的問題,並努力解決這個更概括的問題,如此,小問題便不攻自破。

第五部分:系統編程

第1步:瞭解系統編程的定義。

系統編程處理的是編程的“科學”,而不是具體的編程實現。不要把你自己栓到特定平臺上。

第2步:跟着“桌面應用程序員”的前三個步驟。

怎麼成爲一名程序員 第31張

第3步:學習線性代數的入門課程。

怎麼成爲一名程序員 第32張

第4步:學習微積分課程。

怎麼成爲一名程序員 第33張

第5步:學習邏輯學和/或離散數學課程。

怎麼成爲一名程序員 第34張

第6步:瞭解不同的“準操作系統”。

這可以透過以下途徑完成:

瞭解操作系統是如何安裝的。

瞭解在一臺PC上如何安裝不同的操作系統(不是必須的,但作爲推薦)

安裝不止一種操作系統。不要在系統中安裝任何輔助包,相反,僅利用操作系統本身提供的函數。

第7步:學習計算機硬件結構的課程(或者作爲替代,看看書)。

第8步:深入理解不同的計算機硬件平臺。

第9步:初步熟悉你所選擇的硬件平臺/操作系統的彙編語言。

稍後你會學習其他平臺/系統的彙編。

第10步:學習ANSI C 和 C++ 語言,還有程序化程式設計的一些概念。

怎麼成爲一名程序員 第35張

第11步:在你選擇的平臺上理解並實踐C/C++標準庫。

尤其注意標準模板庫(STL)和活動模板庫(ATL)。

第12步:搜尋網絡資源、書籍和課程來理解你的平特的C風格。

第13步:用C/C++練習編寫進階代碼。

怎麼成爲一名程序員 第36張

第14步:學習更進階的Assembly。

第15步:學習操作系統設計的課程。

怎麼成爲一名程序員 第37張

第16步:尋找並閱讀你所選擇的平臺的相關文章。

如果你選的是基於Unix的操作系統就會容易得多。充分理解你今後將要用來工作的系統。

第17步:練習你已經掌握的知識。

首先創建小的系統軟件。如下通常很有用:

試着重創你係統中已有的小工具。

試着把其他系統中的應用移植到你的系統裏。

怎麼成爲一名程序員 第38張

第18步:以最有益的順序學習語言。

此處是唯一強調第一門編程語言的地方。首先學習ANSI C 而不是 C++、C#、Java 、D。然後學習 C++。

你第一門語言僅爲C是因爲系統編程要求程序員熟悉如下概念:

原始碼真實、完全的編譯

低級對象輸出檔案

連結二進制

低級機器語言/彙編編程。C語言被某些人認爲是僞飾過的/更容易學習的彙編語言。只要你願意,它還支援插入彙編語言代碼,並且它只是程序化的(像彙編)。

第六部分:編程科學

第1步:瞭解編程科學家是做什麼的。

編程科學家是十分進階的程序員,他們不開發程序,但他們研究計算科學,比如密碼學、編程語言和數據挖掘算法。沒有深入的學術研究是很難達到這個水準的。

第2步:累積和四年制計算機科學學歷同等多的科學知識。

可透過如下其中一種完成:

獲得真實的學術學歷(這也是通常情況)。

從現代大學中獲得該學歷要求的課程大綱,自學課程或 分開一門門學。理論上這樣做也可以,但還是推薦第一種做法。

怎麼成爲一名程序員 第39張

第3步:選擇特定的領域。

越具體越好。這取決於你的偏好。但是這裏給出計算機編程領域中一些主要的課題:

算法設計(例如搜尋、分類、密碼、解碼、錯誤檢測 等)

編程語言/編譯器設計/最優化

人工智能領域(模式識別,語音識別,自然語言處理,神經網絡)

機器人技術

科學編程

超級計算

計算機輔助設計/模式(CAD/CAM)

虛擬現實

計算機圖形學(計算機圖形學通常和圖形設計或圖形用戶介面設計混淆,計算機圖形學是研究如何表示和操控計算機系統中的圖形的領域)

怎麼成爲一名程序員 第40張

第4步:考慮獲取更進階的學歷。

或許你想追求碩士學歷或博士學歷。

第5步:瞭解你選擇的編程領域的相關技術和編程語言。

小提示

不管你想嘗試哪種編程,不管你想達到何種水平,考慮去學校或本地社區大學上課。不要被諸如“計算機科學”一類的術語嚇到。你參加的任何不需要預備課程的課程都應該集中教一些編程的基礎知識。在上課之前先諮詢一下老師或客服,確保這門課是你想要的,像“計算機文化”這樣的課很有可能更多地集中在教你更熟悉辦公應用之類。

擴展閱讀,以下內容您可能還感興趣。

如何成爲一個JAVA程序員

[經驗之談]30歲,我的程序,我的夢!

程序人生 : 30歲,我的程序員夢想

作 者: redbridge (雪燃)

30歲,開始實現我的程序員夢,從一個編程愛好者,從一個業餘的程序員,一個水平不高的程序員,一個半道出家的程序員......

我的經歷到這裏就告一段落了,五年裏跳了五次槽,不知道和大家比算不算多J,沒有什麼太多起伏,但我想很多朋友可能會和我有類似的經歷,不知道能不能引起你們的共鳴。我想對我上面所說的話給一個總結:

1. 如果你覺得自己應該追求什麼,不管遇到什麼困難千萬不要放棄,一定要堅持下去。

2. 不要因爲自己年輕就找理由揮霍時間,少玩一點SC、CS、魔獸3、傳奇、魔力或者…….,多看點書,多練練題。

3. 如果你還是在校的學生,英語很差,專業課也很差。沒關係,想怎麼學計算機就怎麼學計算機吧。其它地只要能混到畢業證就行了。除非你對自己的未來沒有信心。(當然,如果你的理想不僅僅是要做一個程序員,那你別丟掉英語。)

4. 如果你不是科班出身,想要轉行而不知該怎麼開始的話,建議你先看兩類書:(1)計算機原理;(2)數據結構和算法。(看數據結構之前先看C語言)。

5. 什麼時候努力都不晚,關鍵是你明白要努力了,大器晚成總比一事無成要好的多。

6. Java、.net、C++、PB、VB、Delphi、彙編到底應該學哪個?我的經驗,哪個最簡單就先學哪個、公司用哪個你就學哪個、哪個和你有緣(比如剛好你認識一個願意幫助你的Delphi高手)你就學哪個,如果你都學,或者三天兩頭的換,我可以告訴你結果肯定是什麼都不會,不要心浮氣燥,他們都只是工具,學精一門其它的就相通了,重要的是掌握編程的思想。如果你問我面向對象(好像現在已經是面向需求了)、UML、WebLogic、WebService、軟件工程、XML…….應該怎麼學呀,對不起,這些我也確實不是都會,但請相信,你先實實在在的寫上十萬行以上的代碼以後,那些東西你自然就慢慢會了。

7. 不要以爲程序員的工資都很高,程序員之間的水平差異也大。公司衡量一個人的待遇標準是他能給公司帶來多大的效益。如果你體現了自己的價值,公司會主動給你加薪的,當然你也可以自己主動提,但一定要在你表現出了自己的價值之後。

8. 輕易不要跳槽,如果非要跳,也要保持工作經驗上的延續,而不是從新開始,不然就會象我一樣走很多彎路。

9. 如果你以爲程序員都是熬夜熬出來的,那麼你錯了,因爲它的代價就是縮短你的青春!大家不要象我一樣,真的,熬夜一點也不好!記住*的話:如有恆,何須三更起,半夜眠;最怕莫,三天打魚兩天曬網,竹籃打水一場空!

10. 這一點是我覺得最精華的一點:“君子性非異也,善假於物也。”這句話的本意是一個水平很高的人本身並不一定很高明,關鍵是他善於利用別人的高明!我在這裏做個借鑑,就是要充分利用自己身邊的資源,不放過任何一個可以提高自己的機會。大家不要誤會,這裏的假於物可不是指抄襲別人的原始碼,而是指透過學習別人的原始碼把他的思想擴展到自己的思想裏去。

注:上面的十大“精華”純屬我個人的“謬論”,您自己看着消化,有用的收下,沒用的請拖入“回收站”。如果你覺得這些總結不過是一些浮華之詞,那請你先問問自己:“是不是在行動上都真正做到了。”

這就是我,一個不算優秀,不算勤奮;玩能玩通宵,學也學能學通宵;對夢想的追求很執着;到了30纔開始真正寫程序;一個很平凡但又不甘於平凡的人……我的經歷相信很多朋友都有過的,我現在也不能算是一個成功人士,但我相信我的經歷卻是值得大家借鑑的,因爲我終究代表了一類人。

最後我還想說一點:現在很多朋友都抱怨中國的軟件業環境太差,前途渺茫。確實是這樣,我有同感。不過我想軟件業不過是千萬個行業中的一種,每一個行業總是會有起落的,中國的軟件業環境差有她的歷史原因,我們不要總是簡單地和印度相比。抱怨沒有意義,已經這樣了,抱怨不能使她變好,希望我們每一個人多貢獻一份自己的力量,總有一天她會變的比印度還好,甚至比美國還好。

最後:希望所有的程序員和擁有成爲程序員夢想的朋友們在新的一年裏心想事成,萬事如意。請相信我:明天不一定更美好,但美好的一天一定會來!

想成爲一名出色的程序員,需要掌握哪些知識

首先要熟練一種編程語言,編程是一通百通的,以後學別的語言就可以基於這種語言的理解,學起來會快好多;

其次,算法與數據結構是很重要的,不但以後找工作會考到,在實際的運用中也會起到潛移默化的作用;

第三,好的程序員是要靠代碼的積累的,程序員光看書不實際是不會深刻理解語言的;

第四,好的程序員要多看代碼,尤其大師寫的代碼,現在網上開源的代碼不在少數,一搜一大把,要比較研究,纔會有所收穫;

第五,優秀的程序員不僅要擅長一門語言,還要熟悉多門語言,不同語言的思想方法是不同了,接觸了別的語言,會對自己使用的語言有更好的理解和運用;

第六,程序員還要熟練語言的用法,還要了解語言的原理,比如怎麼樣讓寫代碼可以讓程序崩潰等等。

第七,程序員不僅要會寫代碼,還要寫好看的代碼,格式規範必須嚴格要求,這樣不僅自己看的輕鬆,也是對別的程序員的負責;

第八,還要了解數據的儲存和讀取等等。

這些是我所有能想到的了。。。

如何成爲一名進階程序員??

牛*的人總是讓人羨慕,但如何才能讓自己成爲牛*的人對我們來說更重要,本文分享的是如何才能成爲java進階程序員,你和java進階程序員只差這一篇雞湯!乾了這碗雞湯,未來不可限量!

1、離開舒適區,提高個人代碼能力

不安於現狀,進階程序員一般都具有豐富的項目經驗,經驗是能力最好的試金石,即使在碰到未知的問題,豐富的項目經驗也不會讓你覺得就束手無策。程序員是一個技術跨度很大的工種,對某種既定環境語言的依賴性太強,知識和技能都無法很好的遷移。

2、將複雜的問題簡單化處理

喬布斯曾經說過,簡單便能移動一座大山。一個進階程序員之所以讓人覺得牛*,不僅僅能用寫出優雅簡潔的代碼,更重要的是他們還能將這種化複雜爲簡單、化繁爲簡的功力內化至各項工作,不管是面對多複雜的項目、多棘手的 bug 都能面不改色、心不跳,步步拆解問題,逐一各個擊破。

3、自我總結,提升學習和解決問題能力

代碼能力、工作狀態只是一個進階程序員區別於普通程序員的外在表現,王者和青銅的核心區別在於思考方式和解決問題能力的區別。進階程序員可能每天會花半個小時總結當天的項目經歷,反思自己的不足,思考問題解決或優化的方案。區別於初級程序員,進階程序員總結問題的往往能從本質出發,不會只停留在表面,弄清問題內在聯繫,抓住問題關鍵。這也就解釋了爲什麼拿到一個項目需求,很多進階程序員不會首先去想代碼實現,而是去想需求與架構的行爲。

4、責任心和需求理解能力

進階程序員對自己的要求不僅*於完成項目、解決問題本身,往往還會去思考並權衡需求涉及的一切,比如如何去支援設計模式、庫、框架、重構和流程等,從內核到外層介面,既重視功能需求,還會注意到拓展性能、穩定性等需求,甚至還需要評估設計模組對整個項目中的影響及潛在的威脅。

總結:如何才能成爲進階程序員,關鍵還是思想,學習的思想、總結的思想、創新的思想!

做一個程序員要具備什麼

1:團隊精神和協作能力 ,和基本的操作常識,缺乏這種素質的人就完全不合格了。

2.要有做文檔的習慣,缺乏文檔,一個軟件系統就缺乏生命力,在未來的查錯,升級以及模組的複用時就都會遇 到極大的麻煩。

3:規範化,標準化的代碼編寫習慣 。

4.代碼具有良好的可讀性,是程序員基本的素質需求。

5.程序員需要理解一個模組的需求,把性能指標全部歸結到硬件,操作系統和開發環境上。

6.複用性,模組化思維能力 ,避免大部分重複性工作無謂的浪費了時間和精力。

7. 測試習慣 ,作爲一些商業化正規化的開發而言,專職的測試工程師是不可少的

8..程序員是人才很容易被淘汰,很容易落伍的職業,必須不斷跟進新的技術,學習新的技能。

計算機語言的種類非常的多,總的來說可以分成機器語言,彙編語言,進階語言三大類。

電腦每做的一次動作,一個步驟,都是按照以經用計算機語言編好的程序來執行的,程序是計算機要執行的指令的集合,而程序全部都是用我們所掌握的語言來編寫的。所以人們要控制計算機一定要透過計算機語言向計算機發出命令。

計算機所能識別的語言只有機器語言,即由0和1構成的代碼。但通常人們編程時,不採用機器語言,因爲它非常難於記憶和識別。

目前通用的編程語言有兩種形式:彙編語言和進階語言。

彙編語言的實質和機器語言是相同的,都是直接對硬件操作,只不過指令採用了英文縮寫的標識符,更容易識別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫出來。彙編程序通常由三部分組成:指令、僞指令和宏指令。彙編程序的每一句指令只能對應實際操作過程中的一個很細微的動作,例如移動、自增,因此彙編源程序一般比較冗長、複雜、容易出錯,而且使用匯編語言編程需要有更多的計算機專業知識,但彙編語言的優點也是顯而易見的,用匯編語言所能完成的操作不是一般進階語言所能實現的,而且源程序經彙編生成的可執行檔案不僅比較小,而且執行速度很快。

進階語言是目前絕大多數編程者的選擇。和彙編語言相比,它不但將許多相關的機器指令合成爲單條指令,並且去掉了與具體操作有關但與完成工作無關的細節,例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。同時,由於省略了很多細節,編程者也就不需要有太多的專業知識。

進階語言主要是相對於彙編語言而言,它並不是特指某一種具體的語言,而是包括了很多編程語言,如目前流行的VB、VC、FoxPro、Delphi等,這些語言的語法、命令格式都各不相同。

進階語言所編制的程序不能直接被計算機識別,必須經過轉換才能被執行,按轉換方式可將它們分爲兩類:

解釋類:執行方式類似於我們日常生活中的“同聲翻譯”,應用程序原始碼一邊由相應語言的解釋器“翻譯”成目標代碼(機器語言),一邊執行,因此效率比較低,而且不能生成可獨立執行的可執行檔案,應用程序不能脫離其解釋器,但這種方式比較靈活,可以動態地調整、修改應用程序。

編譯類:編譯是指在應用源程序執行之前,就將程序原始碼“翻譯”成目標代碼(機器語言),因此其目標程序可以脫離其語言環境獨立執行,使用比較方便、效率較高。但應用程序一旦需要修改,必須先修改原始碼,再重新編譯生成新的目標檔案(* .OBJ)才能執行,只有目標檔案而沒有原始碼,修改很不方便。現在大多數的編程語言都是編譯型的,例如Visual C++、Visual Foxpro、Delphi等。

[NextPage]

學習編程,從何入手

如果您想學習編程,卻又不知從何入手,那麼您不妨看看下面的幾種學習方案,可能會給您一些啓示吧!

==============================================

方案一 Basic語言 & Visual Basic

優點

(1)Basic 簡單易學,很容易上手。

(2)Visual Basic 提供了強大的可視化編程能力,可以讓你輕鬆地做出漂亮的程序。

(3)衆多的控件讓編程變得象壘積木一樣簡單。

(4)Visual Basic 的全部漢化讓我們這些見了English就頭大的人喜不自禁。

缺點

(1)Visual Basic 不是真正的面向對象的開發文具。

(2)Visual Basic 的數據類型太少,而且不支援指針,這使得它的表達能力很有限。

(3)Visual Basic 不是真正的編譯型語言,它產生的最終代碼不是可執行的,是一種僞代碼。它需要一個動態連結庫去解釋執行,這使得Visual Basic 的編譯速度大大變慢。

綜述:方案一適合初涉編程的朋友,它對學習者的要求不高,幾乎每個人都可以在一個比較短的時間裏學會vB編程,並用VB 做出自己的作品。對於那些把編程當做遊戲的朋友來說,VB 是您最佳的選擇。

Basic/Visual Basic簡介

==============================================

方案二 Pascal語言 & Delphi

優點

(1)Pascal語言結構嚴謹,可以很好地培養一個人的編程思想。

(2)Delphi是一門真正的面向對象的開發工具,並且是完全的可視化。

(3)Delphi使用了真編譯,可以讓你的代碼編譯成爲可執行的檔案,而且編譯速度非常快。

(4)Delphi具有強大的數據庫開發能力,可以讓你輕鬆地開發數據庫。

缺點

Delphi幾乎可以說是完美的,只是Pascal語言的過於嚴謹讓人感覺有點煩。

綜述: 方案二比較適合那些具有一定編程基礎並且學過Pascal語言的朋友。

Pascal語言簡介

Delphi簡介

==============================================

方案三 C語言 & Visual C++

優點

(1)C語言靈活性好,效率高,可以接觸到軟件開發比較底層的東西。

(2)微軟的MFC庫博大精深,學會它可以讓隨心所欲地進行編程。

(3)VC是微軟製作的產品,與操作系統的結合更加緊密。

缺點

對使用者的要求比較高,既要具備豐富的C語言編程經驗,又要具有一定的WINDOWS編程基礎,它的過於專業使得一般的編程愛好者學習起來會有不小的困難。

綜述: VC是程序員用的東西。如果你是一個永不滿足的人,而且可以在編程上投入很大的精力和時間,那麼學習VC你一定不會後悔的。

C語言簡介

==============================================

方案四 C++語言 & C++ Builder

優點

(1)C++語言的優點全部得以繼承。

(2)完全的可是化。

(3)極強的相容性,支援OWL、VCL和MFC三大類庫。

(4)編譯速度非常快。

缺點

由於推出的時間太短,關於它的各種資料還不太多。

綜述:我認爲C++ Builder 是最好的編程工具。它既保持了C++語言編程的優點,又做到了完全的可視化。

C語言簡介

==============================================

方案五 SQL語言 & Power Builder

對於一些傳統的數據開發人員來說,Foxpro系列也許讓他們感到更加熟悉。但是對於初學者來說,PowerBuilder也許是最好的數據庫開發工具。各種各樣的控件,功能強大的PowerBuilder語言都會幫助你開發出自己的數據庫應用程序。

[NextPage]

JSP簡介

在Sun正式發佈JSP(Java Server Pages)之後,這種新的Web應用開發技術很快引起了人們的關注。JSP爲創建高度動態的Web應用提供了一個獨特的開發環境。按照 Sun 的說法,JSP能夠適應市場上包括Apache WebServer 、IIS4.0在內的85%的服務器產品。

JSP與ASP的簡單比較

JSP與Microsoft的ASP技術非常相似。兩者都提供在HTML代碼中混合某種程序代碼、由語言引擎解釋執行程序代碼的能力。在ASP或JSP環境下,HTML代碼主要負責描述資訊的顯示樣式,而程序代碼則用來描述處理邏輯。普通的HTML頁面只依賴於Web服務器,而ASP和JSP頁面需要附加的語言引擎分析和執行程序代碼。程序代碼的執行結果被重新嵌入到HTML代碼中,然後一起發送給瀏覽器。ASP和JSP都是面向Web服務器的技術,客戶端瀏覽器不需要任何附加的軟件支援。

ASP的編程語言是VBScript之類的腳本語言,JSP使用的是Java,這是兩者最明顯的區別。

此外,ASP與JSP還有一個更爲本質的區別:兩種語言引擎用完全不同的方式處理頁面中嵌入的程序代碼。在ASP下,VBScript代碼被ASP引擎解釋執行;在JSP下,代碼被編譯成Servlet並由Java虛擬機執行,這種編譯操作僅在對JSP頁面的第一次請求時發生。

執行環境

執行 JSP 代碼需要在服務器上安裝 JSP 引擎。此處我們使用的是 Sun 的 JavaServer Web Development Kit ( JSWDK )。爲便於學習,這個軟件包提供了大量可供修改的示例。安裝 JSWDK 之後,只需執行 startserver 命令即可啓動服務器。在默認配置下服務器在端口 8080 監聽,使用 http://localhost:8080 即可開啟缺省頁面。

在執行 JSP 示例頁面之前,請注意一下安裝 JSWDK 的目錄,特別是" work "子目錄下的內容。執行示例頁面時,可以在這裏看到 JSP 頁面如何被轉換成 Java 源檔案,然後又被編譯成 class 檔案(即 Servlet )。 JSWDK 軟件包中的示例頁面分爲兩類,它們或者是 JSP 檔案,或者是包含一個表單的 HTML 檔案,這些表單均由 JSP 代碼處理。與 ASP 一樣, JSP 中的 Java 代碼均在服務器端執行。因此,在瀏覽器中使用"檢視源檔案"選單是無法看到 JSP 原始碼的,只能看到結果 HTML 代碼。所有示例的原始碼均透過一個單獨的" examples "頁面提供。

Java Servlet是一種開發Web應用的理想構架。 JSP以Servlet技術爲基礎,又在許多方面作了改進。JSP頁面看起來象普通HTML頁面,但它允許嵌入執行代碼,在這一點上,它和ASP技術非常相似。利用跨平臺執行的JavaBean 組件,JSP爲分離處理邏輯與顯示樣式提供了卓越的解決方案。JSP必將成爲ASP技術的有力競爭者。

[NextPage]

SQL語言簡介

SQL全稱是“結構化查詢語言(Structured Query Language)”,最早的是IBM的聖約瑟研究實驗室爲其關係數據庫管理系統SYSTEM R開發的一種查詢語言,它的前身是SQUARE語言。SQL語言結構簡潔,功能強大,簡單易學,所以自從IBM公司1981年推出以來,SQL語言,得到了廣泛的應用。如今無論是像Oracle ,Sybase,Informix,SQL server這些大型的數據庫管理系統,還是像Visual Foxporo,PowerBuilder這些微機上常用的數據庫開發系統,都支援SQL語言作爲查詢語言。

Structured Query Language包含4個部分:

數據查詢語言DQL-Data Query Language SELECT

數據操縱語言DQL-Data Manipulation Language INSERT, UPDATE, DELETE

數據定義語言DQL-Data Definition Language CREATE, ALTER, DROP

數據控制語言DQL-Data Control Language COMMIT WORK, ROLLBACK WORK

SQL的歷史

在70年代初,E.E.Codd首先提出了關係模型。70年代中期,IBM公司在研製 SYSTEM R關係數據庫管理系統中研製了SQL語言,最早的SQL語言(叫SEQUEL2)是在1976 年 11 月的IBM Journal of R&D上公佈的。

1979年ORACLE公司首先提供商用的SQL,IBM公司在DB2 和SQL/DS數據庫系統中也實現了SQL。

1986年10月,美國ANSI採用SQL作爲關係數據庫管理系統的標準語言(ANSI X3. 135-1986),後爲國際標準化組織(ISO)採納爲國際標準。

1989年,美國ANSI採納在ANSI X3.135-1989報告中定義的關係數據庫管理系統的SQL標準語言,稱爲ANSI SQL 89, 該標準替代ANSI X3.135-1986版本。該標準爲下列組織所採納:

● 國際標準化組織(ISO),爲ISO 9075-1989報告“Database Language SQL With Integrity Enhancement”

● 美國聯邦政府,發佈在The Federal Information Processing Standard Publication(FIPS PUB)127

目前,所有主要的關係數據庫管理系統支援某些形式的SQL語言, 大部分數據庫打算遵守ANSI SQL89標準。

SQL的優點

SQL廣泛地被採用正說明了它的優點。它使全部用戶,包括應用程序員、DBA管理員和終端用戶受益非淺。

(1) 非過程化語言

SQL是一個非過程化的語言,因爲它一次處理一個記錄,對數據提供自動導航。SQL允許用戶在高層的數據結構上工作,而不對單個記錄進行操作,可操作記錄集。所有SQL 語句接受集合作爲輸入,返回集合作爲輸出。SQL的集合特性允許一條SQL語句的結果作爲另一條SQL語句的輸入。 SQL不要求用戶指定對數據的存放方法。 這種特性使用戶更易集中精力於要得到的結果。所有SQL語句使用查詢優化器,它是RDBMS的一部分,由它決定對指定數據存取的最快速度的手段。查詢優化器知道存在什麼索引,哪兒使用合適,而用戶從不需要知道表是否有索引,表有什麼類型的索引。

(2) 統一的語言

SQL可用於所有用戶的DB活動模型,包括系統管理員、數據庫管理員、 應用程序員、決策支援系統人員及許多其它類型的終端用戶。基本的SQL 命令只需很少時間就能學會,最進階的命令在幾天內便可掌握。 SQL爲許多任務提供了命令,包括:

● 查詢數據

● 在表中插入、修改和刪除記錄

● 建立、修改和刪除數據對象

● 控制對數據和數據對象的存取

● 保證數據庫一致性和完整性

以前的數據庫管理系統爲上述各類操作提供單獨的語言,而SQL 將全部任務統一在一種語言中。

(3) 是所有關係數據庫的公共語言

由於所有主要的關係數據庫管理系統都支援SQL語言,用戶可將使用SQL的技能從一個RDBMS轉到另一個。所有用SQL編寫的程序都是可以移植的。

[NextPage]

Java語言簡介

一. Java的由來

當1995年SUN推出Java語言之後,全世界的目光都被這個神奇的語言所吸引。那麼Java到底有何神奇之處呢?

Java語言其實最是誕生於1991年,起初被稱爲OAK語言,是SUN公司爲一些消費性電子產品而設計的一個通用環境。他們最初的目的只是爲了開發一種獨立於平臺的軟件技術,而且在網絡出現之前,OAK可以說是默默無聞,甚至差點夭折。但是,網絡的出現改變了OAK的命運。

在Java出現以前。Internet上的資訊內容都是一些乏味死板的HTML文檔。這對於那些迷戀於WEB瀏覽的人們來說簡直不可容忍。他們迫切希望能在WEN中看到一些交互式的內容,開發人員也極希望能夠在WEB上創建一類無需考慮軟硬件平臺就可以執行的應用程序,當然這些程序還要有極大的安全保障。對於用戶的這種要求,傳統的編程語言顯得無能爲力,面SUN的工程師敏銳地察覺到了這一點,從1994年起,他們開始將OAK技術應用於WEB上,並且開發出了HotJava的第一個版本。當SUN公司1995年正式以Java這個名字推出的時候,幾乎所有的WEB開發人員都想到:噢,這正是我想要的。於是Java成了一顆耀眼的明星,醜小鴨一下了變成了白天鵝。

二. Java的定義

Java是一種簡單的,面象對象的,分佈式的,解釋的,鍵壯的安全的,結構的中立的,可移植的,性能很優異的多線程的,動態的語言。

Java的開發環境有不同的版本,如sun公司的Java Developers Kit, 簡稱 JDK。後來微軟公司推出了支援Java規範的Microsoft Visual J++ Java開發環境,簡稱 VJ++。

三. Java的特點

1. 平臺無關性

平臺無關性是指Java能執行於不同的平臺。Java引進虛擬機 原理,並執行於虛擬機,實現不同平臺的Java接口之間。使 用Java編寫的程序能在世界範圍內共享。Java的數據類型與 機器無關,Java虛擬機(Java Virtual Machine)是建立在 硬件和操作系統之上,實現Java二進制代碼的解釋執行功能, 提供於不同平臺的接口的。

2. 安全性

Java的編程類似C++,學習過C++的讀者將很快掌握Java的精 髓。Java捨棄了C++的指針對存儲器地址的直接操作,程序 執行時,內存由操作系統分配,這樣可以避免病毒透過指 針侵入系統。Java對程序提供了安全管理器,防止程序的 非法訪問。

3. 面向對象

Java 吸取了C++面向對象的概念,將數據封裝於類中,利用類 的優點,實現了程序的簡潔性和便於維護性。類的封裝性、 繼承性等有關對象的特性,使程序代碼只需一次編譯,然後 透過上述特性反覆利用。程序員只需把主要精力用在類和接 口的設計和應用上。Java 提供了衆多的一般對象的類,通 過繼承即可使用父類的方法。在 Java 中,類的繼承關係是單一的非多重的,一個子類 只有一個父類,子類的父類又有一個父類。Java 提供的 Object 類及其子類的繼承關係如同一棵倒立的樹形,根類 爲 Object 類, Object 類功能強大,經常會使用到它及其 它派生的子類。

4. 分佈式

Java建立在擴展TCP/IP網絡平臺上。庫函數提供了用HTTP和FTP協議傳送和接受資訊的方法。這使得程序員使用網絡上的檔案和使用本機檔案一樣容易。

5. 鍵壯性

Java致力於檢查程序在編譯和執行時的錯誤。類型檢查幫助檢查出許多開發早期出現的錯誤。Java自已操縱內存減少了內存出錯的可能性。Java還實現了真數組,避免了覆蓋數據的可能。這些功能特徵大大提高了開發Java應用程序的週期。Java提供: Null指針檢測、 數組邊界檢測、 異常出口、 Byte code校驗。

四. Java與C/C++語言

Java提供了一個功能強大語言的所有功能,但幾乎沒有一點含混特徵。C++安全性不好,但C和C++被大家接受,所以Java設計成C++形式,讓大家很容易學習。

Java去掉了C++語言的許多功能,讓Java的語言功能很精煉,並增加了一些很有用的功能,如自動收集碎片。

Java去掉了以下幾個C和C++功能:

指針運算

結構

typedefs

#define

需要釋放內存

這將減少了平常出錯的50%。而且,Java很小,整個解釋器只需215K的RAM。

面象對象:Java實現了C++的基本面象對象技術並有一些增強,(爲了語言簡單,刪除了一些功能)。Java處理數據方式和用對象接口處理對象數據方式一樣。

五. Java與Internet

我們知道,早先的 www 僅可以傳送文字和圖片,Java的出現實現了互動的頁面,是一次偉大的*。

Java並不是爲 Internet,WWW而設計的,它也可以用來編寫獨立的應用程序。Java 是一種面嚮對象語言。Java 語言類似於 C++ 語言,所以已熟練掌握 C++語言的編程人員,再學習 Java 語言就容易得多!Java 程序需要編譯。實際上有兩種 Java 程序:一種 Java 應用程序是一個完整的程序,如 Web 瀏覽器。一種 Java 小應用程序是執行於 Web 瀏覽器中的一個程序.

Java程序和它的瀏覽器HotJava,提供了可讓你的瀏覽器執行程序的方法。你能從你的瀏覽器裏直接播放聲音。你還能播放頁面裏的動畫。Java還能告訴你的瀏覽器怎樣處理新的類型檔案。當我們能在2400 baud線上傳輸視頻圖象時,HotJava將能顯示這些視頻。

當今Internet的一大發展趨勢是電子商務,而Internet的安全問題是必須解決的問題,通常大的部門應設定防火牆,阻止非法侵入。

電子商務是當今的熱門話題,然而傳統的編程語言難以勝任電子商務系統,電子商務要求程序代碼具有基本的要求:安全、可靠、同時要求能 與執行於不同平臺的機器的全世界客戶開展業務。Java以其強安全性、平臺無關性、硬件結構無關性、語言簡潔同時面向對象,在網絡編程語言中佔據無可比擬的優勢,成爲實現電子商務系統的首選語言。

Java程序被放置在Internet服務器上,當用戶訪問服務器時,Java程序被下載到本地的用戶機上,由瀏覽器解釋執行。

[NextPage]

PowerBuilder簡介

PowerBuilder的產生

PowerBuilder是美國著名的數據庫應用開發工具生產廠商PowerSoft推出的成功產品,其第一版於1991年6月正式投入市場。它是完全按照客戶/服務器體系結構研製設計的,採用面向對象技術,圖形化的應用開發環境,是數據庫的前端開發工具。

PowerBuilder的特點

它支援應用系統同時訪問多種數據庫,其中既包括Oracel,Sybase之類的大型數據庫,又包括FOXPRO之類支援ODBC接口的小型數據庫,PowerBuilder是完全可視化的數據庫開發工具,它提供了大量的控件,大大加快了項目的開發速度,也使開發者更容易掌握數據庫的開發。

它使用的編程語言叫做工PowerScripr,它也是一種進階的,結構化的編程語言。PowerScript提供了一套完整的嵌入式SQL語句,開發人員可以像使用其它語句一樣自由地使用SQL語言,這樣就大大增強了程序操縱和訪問數據庫的能力。可以說PowerBuilder既適合初學者快速學習數據庫的開發,又可以讓有經驗的開發人員開發出功能強大的數據庫,是一種適用面非常廣的開發工具。

PowerBuilder是一個用來進行客戶/服務器開發的完全的可視化開發環境。使用PowerBuilder,你可以用一種可視的直觀的方式來創建應用程序的用戶介面和數據庫接口。這是一個總的概念,實際上是開發人員使用PowerBuilder去開發應用程序,由於所開發的各種應用程序充分利用了圖形用戶接口(GUI)的優點,所以PowerBuilder被認爲是一個圖形工具。

在客戶/服務器結構的應用中,PowerBuilder具有描述多個數據庫連接與檢索的能力。特別是PowerBuilder能從大多數流行的RDBMS中存取數據,且不管數據存放在什麼地方;另外,各種應用程序又可以獨立於RDBMS,因爲PowerBuilder可以使用數據庫的標準操作語言SQL(結構化查詢語言)進行。

使用PowerBuilder,可以很容易地開發出功能強大的圖形介面的訪問服務器數據庫的應用程序,PowerBuilder提供了建立符合工業標準的應用程序(例如訂單登記、會計及製造系統)所需的所有工具。

PowerBuilder應用程序由視窗組成,這些視窗包含用戶與之交互的控件。開發人員可以使用所有標準

如WINDOWS XP \WINDOWS 2000 \WINDOW VIST.等

怎麼才能成爲一個優秀的程序員

優秀的程序員要具備很強的分析,和思維能力,我是一個Java JSP 的程序員,以我自己的感覺,程序員的理解能力要很強,因爲我們做一個業務系統需要了解這個業務的邏輯,纔可以去開發,至於學什麼語言,我覺得只要你可以精通一種語言,其他的你就都可以自學的。但是C除外。

至今我都不是很懂那個,我剛開始學的時候就是學的VB,但是我覺得可以直接學JAVA。你可以選擇JAVA .NET C# 這都是現在很流行的。

如果你可以的話C是最好的。我們單位C的 開的工資是我們的幾倍。你要學一種語言,就必須先了解他的思想,所以你還是先看看理論上的東西吧。呵呵,其實程序員挺枯燥的,你要有思想準備哦。最大的困難就是你需要讓自己有恆心。

Tags:程序員