* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Review1_etzelcz_Abbreviated_Review_Zach_Etzel_
Falcon (programming language) wikipedia , lookup
Reactive programming wikipedia , lookup
Control flow wikipedia , lookup
Functional programming wikipedia , lookup
History of compiler construction wikipedia , lookup
Object-oriented programming wikipedia , lookup
Abstraction (computer science) wikipedia , lookup
Structured programming wikipedia , lookup
Programming language wikipedia , lookup
Go (programming language) wikipedia , lookup
Zach Etzel Abbreviated Review October 2, 2007 What have we discussed about languages so far this semester? some historical information o Pascal language is named after mathematician Pascal by Niklaus Wirth created as a teaching language. Early compilers translated it to P-code o FORTRAN was intended to perform mathematical functions created by a team led by John Backus at IBM Fortran was the first widely-accepted high level language o GoTO statements considered harmful and made languages hard to understand was a letter that was written to the Communications of the ACM that generated a lot of controversy o Modern Computer languages are moving towards object oriented and modular programming. reasons why we study programming languages o Increased capacity to express Ideas Bette awareness reduces limitations in software development Study of programming language concepts builds an appreciation for valuable language features and encourages programmers to use them. o Improved Background for choosing appropriate languages Knowledge of many languages provides more choices when a programmer develops a program o Increased ability to learn new languages Computer programming is rapidly changing Programmers must know and understand the vocabulary and concepts of programming languages to learn new languages as they are developed. o Better understanding of the significance of implementation Allows the programmer to better understand how the computer executes language constructs o Overall advancement of computing application domains o Scientific Domains First digital computers were invented for scientific applications Require large numbers of floating-point arithmetic computations o Business Applications First successful high-level language for business was COBOL There have been few business development applications since COBOL o Artificial Intelligence Numbers rather than symbols are manipulated First functional language for AI was LISP o Systems Programming The operating system and all of the programming tools of a computer system are collectively known as its systems software o Web Software Relates to markup languages and general purpose programming languages like java. language evaluation criteria o Readability Overall simplicity Orthogonality Relatively small set of primitive constructs can be combined in a relatively small number of ways to build the control and data structures of the language. Control Statements Data Types and Structures Syntax Considerations Identifier Forms Special Words Form and Meaning o Writability Simplicity and Orthonogality Support and Abstraction The ability to define and then use complicated structures or operations in ways that allow many of the details to be ignored. Expressivity o Reliability Type Checking Testing for type errors in a given program either by the compiler or during program execution Exception Handling Aliasing Having two or more distinct referencing methods or names for the same memory cell o Cost Optimization Portability language translation methods o Compilation o Pure Interpretation o Hybrid Implementation Systems o Preprocessor language paradigms o object-oriented o procedural o functional o Pseudocode o event-based basic statements o assignment o read o write o control o return o declaration o logic o arithmetic ways of describing languages o Context Free grammars o Backus Naur o Metalanguage o Attribute Grammar o Operational Semantics o Axiomic Semantics o Denotaional Semantics special words o while o do o for o PROGRAM o VAR o END o GOTO o If o Else o Then o Type o Class o Return o Data types data types o Integer o Char o String o Array o Record o Float o Double o Record o Boolean o Static o void o User Defined built-in functions o Addition o Subtraction o Read o Write o Divide o multiply subprogram types o functions return A single value o one which returns multiple values or none at all – returns values through the parameter list parameter passing modes o Pass-by-copy o Pass-by-reference o Pass-by-result o Pass-by-value o Pass-by-value-result Languages o Fortran o LISP o COBOL o ADA o C++ o C# o JAVA o BASIC o ALGOL o SNOBOL o APL o SIMULA 67 o Perl o Pascal o Prolog