introduction

introduction - COP4020 Programming Languages Introduction...

Info iconThis preview shows pages 1–7. Sign up to view the full content.

View Full Document Right Arrow Icon
COP4020 Programming Languages Introduction Prof. Xin Yuan
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
COP4020 Spring 2012 2 02/20/12 Why this course? The following questions may have occurred to you at some points: Why C++ is designed as it is? What does it take to convert a C++ program into an executable? Are there any better programming language choices? What is a good programming language? …… This course gives answers to this type of questions.
Background image of page 2
COP4020 Spring 2012 3 02/20/12 Course Outline Language concepts and their implementations Introduction : History, overview, and classification of programming languages Compilers and Interpreters : How programs are translated into machine code Syntax : How syntax is defined and how syntax can impact ease-of-use Semantics : How the meaning and behavior of programming constructs can be defined and interpreted Axiomatic Semantics : How programs can be analyzed and proven correct Names, Scopes, and Bindings : How and when bindings for local names are defined in languages with scoping rules Control Flow : How programming constructs define control flow and how the choice of constructs can affect programming style Subroutines and Parameter Passing : How the subroutine calling mechanism is implemented and how and when parameters are passed and evaluated Exception Handling : How to improve the robustness of programs Alternative programming Functional Programming : Programming with Scheme Logic Programming : Programming with Prolog
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
COP4020 Spring 2012 4 02/20/12 Course Objectives Improve the background for choosing appropriate programming languages Be able to program in procedural , object - oriented , functional , and logical programming languages Understand the significance of the design of a programming language and its implementation in a compiler or interpreter Enhance the ability to learn new programming languages Increase the capacity to express general programming concepts and to choose among alternative ways to express things in a particular programming language Simulate useful features in languages that lack them Understand how programs are parsed and translated by a compiler Be able, in principle, to design a new programming language
Background image of page 4
COP4020 Spring 2012 5 02/20/12 Important Events in Programming Language History 1940s: The first electronic computers were monstrous contraptions Programmed in binary machine code by hand via switches and later by card readers and paper tape readers Code is not reusable or relocatable Computation and machine maintenance were difficult: machines had short mean-time to failure (MTTF) because vacuum tubes regularly burned out The term “bug” originated from a bug that reportedly roamed around in a machine causing short circuits ENIAC (1946)
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Machine language program 55 89 e5 53 83 ec 04 83 e4 f0 e8 31 00 00 00 89 …… Hard to maintain or write large programs Needs an easier way to write program COP4020 Spring 2012 6 02/20/12
Background image of page 6
Image of page 7
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 34

introduction - COP4020 Programming Languages Introduction...

This preview shows document pages 1 - 7. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online