❶ 編程經典語錄
篇一:程序員9條經典的編程語錄
2013年伊始,告別短暫的小長假,我們又回到了緊張的工作氛圍中,在這篇文章中,我收集了幾條非常有趣的且廣受歡迎的編程術語,為廣發編程愛好者加波助瀾,就像Linus Torvalds說的那樣,我們因為興趣而編程。 2013年伊始,告別短暫的小長假,我們又回到了緊張的工作氛圍中,在這篇文章中,我收集了幾條非常有趣的且廣受歡迎的編程術語,為廣發編程愛好者加波助瀾,就像Linus Torvalds說的那樣,我們因為興趣而編程。
1. 在水裡行走和以一個需求規格進行軟體開發類似,即如果水或需求都被凍結住,那麼行走和軟體開發都會變得很容易。-——Edward V Berard
2. 不要擔心程序異常,如果它總是正確的話你早就失業了。——軟體工程Mosher定律
3. 設計的附加價值高於它所增加的花費。——Thomas C. Gale
4. 沒有好的團隊就開發不出好的軟體,但絕大多數的軟體開發團隊看起來就像不健全的家庭一樣。——Jim McCarthy
5. 我才不關心我的代碼是否能在你的機器上工作!我們不會給你提供機器。——Vidiu Platon
6. 「靠代碼行數來衡量開發進程就好比用重量來衡量飛機製造的進度。」——Bill Gates
7. 「程序員的問題是,不到太晚,你永遠不會知道他在做著些什麼。」——Seymour Cray
8. 「大部分好的程序員編程並不是為了錢或名望,而只是因為純粹的樂趣。」——Linus Torvalds
9. 「有兩種生成一個軟體設計方案的途徑。一個是把它做得如此簡單,以致於明顯不會有漏洞存在;另一個是把它做的如此復雜,以致於不會有明顯的漏洞存在。」——C.A.R. Hoare
篇二:程序員經典語錄
1. 選擇當前科技領域的一個小子集,親近它、擁抱它,並且嘗試推進這個小領域的發展。
2. 理解不同數據結構和演算法的優缺點,不單是內存中,還有磁碟上的表現。
3. 首先深刻理解你所在的領域,然後拋開計算機,像普通用戶那樣觀察和體會。
4. 時刻准備好(包括能力和心理上)向深層探索,不僅僅是一兩層,而是好幾層。要知道,是否能在編程時勢如破竹,與你所能達到的技術深度關聯緊密。
5. 運用你的想像力,總是問這樣的問題「還有更好的辦法嗎?」跳出固有的思維模式,最好的實現方式也許還沒有人嘗試過。
6. 永遠不要過早退出,不要兩次編寫同一段代碼,不要將一個變數命名為另一個變數的子集。如果不理解這些規則,也許你會爭辯,不過一旦你這么做了,它們就能幫助你寫出更好的代碼,否則你將永遠停留在初級程序員的水平。
7. 學習如何進行基準測試,學會的那一天,你會發現世界將變得不同。
8. 學會如何分辨瑣事和細節,只將精力集中於細節。
9. 不要總是向你的用戶和管理者妥協,有時應該讓他們知道,他們自以為的並不是那麼重要。
10. 寫一個框架,無論你是否計劃使用它。這個過程會讓你學到靠其他方式無法學到的東西。
11. 把學到的東西教給別人,無論是口口相授還是文以載道,你都會發現自己也能從這個過程中收獲良多。
12. 找到旁人寫的這樣一些代碼——它們實現了重要的功能,但寫得並不夠聰明。重寫它們,然後告訴自己永遠不要犯相同的錯誤。
13. 在人生的某個時候,運營你自己的事業(服務或產品)。你能從中學到當職員時無法領悟的編程技巧 你認為最具爭議的編程觀點是什麼?
C#專家Jon Skeet曾在StackOverflow上提出這個問題。這里列舉最熱門的前10條討論。
1. 業余時間不以編程為樂者,永遠趕不上那些以此為樂的同行
即使最聰明、最有才華的人,若只是將編程作為工作,就永遠成不了真正優秀的程序員。以編程為樂的人會在業余時搞些小項目,或者擺弄各種編程語言和編程思想。
2. 唯一能放之四海而皆準的最佳實踐,是「用腦子思考」
太多人喜歡追逐眾多時髦技術,想方設法把各種方法、模式、框架用到不適合的地方。新技術和名人大牛的觀點並不等於適用於實際情況。
3. 依賴Google沒什麼錯
這種言論肯定會讓那些學富五車的飽學之士惱火。但重要的是能真正理解,並給出成功的編程解決方案,讓客戶和老闆滿意。
4. 大多數注釋是代碼的糟糕重復
我們大部分時間是在維護其他人(或我們自己)所寫的代碼,而糟糕、錯誤、過時和誤導性的注釋也是代碼中最令人糾結的因素之一。
5. XML被大大高估了
許多隨波逐流的人沒動過腦子就跳上了XML這條黑船。XML用於Web應用不錯,因為它本來就是干這個的。此外的問題定義、設計思路應該盡量不用XML。
6. 程序員生而不平等
經理往往認為「程序員A=程序員B」,因為他們工作的年頭差不多。但實際上,他們的效率可能相差十倍甚至百倍。
7. 將java作為最適合大學教學的第一門語言令人費解
第一門編程語言應該重在學習控制流和變數,而不是對象和語法。此外沒有調試C/C++內存泄漏經驗的人,根本無法完全理解Java的初衷。
8. 若你只會一門語言,無論多麼精通,仍然不夠優秀
任何人如果只局限於一門語言,都無法充分發揮自己的潛力。而且缺乏求知慾和探索意願,都不符合優秀程序員的特質。
9. 性能真的很重要
盡管可以通過購買更強勁的CPU、硬碟和內存提升性能,但若這樣想的人少一些,我們也許能在1GHz的CPU上運行更多程序。
10. Print語句是有效的調試方式
用System.out.println之類的輸出語句調試代碼的方式挺好。這經常比正式的調試要快,而且可以比較不同運行的輸出結果
篇三:101條經典計算機語錄
1、計算機沒什麼用.他們只會告訴你答案.(巴勃羅畢加索,畫家)
2、計算機就跟比基尼一樣,省去了人們許多的胡思亂想.(薩姆尤因,作家)
3、他們擁有計算機,他們也還可能擁有其他的大規模殺傷性武器.(珍內特雷諾,美國前女司法部長)
4、跟計算機工作酷就酷在這里,它們不會生氣,能記住所有東西,還有,它們不會喝光你的啤酒.(保羅利里,吉他手)
5、如果汽車能趕上計算機的發展周期的話,一輛今天的勞斯萊斯僅值100美元,每加侖要跑100萬英里,每年還得爆炸一次,把裡面的人殺個精光.(Robert X. Cringely,技術作家)
6、計算機總是越來越智能的.科學家告訴我們說不久它們就能跟我們對話了.(這里的它們,我指的是計算機.我懷疑科學家永遠都不能跟我們對話.) (Dave Barry,幽默作家)
7、我最近注意到,在共同文化中,那種對計算機變得智能化並最終掌控世界的妄想恐懼症幾乎徹底消失了.據我所知,這跟MS-DOS的發布基本是同步的.(Larry DeLuca)
8、計算機會不會思考這個問題就像問潛水艇會不會游泳一樣.(Edsger W. Dijkstra,圖靈獎獲得者)
9、活了一百年卻只能記住30M位元組是荒謬的.你知道,這比一張壓縮盤還要少.人類境況正在變得日趨退化.(Marvin Minsky,人工智慧研究的奠基人) 信任
10、這座城市的中央計算機告訴你的?R2D2,你不該相信一台陌生的計算機!(C3PO,星球大戰中的翻譯機器人)
11、永遠不要相信一台不能扔掉一扇窗戶*的計算機(斯蒂夫沃茲尼亞克,蘋果聯合創始人)
12、硬體:計算機系統中可被踢的部分.(Jeff Pesis)
13、今天大部分的軟體都很像上百萬塊磚堆疊在一起組成的埃及金字塔,缺乏結構完整性,只能靠強力和成千上萬的奴隸完成.(阿倫凱,圖靈獎獲得者,面向對象創始人)
14、我終於明白'向上兼容性'是怎麼回事了.這是指我們得保留所有原有錯誤.(Dennie van Tassel)
15、有兩樣重要產品出自伯克利:LSD和BSD*.我們不相信這是個巧合.(Jeremy S. Anderson)
16、2038年1月19日,凌晨3點14分07秒(UNIX中的世界末日*1970年1月1號之後的2^32秒)
17、每個操作系統都差不多 我們都一樣的爛.(微軟的高級副總裁布萊恩瓦倫蒂尼這樣描述操作系統的安全狀況,2003)
18、微軟有出了個新版本,Windows XP,據大家說是'有史以來最穩定的Windows', 對我而言, 這就好像是在說蘆筍是'有史以來發音最清脆的蔬菜一樣' (Dave Barry)
19、互聯網?那個東西還在嗎?(Homer Simpson)
20、網路就像是個母夜叉.我每轉到一處都會看見小個的按鈕命令我提交*.(Nytwind)
21、想想看吧,已經有一百萬只猴子坐在一百萬台打字機旁,可Usenet就是比不上莎士比亞.(Blair Houghton)
22、計算機軟體產業最為驚人的成就,是其持續不斷地放棄硬體產業的驚人成果和穩定性.(Henry Petroski)
23、真正的創新經常來自於那些貼近市場、但無力擁有市場的的小型初創公司.(Timm Martin)
24、人們常說,偉大的科學學科就像是站在其它巨人肩膀上的巨人.人們也說過,軟體產業正如站在其他侏儒腳上的侏儒.(Alan Cooper,交互設計之父)
25、這無關比特、位元組和協議,而關乎利潤和損益.(郭士納,IBM前CEO)
26、我們是微軟.反抗是徒勞的.你會被同化的.(保險杠貼紙)
27、不管演示在綵排的時候有多好,一旦在觀眾面前展示時,演示不出錯的幾率與觀眾人數成反比,與投入的金錢總額成正比.(Mark Gibbs)
28、專利大多數都是垃圾.浪費時間去閱讀這些專利是愚蠢的.只有專利持有人才會這么干,還得強迫自己才會看.(Linus Torvalds,LINUX創始人)
29、控制復雜性是計算機編程的本質.(Brian Kernigan)
30、復雜性殺死一切.它把程序員的生活給搞砸了,它令產品難以規劃、創建和測試,帶來了安全挑戰,並導致最終用戶和管理員沮喪不已.(Ray Ozzie)
31、進行軟體設計有兩種方式.一種是讓它盡量簡單,讓人看不出明顯的不足.另一種是弄得盡量復雜,讓人看不出明顯的缺陷.(C.A.R. Hoare)
32、好的軟體的作用是讓復雜的東西看起來簡單.(Grady Booch,UML創始人之一) 易用性
33、不管那些計算機書籍如何宣稱,只需記住,你並非'傀儡'.真正的傀儡是那些無法設計出易於使用的硬體和軟體的那些人,盡管他們是技術專家,因為這是普通消費者賴以生活的東西.(Walter Mossberg,科技專欄記者)
34、軟體供應商在努力嘗試讓他們的軟體更'易於操作' 迄今為止,他們最好的辦法就是翻出所有的老手冊,然後在封面蓋上'易於操作'這幾個字.(比爾蓋茨)
35、有個老套的故事說有人希望他的計算機能像他的電話機一樣好用.他的願望實現了,因為我已經不知道該如何使用自己的電話了.(BjarneStroustrup,C++之父)
36、任何一個傻瓜都會用電腦.很多都會.(Ted Nelson)
37、只有兩個行業把客戶稱為'用戶'*.(Edward Tufte,信息設計大師)
38、程序員在跟宇宙賽跑,他們在努力開發出更大更好的傻瓜程序,而宇宙則努力培養出更大更好的白痴.到目前為止,宇宙領先.(Rich Cook)
39、你們當中很多人都知道程序員的美德.當然啦,有三種:那就是懶惰、急躁以及傲慢.(Larry Wall,Perl發明者)
40、程序員的問題是你無法預料他在做什麼,直到為時已晚.(Seymour Cray,超級計算機之父)
41、那就是這些自認為痛恨計算機的人的真實面目.他們實際上真正痛恨的是糟糕的程序員.(拉瑞尼文,科幻作家)
42、很長時間以來我一直困惑不已,為什麼一些又貴又先進的東西會一點用都沒有.直到我突然想起,計算機不就是一台愚蠢之至卻擁有難以置信的做聰明事能力 的機器嘛,而程序員不就是聰明絕頂卻擁有難以置信的.干蠢事的能力的人嘛.一句話,他們簡直就是天生絕配.(比爾布萊森,旅遊文學作家)
43、不像學學塗塗畫畫也能讓某人成為專家級畫家,計算機科學教育不會讓任何人成為一名編程大師.(埃里克雷蒙,開源運動領袖)
44、一個程序員是經歷以下事情後仍能證明自己是嚴格的專家的人:他可以歷經數不清的捶打,可取材於無關緊要的文檔,用上面的爭議數據作出模糊假設,並以 此計算出測微精度的無數片面理解的答案,並由一個不可靠、腦袋充滿質疑、公
開宣稱要讓一個倒霉透頂、沒有指望、毫無防備,要求第一時間獲得信息的部門狼狽 不堪、令人生厭的人使用一台准確度有問題的儀器去實施.(IEEE網格新聞雜志)
45、運氣好的黑客能用幾個月的時間 - 生產出一個小規模的開發團體(比如說,7-8人)歷盡艱辛一起工作了一年多才能做出來的東西.IBM經常報告說某些程序員的生產力要比其它工人高百倍,甚至更多.(Peter Seebach,黑客)
46、最好的程序員跟好的程序員相比可不止好那麼一點點.這種好不是一個數量級的,取決於標准怎麼定:概念創造性、速度、設計的獨創性或者解決問題的能力.(蘭德爾E斯特勞斯,科技作家)
47、偉大的車工值得給他幾倍於普通車工的薪水,但一個偉大的軟體代碼作家,其價值則要等同於一個普通的軟體寫手的價格的1萬倍.(比爾蓋茨)
48、就算它工作不正常也別擔心.如果一切正常,你早該失業了.(Mosher的軟體工程定律)
49、靠代碼行數來衡量開發進程就好比用重量來衡量飛機製造的進度.(比爾蓋茨)
50、寫代碼的社會地位比盜墓的高,比管理的低.(傑拉爾德溫伯格,軟體與系統思想家)
51、首先學習計算機科學及理論.接著形成自己編程的風格.然後把這一切都忘掉,盡管改程序就是了.(George Carrette,傑出軟體工程師,開源推廣者)
52、先解決問題再寫代碼.(John Johnson)
53、樂觀主義是編程行業的職業病;用戶反饋則是治療方法.(Kent Beck)
54、迭代者為人,遞歸者為神.(L. Peter Deutsch)
55、布爾值最好的一點是,就算你錯了,也頂多錯了一位而已.(無名氏)
56、數組的下標是從0開始好還是從1開始好呢?我的0.5的折衷方案,以我之見,沒有經過適當考慮就被否決掉了.(Stan Kelly-Bootle)
57、只有兩種編程語言:一種是天天挨罵的,另一種是沒人用的.(BjarneStroustrup,C++之父)
❷ 編程序常用英語單詞是什麼
編程序常用英語單詞部分:
1、Compile:編繹
2、Run:運行
3、Class:類
4、Object:對象
5、System:系統
6、out:輸出
7、print:列印
8、line:行
9、variable:變數
10、type:類型
11、static:靜態的
12、array:數組
13、parameter:參數
14、method:方法
15、function:函數
16、public:公有的
17、default:默認
18、get:得到
19、private:私有的
20、import:導入
21、set:設置
22、package:包
23、access:訪問
24、protected:受保護的
25、void:無(返回類型)
26、operation:操作運算
27、member-variable:成員變數
28、member-function:成員函數
29、extends:繼承 base class:基類 parent class:父類
30、interface:介面 child class:子類 super class:超類
31、overload:重載 abstract:抽象 exception:異常
32、implements:實現 Runtime:運行時
33、derived class:派生類
34、override:重寫覆蓋
35、final:最終的不能改變的
(2)最全程序員常用術語擴展閱讀
一、編程:設計具備邏輯流動作用的一種「可控體系」【註:編程不一定是針對計算機程序而言的,針對具備邏輯計算力的體系,都可以算編程。】
二、編程是編寫程序的中文簡稱,就是讓計算機代為解決某個問題,對某個計算體系規定一定的運算方式,使計算體系按照該計算方式運行,並最終得到相應結果的過程。
三、為了使計算機能夠理解人的意圖,人類就必須將需解決的問題的思路、方法和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據人的指令一步一步去工作,完成某種特定的任務。這種人和計算體系之間交流的過程就是編程。
❸ 程序員需要知道的縮寫和專業名詞
程序員的世界裡,縮寫和專業名詞是必不可少的工具。以下是一些關鍵術語的簡要解釋:
- **API**:應用程序介面,是軟體組件間交互的橋梁,通過合理設計能提升系統的可維護性和擴展性。
- **ACID**:資料庫事務的四大特性,保證數據一致性、隔離性和持久性。
- **AJAX**:一種用於網頁開發的技術,實現非同步數據交互,提高用戶體驗。
- **JPA**:Java持久層API,用於資料庫對象與Java對象之間的映射。
- **JSON**:輕量級的數據交換格式,易於閱讀和解析,廣泛用於數據傳輸。
- **POJO**:簡單的Java對象,沒有復雜的業務邏輯,常用於數據傳輸。
- **DSL**:領域專用語言,針對特定問題設計,簡化編程復雜性。
- **GC**:垃圾回收,自動管理內存,降低開發者負擔。
- **DML**:數據操縱語言,包括INSERT、UPDATE、DELETE等操作,用於資料庫操作。
- **DDL**:數據定義語言,用於創建、修改和刪除資料庫結構。
- **DI**:依賴注入,控制反轉的一種,簡化對象間依賴關系。
- **DNS**:域名系統,將域名與IP地址映射,方便互聯網訪問。
- **GUI**:圖形用戶界面,直觀易用的用戶界面設計。
- **HTTP**:超文本傳輸協議,互聯網數據交換的基礎。
- **IoC**:控制反轉,通過外部系統管理對象依賴,降低耦合。
- **JWT**:JSON Web Token,用於安全地傳遞信息,常用於SSO。
- **LDAP**:輕型目錄訪問協議,用於訪問和管理目錄信息。
- **MVC**,**MVP**,**MVVM**:不同的軟體架構模式,分別關注分離關注點和視圖與業務邏輯的解耦。
- **OLAP**:在線分析處理,用於大規模數據分析和決策支持。
- **SQL**:結構化查詢語言,用於資料庫管理和數據操作。
- **SPA**:單頁應用,動態更新頁面以提供無縫用戶體驗。
- **SOA**:面向服務架構,通過網路服務組件化開發應用。
- **SOAP**:簡單對象訪問協議,用於Web服務之間的數據交換。
- **NoSQL**:非關系型資料庫,提供不同的數據存儲方式。
- **XML**:可擴展標記語言,用於標記和交換數據。
- **前端後端**:分別指網頁的視覺呈現和伺服器端處理邏輯。
- **樂觀鎖**:並發控制策略,假設事務之間不會沖突,讀取數據後檢查更新。
- **悲觀鎖**:更保守的並發控制策略,先獲取鎖再進行操作。
- **自旋鎖**:同步機制,線程忙等待獲取鎖。
- **遞歸**:函數調用自身的技術,常見於演算法和數據結構中。
- **主鍵**:數據表中唯一標識記錄的欄位。
- **外鍵**:關聯兩個表的數據欄位,用於建立關系。
- **B/S結構**:瀏覽器/伺服器架構,簡化客戶端,對伺服器性能要求高。
- **C/S結構**:客戶端/伺服器架構,客戶端與伺服器功能分離。
- **Web服務**:網路上的軟體系統,通過API提供遠程服務。
這些術語是程序員日常工作中不可或缺的術語,理解它們能幫助你更好地理解和構建復雜系統。
❹ 從事IT行業,或者簡單的說是編程,常用的術語有哪些呢
常用的術語其實很多
術語 解釋
問題解決problem-solving 表述問題,找到解決方案並表述方案過程
高級語言high-levellanguage 便於人類讀寫而設計的編程語言
低級語言low-levellanguage 便於機器執行而設計的語言:機器語言、匯編語言
可移植性portability 程序可以在不同計算機操作系統上運行的屬性
形式語言formallanguage 人類設計用於特殊目的的語言:表達思想的計算機程序。
自然語言naturallanguage 人類所說的,經過自然演化的各種語言
解釋interpret 逐句翻譯高級語言編寫的源程序,邊翻譯邊執行
編譯compile 一次性把高級語言翻譯成二進制指令序列,形成目標代碼
源代碼sourcecode 用高級語言編寫的,未經過編譯的字元流
目標代碼objectcode 源代碼經過編譯器編譯得到的輸出結果
可執行程序executable 可以直接在計算機執行的二進制01序列
演算法algorithm 解決同類型問題的一般過程
bug 程序中發生的錯誤
語法syntax 程序的結構
語義semantics 程序的語義
解析parse 檢查一個程序,並分析其語法結構
語法錯誤syntaxerror 程序中無法完成語法解析的錯誤
運行時錯誤run-timeerror 在程序執行過程中導致程序終止失敗的錯誤
邏輯錯誤logicalerror 程序中發生導致程序偏離編程本意的錯誤
調試debugging 發現並解釋三種錯誤的過程
變數 有名字的值存儲區
指針指向內存的映射
值 字母或數字或者其他可存儲在變數里的東西
類型 值的集合:int、char
關鍵字 保留的單詞,編譯器用以解析程序的:void、int、endl
語句 一行用於表達一個命令或動作的代碼
變數聲明 用於創建新變數並且標識變數類型的語句
變數賦值 將值賦給變數的語句
表達式 變數、運算符和值的聯合體、代表單個結果值,表達式也有類型,這個類型由運算符和操作數決定
運算符 特殊符號,代表一個簡單的數學運算,比如:加法或乘法
操作數 運算符作用的值
優先順序 運算發生的先後順序
組合 為了簡潔地表達復雜計算而將簡單表達式和語句結合成復合語句和表達式
浮點數floating-point 一種既包含小數又包含整數的變數類型
初始化initialization 聲明變數並且同時給變數賦值的語句
函數function 一些列命名並且完成某種功能的語句
形參parameter 調用函數時所需要的信息
實參argument 當調用函數時所必須提供的數值,這個值必須與函數中對應的形參具有相同的類型
調用call 使函數運行
模運算符% 作用於整數的運算符,其結果等於一個整數除以另一個整數的余數
條件語句 語句塊,它的執行與否取決於某些條件
鏈接link 一種把幾種條件語句連接成一個序列的方式
遞歸Recursion 正在執行的函數調用它自己的過程
無限遞歸 函數遞歸調用自己,無法到達遞歸基,最終無限遞歸會導致運行時錯誤
返回類型returntype 函數返回結果的類型
返回值returnvalue 函數執行需要輸出的值
無效代碼deadcode 程序中從未執行過的代碼,大部分原因是因為他們出現return語句之後
支架代碼scaffolding 在開發過程中使用的代碼,它不屬於最終版本
空類型void 一種特殊的返回類型,表示空函數,也就是沒有返回值的函數
重載overloading 多個函數具有相同的函數名和不同的參數,在C++中,通過提供的參數判斷需要調用哪一個函數
布爾類型bool 一種只有true和false兩種值的變數或值
標記flag 變數用於記錄條件或者狀態信息
比較操作符comparisonoperator 用於比較兩個變數並產生一個bool值的操作符,表示兩個操作數之間的關系
邏輯操作符logicaloperator 用於結合bool值測試復合條件的操作符
循環語句loopcode 當條件為真,或滿足某系條件時,將會反復執行的語句
無限循環 其中包含了永遠為真的條件的循環
循環體 包含在循環中的語句
迭代 循環體的一次執行過程,包括對條件的判斷
製表符 特殊字元,在C/C++中寫作 ,這個字元會使得游標移動到當前行的下一個製表位
封裝 將一個復雜的程序分解成獨立的組建(例如:函數),並保證組建之間相互獨立,例如可以使用局部變數來達到
局部變數 在函數內部聲明的變數,他只在這個函數內部適用
廣義化 適用適度廣義的元素(例如:變數和參數)替換掉不再需要的特殊元素(比如:常量)。廣義化可以使得代碼更加通用,更容易復用,有時甚至更容易編寫
開發計劃 程序開發的流程
對象object 相關的數據和對數據操作的一系列函數組成的集合
索引index 用於選擇一個有序集合中成員的變數或者變數值。比如:在字元串中查找字母所用的變數
遍歷traverse 迭代對集合中的所有元素進行類似的操作
計數器counter 用於計數變數,一般初始化為0,並在操作時遞增
遞增increment 每次對變數加一
遞減decrement 每次對變數減一
拼接concatenate 將兩個操作數首相接
結構體 由數據組成的集合,通常當作單個對象對待
實例變數 一塊有名字的數據,是結構體的組成部分
引用 一個志向或引用變數或結構體的值,在狀態圖中,用箭頭表示引用
按值傳遞 一種傳遞形參的方法,這種方法將實參復制到對應的形參中,形參和實參存儲在不同的位置上
按引用傳遞 一種傳遞形參的方法,在這種方法中,形參是一個實參變數的引用,形參的修改同時會影響到實參變數
實例instance 某目錄中的一個例子。貓是貓科動物的一個實例,任何一個對象都是某種類型的一個實例
實例變數instancevariable 組成結構體的一個命名的數據項,每個結構體獨有該類型實例變數的一個副本
微服務對服務進行了拆分進行了細粒度的部署
容器擁有運行應用的一切環境的可移植可隔離的快速部署的單元
❺ 軟體編程常用術語
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門技術),好奇心是你最重要的技能。要去嘗試各種東西。新語言或新技術對你當前或將來的工作可能有用,也可能沒用,但並不是你所學的每一件事都是為了工作。不要害怕失敗,萬事開頭難,學新技術也是如此。大多數失敗是因為人們希望太快地學到太多的東西。要對每一點進步感到滿意,不要讓時間(或缺乏時間)妨礙你。相反,你要安排時間留心、研究、試驗新的開發技術和工具。 你可能永遠也沒有必要成為這些技術的專家,而且我的選擇可能根本不適合你的特殊情況,但通過培養好奇心,你將會發現你應該了解的東西。