Computing System Fundamentals 3.1 Language Translators.

Slides:



Advertisements
Similar presentations
compilers and interpreters
Advertisements

Languages for IT & CS Pseudo-code What HTML isn’t Early history Compiling & interpreting Classifying languages The process of programming.
SYSTEM PROGRAMMING & SYSTEM ADMINISTRATION
Computers Are Your Future
Creating a Program In today’s lesson we will look at: what programming is different types of programs how we create a program installing an IDE to get.
Programming Creating programs that run on your PC
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design First Edition by Tony Gaddis.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Introduction to Computer Programming CSC 1401: Introduction to Programming with Java Lecture 2 Wanda M. Kunkle.
CM143 - Web Week 2 Basic HTML. Links and Image Tags.
Russell Taylor Lecturer in Computing & Business Studies.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Chapter 3 Software Two major types of software
Programming Concepts and Languages Chapter 12 – Computers: Understanding Technology, 3 rd edition 1November
Systems Software Operating Systems.
Computer Software.
Your Interactive Guide to the Digital World Discovering Computers 2012.
Programming In C++ Spring Semester 2013 Programming In C++, Lecture 1.
© Paradigm Publishing Inc Chapter 12 Programming Concepts and Languages.
Computers Are Your Future Tenth Edition Chapter 11: Programming Languages & Program Development Copyright © 2009 Pearson Education, Inc. Publishing as.
Parts of a Computer Why Use Binary Numbers? Source Code - Assembly - Machine Code.
 2005 Pearson Education, Inc. All rights reserved. 1 Introduction & The Java Virtual Machine Small Java Chapter 1 1.
Languages and Environments Higher Computing Unit 2 – Software Development.
Systems Software & Operating systems
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
CC111 Lec#5: Program Development 1 Program Development and Programming Languages Lecture 4 Reference :Understanding Computers Chapter 13.
The NetBeans IDE CSIS 3701: Advanced Object Oriented Programming.
COMPUTER PROGRAMMING Source: Computing Concepts (the I-series) by Haag, Cummings, and Rhea, McGraw-Hill/Irwin, 2002.
Chapter 1.4 Programming languages Homework Due: Monday, August 11, 2014.
Integrated Development Environments (IDEs) CS 21a: Introduction to Computing I First Semester,
1 Computing Software. Programming Style Programs that are not documented internally, while they may do what is requested, can be difficult to understand.
CHAPTER FOUR COMPUTER SOFTWARE.
Introduction to Interactive Media Interactive Media Tools: Software.
Programming Languages 1.07a.  A computer program is a series of instructions that direct a computer to perform a certain task.  A programming language.
TMF1013 : Introduction To Computing Lecture 1 : Fundamental of Computer ComputerFoudamentals.
Computer Programming A program is a set of instructions a computer follows in order to perform a task. solve a problem Collectively, these instructions.
Chapter 34 Java Technology for Active Web Documents methods used to provide continuous Web updates to browser – Server push – Active documents.
1.8History of Java Java –Based on C and C++ –Originally developed in early 1991 for intelligent consumer electronic devices Market did not develop, project.
© 2012 Pearson Education, Inc. All rights reserved. 1-1 Why Java? Needed program portability – Program written in a language that would run on various.
1 2. Program Construction in Java Programming Fundamentals.
Visual C++ Programming: Concepts and Projects
Just as there are many human languages, there are many computer programming languages that can be used to develop software. Some are named after people,
1 3. Computing System Fundamentals 3.1 Language Translators.
What is Programming? A program is a list of instructions that is executed by a computer to accomplish a particular task. Creating those instructions is.
I Power Higher Computing Software Development Development Languages and Environments.
JavaScript Defined JavaScript Basics Definitions JavaScript is an object-oriented programming language designed for the world wide web. JavaScript code.
1 3. Computing System Fundamentals 3.1 Language Translators.
By Tharith Sriv. To write a web page you use: HHTML (HyperText Markup Language), AASP (Active Server Page), PPHP (HyperText Preprocessor), JJavaScript,
 Programming - the process of creating computer programs.
