1 / 10

CS 214 Programming Languages

CS 214 Programming Languages. Spring 2012. 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)

otto-kline
Download Presentation

CS 214 Programming Languages

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS 214 Programming Languages Spring 2012

  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 0011 I J K 1000 0000 1000 0100 1000 1000 MOV I ADD J STO K 0010 1011 1000 0000 0010 1111 1000 0100 0011 0011 1000 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 compilerto translate into machine language MOV I ADD J STO K 0010 1011 1000 0000 0010 1111 1000 0100 0011 0011 1000 1000 k = i + j; compiler assembler

  10. EdsgerDijkstra 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.

More Related