Presentation is loading. Please wait.

Presentation is loading. Please wait.

Spring 2012 CS 214 Programming Languages. Details Moodle! REQUIRED text: Sebesta, Programming Language Concepts, 9ed. Important dates: February 17: Project.

Similar presentations


Presentation on theme: "Spring 2012 CS 214 Programming Languages. Details Moodle! REQUIRED text: Sebesta, Programming Language Concepts, 9ed. Important dates: February 17: Project."— Presentation transcript:

1 Spring 2012 CS 214 Programming Languages

2 Details Moodle! REQUIRED text: Sebesta, Programming Language Concepts, 9ed. Important dates: February 17: Project language choice March 2: Project proposal March 16: Midterm (registrar’s test day) May 7-9: Final project presentations May 12, 1:30p: Final Exam

3 Course Objectives Gain an understanding of those features all programming languages have in common Understand the differences between imperative, object- oriented, and functional languages Be introduced to some of the formalisms that underlie programming languages Demonstrate the ability to master a new programming language on your own

4 Chapter 1 Objectives Be able to name, describe, compare and contrast the criteria used to evaluate a language Be able to name and give at least one distinctive property of each programming language paradigm Be able to name, describe, compare and contrast language implementations

5 Chapter 2 Objectives Be able to list pros and cons of binary, assembly and high-level languages (notes) Understand the importance of compilers Be able to name a key player in programming language design Be able to put the programming language paradigms in chronological order based on their development

6 Programming Language History In the beginning… Binary machine language Difficult to write Prone to programmer errors Difficult to debug 0010 1011 1000 0000 0010 1111 1000 0100 0011 0011 1000 1000

7 Assembly Languages Mnemonic for each operation Symbolic names instead of memory addresses Programs called assemblers automate translation MOV ADD STO 0010 1011 0010 1111 0011 MOV I ADD J STO K 0010 1011 1000 0000 0010 1111 1000 0100 0011 0011 1000 1000 IJKIJK 1000 0000 1000 0100 1000

8 Assembly Languages Pros: Not quite so cumbersome Somewhat less error prone Cons: Not portable Not intuitive

9 High Level Languages Rear Admiral Grace Hopper 1952: Develops first compiler called, simply, A The Idea: Write code independent of the machine-level details Use a compiler to translate into machine language k = i + j; MOV I ADD J STO K 0010 1011 1000 0000 0010 1111 1000 0100 0011 0011 1000 1000 compiler assembler

10 Edsger Dijkstra Quotes The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offense. It is practically impossible to teach good programming to students who have had prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration. APL is a mistake, carried through to perfection. It is the language of the future for the programming techniques of the past: it creates a new generation of coding bums.


Download ppt "Spring 2012 CS 214 Programming Languages. Details Moodle! REQUIRED text: Sebesta, Programming Language Concepts, 9ed. Important dates: February 17: Project."

Similar presentations


Ads by Google