© 2012 Pearson Education, Inc. All rights reserved types of Java programs Application – Stand-alone program (run without a web browser) – Relaxed.
JavaScript 101 Introduction to Programming. Topics What is programming? The common elements found in most programming languages Introduction to JavaScript.
Alexandria University Faculty of Science Computer Science Department Introduction to Programming C++
Part 1 The Basics of Information Systems. Purpose of Information Systems Information systems ◦ Collects, stores and organizes information ◦ Retrieves.
Programming 2 Intro to Java Machine code Assembly languages Fortran Basic Pascal Scheme CC++ Java LISP Smalltalk Smalltalk-80.
Programming Logic and Design Seventh Edition Chapter 1 An Overview of Computers and Programming.
Software Development Languages and Environments. Computer Languages Just as there are many human languages, there are many computer programming languages.
Introduction to computer software. Programming the computer Program, is a sequence of instructions, written to perform a specified task on a computer.
Chapter Goals Describe the application development process and the role of methodologies, models, and tools Compare and contrast programming language generations.
Computer Systems Nat 5 Computing Science
Topic 2: Hardware and Software
CSCI-235 Micro-Computer Applications
Computer Systems Nat 5 Computing Science
A451 Theory – 7 Programming 7A, B - Algorithms.
Developing Applications
Unit# 8: Introduction to Computer Programming
TRANSLATORS AND IDEs Key Revision Points.
Assembler, Compiler, Interpreter
Chapter 12 Programming Concepts and Languages.
Assembler, Compiler, Interpreter
System Programming By Prof.Naveed Zishan.
Presentation transcript:

Computing System Fundamentals 3.1 Language Translators

'There wasn't no man nowhere so virtuous.” Geoffrey Chaucer, The Canterbury Tales Half a loaf is better than nothing. Nothing is better than a Rolls Royce. Therefore half a loaf is better than a Rolls Royce. The gorilla eats shoots and leaves. The gorilla eats, shoots and leaves Syntax and Semantics

Syntax (grammar): each statement must be constructed correctly Semantics: each instruction must have a clear meaning 'I ain’t got no problems' - fairly clear semantics (meaning) - incorrect syntax (grammar) ‏ Syntax and Semantics

Computers only run in machine code e.g Difficult for human programmers and prone to errors. A low level language High Level Languages

An improvement was assembly language: LDA 2905 ADD Load the number in memory location add it to the number in More understandable to humans, but needs another program to convert it to machine code High Level Languages

True high level code is more understandable: FOR X = 1 to 99 DO Y = X * X PRINT (X, Y) NEXT High Level Languages

True high level languages are: portable (can be run on different machines) ‏ English-like (easier to understand) ‏ different, depending on their specific purpose. Examples are: BASIC, FORTRAN, Java High Level Languages

HL languages need a translator program to convert the programmer's source code into the computer's object code (machine code). Translators can be of two trypes: Interpreters Compilers High Level Languages

Interpreters : Translate and execute line by line without saving object code Stop at the first error Need less memory Must be in memory while the program itself is running High Level Languages

Compilers: Produce a complete machine code program which can be stored on disc, loaded and run Need a complete source code program Give an error listing after compilation The object code product can be run on any machine (compiler no longer needed) ‏ High Level Languages

Note that the syntax of an HL language source code must be correct or the translator (compiler or interpreter) will be unable to convert it into binary machine code. Semantic errors, however, will get through translation and must be corrected by the programmer High Level Languages

Tools that aid developer (not regarded as languages in their own right): Visual IDE's HTML Scripting languages DBMS's CASE Macros Software Development Tools

Visual Integrated Development Environments (IDE's) are programs that allow software to be written, compiled, run and debugged in a user friendly way Usually have a text editor which highlights syntax errors, compiler, library of common routines, debugging help, GUI Examples: BlueJ, NetBeans Software Development Tools

Hypertext Markup Language (HTML) uses tags e.g., to control the display behaviour of other programs called browsers e.g. Firefox, IE. Not truly programming languages as authors do not have full control over the way their product is displayed. HTML editors e.g. Dreamweaver allow easier WYSIWYG (what you see is what you get) editing Software Development Tools

Scripting languages allow the insertion of short routines into other programs on a particular operating system e.g. VBScript for Office on Windows or AppleScript for Mac OS. JavaScript (not the same as Java!) supports HTML and makes web pages more dynamic Software Development Tools

Database Management Systems (DBMS's) provide interfaces which make database access simpler for users and developers. Hide internal structure of the database, manages the data dictionary (database structure, access rights, relationships between data items, etc.) and safety and security (schedules backups, controls access rights and sharing violations) Software Development Tools

Computer Aided Software Engineering (CASE) involves techniques and software that help in the design cycle of a software product. Typical components help with: data flow diagrams, costing, scheduling tasks, documentation preparation, version control Software Development Tools

Macros allow common sets of tasks in general purpose packages e.g. Office to be recorded and re-used later. In fact they automatically write the code required in an appropriate HL language e.g. Visual Basic for Applications (VBA) ‏ in the case of Word or Excel. No knowledge of programming needed Software Development Tools