Outline for May 7, 2007
-
Greetings and felicitations!
-
Brief history of programming languages
-
First, done in binary machine language (0's and 1's)
-
Introduction of assembler: human-readable versions of instructions, translated into binary
-
Introduction of high-level programming languages: FORTRAN, FORTRAN IV, COBOL
-
Other programming languages: BLISS, C, Pascal
-
Object-oriented programming languages: Simula 67, C++, Objective C, Java
-
Structure of a program
-
Variables and Constants
-
Statements
-
Branches
-
Conditional statements
-
Loops
-
Routines (functions, subroutines)
-
How Programming Languages Work
-
Macros: textual replacement
-
Interpreters: lexical analyzer
-
Compilers: lexical analyzer, parser, code generator, optimizer
-
Types of programs
-
Applications vs. data
-
Database managers
-
Spreadsheet software
-
Word processors
-
Graphics software
-
How Windows XP works
-
Process isolation: each process thinks it's the only one on the computer
-
Virtual memory: if there's not enough RAM, use the disk to store parts of the program not recently used
-
Each program gets its own virtual machine, which accesses physical system to perform some operations:
-
USER.EXE, USER32.DLL control and track windows.
-
GDI.EXE, GDI32.DLL construct graphic elements such as dialog boxes etc.
-
KRNL386.EXE, KERNEL32.DLL handle low-level operations, manage memory, I/O, and interrupts.
-
Kernel mode has file management, network, device drivers, process manager, security, virtual machine manager.
-
Windows XP shares code among programs
-
Makes programs smaller, simpler, and easier to program
-
Dynamic link libraries (DLL) are code loaded as needed by the program, and removed when done
-
Application programmer interface (API) is framework used to call DLL
-
API (application programming interface), and DLL.
-
Windows XP shares data among programs using the Clipboard
-
Data saved to clipboard in three formats: native (format used by application creating the data), Rich Text Format (RTF), and Original Equipment Manufacturer (OEM) with no formatting.
-
Graphics saved to clipboard in three formats: native, bitmap, metafile that can be used to recreate graphic in resolution independent version
-
When you paste, application looks at data in clipboard and chooses which format to use
Here is a PDF version of this document.