Review - Brenton Kohler -Historical information -PASCAL -language is name after a mathematician. -Pascal by Nicklaus Wirth created a sa teaching language. -Early compilers translated it to P-code -FORTRAN -was intended to perform mathematical functions -It was created by a team led by John Backus at IBM. -Was designed to create assembly language code for you. -GOTO statements considered harmful and made languages hard to understand. There was a letter that was written to the communications of the ACM that generated a lot of controversy. -We started out with machine language -moved to high-level language -why we study programming languages -increased capacity to express ideas -improved background to choose apporpriate languages -increased ability to learn new langauges -better understanding of the signifance of implementation -overall advancement of computing -application domains -scientfic applications -business applications -artificial intelligence -systems programming -web software -language evaluation criteria -readability -overall simplicity -orthogonality -control statements -writability -simplicity and orthogonality -support for abstraction -expressivity -reliability -type checking -exception handling -aliasing -cost -language translation methods -compilation- high level languages getting translated into machine language which can be executed directly on the computer. -interpretation- a programs are executed by another program called an interpreter-acts as a software simulation of a machine whose fetch-execute cycle deals with high level language rather than machine language. -hybrid implementation systems-high level instructions are translated to an intermediate language which is then easily interpreted -preprocessor-a program that processes a program immediately before the program is compiled. -language paradigms -object-oriented -procedural -functional -logic -event-based -basic statements -control statements -assignment statements -mathematical statements -ways of describing language -backus-naur form -a form for describing the syntax features of a language. -special words -while -class -for -if -words which are reserved for special purposes only -data types -records -integers -floats -doubles -boolean -built-in functions -logical operators -mathematical operators -mathematical operations -input/output -string concatanators -comparators -subprogram types -functions -returns a single value -procedures -can return multiple values or none at all - returns value through parameter list -parameter passing modes -by reference -by value -languages -fortran -c -c++ -java -javascript -pascal -ada -visual basic -c# -alice -ruby -perl