User Tools

Site Tools


computer_basics:programming_fundamentals

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
computer_basics:programming_fundamentals [2018/08/23 01:39] – [Programming languages] mithatcomputer_basics:programming_fundamentals [2019/01/12 02:32] (current) – [High-level languages] mithat
Line 7: Line 7:
 ===== What is programming? ===== ===== What is programming? =====
  
-  * **programming**: the discipline of creating computer software.+  * **programming**: the discipline of creating computer programs.
   * **computer program**:   * **computer program**:
     * a set of step-by-step instructions     * a set of step-by-step instructions
Line 27: Line 27:
      * a set of rules used to write computer programs.      * a set of rules used to write computer programs.
      * a way of telling the computer what operations to perform.      * a way of telling the computer what operations to perform.
-  * Computers are binary machines. +  * Computers are //binary// machines. 
-    * Use only ON/OFF switches to control internal states+    * Use only ON/OFF switches to control internal states.
     * Only understand instructions that are expressed in ON/OFF (or 1/0) terms.     * Only understand instructions that are expressed in ON/OFF (or 1/0) terms.
-  * To make it easier for humans to program computers, various programming languages have been invented.+  * Programming languages have been invented to make it easier for humans to write programs.
  
 ===== Levels of language ===== ===== Levels of language =====
Line 46: Line 46:
 ===== Machine language ===== ===== Machine language =====
  
-  The lowest level of language. +<code> 
-  * Consists of 1’s and 0’s.+10110110100100101101011101001010 
 +10110110110101101101011011000111 
 +</code> 
 + 
 +  Lowest level of language. 
 +  * Just 1’s and 0’s
 +  * Very hard not to make a mistake.
   * Each type of computer processor has its own machine language.   * Each type of computer processor has its own machine language.
  
 ===== Assembly language ===== ===== Assembly language =====
  
-  Use alphanumeric abbreviations or mnemonic codes as substitutes for machine language +<code> 
-    * ''ADD'' for Add, ''CMP'' for Compare, ''MP'' for Multiply, etc +MOV AL, 1h 
-  * An **assembler** program converts an assembly language program into machine language.+MOV CL, 2h 
 +MOV DL, 3h 
 +</code> 
 + 
 +  Alphanumeric abbreviations or mnemonic codes replace 1's and 0's. 
 +    * ''ADD'' for Add, ''CMP'' for Compare, ''MOV'' for Move, etc. 
 +  * **Assembler** program converts assembly language programs into machine language.
  
 ===== High-level languages ===== ===== High-level languages =====
 +<code>
 +if score > 60:
 +    print('You passed!')
 +else:
 +    print('Try harder!')
 +</code>
  
-  * Use general notation systems that most humans can understand. +  * Uses math-like or English-like notation systems
-    * Often English-like or math-like+  * Allows programmer to think less about language details and more about solving problems
-  * Much more convenient to write and repair.  +  * Portability
-  * Allows programmer to think less about language details and more about solving problem+
-  * "Write once, run anywhere."+
  
 ===== Very high-level languages ===== ===== Very high-level languages =====
Line 71: Line 87:
  
   * Tries to let people program using everyday language.   * Tries to let people program using everyday language.
- * "Show a list of names from the contact list," works just as well as "Display the names of everyone in the contact list."+ * "Show a list of names from the contact list," same as "Display the names of everyone in the contact list."
  
 ===== Kinds of translation ===== ===== Kinds of translation =====
  
   * High-level languages need to be **translated** into machine language.   * High-level languages need to be **translated** into machine language.
-  * Three approaches to translation:+  * Three approaches:
     * **interpreted**: translate one line of the program, run it, move to the next.     * **interpreted**: translate one line of the program, run it, move to the next.
-    * **compiled**: translate the whole program at once; produces a machine code file that is executed.+    * **compiled**: translate the whole program at once. Produces new file full of machine code.
     * **hybrid**: translate the whole program into an in-between language; execute the in-between language in an interpreter.     * **hybrid**: translate the whole program into an in-between language; execute the in-between language in an interpreter.
  
Line 118: Line 134:
  
   * **documentation**: a written detailed description of the programming cycle and specific facts about the program.   * **documentation**: a written detailed description of the programming cycle and specific facts about the program.
-  * Many languages let you include some documentation in the program code.+  * Most languages let you include some documentation in the program code.
   * Documentation is needed:   * Documentation is needed:
     * to help organize program planning     * to help organize program planning
computer_basics/programming_fundamentals.1534988364.txt.gz · Last modified: 2018/08/23 01:39 by mithat

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki