.. _program-glossary: Glossary -------- problem-solving: The process of formulating a problem, finding a solution, and expressing the solution. high-level language: A programming language like C++ that is designed to be easy for humans to read and write. low-level language: A programming language that is designed to be easy for a computer to execute. Also called “machine language” or “assembly language.” portability: A property of a program that can run on more than one kind of computer. formal language: Any of the languages people have designed for specific purposes, like representing mathematical ideas or computer programs. All programming languages are formal languages. natural language: Any of the languages people speak that have evolved naturally. interpret: To execute a program in a high-level language by translating it one line at a time. compile: To translate a program in a high-level language into a low-level language, all at once, in preparation for later execution. source code: A program in a high-level language, before being compiled. object code: The output of the compiler, after translating the program. executable: Another name for object code that is ready to be executed. algorithm: A general process for solving a category of problems. bug: An error in a program. syntax: The structure of a program. semantics: The meaning of a program. parse: To examine a program and analyze the syntactic structure. syntax error: An error in a program that makes it impossible to parse (and therefore impossible to compile). run-time error: An error in a program that makes it fail at run-time. logical error: An error in a program that makes it do something other than what the programmer intended. debugging: The process of finding and removing any of the three kinds of errors. .. tb-group:: :name: tab_check .. tb-tab:: Q1 .. tb-match:: :name: chapter_one_glossary_1 natural language Any of the languages people speak that have evolved naturally. high-level language A programming language like C++ that is easy for humans to read and write. low-level language A programming language that is easy for a computer to execute. formal language Any of the languages people have designed for specific purposes. .. tb-tab:: Q2 .. tb-match:: :name: chapter_one_glossary_2 interpret To execute a program in a high-level language by translating it one line at a time. compile To execute a program in a high-level language by translating it all at once. source code A program in a high-level language, before being compiled. object code The output of the compiler, after translating the program. .. tb-tab:: Q3 .. tb-match:: :name: chapter_one_glossary_3 portability A property of a program that can run on more than one kind of computer. executable Another name for object code that is ready to be executed. algorithm A general process for solving a category of problems. bug An error in a program. .. tb-tab:: Q4 .. tb-match:: :name: chapter_one_glossary_4 problem-solving The process of formulating a problem, finding a solution, and expressing the solution. syntax The structure of a program. semantics The meaning of a program. parse To examine a program and analyze the syntactic structure. .. tb-tab:: Q5 .. tb-match:: :name: chapter_one_glossary_5 syntax error An error in a program that makes it impossible to parse and compile. run-time error An error in a program that makes it fail upon execution. logical error An error in a program that makes it do something other than what the programmer intended. debugging The process of finding and removing any of the three kinds of errors.