『壹』 程序員有哪些黑話暗語
所以你正在學習如何編寫代碼,超越默認的Hello World例子,並把你的技能提高到一個新的水平。恭喜!
如果你一步步地進行編碼,編碼並不難,但是如果你開始新鮮的話,很難說開發者的語言。
我們要求我們頂尖的開發者作者就一些最重要的術語和概念向新的編碼人員提供他們的忠告。這是前18名。
變數
甲變數是與相關聯的值在整個應用程序或程序的執行而改變命名標識符。一旦在程序中定義了一個變數,在需要時可以改變該值以適應代碼的流程。
常量
甲常數是與相關聯的值,該值不整個應用程序或程序的執行改變命名標識符。與在整個應用程序的執行過程中變化和變化的變數相比,常量是固定的,不能被改變。
數據類型
一個特定類型的數據項,由它可以接受的值定義,所涉及的編程語言和/或可以在其上執行的操作。常見的數據類型包括整數(簡單數字),浮點數(基於十進制的數字),布爾值(TRUE或FALSE)和字元串(字母,數字或段落等字母數字字元串)好多其它的。
數據結構
甲數據結構是用於組織和在最適合的目的數據將被用於的方式存儲數據的專用格式。編程中的常見數據結構包括數組,表格,記錄,樹等等。
對象
在面向對象的編程語言中,對象是指可以共同訪問和管理的相關變數,常量,函數(也稱為方法)和數據結構的組合。
范圍
范圍是指程序的一部分中的功能,方法和變數在同一程序的另一部分中的可見性。大多數語言共享兩個通用作用域概念:局部作用域(其中可見性僅限於父函數或方法)和全局作用域(其中可見性不受限制)。
偽代碼
就像粗糙的草稿在最後的小說之前,並允許對故事的更廣泛的細節進行雕刻一樣,偽代碼是在編寫和調試實際代碼之前用於概述程序的意圖和流程的編程語言的簡化速記。
條件語句
當代碼必須選擇繼續的方式時,條件處理這些決定。條件評估為TRUE或FALSE,只要條件的最終值保持單個TRUE或FALSE值,則可以將多個條件組合為單個條件。表達式的一些例子是:
my_variable <5 =「」>
(如果my_variable小於5,則最終值為TRUE)
my_var1> 30 && my_var2 == 4(如果my_var1大於30,且my_var 2也等於4,則最終值為TRUE)
表達式
一個表達式是由ofvariables,數字和操作的數學表達式,並解析到一個特定的值。
循環
一連串的指令不斷重復(循環),直到達到一定的條件。
模塊化代碼
模塊化代碼是將你的程序功能分離成獨立的模塊的概念,隱藏了它們在公共介面或API後面的內部工作。這使得每個模塊的功能易於使用和重構,獨立於其他任何模塊使用。
API
短用於應用程序編程介面,一個API是用於訪問操作系統,軟體應用程序或實用程序的功能的程序指令集和標准。軟體開發人員向公眾發布其API,以便其他開發人員可以在自己的項目中利用其產品的功能和服務。
回電話
一個回調是一塊多數民眾贊成作為參數傳遞給其他代碼語句通過可執行代碼,並預計「回調」,並在特定的時間執行。同步(或阻止)回調是即時的,而非同步(或延遲)回調意味著稍後發生。
程序化思維
程序化思維是開發人員和編程人員的核心思想,意味著通過將大問題分解成更小的離散步驟,將特定對象描述為計算機可以理解的明確定義的值來解決這些大問題。
關閉
以最簡單的形式描述閉包是函數中的一個函數,作為變數存儲。與普通函數不同,閉包擁有一個持久的作用域,即使在你的程序移出它們定義的代碼塊之後,它仍然保留在局部變數中。
編譯和解釋語言
編譯語言(比如C,C ++和Swift)要求你編譯代碼並將其構建成獨立的二進制應用程序,然後才能分發和運行。
解釋語言(如Python,php和javaScript)是由主機上的語言解釋器直接讀取代碼運行的,並向計算機提供指令以執行程序。
重構
代碼重構是重構現有代碼而不改變其外部行為的過程。重構通常用於改進軟體的非功能區域,或者改善特定軟體領域的性能或效用。
IDE
集成開發環境的簡稱,IDE是一種用於為特定語言開發的開發工具(或工具集合),包括代碼編輯器,編譯器,調試器和其他實用程序。流行的IDE包括蘋果公司的Xcode,微軟的Visual Studio以及IntelliJ,NetBeans和Eclipse等Java IDE。無論你的語言如何,都有一個IDE。
雖然這18個術語實際上只是開發人員的技術術語的表面,但是在您的編碼之旅中,您會發現他們所代表的概念非常重要。
『貳』 程序猿的名詞解釋
是一種近幾十年來出現的新物種,是信息革命的產物,在行為和物種歸類上我們也可稱為碼字猴。程序猿是人類在科技研究上的一種新興進化,擁有無與倫比的耐力、超越時代的智商、橫穿社會的苦逼相和低於人類平均壽命的顯著特點。
另,可以理解為」程序員「的無奈的自我稱呼。
節日
平年的9月13日和閏年的9月12日(每年的第256天)是程序員節。之所以選擇256,是因為它是一個8位位元組能夠表示的數目,256是2的冪中小於365的最大值。同樣的邏輯,在24位RGB顏色空間里,最大值為十六進制0xFFFFFF,表示為白色,又稱白色程序猿節。
『叄』 我想了解一些電腦的常用術語,比如:前端匯流排,匯流排頻率等,這些術語的意思和解釋,就是這是什說的是什麼
在使用電腦的過程中,面對一些相對專業的名詞術語和專業縮略語,經常搞得人雲里霧里。本手冊按字母序作為索引,收錄詞目200餘條,在內容上力求涵蓋電腦應用的方方面面,希望能對你在使用電腦的過程中有所幫助。
●Aactive Network(動態網路)
動態網路是這樣一種網路,該網路上的各個節點經過編程處理,可以依據通過該節點的信息執行定製化的任務。例如,一個節點可以經過編程或者定製化處理,以一個單獨用戶為基礎處置信息包,或者處置不同於其他信息包的多點傳送信息包。動態網路的這種處理方法,在一個由移動用戶構成的網路中顯得特別重要。
●AC 97(音響數字/模擬轉換)
AC 97即音響數字/模擬轉換97。AC 97能使PC與一般音響系統相容,以配合家用電器的標准。該規格支持一些新的功能,如支持Modem等。
●Access Control(訪問控制)
按用戶身份及其所歸屬的某預定義組來限制用戶對某些信息項的訪問,或限制對某些控制功能的使用。訪問控制通常用於系統管理員控制用戶對伺服器、目錄、文件等網路資源的訪問。
●ACL(訪問控製表)
ACL(Access Control List,訪問控製表)。用戶和設備可以訪問的那些現有服務和信息的列表。用戶必須具有相應的授權才能修改目標的ACL。通常要求用戶提供注冊姓名和口令,它是用來保證系統安全性的一種手段。
●ACOPS(自動CPU過熱保護)
ACOPS(Automatic CPU Overheat Prevention System)特指一類計算機主板的一種功能。此類主板在CPU插槽的中央有一個溫度感測器,當CPU散熱不佳或散熱風扇不轉導致CPU溫度超出安全范圍時,系統會通過喇叭發出警告並自動執行降溫程序。ACOPS有自己獨立的電路和軟體,無需任何驅動程序來啟動。
●Active Directory(活動目錄)
Active Directory是Windows 2000的目錄服務,它取代了Windows NT 4.0版中的安全賬戶管理器(SAM)。Active Directory由目錄林、域、組織單位、容器和對象等組成。
●ADSL(非對稱數字用戶線路)
非對稱數字用戶線路。這種DSL叫做非對稱DSL,將成為廣大家庭和小型商業客戶最熟悉的一種DSL。ADSL(Asymmetrical Digital Subscriber Loop)之所以叫做非對稱是因為它的兩個雙工通道都用來向用戶傳輸數據。僅有很小一部分帶寬用來回送用戶的信息。然而,大部Internet特別是富於圖形和多媒體Web數據需要很大的下傳帶寬,同時用戶信息相對比較少,上傳的帶寬也不要很大。使用ADSL時,下傳的速率可以達到6.1Mbps,而上傳速率也可以達到640Kbps。高的下傳速率意味著你的電話可以傳輸動畫,聲音和立體圖形。另外,一小部分的帶寬可以用來傳輸語音信號,你可以同時打電話而不用再使用第二條電話線。不象電視線路提供的相同的服務,使用ADSL,你不需要和你的鄰居爭用帶寬。有時候,現有的電話線可以使用ADSL,而有時候卻要升級,除非電話公司提供了無分離器的ADSL,你就必須安裝一個DSL數據機。
●AGP(加速圖形介面)
AGP是一種介面規范,可以使3D圖形在普通個人電腦上以更快的速度顯示。AGP是一種設計用來更快,更平穩地傳送3D圖形的介面。它使用普通個人電腦的主內存來刷新顯示器顯示的圖像,支持紋理貼圖,零緩沖和阿爾法混合等3D圖形技術。
AGP介面對主內存的使用是動態的,也就是說,當主內存沒有被用來進行圖形加速處理的時候,它可以重新被操作系統或者其他應用程序使用。
●Anonymous FTP(匿名文件傳輸)
匿名文件傳輸能夠使用戶與遠程主機建立連接並以匿名身份從遠程主機上拷貝文件,而不必是該遠程主機的注冊用戶。用戶使用特殊的用戶名「Anonymous」和「guest」就可有限制地訪問遠程主機上公開的文件。
●API(應用程序界面)
API(Application Program Interface)被定義為應用程序可用以與計算機操作系統交換信息和命令的標准集。一個標準的應用程序界面為用戶或軟體開發商提供一個通用編程環境,以編寫可交互運行於不同廠商計算機的應用程序。API不是產品,而是戰略,所有操作系統與網路操作系統都有API。在網路環境中不同機器的API兼容是必要的,否則程序對其所駐留的機器將是不兼容的。
●ARP(地址解析協議)
ARP(Address Resoloution Protocol,地址解析協議)是獲取物理地址的一個TCP/IP協議。某節點的IP地址的ARP請求被廣播到網路上後,這個節點會收到確認其物理地址的應答,這樣的數據包才能被傳送出去。RARP(逆向ARP)經常在無盤工作站上使用,以獲得它的邏輯IP地址。
●ASP(伺服器開發專用腳本)
ASP(Active Sever Page)是微軟公司為IIS伺服器開發的一種專用介面。它類似於CGI,同屬於伺服器端應用程序,功能強大而且容易編寫,與IIS的結合堪稱天衣無縫,但也只能用在IIS上。ASP最強大的一點,就是採用了ADO資料庫介面引擎,在與資料庫的連接上非常方便,這點,如果用過VB6就有體會了。ASP可以用VBScript或JavaScript編寫。它的有關幫助中,一般是採用VBScript編寫。
●ATAPI(AT附件包介面)
AT附件包介面(AT Attachment Packet Interface),ATAPI是一個用於計算機和CD-ROM驅動器及磁帶驅動器之間的介面。大部的計算機使用的是IDE介面。ATAPI提供了比 IDE更強的功能命令來控制CD-ROM演播器或磁帶備份器,這樣就可以使用IDE介面來控制一些新設備了。ATAPI是EIDE介面的一部分。
●Average Seek Time(平均尋道時間)
指硬碟磁頭移動到數據所在磁軌時所用的時間,單位為毫秒(ms)。注意,它與平均訪問時間的差別,平均尋道時間當然是越小越好,現在我們所使用的高級硬碟完成數據的搜索只需要7~11毫秒,現在一般應該選擇平均尋道時間低於9ms的產品。
●Autoexec.bat(自動批處理文件)
對於用過DOS的人肯定熟悉Autoexec.bat文件。它是在啟動的時候要運行的一個批處理文件。現在已經不常用了,有時候編制java程序的時候會用到這個東西。它無非就是設置一些路徑,運行一些在啟動時必須運行的程序而已。
●AVI(影音文件)
AVI(Audio Video Interleaved,聲音圖象交叉存取)是一種微軟媒體文件格式,類似於MPEG和QuickTime。在AVI中,聲音和圖象是交叉的存取在一個文件中的每個段的。
●B2B(商務對商務)
B2B即B to B(Business to Business,商務對商務)。在Internet上,B2B,也被稱為e-biz,是商家與商家之間的產品、服務、信息的交換,而不是商家與消費者之間的。盡管早期的熱點集中在Internet的零售上,有預言說在不遠的將來,B2B年收益將遠遠超過B2C(商家對個人,有時也稱作e- tailing)的。根據2000年早期的研究,B2B與電子零售(e-tailing)的資金比為10:1。在以後的5年,B2B可望有41%的年增長率。
●Back Door(後門)
繞過安全性控制而獲取對程序或系統訪問權的方法。在軟體的開發階段,程序員常會在軟體內創建後門以便可以修改程序中的缺陷。如果後門被其他人知道,或是在發布軟體之前沒有刪除後門,那麼它就成了安全風險。
●Bandwidth(帶寬)
每條位並行匯流排上可傳輸數據的容量,使用「比特/秒」作為度量單位。
網路可以使用的傳輸頻率,表示成一個頻帶的上下界頻率之差,單位用赫茲表示。高帶寬允許更快速的大容量傳輸。
●BBS(電子布告欄系統)
即Bulletin Board System,用計算機處理的布告欄能夠在商店和其他的公共場合發現,在那兒人們可以留下信息和想買和賣東西的廣告。BBS經常被局部的計算機用戶群使用,經常提供下載共享軟體、免費軟體和在線的信息和服務。有許多專門的有興趣的公告欄,包括有計算機公司用來提供信息和產品的。現在許多的BBS都有網頁。
●Bluetooth(藍牙)
藍牙是無線數據和語音傳輸的開放式標准,藍牙協議能使包括蜂窩電話、掌上電腦、筆記本電腦、相關外設和家庭Hub等包括家庭RF的眾多設備之間進行信息交換。
●BNC Connector(BNC連接器)
BNC連接器用於連接、擴充、終結乙太網、ARCNET網等同軸電纜網。它的種類多,有BNCT型連接器BNC桶形連接器和BNC終結器。
●Bookmark(書簽)
指在gopher客戶程序(client)和web瀏覽器(browser)中,用戶在菜單(menu)或頁(page)上做的標志,以便今後查找的參考。在gopher客戶程序中,所有書簽出現在一個gopher的菜單上。在Web瀏覽器中,它們出現熱點清單(hot list)中。
●Bridge(網橋)
將多個網路、子網或環連接成一個個大的邏輯網,網橋中保留節點的地址表,在他的基礎上,可以向特定的子網轉發數據包,這樣,就減少了在其他的子網上 循環而導致的網路堵塞,網橋比轉發器、更復雜。
●Brouter(Bridge/router)(橋路器/路由器)
橋路器是橋接器與路由器技術的綜合設備,它既能夠橋接多項協議又能夠為其中的一部分協議提供路由選擇功能。在這個意義上,橋路器是一個工作在開放系統互連(OSI)協議棧的網路層和數據鏈路層的網間傳送報文分組的設備。
●Bug(程序缺陷、臭蟲)
電腦系統或者程序中存在的任何一種破壞正常運轉能力的問題或者缺陷,都可以叫做「bug」。
●Burst Modem(突發式數據機)
指衛星通信系統中使用的一種數據機。由於各地球站發送高速突發數據,有時這些數據會同另一個地球站交織在一起,因而需要對它們進行精確定時,然後再用突發式數據機發送。
●Bus Topology(匯流排拓撲)
網路電纜系統的布局以及工作站在電纜上訪問和傳送數據的方法都是網路拓撲結構的一部分。匯流排拓樸結構的網路只有一條唯一的電纜干線,以菊鏈的形式連接一個接一個工作站。在實際的安裝中,電纜線穿過一個接一個的辦公室。所有的節點共享同一介質,某一時刻只有一個節點能夠廣播消息。雖然匯流排拓撲適合辦公室的布局,易於安裝,但是干線電纜的故障將導致整個網路陷入癱瘓。
最常見的匯流排拓撲結構的網路是乙太網。同軸電纜曾是它主要的傳輸介質,但現在大多數新的安裝使用了雙絞線。雙絞線乙太網(10Base-T)是安裝成星形的匯流排拓撲結構,匯流排本身被緊縮到一個稱作集線器的小盒子中,從集線器連接點到工作站的線路分支呈星形布局。
●Cable Modem(電纜數據機)
又名線纜數據機。它利用有線電視網進行數據傳輸,主要面向計算機用戶的終端,它是連接有線電視同軸電纜與用戶計算機之間的中間設備。
●Cache(高速緩沖存儲器)
高速緩沖存儲器,根據程序的局部性原理,可以在主存和CPU通用寄存器之間設置一個高速的容量相對比較小的存儲器,把正在執行的指令地址附近的一部分指令或者數據從主存調入這個存儲器,供CPU在一段時間內使用,這對提高程序的運行速度有很大的影響。這個介於主存和CPU之間的高速小容量存儲器稱為高速緩沖存儲器。Cache存儲器介於CPU和主存之間,它的工作速度數倍於主存,全部功能由硬體實現,並且對程序員是透明的。
●CDMA(碼分多址技術)
CDMA(Code Division Multiple Access)是在數字通信技術的分支擴頻通信的基礎上發展起來的一種技術。就是用具有雜訊特性的載波以及比簡單點到幾點通信所需帶寬寬得多的頻帶去傳輸相同的數據。
更多可以看http://chanel99.blogchina.com/3690891.html
『肆』 程序員必備知識有哪些
作一個真正合格的程序員,或者說就是可以真正合格完成一些代碼工作的程序員,應該具有的素質。 1:團隊精神和協作能力 把它作為基本素質,並不是不重要,恰恰相反,這是程序員應該具備的最基本的,也是最重要的安身立命之本。把高水平程序員說成獨行俠的都是在囈語,任何個人的力量都是有限的,即便如linus這樣的天才,也需要通過組成強大的團隊來創造奇跡,那些遍布全球的為linux寫核心的高手們,沒有協作精神是不可想像的。獨行俠可以作一些賺錢的小軟體發點小財,但是一旦進入一些大系統的研發團隊,進入商業化和產品化的開發任務,缺乏這種素質的人就完全不合格了。 2:文檔習慣 說高水平程序員從來不寫文檔的肯定是乳臭未乾的毛孩子,良好的文檔是正規研發流程中非常重要的環節,作為代碼程序員,30%的工作時間寫技術文檔是很正常的,而作為高級程序員和系統分析員,這個比例還要高很多。缺乏文檔,一個軟體系統就缺乏生命力,在未來的查錯,升級以及模塊的復用時就都會遇到極大的麻煩。 3:規范化,標准化的代碼編寫習慣 作為一些外國知名軟體公司的規矩,代碼的變數命名,代碼內注釋格式,甚至嵌套中行縮進的長度和函數間的空行數字都有明確規定,良好的編寫習慣,不但有助於代碼的移植和糾錯,也有助於不同技術人員之間的協作。 有些codingfans叫囂高水平程序員寫的代碼旁人從來看不懂,這種叫囂只能證明他們自己壓根不配自稱程序員。代碼具有良好的可讀性,是程序員基本的素質需求。 再看看整個linux的搭建,沒有規范化和標准化的代碼習慣,全球的研發協作是絕對不可想像的。 4:需求理解能力 程序員需要理解一個模塊的需求,很多小朋友寫程序往往只關注一個功能需求,他們把性能指標全部歸結到硬體,操作系統和開發環境上,而忽視了本身代碼的性能考慮,有人曾經放言說寫一個廣告交換程序很簡單,這種人從來不知道在百萬甚至千萬數量級的訪問情況下的性能指標是如何實現的,對於這樣的程序員,你給他深藍那套系統,他也做不出太極鏈的並訪能力。性能需求指標中,穩定性,並訪支撐能力以及安全性都很重要,作為程序員需要評估該模塊在系統運營中所處的環境,將要受到的負荷壓力以及各種潛在的危險和惡意攻擊的可能性。就這一點,一個成熟的程序員至少需要2到3年的項目研發和跟蹤經驗才有可能有心得。 5:復用性,模塊化思維能力 經常可以聽到一些程序員有這樣的抱怨,寫了幾年程序,變成了熟練工,每天都是重復寫一些沒有任何新意的代碼,這其實是中國軟體人才最大浪費的地方,一些重復性工作變成了熟練程序員的主要工作,而這些,其實是完全可以避免的。 復用性設計,模塊化思維就是要程序員在完成任何一個功能模塊或函數的時候,要多想一些,不要局限在完成當前任務的簡單思路上,想想看該模塊是否可以脫離這個系統存在,是否可以通過簡單的修改參數的方式在其他系統和應用環境下直接引用,這樣就能極大避免重復性的開發工作,如果一個軟體研發單位和工作組能夠在每一次研發過程中都考慮到這些問題,那麼程序員就不會在重復性的工作中耽誤太多時間,就會有更多時間和精力投入到創新的代碼工作中去。 一些好的程序模塊代碼,即便是70年代寫成的,拿到現在放到一些系統裡面作為功能模塊都能適合的很好,而現在我看到的是,很多小公司軟體一升級或改進就動輒全部代碼重寫,大部分重復性工作無謂的浪費了時間和精力。 6:測試習慣 作為一些商業化正規化的開發而言,專職的測試工程師是不可少的,但是並不是說有了專職的測試工程師程序員就可以不進行自測;軟體研發作為一項工程而言,一個很重要的特點就是問題發現的越早,解決的代價就越低,程序員在每段代碼,每個子模塊完成後進行認真的測試,就可以盡量將一些潛在的問題最早的發現和解決,這樣對整體系統建設的效率和可靠性就有了最大的保證。 測試工作實際上需要考慮兩方面,一方面是正常調用的測試,也就是看程序是否能在正常調用下完成基本功能,這是最基本的測試職責,可惜在很多公司這成了唯一的測試任務,實際上還差的遠那;第二方面就是異常調用的測試,比如高壓力負荷下的穩定性測試,用戶潛在的異常輸入情況下的測試,整體系統局部故障情況下該模塊受影響狀況的測試,頻發的異常請求阻塞資源時的模塊穩定測試等等。當然並不是程序員要對自己的每段代碼都需要進行這種完整測試,但是程序員必須清醒認識自己的代碼任務在整體項目中的地位和各種性能需求,有針對性的進行相關測試,並盡早發現和解決問題,當然這需要上面提到的需求理解能力。 7:學習和總結的能力 程序員是人才很容易被淘汰,很容易落伍的職業,因為一種技術可能僅僅在三兩年內具有領先性,程序員如果想安身立命,就必須不斷跟進新的技術,學習新的技能。 善於學習,對於任何職業而言,都是前進所必需的動力,對於程序員,這種要求就更加高了。但是學習也要找對目標,一些小codingfans們,他們也津津樂道於他們的學習能力,一會學會了asp,一會兒學會了php,一會兒學會了jsp,他們把這個作為炫耀的資本,盲目的追逐一些膚淺的,表面的東西和名詞,做網路程序不懂通訊傳輸協議,做應用程序不懂中斷向量處理,這樣的技術人員,不管掌握了多少所謂的新語言,永遠不會有質的提高。 善於總結,也是學習能力的一種體現,每次完成一個研發任務,完成一段代碼,都應當有目的的跟蹤該程序的應用狀況和用戶反饋,隨時總結,找到自己的不足,這樣逐步提高,一個程序員才可能成長起來。 一個不具備成長性的程序員,即便眼前看是個高手,建議也不要選用,因為他落伍的時候馬上就到了。 具備以上全部素質的人,應當說是夠格的程序員了,請注意以上的各種素質都不是由IQ決定的,也不是大學某些課本里可以學習到的,需要的僅僅是程序員對自己工作的認識,是一種意識上的問題。
『伍』 程序員英語詞彙
程序員如何掌握計算機英語干程序員是一項很辛苦的工作,要成為一個高水平的程序員尤為艱難。這是因為計算機軟體技術更新的速度越來越快,而這些技術大多來源於英語國家,我們在引進這些技術時往往受到語言障礙的制約,嚴重影響到對新技術的理解和消化。首先編程本身就依賴於英語,雖然現在技術的發展,可以使得某些開發工具在變數名和欄位名中支持中文,但還未發現能夠完全使用中文的編程語句。其次,軟體開發中的技術文檔和資料大都是來自英文,即使有翻譯好的,不是晦澀難懂,就是譯法混亂,比如:roll back就有"回滾"、"回退"、"返回"、"重算"等多種譯法,又如我們遇到翻譯後的術語"域",往往不清楚譯者是根據"field"、"region"還是"domain"所譯(如果閱讀原文則不存在這些問題)。還有更重要的一點,這就是等待譯文會嚴重影響我們掌握新技術的時間。通常,一本外版計算機圖書從獲得版權到翻譯出版要一年的時間。就算原作者消化新技術和寫作的時間最短為一年,那麼加起來這已經超過通常軟體版本的更新周期(軟體版本的更新周期一般是1年至2年),這意味著當你通過閱讀翻譯資料掌握這一版本的軟體時,可能該版本已經淘汰至少是面臨淘汰。當然,這並不是說國內沒有好的譯者和譯文,也不是說不能通過閱讀譯文來進行學習。而是說通過別人翻譯的間接閱讀風險較大,如果能掌握計算機英語,利用第一手原文資料進行學習,除了效率之外,被誤導的風險較小。比如:國內引進的一部外版好書《Java編程思想》(原書名《Think in Java》),其翻譯水平較差,就嚴重影響了閱讀和學習,不少讀者深有體會。如果讀著有著過硬的計算機英語水平就可以按照書上提供的作者網址下載原文閱讀,不但可以獲得原汁原味的感受,還可以免費下載該書最新的第二版(據悉機械工業出版社已經取得該最新版本的版權,但該書要到2001年上半年才能面市)。
因此,我們可以得出這樣的結論,干程序員這行實在是離不開英語。實際上,可以毫不誇張地說英語是IT的行業語言。由於英語的優勢,印度、愛爾蘭等國的軟體業在國際上比我們更有競爭力,這並不是說我們的程序員在編程和開發能力上不如別人,而是在使用計算機英語水平上差距太大。不久前在南京舉辦的一次高規格的軟體開發交流會上,就遇到過印度專家講課,英文翻譯譯不下去的情景,因為太多的IT專用術語和縮略語以及很強的專業知識使得沒有計算機背景的英語專業翻譯無能為力,而在場的開發人員因為語言障礙又無法和印度專家直接溝通,錯過了一次極好的交流學習機會。現在,已經有越來越多的程序員意識到計算機英語的重要性了,這種壓力一方面來自進一步向高級程序員或資深IT開發人員發展的需要,一方面來自於後起之秀不斷競爭的威脅。對於前者,沒有較好的計算機英語,能難進一步發展,晉升到更高的技術職位;對於後者,不少大學已經開始使用原版教科書進行專業授課,畢業生的計算機英語水平實在是後生可畏,挑戰是不言而喻的。
那麼,一個程序員應該怎樣去學習和掌握計算機英語呢?是立即開始背英漢計算機字典還是先考完6級再考"托"考"G"?其實,在下定決心之後最關鍵的是要搞清6個W,即:為什麼學(why)、學什麼(what)、怎樣學(how)、何時學(when)、何處學(where)、跟誰學(who)。下面我們就談一談這6個W。
首先是為什麼要學計算機英語。幾乎所有的程序員都知道學習計算機英語的重要性,但並不是所有人都具有學習的主動性。這個問題的提出就是要讓我們從自身的需求出發,掌握學習的主動性。一旦你有強烈的學習動機,任何學習上的困難都不會認你屈服,而你的每一點進步都將給你帶來無比自豪的感覺。
學什麼,是死背單詞?還是猛摳語法?其實都不是。計算機英語的學習是一項系統工程,需要找到一個適合自己的學習目標,並從詞彙、語法、閱讀、寫作多方面去融匯貫通。用程序員的術語講,"學什麼"的問題本質上是一個"確定系統邊界"的問題。應為學習計算機英語是一個很寬泛的概念,若不根據個人的具體情況進行定義,恐怕難以有一個可以管理學習目標。無目標的或邊界不清的項目往往是失敗的項目,在學計算機英語的問題上也是一樣。因此,我們先要根據自己的實際英語水平和工作需要界定計算機英語學習的系統邊界。關於實際英語水平,我們可以簡單地以大學非英語專業的英語教育作為參考,以通過大學英語四級考試(CET4)作為基線,即如果你通過了CET4,則表明你的英語水平為中高級,詞彙量接近5千,不存在基本的語法問題,有一定的讀寫能力;如果你沒有通過CET4,則表明你的英語水平為初中級,詞彙量不足4千,可能存在一些語法問題,讀寫能力較弱。關於工作需要,我們可以將計算機英語學習對象劃分成計算機研發人員、泛IT人員。其中計算機研發人員是指從事計算機研究和開發的專業人員,他們又劃分為軟體研發和硬體研發,顯然程序員是屬於前者。計算機研發人員要掌握的計算機英語最專業,要求最高,但軟體硬體各有側重。泛IT人員是指在IT行業從業的或與IT行業有密切聯系的那些非研發人員,包括操作使用人員、技術管理人員、支持服務人員等等。不難看出,泛IT人員對計算機英語的要求不是太高,也不太專業,一般能夠使用英文界面的軟體,能夠閱讀原版的操作手冊和說明書即可。針對以上的劃分,我在下表中大致給出了計算機英語的學習目標:
表1 計算機英語的學習目標
初中級 中高級
泛IT行業人員 掌握計算機英語的基本術語;
了解計算機英語中常用的語法和慣用法;
能藉助字典閱讀英文界面和在線幫助以及簡單的操作手冊,閱讀熟讀在70-90詞/分鍾。 掌握計算機英語的常用術語和縮略語; 掌握計算機英語中語法和慣用法的表達方式和功能;
能藉助字典閱讀英文文檔和技術資料,閱讀熟讀在100詞/分鍾以上;
能使用英文編寫簡單的文檔。
計算機研發人員 掌握計算機英語的常用術語和縮略語;
熟悉計算機英語中的語法和慣用法;
能閱讀英文界面和在線幫助以及簡單的操作手冊,閱讀熟讀在80-100詞/分鍾。 掌握大量的計算機英語術語和縮略語;
熟練掌握計算機英語中語法和慣用法的表達方式和功能;
能閱讀英文文檔和技術資料,閱讀熟讀在100詞/分鍾以上;能藉助字典翻譯專業技術圖書。
能使用英文編寫簡單的技術文檔和程序注釋。
知己知彼,百戰不殆。在了解了學習計算機英語的一般要求之後,接下來就需要對自己的具體情況進行具體分析,制定一個學習計劃或簡單地定一個學習方向。作為程序員學習計算機英語的根本目的是為了提高自己在英語環境中掌握計算機技術的能力,所以學習的內容應該是圍繞本專業的領域展開。對於沒有上過計算機專業英語課程的程序員來說,學習的重點應該是掌握專業詞彙和術語,了解計算機英語的一些規范譯法和習慣用法。對於有一定計算機英語基礎的程序員則應該把重點放在提高閱讀速度和閱讀質量上,並逐漸習慣使用英語注釋程序撰寫文檔。
在明確學習目的和學習方向之後,還必須有一個好的學習方法,"怎樣學"就是一個學習方法問題。這其中還包含了何時學、何處學、跟誰學等一系列問題。
在這里我建議把短期的系統學習和長期的日常學習結合起來,這樣做的效果最好,也最科學。所謂短期的系統學習是指集中一段時間系統地學習計算機英語,這對於沒有參加過大學計算機英語課程學習程序員尤為重要。而日常的學習則是指在日常工作用有意識地多接觸和多使用計算機英語,邊用邊學,持續不斷地積累提高。下面我就從這兩個方面來具體談一談。
要系統地學習計算機英語,最好是參加專門的計算機英語課程培訓班。培訓班的選擇非常重要,好的老師、成功的辦學經驗和系統的課程設置都是選擇的重要依據。然而大多數程序員工作繁忙,可能採取的方式多是自學了。如果不能選擇一位好老師,那就只能選擇一本好教材了。一本好的計算機英語教材對系統地學習計算機英語幫助極大。目前市面上的計算機英語教材多達30種,在選擇教材時不少程序員往往無從下手,大家不妨從以下幾方面進行考慮:
教材的難易程度--對於不同學歷層次有不同的教材,選擇教材是一定要看清該教材的培訓對象是中專、大專、本科還是研究生。選擇難易程度適合自己的教材,太簡單則不利於提高、太難則容易使學習受挫。
教材的專業側重--有的計算機英語教材偏重於硬體,有的偏重於軟體,還有的教材是信息電子類的計算機英語,側重於通信電子方面,比如:匯編語言、單片機等。另外有的教材側重於理論,如:數據結構、離散數學;而有的則側重於應用,如:軟體工程、資料庫開發。所以程序員在選擇計算機英語教材時,應仔細察看書中的內容,以免偏離軟體開發的實際工作需要。
教材的體系結構--目前計算機英語教材主要分為按語法體系組織和按計算機體系組織的兩種結構。如果你是初中級的英語水平建議使用前者,如果你是中高級的英語水平建議使用後者。
教材的易用性--教材的易用性是指教材的編排是否符合人們的學習習慣。雖然計算機英語是專業課程教材,但如果編排活潑、圖文並茂、註解查閱方便肯定能調動學習的興趣,降低閱讀的難度。這方面國內的教材應該多向國外的教材學習。
然而國內許多大學的計算機英語課程作為專業英語教學起步較晚,而早期出版的計算機英語教材大多出自於任課老師收集的計算機英文資料,教材規劃不夠系統,編排也比較簡單。這些教材雖然使用的學校較多,為早期的計算機英語教學做出過不可磨滅的貢獻,但致命的弱點是內容陳舊、與時代脫節。最典型的代表是清華大學出版社的《計算機英語》,該書最新版本是1997年更新的,裡面還充斥著Dos這樣的陳舊內容。有些老師苦於沒有新穎實用的計算機英語教材,於是一本國外的計算機入門讀物《Computing Essentials》(McGraw-Hill出版公司)被許多大學選用為計算機英語教材,效果極佳。這本書現在已經由高等教育出版社影印發行,書名是《計算機專業英語》。該書的特點是:時效性強(版本更新快),新穎實用,編排活潑。但對於中高級英語水平的專業開發人員未免有點太淺。
我們在分析和研究了市面上大量計算機英語教材的基礎上,又結合計算機英語教學和學習經驗,編寫了一本非常適合於軟體開發人員的《計算機英語》,該書已經由機械工業出版社出版,是該社"重點大學計算機教材"系列中的一本。需要說明的是該書最適合的讀者對象為英語達到CET4的程序員,因為該書的選材直接來自國外計算機教材和出版物、技術文檔和專業論文、IT精英的言論以及計算機方面的大網路全書,這樣的選材在保持原汁原味的同時使學習者更能接觸到計算機英語的真實語境和主流思想,雖然有一定的難度,但非常實用和專業。同時為便於學習,我們為超出CET4的詞彙和一些專業術語都進行了注釋,而且注釋就在課文旁邊,免去了翻查生詞表的麻煩。這本書適合於程序員的另一條重要原因是全書側重於軟體和應用,沒有枯燥繁瑣的理論。計算機英語是用來學習專業英語的,而不是用來學習計算機理論的。我們沒有像其他的計算機英語教材那樣,充斥了大量難懂的計算機理論文章,而這些理論本身就非常難學。這本教材與其它計算機英語教材不同的地方還在於它更關注計算機素養、計算機應用以及IT對社會和生活的深刻影響。在這里我們可以聆聽到IT精英比爾·蓋茨和IBM公司CEO郭士納的精彩演講,也能拜讀到英特爾公司前總裁葛洛夫的驚世之作《只有偏執狂才能生存》的序言。
系統學習計算機英語,這里的系統性包括了計算機體系的系統性和英語語言的系統性,我們在學習時必須時刻牢記。除了藉助計算機英語教材系統地了解計算機硬體軟體、操作系統、軟體工程、編程語言、網路通信、信息安全、應用系統等諸方面的英語表達和專業詞彙外,還要對英語語言本身從聽、說、讀、寫四個方面下功夫,以免出現偏廢。有些程序員就是因為在聽和說方面偏廢,以至於影響到出國發展。如何加強聽和說的訓練,這是關於英語學習的話題,我自己的一個經驗是多看原版電影(VCD/DVD)以提高聽力(當然不能看字幕),多參加英語聊天(英語角)以提高口語。
計算機英語的學習不同於考"托"考"G",無法靠短期的突擊來完成。長期的日常學習尤為重要。所謂的日常學習並不需要你拋開工作,安排專門的時間,而是邊用邊學。比如,你為了解決編程上的一個問題,查閱英文的幫助或技術資料。然而,不少程序員不太喜歡看英文,他們喜歡使用中文版的軟體,喜歡漢化的幫助,喜歡讀翻譯好的書。這實際上就錯過了許多日常學習計算機英語的機會。不可否認,讀中文肯定比讀英文方便,節省時間,但從長期的發展來看,弊大於利。這種對翻譯的依賴使許多程序員失去了獲取一手資料的寶貴機會。
其實,既然你已經通過對計算機英語的系統學習掌握了一定數量的專業詞彙,就完全可以藉助字典去使用那些原文資料和在線幫助,加上有金山詞霸這樣的工具,閱讀原文並不很困難,關鍵是一個習慣問題。我有一個朋友,在自己的電腦里從不裝任何中文版或漢化軟體,連上網聊天也堅持用英文。幾年下來英語突飛猛進,效果甚佳,有志者不妨一試。
在日常工作中大量閱讀英文書籍和資料是提高計算機英語水平的最佳途徑。目前市場上大量的計算機原版影印圖書為我們提供了絕好的機會。閱讀英文計算機圖書一開始是"啃"的感覺,比較費時費力,對於不太好讀的地方,不妨拿起筆來逐行逐字翻譯出來,這樣對提高英語水平很有幫助。對於有經驗的程序員可以利用自己的專業背景知識和上下文(Context)進行大膽推測,這樣有利於提高閱讀速度。即使是不求甚解,也不要緊,你可以通過多讀同類書來彌補。原版計算機書讀多了,你會發現一些很有規律的東西和一些常用的詞彙,這些來自實踐的經驗非常寶貴,並讓你終生受益。一般在完整閱讀2-3本原版書以後,你就能發現讀原版書的樂趣。值得一提的是讀原版書的真正樂趣並非只是在於提高英語水平,而更是在於獲得一種和西方人一致的思維方式,這種思維方式對學習計算機技術極為有益,因為計算機技術甚至現代科學體系都是建立在這種思維方式的基礎之上的。堅持閱讀英文計算機圖書可以達到"品"的感覺,這種感覺是指在閱讀時無需將英文轉換為中文,而是直接用英文和作者在同一個水平線上進行思考和交流。至此,我們獲得的不僅是英語水平的突破,更是計算機水平的突破。這也是許多計算機高手成功的秘密。
如果你有一定的英語基礎,並希望突破計算機英語的障礙並成為高手,從現在起就養成一個學用計算機英語的良好習慣吧。下面是你可以立即選擇的努力方式:
1、 給自己起一個英文名字。並用作網名和登錄名。
2、 立即將自己電腦中的所有中文版或漢化軟體換成英文版。連Windows也用英文的。
3、 選一本適合自己的計算機英語教材。
4、 保證一年至少讀1-2本原版影印的計算機書,並堅持讀完。
5、 上網盡量多訪問英文的技術論壇和網站。不使用漢化的幫助。
6、 在程序中使用英文注釋。堅決不用中文或漢語拼音作變數名、欄位名、文件和文件夾名。
7、 每月至少看1-2部原版電影(VCD/DVD),盡量不看字幕,提高語感和聽力。
8、 不看中英文對照讀物,但可以看注釋讀物。多使用英英字典,少使用英漢字典。
9、 每天堅持記錄和復習遇到的生詞。對於縮略語,一定搞清每個字母的英文含義。
如果你還有什麼更好的方法不妨也提出來和我們交流,以便使更多的程序員收益。
『陸』 計算機程序員 前後台 英文怎麼說
計算機程序員:Computer programmer,前後台:foreground-background
1、Computer programmer
讀音:英 [kəmˈpjuːtə(r) ˈprəʊɡræmə(r)] 美 [kəmˈpjuːtər ˈproʊɡræmər]
中文:計算機程序設計員
2、Front and rear stage
中文:前後台
短語:
foreground-background monitor前後台監視器
foreground-background environment前後台環境
foreground-background job前後台作業
Foreground-Background Separation前景
foreground-background communication前後台通信
(6)程序員常用名詞擴展閱讀
詞語用法:
computer的基本意思是「計算機」,也可譯作「電腦」。
computer是可數名詞。
background的基本意思是「背景」「底色」,主要指圖畫或照片中在主要人物或景象之後起襯托作用的部分。引申可表示「人的背景資料」,主要包括家庭、所屬社會階層、經歷、學歷狀況等。還可表示「背景情況」,指事情發生時所處的時間、地點和外部環境等。
background主要用作可數名詞。作「後景;背景」「底色」解時常用作單數名詞;作「(事態發展等的)背景」解時常用作單數名詞,也可用作不可數名詞;作「不顯眼的位置;幕後 」解時只用作單數名詞。
background後接介詞for,of或to表示「某方面的背景或經歷」; 接介詞in 表示「在…背景中;在幕後」;前面加介詞against表示「映襯在…背景上」。
『柒』 程序設計的名詞解釋是什麼
程序設計是給出解決特定問題程序的過程,是軟體構造活動中的重要組成部分。程序設計往往以某種程序設計語言為工具,給出這種語言下的程序。程序設計過程應當包括分析、設計、編碼、測試、排錯等不同階段。專業的程序設計人員常被稱為程序員。
對於接受的任務要進行認真的分析,研究所給定的條件,分析最後應達到的目標,找出解決問題的規律,選擇解題的方法,完成實際問題。
(2)設計演算法
即設計出解題的方法和具體步驟。
(3)編寫程序
將演算法翻譯成計算機程序設計語言,對源程序進行編輯、編譯和連接。
(4)運行程序,分析結果
運行可執行程序,得到運行結果。能得到運行結果並不意味著程序正確,要對結果進行分析,看它是否合理。不合理要對程序進行調試,即通過上機發現和排除程序中的故障的過程。
(5)編寫程序文檔
許多程序是提供給別人使用的,如同正式的產品應當提供產品說明書一樣,正式提供給用戶使用的程序,必須向用戶提供程序說明書。內容應包括:程序名稱、程序功能、運行環境、程序的裝入和啟動、需要輸入的數據,以及使用注意事項等。
詳見網路:http://ke..com/view/8332.htm?fr=aladdin
『捌』 關於電腦的的常用術語
電腦常用術語如下:
拷貝: 指將文件從一處復制一份完全一樣的到另一處,而原來的一份依然保留。
刪除: 指將文件從系統的目錄清單中刪掉,但許多情況下,用工具軟體或Windows下自帶的「回收站」均能恢復被刪掉的文件,為了保險起見,用戶最好養成對自己輸入的文本或其它文件進行軟盤備份,以防萬一。
移動: 就是將拷貝操作和刪除操作合二為一,原來的一份在拷貝完成後即被自動刪掉。
共享: 這是在網路環境下文件使用時的一種設置屬性,一般指多個用戶可以同時打開或使用同一個文件(或數據)。
獨占: 系指文件(或數據)同一時刻只能被一個用戶打開,其它用戶只能等待此用戶放棄後,才能打開和使用它。
壓包: 用工具軟體將文件進行壓縮存儲的過程,常用的壓包工具有WinZip 、Arj等。
解包: 壓包的反過程,即將壓包文件還原成原來的文件。
加密: 在網路通訊中,為了保證傳輸數據的保密性,用密碼對文件和數據進行加密變換。
解密: 加密的反過程,使之變成可使用的正常數據。
上傳:本地計算機與其它計算機通過網路連接成功後,將本機文件拷貝到其它計算機中的過程。
下載:在網路中,將對方計算機中的文件拷貝至本地計算機中的過程。
通配符: 為了提高對文件處理的效率,用*或?表示任意多個或一個字元,這樣就可以一次性處理一批文件,如*.*即代表當前目錄下的全部可見文件。
格式化: 指對磁碟進行使用前的預處理以便存入數據。一般而言,新盤是必須格式化的,而使用過的舊盤也可以格式化,格式化後磁碟上全部數據將被刪除,Windows常見的格式有Fat16,Fat32,NTFS。
望採納謝謝
『玖』 寫程序專業術語叫什麼
恩,然後起初你找工作時都叫程序員!
『拾』 軟體編程常用術語
1. XML 首先,你要了解XML。我不是說僅僅是XML規格本身,還包括一系列相關的基於XML的語言:最重要的是XHTML、XSLT、XSL、DTDs、XML Schema (XSD)、XPath、XQuery和SOAP。那些在過去5年內從未碰過鍵盤的人,可能不知道XML為何物。XML是一種文本文件,使用與HTML類似的標記。XML能定義一個樹狀結構,並能描述所含的數據。 XML最好的一點是既能存結構化數據也能存非結構化數據。它既能存貯和描述「規格的」(regular)表格數據,也能容納和描述「粗糙的」(ragged)文件數據。 XHTML是現今寫HTML的首選方法。因為它是形式完好(well formed)的XML,比起古老的、通常是畸形(malformed)的HTML文件,XHTML格式的文件更容易處理。 XSLT和XSL是用於把XML文件轉成其它格式的語言。可轉換的格式包括:文本文件、PDF文件、HTML、以逗號為分隔符的文件,或其它XML文件。 DTD和XML Schema描述XML文件所能包含的內容的類型,並讓你「驗證」XML文件內容的合理性,而不用寫特殊代碼以確保內容符合規則要求。 XPath和XQuery是用於從XML文件中抽取單個項目或一組項目的查詢語言。XQuery擴展了XPath,因而更重要。XQuery與XML的關系正像SQL與關系資料庫的關系。 SOAP是Web服務之間的一個標准通訊協議。盡管你不需要對SOAP標准一清二楚,你應該熟悉一般的schema和它的工作原理,以便能應用這門技術。 2. Web服務 Web服務是XML流行後的一個直接產物。因為你能用XML描述數據和物件,因為你能用schema確保XML文件內容的合理性,因為XML是基於文本的規范,XML為跨平台通訊標准提供了一個極其方便的基本格式。如果你還從來沒碰到Web服務,你可能很快就會碰到,在未來5年內,你幾乎肯定會碰到。熟悉Web服務十分重要,因為它是目前所有跨不同機器、不同語言、不同平台和不同地點的通訊協議中最簡單的一個。不管你需要與否,Web服務是邁向互用性的重要一步。 XML工作組主席John Bosak曾說XML「給Java一些事做」。實際上,Web服務讓所有語言都有了一些事做。Web服務讓在大型機上運行的COBOL應用軟體能調用在手持設備上運行的Java應用程序、能讓Java applet與.NET伺服器交談、能讓微機軟體與Web伺服器無縫連接,並提供了一個相對容易的方法,讓企業不光能向外界提供數據,還能提供功能,而且是一種與語言、平台和位置都獨立的方法。 3. 面向對象的編程 很多程序員仍認為OOP是象牙塔里的技術。但如果你想一下是什麼語言在過去的10年裡佔主導地位,你就會理解OOP不是象牙塔里的技術。OOP從Smalltalk開始,傳到C++和Pascal (Delphi)。Java使OOP大踏步地邁向主流,幾年後的VB.NET和C#則完全確立了OOP的優勢地位。盡管這些語言中的多數並不要求你必須會OOP,但我覺得如果你不了解OOP的基本概念也不知道如何應用這些概念,你能找到的編程工作將越來越少。 4. Java、C++、C#和VB.NET 我把這些語言列在一起,並不是建議你成為每一種語言的專家。我的理由是:學習編程最有效的方法之一是看代碼,而你能看到的大量的代碼很可能不是用你所喜愛的語言編寫的。 在過去幾年,各語言的能力越來越接近。現在,你可以用VB.NET寫Windows服務、Web應用程序或命令行程序。即使你只使用一種語言,你也應該學一些其它語言,以便能看懂那些樣例,並將其翻譯到你所用的語言。這4種語言是基本核心,還有其它一些滿足不同需要、頗具用途的語言,如FORTRAN、COBOL、APL、ADA、Perl和Lisp。 5. javascript 盡管名字有些相像,但Java與javascript並無關聯。為什麼一個腳本語言會如此重要呢?因為所有主流瀏覽器都用javascript。如果你需要寫Web應用程序,你就有足夠的理由學javascript。javascript可以用作ASP或ASP.NET的伺服器語言,也可以當做用於擴展XSLT的功能語言(functional language)。javascript是Mozilla/Netscape中用於激活基於XUL的程序介面的首選語言。javascript的一個變種ActionScript是Flash MX的編程語言。將來,javascript很可能成為新設備的編程語言,以及大型應用軟體中的宏語言。 與javascript相對照的是VBScript。盡管Microsoft的軟體對VBScript有良好的支持,但VBScript在未來的開發工作中很可能是一個糟糕的選擇。就是Microsoft也傾向於用javascript(或Microsoft自己的變種:JScript)寫客戶端程序。在選擇腳本語言時,請選擇javascript。 6. 正則表達式(Regular Expressions) 查尋關系資料庫可以用SQL,查詢XML可以用XPath和XQuery,查詢純文本文件則可以用正則表達式。例如,你可以用一個命令從一個HTML文件中查找並刪除所有的注釋。各種開發語言內置的一些簡單的文本查詢功能,如"IndexOf"函數或VB中經典的"InStr"函數或"Like"操作符,根本不能與正則表達式相提並論。現在,各種主要的開發語言都提供使用正則表達式的途徑。盡管正則表達式本身既難懂更難讀(是回到早期計算機時代的一種倒退),但它卻是一個功能強大而且未被充分利用的工具。 7. 設計模式 正像OOP通過把對象分類以簡化編程一樣,設計模式對一些普遍的對象之間的交互進行分類,並賦予一個恰當的名稱。OOP用得越多,設計模式就越有用。一些最常用的模式的名稱已經變成了軟體開發領域共同使用的術語,所以要跟上信息的主流,你就要對設計模式有相當的理解。 8. Flash MX 如果你需要在客戶端得到比HTML和CSS更多的圖形和更強的編程功能,Flash是你的答案。用Flash編程比開發Java applets或寫.NET代碼要快得多,也容易得多。 在最新版本 (MX) 中,Flash不僅僅是畫圖和製造動畫的工具,它已經成為一個編程功能強大的開發環境:能調用SOAP Web服務,也能調用遠端伺服器上的ColdFusion、Java或.NET程序。Flash無處不在。它的引擎存在於世界上大多數客戶端計算機,包括手持設備、置頂盒、甚至是新的書寫板電腦。所以使用Flash能大大擴展你的程序的應用范圍。 9. Linux/Windows 熟悉Linux。在一台舊機器或新機器上安裝Linux。下載圖形用戶界面,在其基礎上寫一些程序。安裝Apache,寫一個Web應用程序。這個世界不再僅僅是屬於Windows,這種趨勢可能還會持續下去。如果你是一名中堅的Linux開發人員,那就拋棄你對Windows的憎惡,看看你能否做一些Windows編程。Windows能繼續在台式電腦上稱王是有其原因的,這不僅僅是因為Microsoft控制了這個市場。 沒人知道你們公司會在什麼時候決定從Linux轉向Windows(或從Windows轉向Linux),或者你想跳到一家用另一種平台的公司,或者你想出了開發一個殺手軟體的好主意,所以你要爭取擁有在不同操作系統上的編程經驗。 10. SQL 盡管SQL不像本文討論的其它技術那樣新,而且SQL的重要性在未來10年內很可能降低,但它仍然是一項基本技能。很多開發人員還沒有掌握這門技術,或掌握得不夠,不足以有效率地使用它。不要依賴具有圖形用戶界面的SQL生成器替你做事情,你要自己手工地寫查詢命令,直到你熟悉基本的SQL語法為止。了解SQL不僅能幫助你日後學習XQuery,你還有可能馬上發現能簡化或改進目前項目的方法。 培養好奇心 最後,(對,我意識到這是第11門技術),好奇心是你最重要的技能。要去嘗試各種東西。新語言或新技術對你當前或將來的工作可能有用,也可能沒用,但並不是你所學的每一件事都是為了工作。不要害怕失敗,萬事開頭難,學新技術也是如此。大多數失敗是因為人們希望太快地學到太多的東西。要對每一點進步感到滿意,不要讓時間(或缺乏時間)妨礙你。相反,你要安排時間留心、研究、試驗新的開發技術和工具。 你可能永遠也沒有必要成為這些技術的專家,而且我的選擇可能根本不適合你的特殊情況,但通過培養好奇心,你將會發現你應該了解的東西。