int k = Integer.MAX_VALUE; k++; int k = Integer.MAX_VALUE; k++; What happens when the following code executes? byte b = someFile.readByte(); b = (byte)(b.

Slides:



Advertisements
Similar presentations
Senem Kumova Metin Introduction to Programming CS 115 Introduction to Computing PART I : Computer Basics PART II: Introduction to Computing/Programming.
Advertisements

Chapter 8 High-Level Programming Languages. 8-2 Chapter Goals Describe the translation process and distinguish between assembly, compilation, interpretation,
Programming Languages Language Design Issues Why study programming languages Language development Software architectures Design goals Attributes of a good.
CS 101 Course Summary December 5, Big Ideas Abstraction Problem solving Fundamentals of programming.
Programming Languages Structure
Chapter 8 High-Level Programming Languages Nell Dale John Lewis.
Introduction and Syntax. Course objectives Discuss features of programming languages. Discuss how the features are implemented in a simple computer architecture.
Summer 02-03Programming Language Concepts1 Programming Language Concepts (CS 360) Lecture 1: Overview, Grammars, and Little Languages Jeremy R. Johnson.
CS 331, Principles of Programming Languages Introduction.
1 Programming Languages Marjan Sirjani 2 1- The Study of Programming Languages The purpose of language is simply that it must convey meaning. (Confucius)
CS 415: Programming Languages Chapter 1 Aaron Bloomfield Fall 2005.
Programming Languages Lecture 12. What is Programming?  The process of telling the computer what to do  Also known as coding.
History of Programming Languages
BIT Presentation 6. Contents GENERATIONS OF LANGUAGES COMPILERS AND INTERPRETERS VIRTUAL MACHINES OBJECT-ORIENTED PROGRAMMING SCRIPTING LANGUAGES.
1 Programming Language Concepts Ethics Why study concepts of programming languages (PLs)? PL categories Influences on PL design Problem areas & needs that.
1 Software Development Topic 2 Software Development Languages and Environments.
Chapter 8 High-Level Programming Languages (modified by Erin Chambers)
High-Level Programming Languages: C++
(1.1) COEN 171 Programming Languages Winter 2000 Ron Danielson.
CS2303 C14 Systems Programming Concepts Bob Kinicki.
Chapter 1. Introduction.
BIT 1003 – Presentation 7. Contents GENERATIONS OF LANGUAGES COMPILERS AND INTERPRETERS VIRTUAL MACHINES OBJECT-ORIENTED PROGRAMMING SCRIPTING LANGUAGES.
Tranlators. Machine Language The lowest-level programming languageprogramming language Machine languages are the only languages understood by computers.languagescomputers.
COMPUTER PROGRAMS AND LANGUAGES Chapter 4. Developing a computer program Programs are a set (series) of instructions Programmers determine The instructions.
ISBN Chapter 2 Evolution of the Major Programming Languages.
©Xiaoying Gao, Peter Andreae First Java Program COMP 102 #2 2014T2 Xiaoying Sharon Gao Computer Science Victoria University of Wellington.
Programming Languages –14 David Watt (Glasgow) Steven Wong (Singapore) Moodle : Computing Science → Level 3 → Programming Languages 3 © 2012 David.
Chapter 1 - Introduction
First Java Program COMP 102 #2 2015T2 Xiaoying Sharon Gao Computer Science Victoria University of Wellington.
By Neng-Fa Zhou1 Evolution of programming languages –Machine language –Assembly language –Sub-routines and loop (Fortran) –Procedures and recursion (Algol,
Programming History. Who was the first programmer?
1 Programming Language History and Evolution In Text: Chapter 2.
1 Introduction Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Sections
Chapter 8 High-Level Programming Languages. 8-2 Chapter Goals Describe the translation process and distinguish between assembly, compilation, interpretation,
Analysis of Programming Language Vladimir Viies Lembit Jürimägi Tallinna.
Chapter 6 Programming Languages (1) Introduction to CS 1 st Semester, 2015 Sanghyun Park.
Theory of Programming Languages Introduction. What is a Programming Language? John von Neumann (1940’s) –Stored program concept –CPU actions determined.
CS 331, Principles of Programming Languages Chapter 1.
 Computer Languages Computer Languages  Machine Language Machine Language  Assembly Language Assembly Language  High Level Language High Level Language.
Programming Languages
CPS120: Introduction to Computer Science Variables and Constants.
1-1 1 Introduction  Programming linguistics: concepts and paradigms syntax, semantics, and pragmatics language processors.  Historical development of.
Programming Language Theory 2014, 1 Chapter 1 :: Introduction Origin : Michael L. Scott School of Computer & Information Engineering,
Programming Languages Salihu Ibrahim Dasuki (PhD) CSC102 INTRODUCTION TO COMPUTER SCIENCE.
Programming Language Paradigms ITSK2314 Lecture 3.
a medium allowing humans and computers to communicate an abstraction of the real world a notation for expressing algorithms the set of all syntactically.
History. Development Driven by Function Functions of a Programming Language –To describe computation for use by computers –To describe computation and.
Language Paradigms CS655.
CPS120 Introduction to Computer Science High Level Language: Paradigms.
Programming Language History and Evolution
Basic Concepts: computer, program, programming …
Why study programming languages?
PROGRAMMING LANGUAGES
Problem Solving Using C: Orientation & Lecture 1
Programming Language History and Evolution
Evolution of programming languages
Developing Applications
Introduction to Computers and Python
Problem Solving.
Problem Solving Using C: Orientation & Lecture 1
CSE 341 Programming Languages Autumn 2001
CSE 341 Programming Languages Autumn 2002
High Level Programming Languages
Problem Solving Using C: Orientation & Lecture 1
Principles of Programming Languages
Overview of Programming Paradigms
강의 내용 및 방법 접근방법 리포트 시험 Lambda Calculus, Proof of Correctness
School of Computer & Information Engineering,
Presentation transcript:

int k = Integer.MAX_VALUE; k++; int k = Integer.MAX_VALUE; k++; What happens when the following code executes? byte b = someFile.readByte(); b = (byte)(b >>> 2); //shift bit string right by two bits byte b = someFile.readByte(); b = (byte)(b >>> 2); //shift bit string right by two bits Suppose that the byte read is the bit string What is the value of b after executing the following?

public class Child extends Parent {... // the following is an invalid instruction super.super.foo();... } public class Child extends Parent {... // the following is an invalid instruction super.super.foo();... } Suppose the Grandparent class contains a parameterless void method named foo, that is overridden by a Parent subclass which in turn is overridden by its Child subclass. Within the Child class how can you call the Grandparent version of foo ? public class Example { E generic object = ? } public class Example { E generic object = ? } How do you create an object of generic type? Grandparent + void foo() Parent + void foo() Child + void foo()

CS/421 is not a programming course! CS/421 is not a survey of languages course!

Classification by “Power”  machine language - a program instruction is a number - programs are “understood” by computer hardware  assembler language - a program instruction is a mnemonic version of the corresponding machine instruction  high-level language - language constructs are designed with the programmer in mind  parallel language - a program is a group of tasks that execute simultaneously

Classification by Intended Application  general purpose … e.g. PL/1  scientific/engineering applications … e.g. FORTRAN  business applications … e.g.s COBOL, RPG  systems programming … e.g.s C, PL/S, Bliss  real time systems … e.g.s Ada, Jovial  list processing … e.g.s LISP, SLIP, Scheme  string processing … e.g.s Snobol, Icon  set processing … e.g. SETL  Web applications … e.g. Java  script programming … e.g.s Perl, PHP, Javascript

“Classification” by User Interface  compiled Each program (the source code) must be translated into machine language form for execution.  interpreted The source code instructions are analyzed individually as they are executed.

Classification by Paradigm  imperative / procedural programming  program = sequence of instructions (usually including loops & procedures)  variables & assignments used liberally  key control structure: repetition (while/for)  key data structure: array  examples: Ada, C, Cobol, FORTRAN, Pascal, PL/1  functional / applicative programming  program = a function to be evaluated  key control structure: recursion  key data structure: list  examples: LISP, Scheme, ml

Classification by Paradigm (continued)  object-oriented programming  program = sequence of operations (methods) applied to objects  an object incorporates both data and associated operations  examples: Smalltalk, Eiffel, Java, C#  logic-based / relational programming  program = a collection of rules and goals  program execution is based on theorem proving concepts  example: Prolog

languageyearauthor(s)intended purpose FORTRAN1957J. Backus/IBMscientific LISP1958McCarthy (MIT)list processing (A.I.) ALGOL 58/ Intn’l committeegeneral COBOL1959Hopper/committeebusiness D.P. APL1960 Iverson/Harvard/IBMmatrices/scientific SNOBOL1962Griswold/Bell Labsstring processing BASIC1963Kemeny & Kurtzeducation PL/11963SHARE Com./IBMgeneral Simula1963Dahl et. al.general/simulation ALGOL Intn’l committeegeneral Bliss1971Wulf/CMUsystems programming Pascal1971Wirth/ETH-Zurichgeneral/education Prolog1972Colmerauer/Kowalskilogic-based (A.I.)

languageyearauthor(s)intended purpose C1972Ritchie/Bell Labssystems programming Conc.Pascal1975Hansen/CA-Techparallel programming Scheme1975 Steele/Sussman/MITlists/A.I. Euclid1977Committeeverifiable prog. Gypsy1977U of TXverifiable prog. Modula-21977Wirth/ETHgeneral ML1978Milner/EdinburghMachine-assisted proof Ada1979DOD committeereal-time Smalltalk1980Kay/Xerox PARCobject-oriented C++1986Stroustrup/Bell Labsobject-oriented C Eiffel1990Bertrand Meyerobject-oriented Java1994Gosling/SunWeb/object-oriented C#2001Microsoftbasis for.net