繼承(inheritance):物件嘅類別之間可以有嘅一種關係;抽象啲噉講,如果話物件類別 A 由類別 B 嗰度「繼承」啲嘢,意思係指類別 B(超類別;superclass / parent)有嘅特性,類別 A(子類別;subclass / child)冚唪唥有齊嗮,不過類別 A 可以有類別 B 冇嘅特性[8]。
多態(polymorphism):廣義上指一嚿嘢有多個唔同嘅型態;例如喺 OOP 當中,一個類別可以有個方法,但個方法喺唔同子類別入面都唔同樣-Shape(形狀)呢個類別有個方法 Area 計件屬呢個類別嘅物件嘅面積,Shape 喺呢個程式入面有兩個子類別 Circle(圓形)同 Square(正方形),兩個子類別嘅 Area 方法唔同樣(兩種形狀計面積條式唔同),噉個程式就算係展現咗多態[10]。
物件結合(object aggregation):物件結合意思係指件複雜物件 com 由多件物件組成,但 com 並唔「擁有」啲組成部份-當 com 俾人剷走嗰陣,如果用嘅係物件組成,組成 com 啲物件都會跟住被剷走,但喺物件結合之下,啲組成部份並唔隸屬於 com,就算 com 俾人剷走,啲組成部份仲可以繼續噉存在[11]。
函式庫(library):指電腦程式用嘅非揮發性(唔會一熄機就冇咗嘅)資源,包括數據庫嘅數據以及陳述式噉;資訊科技工作者好興用函式庫嚟交流,令大家做嘢更加方便,例如 AI 噉,會有 AI 工作者搵埋一拃 AI 工作成日用嘅子程序,將呢啲子程序變成陳述式;第啲 AI 工作者攞去用,就可以達到「用一句碼就叫到部電腦做一樣 AI 常用嘅子程序」噉嘅效果[19]。
程式語言理論(programming language theory):電腦科學嘅一個子領域,包含研究程式語言呢樣嘢應該點樣設計、分析同埋分門別類嘅一套理論;程式語言理論會用邏輯等形式化-即係每個符號都有清晰定義,唔似得自然語言咁多歧義-嘅語言嚟表達唔同嘅程式語言,剖析唔同程式語言彼此之間喺解難能力上有乜嘢差異,例如係「某隻程式語言會唔會比起第啲語言更加擅長解某啲類型嘅問題」等嘅課題[29]。
KISS 原則(英文全名:Keep It Simple, Stupid,「將件嘢整簡單啲呀,蠢材」):程式編寫上嘅一種技巧,指「如果有多過一種方法可以達到想要嗰隻效果,噉就應該用最簡單嗰種」;一般認為,一個程式盡可能簡單嘅話可以令個程式易用啲,好處包括咗「下一手編程員接手嗰時輕鬆順利啲」呀噉[40]。
超距作用(action at a distance):指個程式入面其中一部份出現意料之外嘅問題,而起因在於因為離嗰橛碼遠嘅另一段碼對佢作出咗影響,例如一個長(有幾萬行碼)嘅程式,當中有好多個子程序,其中兩個子程序 A 同 B,A 會更改變數X 嘅數值,而咁啱 B 又會用到呢個變數,如果 A 搞到 X 變咗做個 B 處理唔到嘅數值,就會搞到 B 出錯;超距作用喺正式嘅軟件工程上係一條幾大嘅問題(因為呢啲工作要整好複雜嘅程式),常見嘅解決方法係淨係俾啲子程序同物件更改自己周圍啲局部變數,唔准佢哋更改全局變數或者離佢哋遠嘅物件嘅局部變數[2]。睇埋模塊化編程。
Yaiser, Michelle. "Object-oriented programming concepts: Composition and aggregation". Archived from the original on April 8, 2015. There is a closely related concept to composition called aggregation. In conversation the differences between composition and aggregation are often ignored.
Grillmeyer, O. (2013). Exploring Computer Science with Scheme. Undergraduate Texts in Computer Science. Springer New York. p. 239. Retrieved 2021-06-26. The central component to the Scheme interpreter is the read-eval-print loop. Commands are read in, then evaluated. Finally, the evaluated result is printed."
Gabbay, D., Giordano, L., Martelli, A., Olivetti, N., & Sapino, M. L. (2000). Conditional reasoning in logic programming. The Journal of Logic Programming, 44(1-3), 37-74.
Aho, Alfred V. (1990). van Leeuwen, Jan (ed.). Algorithms for finding patterns in strings. Handbook of Theoretical Computer Science, volume A: Algorithms and Complexity. The MIT Press. pp. 255-300.
Levine, John R. (2000) [October 1999]. "Chapter 9: Shared Libraries & Chapter 10: Dynamic Linking and Loading". Linkers and Loaders. The Morgan Kaufmann Series in Software Engineering and Programming (1 ed.). San Francisco, USA: Morgan Kaufmann.
Rice, R. E., & Borgman, C. L. (1983). The use of computer-monitored data in information science. Journal of the American Society for Information Science, 44, 247-256.
Asenov, D., & Muller, P. (2014, July). Envision: A fast and flexible visual code editor with fluid interactions (overview). In 2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) (pp. 9-12). IEEE.
Murray, K. I., & Bigham, J. P. (2011, September). Beyond autocomplete: Automatic function definition (PDF). In 2011 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) (pp. 259-260). IEEE.
Baum, Tobias; Liskin, Olga; Niklas, Kai; Schneider, Kurt (2016). "A Faceted Classification Scheme for Change-Based Industrial Code Review Processes". 2016 IEEE International Conference on Software Quality, Reliability and Security (QRS). pp. 74-85.
Abelson, Harold; Sussman, Gerald Jay (1996). Structure and Interpretation of Computer Programs (Second ed.). Cambridge, Massachusetts: The MIT Press. p. 21-22.
The Routledge Dictionary of Modern American Slang and Unconventional English, Tom Dalzell, 2009, 1104 pages, p.595, webpage: BGoogle-5F: notes U.S. Navy "Project KISS" of 1960, headed by Rear Admiral Paul D. Stroop, Chicago Daily Tribune, p.43, 4 December 1960.