網(wǎng)頁編程
了解網(wǎng)絡(luò)編程的含義。網(wǎng)絡(luò)應(yīng)用是指設(shè)計在網(wǎng)絡(luò)結(jié)構(gòu)頂層的軟件部分。這就意味著這些應(yīng)用是通過諸如火狐或IE之類的瀏覽器來處理的。架構(gòu)于網(wǎng)絡(luò)結(jié)構(gòu)的頂層并不一定要連接到網(wǎng)絡(luò)。這就是說網(wǎng)絡(luò)應(yīng)用建立在如下標(biāo)準(zhǔn)網(wǎng)絡(luò)技術(shù)的頂層:HTTP、FTP、POP3、SMTP、TCP、IP協(xié)議、HTML、XML、Coldfusion、ASP、JSP、PHP、ASP.NET。
瀏覽不同的網(wǎng)站,了解它們的外觀。(右擊,選擇“查看源”或按F12。)尋找網(wǎng)站類型/內(nèi)容的多樣性,而非數(shù)量。通常需要訪問以下網(wǎng)站類型中至少一種:團體網(wǎng)站(商業(yè)公司,非營利機構(gòu)/組織,政府組織)、網(wǎng)絡(luò)索引引擎(搜索引擎,meta搜索網(wǎng)站,專業(yè)化搜索引擎,目錄)、數(shù)據(jù)挖掘網(wǎng)站、個人網(wǎng)站、信息/百科全書式網(wǎng)頁(維基,數(shù)據(jù)單,技術(shù)規(guī)格,人工列表目錄,博客和日志,新聞和新聞機構(gòu)網(wǎng)站,黃頁,等等。)、社交網(wǎng)站(社交門戶,書簽網(wǎng)站,記錄筆記網(wǎng)站)、合作網(wǎng)站(這包含了上面提及的目錄,比如維基和博客)。
學(xué)習(xí)至少一種頭腦風(fēng)暴技術(shù)/方法,并學(xué)習(xí)一個用來實現(xiàn)頭腦風(fēng)暴的軟件。例如:頭腦風(fēng)暴圖和微軟Visio。
熟悉網(wǎng)站結(jié)構(gòu)。指的是創(chuàng)建概念化網(wǎng)絡(luò)范式、網(wǎng)絡(luò)地圖和導(dǎo)航結(jié)構(gòu)。
趕緊學(xué)一門圖形設(shè)計的課程。盡量學(xué)習(xí)至少一個圖形編輯/操作軟件包(不是必須的,但強烈推薦)。
了解網(wǎng)絡(luò)下部構(gòu)造的基本情況。包括了解以下:基本網(wǎng)絡(luò)服務(wù)協(xié)議(HTTP,F(xiàn)TP, SMTP和POP3或IMAP4)、網(wǎng)絡(luò)服務(wù)器軟件(最好其中一個就是你以后主要工作的平臺)、網(wǎng)絡(luò)瀏覽軟件、郵件服務(wù)器和客戶端軟件。學(xué)習(xí)HTML和CSS語言。
學(xué)習(xí)XML及其相關(guān)技術(shù),比如XSL和XPath(不是必需,僅作推薦)。
先建立簡單的靜態(tài)網(wǎng)站,直至熟悉并習(xí)慣HTML語言。
學(xué)習(xí)客戶端腳本語言。多數(shù)人要么學(xué)Java,要么學(xué)VB,但也有一些人學(xué)習(xí)Perl和DHTML;熟悉所學(xué)的客戶端腳本語言。潛意識里提醒自己只用你學(xué)的那個語言。只有在熟悉客戶端腳本語言之后才能進入下個步驟;學(xué)習(xí)至少一種服務(wù)器端腳本語言。如果只用一種服務(wù)器軟件,那就學(xué)其中一種編程語言。否則,每個服務(wù)器軟件都學(xué)至少一種編程語言;學(xué)完服務(wù)器端編程語言之后就開始創(chuàng)建一個試驗項目;獲得自己的網(wǎng)站,開始用自己的網(wǎng)頁實驗。
桌面軟件編程
弄清楚桌面軟件編程是怎么回事。多數(shù)桌面軟件程序員都是編寫商務(wù)需要的代碼,所以好好了解一下商業(yè)及其組織和經(jīng)濟結(jié)構(gòu)將對節(jié)省時間、提高效率大有裨益。
了解不同的電腦硬件結(jié)構(gòu)??纯磾?shù)字電路設(shè)計和電腦結(jié)構(gòu)的入門級課程,但是也有人認(rèn)為這對于剛起步來說太超前了,所以看兩三篇說明的文章(比如 這一篇 和 這一篇)就夠了。學(xué)完第一種編程語言后你可以再返回這個步驟。
學(xué)習(xí)一種入門級(小孩子學(xué)的那種)編程語言。這些入門級語言能大大減輕你正式學(xué)習(xí)第一門編程語言時的痛苦和壓力。然而這一步也不是必須的。也可以在上一步之前完成。學(xué)習(xí)程序化、面向?qū)ο蟆⒑瘮?shù)設(shè)序設(shè)計規(guī)范的入門。學(xué)習(xí)一種程序化程式設(shè)計語言的入門課程。無論你以后選擇何種編程語言,在某種程度上它都要求程序化程式設(shè)計。此外,據(jù)多數(shù)程序員反映,程序化程式設(shè)計總的來說是了解編程的一個很好的切入點。學(xué)習(xí)至少一種高級建模技術(shù),比如UML 或ORM。
開始編寫一些小的主控臺應(yīng)用程式或類似的應(yīng)用程式。可以利用編程書中的常見小練習(xí)。選擇一個工具,用所學(xué)的編程語言編寫程序。
學(xué)習(xí)一門你選擇的編程語言的更高級課程。確保進展之前先理解下列概念,并能熟練運用。
對程序用戶輸入輸出信息。程式化設(shè)計語言寫成的程序中的邏輯流程和執(zhí)行流程。聲明、分配和比較變量;編程結(jié)構(gòu)分支,比如if..then..else 和 select/switch..case.;循環(huán)結(jié)構(gòu),比如while..do,do..while/until, for..next.;創(chuàng)建、調(diào)用程序與函數(shù)的編程句法;數(shù)據(jù)類型及如何操控;用戶定義數(shù)據(jù)類型(records/structs/units)及其使用;如果語言支持超載函數(shù),理解它;如果選擇的語言的內(nèi)存處理方式(指針,變量窺視,等等。);如果語言支持運營商超載,理解它;如果語言支持delegates/函數(shù)指針,理解它。應(yīng)用所學(xué)的高級技能,面向?qū)ο笠?guī)范。
至少再學(xué)習(xí)一門編程語言規(guī)范的入門課程。推薦學(xué)習(xí)每種范式的編程語言,多數(shù)高級程序員確實是這么做的,然而,通常開始時只學(xué)一種,應(yīng)用所學(xué)知識訓(xùn)練了一段時間,獲得了編程的鮮活經(jīng)驗,然后接著學(xué)習(xí)另一種。試試下面的語言:邏輯編程范式、函數(shù)編程范式。
試著比較所學(xué)的兩門編程語言。評估各自利弊。通??砂匆韵路椒ㄍ瓿赡贸鲈趯W(xué)習(xí)第一門編程語言時編寫的簡單范例,現(xiàn)在用第二門語言重新編寫。創(chuàng)建一個工程,盡量用上兩種語言完成它。有時取決于選擇的工程和語言,可能僅用一門語言還無法完成這個工程呢!寫一份兩種語言之間相似結(jié)構(gòu)和獨特之處對比的速查表或一覽表。盡量使用另一門語言找到模仿這兩門語言中獨特之處的辦法。
利用學(xué)過的一種語言來學(xué)習(xí)可視化編程概念。幾乎所有的編程語言都具有支持可視化編程和其他支持控制臺或類似控制臺編程的版本/庫。同時進行的包括:初步了解事件驅(qū)動編程。在某種程度上,多數(shù)可視化編程依賴事件及事件處理(用上你選擇的語言)。盡可能多的嘗試桌面軟件,理解軟件是做什么的。多數(shù)軟件開發(fā)公司會提供產(chǎn)品的測試版,可以拿來測試軟件。在完善用戶界面方面保持更新。閱讀關(guān)于圖形用戶界面的文章或教程。
開始把所學(xué)的知識運用到你設(shè)計的軟件小工程中。盡量把編程專業(yè)知識運用到日常生活中的問題上。比如,編寫程序,批量重命名文件,視覺上比較文本文件,復(fù)制目錄里的文件名到內(nèi)存/文本文件之類的東西。剛開始簡單一點。
創(chuàng)建一個虛擬的“畢業(yè)工程”。把這個放到最后完成,用上到目前為止學(xué)到的可視化編程技術(shù)。
通過學(xué)習(xí)更高級的課程、更加注意細(xì)節(jié)以及在網(wǎng)上學(xué)習(xí)搭建架構(gòu)的技巧,來加深對學(xué)過的可視化架構(gòu)/庫/包的理解。
搜索其他含可視化元素的包/庫并學(xué)習(xí)它們。學(xué)習(xí)圖形學(xué)課程(而非圖形設(shè)計)。對于想要寫出吸引人的用戶界面元素的程序員來說,這將大有裨益。成為游戲程序員(不是必須的)。很大程度上游戲編程是被當(dāng)作桌面編程的。如果想成為游戲程序員,完成這些步驟后你需要進一步學(xué)習(xí)游戲編程。對于游戲程序員而言,圖形學(xué)課程是必須的,后續(xù)步驟中第二門語言應(yīng)該選擇邏輯/函數(shù)編程語言(最好是Prolog或Lisp)。
分布式程序設(shè)計
處理分布式應(yīng)用編程。分布式應(yīng)用編程被許多人認(rèn)為是最難學(xué)的一種,它要求計算機和通信技術(shù)中的不同知識。
快速了解通信系統(tǒng)及其硬件。這個步驟不是必須的,但是對于理解網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)很有用。
熟悉網(wǎng)絡(luò)硬件結(jié)構(gòu)和設(shè)備,比如集線器、接線臺和路由器。
學(xué)習(xí)網(wǎng)絡(luò)協(xié)議的課程。在開始分布式應(yīng)用編程之前,你需要好好理解“開放系統(tǒng)互聯(lián) (OSI) ”模型、以太、IP、TCP、UDP和HTTP 。
學(xué)習(xí)XML 語言,并熟悉它。開始學(xué)習(xí)一門shell腳本語言。對基于Windows的編程,可以是任何能與Windows腳本宿主兼容的腳本。對基于Linux的編程,Bash腳本和 Perl就夠了。對這兩個平臺都強烈推薦Java,原因如下:幾乎所有操作系統(tǒng)的都支持腳本宿主(Windows 腳本宿主默認(rèn)支持java ,大多數(shù)Linux發(fā)行版都有支持java腳本控制的包)。許多開發(fā)者認(rèn)為它很容易學(xué)。當(dāng)需要學(xué)第二門編程語言(C,C++,C#,Java和J#都有ALGOL開源句法)時,它擁有的ALGLO開源句法就能使你熟悉更多編程語言。通過學(xué)習(xí)java,你會熟悉網(wǎng)頁的客戶端腳本,這可謂一大福利!
開始時用上學(xué)的腳本知識,只運用程序化程式設(shè)計。之后,根據(jù)腳本語言和它所支持的,可以用上更高級的編程技巧和范式。所有的腳本語言在某種程度上都有程序化程式設(shè)計的一些方面。
使用所學(xué)的腳本語言,寫出實現(xiàn)機器之間通信的腳本。學(xué)習(xí)完成這個所必需的東西。簡單的通信就足夠了。
轉(zhuǎn)移到桌面腳本/編程語言。一個比較好的是多范式語言,比如Python。簡單了解第二門語言。有許多理由讓多數(shù)程序員選擇java。然而,在這個領(lǐng)域內(nèi)C#正在獲得多數(shù)優(yōu)勢。Java和C#被青睞的原因如下:它們是面向?qū)ο蟮木幊陶Z言,使大量程序員免遭實現(xiàn)細(xì)節(jié)之苦,因為它們都支持組成部分(代碼單元、預(yù)編譯,它們可以執(zhí)行特定任務(wù),并被用到其他程序中)。它們支持事件驅(qū)動編程,在某種程度上還支持OO和程式化程序設(shè)計。建立語言的架構(gòu)按屬性分布(比如Java)。有許多現(xiàn)成的包來處理。社交網(wǎng)絡(luò)同時作為開源代碼和架構(gòu)內(nèi)置包,這使得程序員繼續(xù)其他人工作更加容易。
專注于語言的核心部分,尤其hi那些支持網(wǎng)絡(luò)。少注意用戶界面元素,比如輸出,窗口設(shè)計和技術(shù)等。學(xué)習(xí)分布式應(yīng)用設(shè)計與結(jié)構(gòu)的課程??梢酝ㄟ^書本、網(wǎng)上教程或?qū)W術(shù)課程來完成。然而,十分有必要理解分布式應(yīng)用的結(jié)構(gòu)及其概念。使用你所學(xué)的編程語言來了解服務(wù)部分建構(gòu)和服務(wù)。
學(xué)習(xí)如下技術(shù)中一種或更多。推薦你每一種都了解以下。多數(shù)分布式應(yīng)用程序員不會止于一兩門編程語言,他們會每個操作系統(tǒng)各學(xué)至少一種語言。這是因為如果你希望你的應(yīng)用“分布式”,應(yīng)該至少為每個主要的操作系統(tǒng)各提供一個版本。公共對象訪問代理體系結(jié)構(gòu)(CORBA)、簡單對象訪問協(xié)議(SOAP)、異步JavaScript和XML(AJAX)、分布式組建對象模型(DCOM)、.NET遠(yuǎn)程處理、XML 網(wǎng)絡(luò)服務(wù)。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:0731-84117792 E-MAIL:11247931@qq.com