1/14/2014. Introduction to CSE 1325 Object Oriented Programming (Using Java) Introduction (Cont.) Introduction
|
|
- Imogene Waters
- 5 years ago
- Views:
Transcription
1 Introduction (Cont.) Introduction to CSE 1325 Object Oriented Programming (Using Java) Sharma Chakravarthy Information Technology Laboratory (IT Lab) Computer Science and Engineering Department The University of Texas at Arlington, Arlington, TX URL: Java has become the language of choice for implementing Internet-based applications, user interfaces, software for mobile devices, and devices that communicate over a network. There are now billions of Java-enabled mobile phones and handheld devices. Java is the preferred language for meeting many organizations enterprise-wide programming needs. Introduction Textbook Java How to Program, eight edition (you can also use 9 th or 8 th edition) By Deitel and Deitel, ISBN: , 2010 We will not cover all the chapters in the book Please see the course schedule as to what we cover If you are interested in anything particular (that is not included), please let me know and I will try my best to cover it. Machine, Assembly, and High-Level Languages Programmers write instructions in various programming languages, some directly understandable by computers and others requiring intermediate translation steps. Three general language categories: Machine languages (architecture dependent) Assembly languages (also architecture dependent to some extent) High-level languages (java is one of many programming languages) Underlying architecture independent Happens to be OS independent as well 1
2 Machine Languages High-Level Languages Any computer can directly understand only its own machine language. This is the computer s natural language, defined by its hard-ware design. Generally consist of strings of numbers (ultimately reduced to 1s and 0 s) that instruct computers to perform their most elementary operations one at a time. Architecture dependent a particular machine language can be used on only one type of computer/architecture Different architecture (CISC, RISC) have different instruction sets Microprogramming has also been used to translate instruction sets High-level languages Single statements accomplish substantial tasks. Compilers convert high-level language programs into machine language. Allow you to write instructions that look almost like everyday English and contain commonly used mathematical notations. C, C++, Microsoft s.net languages (e.g., Visual Basic, Visual C++ and C#) are among the most widely used highlevel programming languages; Java is by far the most widely used. Assembly Languages English-like abbreviations that represent elementary operations formed the basis of assembly languages. Translator programs called assemblers convert assemblylanguage programs to machine language. Examples: add op1 op2 result // for addition move r1, r2 // for moving data from reg to reg jump L1 // for flow control Machine Languages, Assembly Languages and High-Level Languages Compiling a high-level language program into machine language can take a considerable amount of computer time. Compiler technology has been developed over a number of decades Features of a language can be attributed to the advancement in compiler technology (e.g., recursion, structs, scopes, dynamic binding, oo etc.) Interpreters execute high-level language programs directly, although slower than compiled program executions (perl, scripting languages, etc.) Java uses a clever mixture of compilation and interpretation to make it architecture/machine independent 2
3 History of Programming Languages Started with FORTRAN (developed by IBM in mid 1950 s) Currently, we are at JAVA (we also have PHP, Python, etc.) A programming language is a language that is intended for translating algorithms into computer executable programs Should be able to express any algorithm (Turing complete) Some languages are not Turing complete (e.g., SQL) A program goes through: Compilation produces relocatable object code Linking needed for using libraries Loading assigning memory locations Execution control is given to the program Fortran Fortran (FORmula TRANslator) by Backus and others Developed by IBM Corporation in the mid-1950s Used for scientific and engineering applications that require complex mathematical computations. Still widely used in engineering applications (there is an object-oriented Fortan as well) Array was the only data structure Only global variables (No local variables) No recursion GOTO statements were widely used Subroutines were available Higher-level to machine code Compile -- using a compiler Interpret -- using an interpreter Now, we have a byte code generator for Java You can also generate assembly versions in many cases Imagine that many operating systems (e.g., IBM) were written in assembly language! Difficult to code, debug, and maintain COBOL COBOL (COmmon Business Oriented Language) Developed in the late 1950s by computer manufacturers, the U.S. government and industrial computer users Used for commercial applications that require precise and efficient manipulation of large amounts of data. A lot of business software still exists in COBOL (remember the Y2K problem!) Text representation and processing Support for accounting needs (aligning, number of digits after decimal point, etc.) Very verbose 3
4 ALGOL-60 European answer to FORTRAN (developed in 1960) A formal grammar was used for syntactic specification Nesting (using begin/end pairs) decreased the number of GOTO statements Local variables (dynamic scoping) Introduced dynamic arrays Switch-declaration Need for allocation and de-allocation of memory at runtime in contrast to FORTRAN Stack was needed and used Never achieved widespread usage Ada Ada programming To help stem large software developments costs Developed under the sponsorship of the U.S. Department of Defense (DoD) during the 1970s and early 1980s. The DOD wanted a single language to fill most of its needs. Named after Lady Ada Lovelace, daughter of poet Lord Byron. She s credited with writing the world s first computer program in the early 1800s. Supports multitasking allows programmers to specify that many activities in a program are to occur in parallel. Java, through a technique called multithreading, also enables programmers to write programs with parallel activities. Used a kitchen-sink approach by importing features from various languages Never became popular outside of DoD. A committee-based approach was used! Pascal Return to simplicity Research in the 1960s resulted in the evolution of structured programming A disciplined approach to writing programs that are clearer, easier to test and debug and easier to modify than large programs produced with previous techniques. Pascal Developed by Professor Niklaus Wirth in 1971 Designed for teaching structured programming in academic environments. Has been used for a long time for teaching introductory structured programming LISP List processing language LISP developed in the late 50 s by McCarthy (at Stanford) to meet the needs of AI (Artificial Intelligence community) Interpreted language LISP interpreter was written in LISP (bootstrapping) Widely used in AI Symbolics and other machines were developed that mainly used LISP 4
5 BASIC, Visual Basic, Visual C++, C# and.net BASIC (Beginner s All-Purpose Symbolic Instruction Code) Developed in the mid-1960s at Dartmouth College as a means of writing simple programs. Used to familiarize novices with programming techniques. Microsoft s Visual Basic Introduced in the early 1990s to simplify the development of Microsoft Windows applications. Microsoft s latest development tools Corporatewide strategy for integrating the Internet and the web into computer applications. Implemented in Microsoft s.net platform Three primary programming languages: Visual Basic (based on the original BASIC), Visual C++ (based on C++) and C# (based on C++ and Java, and developed expressly for the.net platform). C and C++ (Cont.) C++ An extension of C Developed by Bjarne Stroustrup in the early 1980s at Bell Laboratories Provides capabilities for object-oriented programming. Hybrid language it is possible to program in either C-like style, an object-oriented style or both. Maintaining backward compatibility with C limited the design of C++ Platform independence was not a goal Multiple inheritance is quite complicated to use! In contrast, Java did not suffer from that drawback C and C++ Java evolved from C++, which evolved from C, which evolved from BCPL and B (used on PDP 7) C Originally implemented in 1972 (for PDP 11) Evolved from B by Dennis Ritchie at Bell Laboratories Became widely known as the UNIX operating system s development language Today, most of the code for general-purpose operating systems is written in C or C++. C mixes characteristics of 3 generations Hierarchical data structures Arrays and pointers recursion No nested procedures History of Java Microprocessors were having a profound impact in intelligent consumer-electronic devices Recognizing this, Sun Microsystems funded an internal corporate research project, which resulted in a C++-based language named Java Created by James Gosling (surprisingly a heavy user of Lisp!) 1993 The web exploded in popularity Sun saw the potential of using Java to add dynamic content to web pages. Java garnered the attention of the business community because of the phenomenal interest in the web. Rest is history!! 5
6 JavaScript Do not get confused between Java and JavaScript Java and JavaScript are not the same! JavaScript was released by Netscape and Sun Microsystems in It is a programming language. It is an interpreted language JavaScript code is typically embedded in the HTML, to be interpreted and run by the client's browser. When a user receives a page which includes JavaScript, the JavaScript interpreter of his/her browser kicks in and tries to execute the script. Now the main problem here is that the various browsers each use their own interpreter Programming Paradigms Imperative languages FORTRAN, ALGOL, Pascal, PL/1, C, Functional programming (applicative) LISP, Snowbol Object-Oriented Programming Simula, Smalltalk, C++, JAVA, Objective-C (used for Mac OS) Logic Programming Non-procedural programming: Saying What instead of How PROLOG, SQL (to a lesser extent) JavaScript what happens when a user visits a JavaScript enhanced web site: The user asks for a certain HTML page without knowing whether it contains JavaScript. The HTML page is delivered to the browser, including the scripts. The scripts usually run automatically when the page loads or when the user takes a certain action. In general the user can t do anything to stop the scripts (well, he could turn off JavaScript, but few end users know how to do this, or that it can be done, or that JavaScript exists). So basically an innocent end user downloads a random program and allows it to be executed on his machine. Therefore there should be strict rules as to what this program can and cannot do. Early definition What is a program? Program = Data Structures + algorithms (by N. Wirth) Perhaps, it can be rephrased as: Programs = Objects + encapsulation + algorithms (methods) What is an algorithm? Unambiguous Executable terminates What is the difference between an algorithm and a directive? 6
7 Typical Java Development Environment (Cont.) Integrated development environments (IDEs) Provide tools that support the software-development process, including editors for writing and editing programs and debuggers for locating logic errors errors that cause programs to execute incorrectly. Popular IDEs Eclipse ( NetBeans ( JBuilder ( JCreator ( BlueJ ( jgrasp ( (C) 2010 Pearson Education, Inc. All rights reserved. Typical Java Development Environment (Cont.) Bytecode is platform independent They do not depend on a particular hardware platform. Bytecode is portable The same bytecode can execute on any platform containing a JVM that understands the version of Java in which the bytecodes were compiled. To compile a java program stored in Welcome.java file javac Welcome.java (produces Welcome.class) The JVM is invoked by the java command. For example, to execute a Java application called Welcome, you d type the command java Welcome (no.class) (C) 2010 Pearson Education, Inc. All rights reserved. 7
8 Typical Java Developement Environment (Cont.) Phase 5 The JVM executes the program s bytecodes. JVM typically uses a combination of interpretation and just-in-time (JIT) compilation. Analyzes the bytecodes as they are interpreted, searching for hot spots parts of the bytecodes that execute frequently. A just-in-time (JIT) compiler (the Java HotSpot compiler) translates the bytecodes into the underlying computer s machine language. When the JVM encounters these compiled parts again, the faster machine-language code executes. Java programs actually go through two compilation phases One in which source code is translated into bytecodes (for portability across computer platforms) A second in which, during execution, the bytecodes are translated into machine language for the actual computer on which the program executes. Questions! Sharma Chakravarthy 30 8
C++ Spring Break Packet 11 The Java Programming Language
C++ Spring Break Packet 11 The Java Programming Language! Programmers write instructions in various programming languages, some directly understandable by computers and others requiring intermediate translation
More informationAssoc. Prof. Dr. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved.
Assoc. Prof. Dr. Marenglen Biba (C) 2010 Pearson Education, Inc. All rights reserved. Course: Object-Oriented Programming with Java (4 credit hours) Instructor : Assoc. Prof. Dr. Marenglen Biba Office
More informationIntroduction to OOP Using Java Pearson Education, Inc. All rights reserved.
1 1 Introduction to OOP Using Java 2 Introduction Sun s implementation called the Java Development Kit (JDK) Object-Oriented Programming Java is language of choice for networked applications Java Enterprise
More informationAssoc. Prof. Dr. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved.
Assoc. Prof. Dr. Marenglen Biba (C) 2010 Pearson Education, Inc. All rights reserved. Course: Object-Oriented Programming with Java Instructor : Assoc. Prof. Dr. Marenglen Biba Office : Faculty building
More informationLanguage Translation, History. CS152. Chris Pollett. Sep. 3, 2008.
Language Translation, History. CS152. Chris Pollett. Sep. 3, 2008. Outline. Language Definition, Translation. History of Programming Languages. Language Definition. There are several different ways one
More informationIntroduction to Programming
Introduction to Programming session 3 Instructor: Reza Entezari-Maleki Email: entezari@ce.sharif.edu 1 Fall 2010 These slides are created using Deitel s slides Sahrif University of Technology Outlines
More informationLecture 09. Ada to Software Engineering. Mr. Mubashir Ali Lecturer (Dept. of Computer Science)
Lecture 09 Ada to Software Engineering Mr. Mubashir Ali Lecturer (Dept. of dr.mubashirali1@gmail.com 1 Summary of Previous Lecture 1. ALGOL 68 2. COBOL 60 3. PL/1 4. BASIC 5. Early Dynamic Languages 6.
More informationIntroduction to Computers, the Internet and the Web Pearson Education, Inc. All rights reserved.
1 1 Introduction to Computers, the Internet and the Web 2 The chief merit of language is clearness. Galen Our life is frittered away by detail. Simplify, simplify. Henry David Thoreau He had a wonderful
More informationIntroduction. A. Bellaachia Page: 1
Introduction 1. Objectives... 2 2. Why are there so many programming languages?... 2 3. What makes a language successful?... 2 4. Programming Domains... 3 5. Language and Computer Architecture... 4 6.
More informationGeneral Concepts. Abstraction Computational Paradigms Implementation Application Domains Influence on Success Influences on Design
General Concepts Abstraction Computational Paradigms Implementation Application Domains Influence on Success Influences on Design 1 Abstractions in Programming Languages Abstractions hide details that
More informationIntroduction to Computers and Visual Basic.Net Pearson Education, Inc. All rights reserved.
1 1 Introduction to Computers and Visual Basic.Net 2 OBJECTIVES In this chapter you will learn: Basic computing concepts. The different types of programming languages. The evolution of the Basic Programming
More informationCS2303 C14 Systems Programming Concepts. Bob Kinicki
CS2303 C14 Concepts Bob Kinicki Survey and TA/SA s Pause to Look Backwards and Forwards Course Objectives Course Operation/Expectations Course Plan and Syllabus Systems Concepts Higher Level Language
More informationConcepts of Programming Languages
Concepts of Programming Languages Lecture 1 - Introduction Patrick Donnelly Montana State University Spring 2014 Patrick Donnelly (Montana State University) Concepts of Programming Languages Spring 2014
More informationWhat is a programming language?
Overview Introduction Motivation Why study programming languages? Some key concepts What is a programming language? What is a programming language?...there is no agreement on what a programming language
More informationLECTURE 1. Overview and History
LECTURE 1 Overview and History COURSE OBJECTIVE Our ultimate objective in this course is to provide you with the knowledge and skills necessary to create a new programming language (at least theoretically).
More informationQuestion No: 1 ( Marks: 1 ) - Please choose one One difference LISP and PROLOG is. AI Puzzle Game All f the given
MUHAMMAD FAISAL MIT 4 th Semester Al-Barq Campus (VGJW01) Gujranwala faisalgrw123@gmail.com MEGA File Solved MCQ s For Final TERM EXAMS CS508- Modern Programming Languages Question No: 1 ( Marks: 1 ) -
More information8/23/18. Programming Language Genealogy The Evolution of Programming Languages. Zuse s Plankalkül. Plankalkül Syntax. Machine Code
Programming Language Genealogy The Evolution of Programming Languages In Text: Chapter 2 2 Zuse s Plankalkül Designed in 1945, but not published until 1972 Never implemented Advanced data structures floating
More informationComputer Fundamentals: Pradeep K. Sinha & Priti Sinha
Computer Fundamentals Pradeep K. Sinha Priti Sinha Chapter 12 Computer Languages Slide 1/64 Learning Objectives In this chapter you will learn about: Computer languages or programming languages Three broad
More informationCGT 456 Lecture 1. Introduction to Computers & Programming
CGT 456 Lecture 1 Introduction to Computers & Programming Some, not all, information pulled from these books: Deitel & Deitel. (2009 Third Edition). Visual C# 2008 How to Program. ISBN-10: 0-13-605322-X.
More informationPrinciples of Programming Languages. Lecture Outline
Principles of Programming Languages CS 492 Lecture 1 Based on Notes by William Albritton 1 Lecture Outline Reasons for studying concepts of programming languages Programming domains Language evaluation
More informationComp 333: Concepts of Programming Languages Fall 2016
Comp 333: Concepts of Programming Languages Fall 2016 Instructor: Professor Schwartz History Syntax and Semantics Compilers Language Constructs Names, Binding, Scoping, Data Types Expressions, Control
More informationChapter 2. Pseudocodes: Speedcoding. 2.2 Minimal Hardware Programming: Pseudocodes. Evolution of the Major Programming Languages
Chapter 2 Evolution of the Major Programming Languages ISBN 0-321-33025-0 2.2 Minimal Hardware Programming: Pseudocodes What was wrong with using machine code? Poor readability Poor modifiability Expression
More informationWhy are there so many programming languages? Why do we have programming languages? What is a language for? What makes a language successful?
Chapter 1 :: Introduction Introduction Programming Language Pragmatics Michael L. Scott Why are there so many programming languages? evolution -- we've learned better ways of doing things over time socio-economic
More informationChapter 2. Evolution of the Major Programming Languages
Chapter 2 Evolution of the Major Programming Languages Chapter 2 Topics Zuse s Plankalkül Minimal Hardware Programming: Pseudocodes The IBM 704 and Fortran Functional Programming: Lisp The First Step Toward
More informationAn Introduction to Software Engineering. David Greenstein Monta Vista High School
An Introduction to Software Engineering David Greenstein Monta Vista High School Software Today Software Development Pre-1970 s - Emphasis on efficiency Compact, fast algorithms on machines with limited
More informationOutline. Programming Languages 1/16/18 PROGRAMMING LANGUAGE FOUNDATIONS AND HISTORY. Current
PROGRAMMING LANGUAGE FOUNDATIONS AND HISTORY Dr. John Georgas, Northern Arizona University Copyright John Georgas All Rights Reserved Outline Current Programming languages Compiled and interpreted implementations
More informationCS 113: Introduction to
CS 113: Introduction to Course information MWF 12:20-1:10pm 1/21-2/15, 306 Hollister Hall Add/drop deadline: 1/28 C Instructor: David Crandall See website for office hours and contact information Prerequisites
More informationChapter 1 Introduction to Computers, Programs, and Java
Chapter 1 Introduction to Computers, Programs, and Java 1 Objectives To understand computer basics, programs, and operating systems ( 1.2 1.4). To describe the relationship between Java and the World Wide
More informationCompilation I. Hwansoo Han
Compilation I Hwansoo Han Language Groups Imperative von Neumann (Fortran, Pascal, Basic, C) Object-oriented (Smalltalk, Eiffel, C++) Scripting languages (Perl, Python, JavaScript, PHP) Declarative Functional
More informationChapter 1. Preliminaries
Chapter 1 Preliminaries Chapter 1 Topics Reasons for Studying Concepts of Programming Languages Programming Domains Language Evaluation Criteria Influences on Language Design Language Categories Language
More informationChapter 1. Preliminaries
Chapter 1 Preliminaries Chapter 1 Topics Reasons for Studying Concepts of Programming Languages Programming Domains Language Evaluation Criteria Influences on Language Design Language Categories Language
More informationLecture 2. A Historical View
Lecture 2 A Historical View Hardware Programming Short Code (John Mauchly, 1949) for UNIVAC I; two-six-bit byte instructions; implemented as a pure interpreter FORTRAN Previous all floating point calculations
More informationProgramming Languages 2nd edition Tucker and Noonan"
Programming Languages 2nd edition Tucker and Noonan" " Chapter 1" Overview" " A good programming language is a conceptual universe for thinking about programming. " " " " " " " " " " " " "A. Perlis" "
More informationIntroduction to Java. Liang, Introduction to Java Programming, Ninth Edition, (c) 2013 Pearson Education, Inc. All rights reserved.
Introduction to Java 1 Programs Computer programs, known as software, are instructions to the computer. You tell a computer what to do through programs. Programs are written using programming languages.
More information8/27/17. CS-3304 Introduction. What will you learn? Semester Outline. Websites INTRODUCTION TO PROGRAMMING LANGUAGES
CS-3304 Introduction In Text: Chapter 1 & 2 COURSE DESCRIPTION 2 What will you learn? Survey of programming paradigms, including representative languages Language definition and description methods Overview
More informationProgramming Languages, Summary CSC419; Odelia Schwartz
Programming Languages, Summary CSC419; Odelia Schwartz Chapter 1 Topics Reasons for Studying Concepts of Programming Languages Programming Domains Language Evaluation Criteria Influences on Language Design
More informationProgramming Languages FILS Andrei Vasilateanu
Programming Languages FILS 2014-2015 Andrei Vasilateanu Course Master: Administration Andrei Vasilateanu, andraevs@gmail.com Teaching Assistants: Radu Serban Grading: Final exam 40% Laboratory 60% 2 Tests
More informationFundamentals of Programming. Lecture 1: Introduction to C Programming
1 Fundamentals of Programming Lecture 1: Introduction to C Programming Instructor: Fatemeh Zamani f_zamani@ce.sharif.edu Sharif University of Technology Computer Engineering Department 2 Outline Grading
More informationChapter 2 Preview. Preview. History of Programming Languages. History of Programming Languages. History of Programming Languages
Chapter 2 Preview Evolution of the Major Programming Languages The Beginnings of Data Abstraction: SIMULA 67 Orthogonal Design: ALGOL 68 Some Early Descendants of the ALGOLs Programming Based on Logic:
More informationCOSC 2P90 Programming Languages & Object-Orientation
COSC 2P90 Programming Languages & Object-Orientation Hi! 1 Textbooks Main Text Comparative Programming Languages 3rd ed.; Wilson, LB & Clark, RG; Addison-Wesley (2001); ISBN 0-201-71012-9 Supplemental
More informationChapter 1 Introduction to Computers, Programs, and Java
Chapter 1 Introduction to Computers, Programs, and Java 1.1 Introduction The central theme of this book is to learn how to solve problems by writing a program. This book teaches you how to create programs
More informationObject Oriented Concepts and Programming (CSC244) By Dr. Tabbasum Naz
Object Oriented Concepts and Programming (CSC244) By Dr. Tabbasum Naz tabbasum.naz@ciitlahore.edu.pk Course Outline Course Title Object Oriented Concepts and Course Code Credit Hours 4(3,1) Programming
More informationLow-Level Languages. Computer Programs and Programming Languages
Computer Programs and Programming Languages What is a computer program? Set of instructions that directs computer to perform tasks Programming used to write instructions 1 Computer Programs and Programming
More informationChapter 2. Evolution of the Major Programming Languages ISBN
Chapter 2 Evolution of the Major Programming Languages ISBN 0-321-49362-1 Chapter 2 Topics Zuse s Plankalkül Minimal Hardware Programming: Pseudocodes The IBM 704 and Fortran Functional Programming: Lisp
More informationChapter 1. Preview. Reason for Studying OPL. Language Evaluation Criteria. Programming Domains
Chapter 1. Preview Reason for Studying OPL Reason for Studying OPL? Programming Domains Language Evaluation Criteria Language Categories Language Design Trade-Offs Implementation Methods Programming Environments
More informationby Pearson Education, Inc. All Rights Reserved.
Programmers write instructions in various programming languages, some directly understandable by computers and others requiring intermediate translation steps. Computer languages may be divided into three
More informationJava Language. Programs. Computer programs, known as software, are instructions to the computer. You tell a computer what to do through programs.
Introduction to Programming Java Language Programs Computer programs, known as software, are instructions to the computer. You tell a computer what to do through programs. Programs are written using programming
More information0 Introduction: Computer systems and program development
0 Introduction: Computer systems and program development Outline 1 Introduction 2 What Is a Computer? 3 Computer Organization 4 Evolution of Operating Systems 5 Personal Computing, Distributed Computing
More informationIntroduction to Java Programming
Introduction to Java Programming Lecture 1 CGS 3416 Spring 2017 1/9/2017 Main Components of a computer CPU - Central Processing Unit: The brain of the computer ISA - Instruction Set Architecture: the specific
More informationEvolution of the Major Programming Languages
Evolution of the Major Programming Languages SANGJI University Kwangman Ko (kkman@sangji.ac.kr) Genealogy of Common Languages kkman@sangji.ac.kr 2 1-3 Minimal Hardware Programming: Pseudocodes What was
More informationChapter 1 Introduction to Computers, Programs, and Java. What is a Computer? A Bit of History
Chapter 1 Introduction to Computers, Programs, and Java CS170 Introduction to Computer Science 1 What is a Computer? A machine that manipulates data according to a list of instructions Consists of hardware
More informationWhy study Programming Language Concepts? Chapter One. Language Evaluation Criteria. Programming Domains. Readability Writability Reliability Cost
Chapter One Preliminaries, including Why study PL concepts? Programming domains PL evaluation criteria What influences PL design? Tradeoffs faced by programming languages Implementation methods Programming
More informationEarly computers (1940s) cost millions of dollars and were programmed in machine language. less error-prone method needed
Chapter 1 :: Programming Language Pragmatics Michael L. Scott Early computers (1940s) cost millions of dollars and were programmed in machine language machine s time more valuable than programmer s machine
More informationCSCI.4430/6969 Programming Languages Lecture Notes
CSCI.4430/6969 Programming Languages Lecture Notes August 28, 2006 1 Brief History of Programming Languages Ada Augusta, the Countess of Lovelace, the daughter of the poet Lord Byron, is attributed as
More informationChapter 1: Introduction to Computers and Java
Chapter 1: Introduction to Computers and Java Starting Out with Java: From Control Structures through Objects Fifth Edition by Tony Gaddis Chapter Topics Chapter 1 discusses the following main topics:
More information8/23/2014. Chapter Topics. Introduction. Java History. Why Program? Java Applications and Applets. Chapter 1: Introduction to Computers and Java
Chapter 1: Introduction to Computers and Java Starting Out with Java: From Control Structures through Objects Fifth Edition by Tony Gaddis Chapter Topics Chapter 1 discusses the following main topics:
More informationSKILL AREA 304: Review Programming Language Concept. Computer Programming (YPG)
SKILL AREA 304: Review Programming Language Concept Computer Programming (YPG) 304.1 Demonstrate an Understanding of Basic of Programming Language 304.1.1 Explain the purpose of computer program 304.1.2
More informationPROGRAMMING LANGUAGE PARADIGMS & THE MAIN PRINCIPLES OF OBJECT-ORIENTED PROGRAMMING
10.2478/cris-2013-0011 PROGRAMMING LANGUAGE PARADIGMS & THE MAIN PRINCIPLES OF OBJECT-ORIENTED PROGRAMMING NIKOLETTA MINAROVA 77 INTRODUCTION Since the first design concept of computers came into the world,
More informationPROGRAMMING LANGUAGE PARADIGMS & THE MAIN PRINCIPLES OF OBJECT-ORIENTED PROGRAMMING
PROGRAMMING LANGUAGE PARADIGMS & THE MAIN PRINCIPLES OF OBJECT-ORIENTED PROGRAMMING JAN BARTONÍČEK This paper's goal is to briefly explain the basic theory behind programming languages and their history
More informationChapter 2. Evolution of the Major Programming Languages
Chapter 2 Evolution of the Major Programming Languages Chapter 2 Topics Zuse s Plankalkül Minimal Hardware Programming: Pseudocodes The IBM 704 and Fortran Functional Programming: Lisp The First Step Toward
More informationCS508-Modern Programming Solved MCQ(S) From Midterm Papers (1 TO 22 Lectures) BY Arslan
CS508-Modern Programming Solved MCQ(S) From Midterm Papers (1 TO 22 Lectures) BY Arslan April 18,2017 V-U For Updated Files Visit Our Site : Www.VirtualUstaad.blogspot.com Updated. MidTerm Papers Solved
More informationDesign & Implementation Overview
P Fall 2017 Outline P 1 2 3 4 5 6 7 P P Ontological commitments P Imperative l Architecture: Memory cells variables Data movement (memory memory, CPU memory) assignment Sequential machine instruction execution
More informationConcepts in Programming Languages
Concepts in Programming Languages Marcelo Fiore Computer Laboratory University of Cambridge 2012 2013 (Easter Term) 1 Practicalities Course web page: with lecture
More informationIntroduction to Computers, the Internet and the World Wide Web
1 2 1 Introduction to Computers, the Internet and the World Wide Web Our life is frittered away by detail. Simplify, simplify. Henry David Thoreau The chief merit of language is clearness. Galen My object
More informationChapter 1 Preliminaries
Chapter 1 Preliminaries Chapter 1 Topics Reasons for Studying Concepts of Programming Languages Programming Domains Language Evaluation Criteria Influences on Language Design Language Categories Language
More informationIntroduction to Java. Lecture 1 COP 3252 Summer May 16, 2017
Introduction to Java Lecture 1 COP 3252 Summer 2017 May 16, 2017 The Java Language Java is a programming language that evolved from C++ Both are object-oriented They both have much of the same syntax Began
More informationObjective: To learn meaning and concepts of programming. Outcome: By the end of this students should be able to describe the meaning of programming
30 th September 2018 Objective: To learn meaning and concepts of programming Outcome: By the end of this students should be able to describe the meaning of programming Section 1: What is a programming
More informationDiscovering Computers 2008
Discovering Computers 2008 Chapter 13 (a) Programming Languages and Program Development 1 Chapter 13 Objectives Differentiate between machine and assembly languages Identify and discuss the purpose of
More informationChapter 2. 5 * B => A V 6 7 (subscripts) S 1.n 1.n (data types)
1. Plankalkül - 1945 - Never implemented - Advanced data structures - floating point, arrays, records - Invariants - Notation: A(7) := 5 * B(6) 5 * B => A V 6 7 (subscripts) S 1.n 1.n (data types) 2. Pseudocodes
More informationTopic I. Introduction and motivation References: Chapter 1 of Concepts in programming languages by J. C. Mitchell. CUP, 2003.
Topic I Introduction and motivation References: Chapter 1 of Concepts in programming languages by J. C. Mitchell. CUP, 2003. Chapter 1 of Programming languages: Design and implementation (3RD EDITION)
More informationCISC 124: Introduction To Computing Science II
CISC 124: Introduction To Computing Science II instructor: Margaret Lamb instructor's home page: www.cs.queensu.ca/home/malamb office: Goodwin 527 current office hours are always on my home page 1 Moodle
More informationFinal-Term Papers Solved MCQS with Reference
Solved MCQ(S) From FinalTerm Papers BY Arslan Jan 14, 2018 V-U For Updated Files Visit Our Site : Www.VirtualUstaad.blogspot.com Updated. Final-Term Papers Solved MCQS with Reference 1. The syntax of PHP
More informationCHAPTER 1 Introduction to Computers and Java
CHAPTER 1 Introduction to Computers and Java Copyright 2016 Pearson Education, Inc., Hoboken NJ Chapter Topics Chapter 1 discusses the following main topics: Why Program? Computer Systems: Hardware and
More informationObjects and Classes Lecture 1
Objects and Classes Lecture 1 Waterford Institute of Technology January 6, 2016 John Fitzgerald Waterford Institute of Technology, Objects and ClassesLecture 1 1/19 Fundamental Programming Course Content
More informationChapter 2. Evolution of the Major Programming Languages ISBN
Chapter 2 Evolution of the Major Programming Languages ISBN 0-321-33025-0 Chapter 2 Topics Zuse s Plankalkul Minimal Hardware Programming: Pseudocodes The IBM 704 and Fortran Functional Programming: LISP
More informationChapter 1 Introduction to Computers, Programs, and Java
Chapter 1 Introduction to Computers, Programs, and Java 1 Programs Computer programs, known as software, are instructions to the computer. You tell a computer what to do through programs. Without programs,
More informationOrganization of Programming Languages (CSE452) Why are there so many programming languages? What makes a language successful?
Organization of Programming Languages (CSE452) Instructor: Dr. B. Cheng Fall 2004 1 Why are there so many programming languages? Evolution -- we've learned better ways of doing things over time Socio-economic
More informationG51OOP. Object Oriented Programming Comp Sci University of Nottingham Unit 1 : Introduction
G51OOP Object Oriented Programming Comp Sci University of Nottingham Unit 1 : Introduction Overview Background Teaching Staff Course Details Assessment OOP Summary Resources Programming Programming Languages
More informationGetting Started. Chapter 1. Java Programming FROM THE BEGINNING. Chapter 1: Getting Started
Chapter 1 Getting Started 1 1.1 What Do Computers Do? A computer system is an integrated collection of hardware and software components. Hardware refers to the electronics inside a computer. Software consists
More informationCSCI 3136 Principles of Programming Languages
CSCI 3136 Principles of Programming Languages Summer 2013 Faculty of Computer Science Dalhousie University 1 / 100 CSCI 3136 Principles of Programming Languages Summer 2013 Aminul Islam Faculty of Computer
More informationINFS 214: Introduction to Computing
INFS 214: Introduction to Computing Session 11 Principles of Programming Lecturer: Dr. Ebenezer Ankrah, Dept. of Information Studies Contact Information: eankrah@ug.edu.gh College of Education School of
More informationIndex. Course Outline. Grading Policy. Lab Time Distribution. Important Instructions
Index Course Outline Grading Policy Lab Time Distribution Important Instructions 2 Course Outline Week Topics 1 - History and Evolution of Java - Overview of Java 2 - Datatypes - Variables 3 - Arrays 4
More informationChapter 2 Evolution of the Major Programming Languages Chapter 2 Topics
Chapter 2 Evolution of the Major Programming Languages Chapter 2 Topics Zuse s Plankalkül Minimal Hardware Programming: Pseudocodes The IBM 704 and Fortran Functional Programming: LISP The First Step Toward
More informationWhy are there so many programming languages?
Chapter 1 :: Introduction Programming Language Pragmatics, Fourth Edition Michael L. Scott Copyright 2016 Elsevier 1 Chapter01_ Introduction_4e - Tue November 21, 2017 Introduction Why are there so many
More information2. Evolution of the Major Programming languages
2. Evolution of the Major Programming languages Genealogy of Common Programming Lang. 2.1 Plankalkül - 1945 Never implemented Advanced data structures floating point, arrays, records Invariants Notation:
More informationLecture 1: Preliminaries
Lecture 1: Preliminaries Edgardo Molina Department of Computer Science City College of New York August 30, 2011 Edgardo Molina (CS@CCNY) Lecture 1 August 30, 2011 1 / 44 Info and Schedule Course Info and
More informationStructured Languages. Rahul Deodhar
Structured Languages Rahul Deodhar You already know Basics of computer Database FoxPro / Oracle DBMS / RDBMS OperaCng System DOS / Novel/Unix ApplicaCons (Spreadsheets / Word processor) Basics of programming
More informationCOP4020 Programming Languages. Compilers and Interpreters Robert van Engelen & Chris Lacher
COP4020 ming Languages Compilers and Interpreters Robert van Engelen & Chris Lacher Overview Common compiler and interpreter configurations Virtual machines Integrated development environments Compiler
More informationChapter 1 Introduction to Computers and C++ Programming
Chapter 1 Introduction to Computers and C++ Programming 1 Outline 1.1 Introduction 1.2 What Is a Computer? 1.3 Computer Organization 1.4 Evolution of Operating Systems 1.5 Personal Computing, Distributed
More informationChapter 1: Introduction to Computers, Programs, and Java
Chapter 1: Introduction to Computers, Programs, and Java CS1: Java Programming Colorado State University Original slides by Daniel Liang Modified slides by Chris Wilcox 1 Objectives To understand computer
More informationLecture 1: Introduction to Java
Lecture 1: Introduction to Java 1 Programs Computer programs, known as software, are instructions to the computer. You tell a computer what to do through programs. Without programs, a computer is an empty
More informationChapter 1 Introduction to Computers, Programs, and Java
Chapter 1 Introduction to Computers, Programs, and Java 1 Objectives To understand computer basics, programs, and operating systems ( 1.2 1.4). To describe the relationship between Java and the World Wide
More informationFrom High Level to Machine Code. Compilation Overview. Computer Programs
From High Level to Algorithm/Model Java, C++, VB Compilation Execution Cycle Hardware 27 October 2007 Ariel Shamir 1 Compilation Overview Algorithm vs. Programs From Algorithm to Compilers vs. Interpreters
More informationModule 1: Introduction to Computers, Programs, and Java
Module 1: Introduction to Computers, Programs, and Java Module 1: Introduction to Java page 1 Objectives To review Program Design and Problem-Solving Techniques To describe the relationship between Java
More informationTTh 9.25 AM AM Strain 322
TTh 9.25 AM - 10.40 AM Strain 322 1 Questions v What is your definition of client/server programming? Be specific. v What would you like to learn in this course? 2 Aims and Objectives v Or, what will you
More informationIntroduction to JAVA Programming Language
Introduction to JAVA Programming Language Lecture 2 Based on Slides of Dr. Norazah Yusof 1 Origins of the Java Language Patrick Naughton and Jonathan Payne at Sun Microsystems developed a Web browser that
More informationCompiler Design Spring 2018
Compiler Design Spring 2018 Thomas R. Gross Computer Science Department ETH Zurich, Switzerland 1 Logistics Lecture Tuesdays: 10:15 11:55 Thursdays: 10:15 -- 11:55 In ETF E1 Recitation Announced later
More informationLecture 1: Course Introduction
Lecture 1: Course Introduction CS164: Programming Languages and Compilers P. N. Hilfinger, 787 Soda Spring 2015 Acknowledgement. Portions taken from CS164 notes by G. Necula. Last modified: Wed Jan 21
More informationAdvanced Object-Oriented Programming Introduction to OOP and Java
Advanced Object-Oriented Programming Introduction to OOP and Java Dr. Kulwadee Somboonviwat International College, KMITL kskulwad@kmitl.ac.th Course Objectives Solidify object-oriented programming skills
More informationLanguage Translation. Compilation vs. interpretation. Compilation diagram. Step 1: compile. Step 2: run. compiler. Compiled program. program.
Language Translation Compilation vs. interpretation Compilation diagram Step 1: compile program compiler Compiled program Step 2: run input Compiled program output Language Translation compilation is translation
More information