High or Low Level Programming Language? Justify your decision.

Slides:



Advertisements
Similar presentations
GCSE Computing Lesson 5.
Advertisements

compilers and interpreters
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design First Edition by Tony Gaddis.
Programming Introduction November 9 Unit 7. What is Programming? Besides being a huge industry? Programming is the process used to write computer programs.
Compilers and Interpreters. Translation to machine language Every high level language needs to be translated to machine code There are different ways.
CS 104 Introduction to Computer Science and Graphics Problems Software and Programming Language (2) Programming Languages 09/26/2008 Yang Song (Prepared.
1 CHAPTER 4 LANGUAGE/SOFTWARE Hardware Hardware is the machine itself and its various individual equipment. It includes all mechanical, electronic.
Course: Introduction to Computers
Systems Software Operating Systems.
Activity 1 - WBs 5 mins Go online and spend a moment trying to find out the difference between: HIGH LEVEL programming languages and LOW LEVEL programming.
1 Chapter-01 Introduction to Computers and C++ Programming.
 2008 Pearson Education, Inc. All rights reserved Introduction to Computers, the Internet and World Wide Web.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Tranlators. Machine Language The lowest-level programming languageprogramming language Machine languages are the only languages understood by computers.languagescomputers.
Systems Software Operating Systems. What is software? Software is the term that we use for all the programs and data that we use with a computer system.
FOUNDATION IN INFORMATION TECHNOLOGY (CS-T-101) TOPIC : INFORMATION SYSTEM – SOFTWARE.
A compiler is a computer program that translate written code (source code) into another computer language Associated with high level languages A well.
Compilers and Interpreters. HARDWARE Machine LanguageAssembly Language High Level Language C++ Visual Basic JAVA Humans.
 Computer Languages Computer Languages  Machine Language Machine Language  Assembly Language Assembly Language  High Level Language High Level Language.
Introduction  Program: Set of sequence instruction that tell the computer what to do.  Software: A collection of programs, data, and information. 
Compilers and Interpreters
Representation of Data - Instructions Start of the lesson: Open this PowerPoint from the A451 page – Representation of Data/ Instructions How confident.
OCR A Level F453: The function and purpose of translators Translators a. describe the need for, and use of, translators to convert source code.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
Programming Languages
Machine Language Computer languages cannot be directly interpreted by the computer – they are not in binary. All commands need to be translated into binary.
Computer Language
Evolution and History of Programming Languages
Computer Systems Nat 5 Computing Science
Software Development Environment
Computer Applications in Business
Why don’t programmers have to program in machine code?
Lecture 1b- Introduction
Component 1.6.
Unit 2 Technology Systems
central heating system
Unit 2.5 Translators and Facilities of Languages – Lesson 1
High and low level languages
Introduction to programming
Unit 2.5 Translators and Facilities of Languages – Lesson 2
Operating System Interface between a user and the computer hardware
Programming Language Hierarchy, Phases of a Java Program
CSCI-235 Micro-Computer Applications
Lecture 1: Introduction to JAVA
Computer Systems Nat 5 Computing Science
Topic: Difference b/w JDK, JRE, JIT, JVM
Introduction to Computers and Java
A451 Theory – 7 Programming 7A, B - Algorithms.
Course: Introduction to Computers
Introduction CSE 1310 – Introduction to Computers and Programming
Teaching Computing to GCSE
Unit# 8: Introduction to Computer Programming
TRANSLATORS AND IDEs Key Revision Points.
Teaching Computing to GCSE
Translators & Facilities of Languages
Mobile Development Workshop
Creativity in Algorithms
High Level Programming Languages
PROGRAMMING What is it?.
Lesson Objectives Aims Key Words Compiler, interpreter, assembler
Translators & Types of Languages
CS105 Introduction to Computer Concepts Intro to programming
ICT Programming Lesson 1:
Tonga Institute of Higher Education IT 141: Information Systems
An Introduction to Programming with C++ Fifth Edition
Tonga Institute of Higher Education IT 141: Information Systems
1.3.7 High- and low-level languages and their translators
WJEC GCSE Computer Science
Programming language translators
Running & Testing Programs :: Translators
Presentation transcript:

High or Low Level Programming Language? Justify your decision. 1 0 1 1 0 1 1 0 0 1 0 0 1 0 1 0 1 0 1 1 0 0 0 1 1 1 0 0 1 0 0 0 1 0 Machine Java Python Scratch Assembly

High/Low Languages & Language Translators 4.5.1 4.5.2

Learning Objectives 4.5.1 Understand what is meant by high-level and low-level programming languages and assess their suitability for a particular task 4.5.2 Understand what is meant by a compiler and an interpreter Online worksheet for this lesson

High/Low Languages 4.5.1

Check Java Python Scratch Assembly Machine High Level Languages Low Level Languages 1 0 1 1 0 1 1 0 0 1 0 0 1 0 1 0 1 0 1 1 0 0 0 1 1 1 0 0 1 0 0 0 1 0 Machine

10 min Your Turn: Take Notes Watch this video about high and low level programming languages https://www.youtube.com/watch?v=rzZpwGB91DU Take notes in a table like this: High Level Low Level Task 1: On class worksheet

Characteristics Check Scratch Python Java Assembly Machine Works on many different microprocessors (machine independent) Commands look similar to English language Easier for humans to read/understand than assembly or machine code Scratch Easy and quick for humans to write and maintain code High Level Languages Python Java Needs to be translated to machine code Low Level Languages Each statement is exactly one instruction in machine code Use mnemonics (abbreviations) Only works on one type of microprocessor (machine dependent) Each instruction has an opcode and operands Assembly Needs to be translated to machine code Machine 0s and 1s only No translator needed Directly executable by machine Only works on one type of microprocessor (machine dependent) Difficult for humans to read

Your Turn: Justify Usage 5 min Your Turn: Justify Usage Why would you want to use each either a high or low level language? Task 2 on class worksheet We’ll check your answers with the next slide Task 2: On class worksheet

Why Use Each? Check Python Java Assembly Machine May have built-in libraries of useful functions already written and tested. Commands look similar to English language, so it’s easy and quick for humans to write and maintain code Code can be written once and ported to many platforms (Windows, LINUX) High Level Languages Python Java Easy and quick for humans to write and maintain code Low Level Languages It’s a very good way to control hardware, like printers or graphics cards. Sometimes, it’s the only language available. For example, a new chip is invented. Sometimes, the function needed is not available in a high-level language. Can be used to speed up parts of high-level language programs. Each statement is exactly one instruction in machine code, so it’s very efficient. Assembly Machine Almost no one writes machine code now.

Questions? That finishes ‘high level and low level’ programming languages Any questions before moving on?

Language Translators 4.5.2

How does each get translated to machine code? Scratch The translator is called an ‘interpreter’. Python High Level Languages Java The translator is called a ‘compiler’. Low Level Languages The translator is called an ‘assembler’. It translates from an assembly language to machine code. Assembly Machine No translation necessary. It’s already machine code.

Compiler vs Interpreter 10 min Compiler vs Interpreter Watch this video about high and low level programming languages https://www.youtube.com/watch?v=zTuSgPQBgz8 Take notes on the worksheet We’ll check your answers with the next slide Interpreter Compiler Task 3: On class worksheet

Compiler vs Interpreter Check Compiler vs Interpreter Interpreter Compiler One line of code is translated and executed at a time; one by one The interpreter is required for the whole time the program is running Runs slowly Can correct mistakes as you go along Must have interpreter to run code Very good for prototyping (mocking up) Python, Scratch Translates the whole list of instructions in one go Has some extra processing time in the beginning The compiler is not needed to execute the translated instructions Execution of translated code is very fast Cannot correct mistakes after translation Don’t need compiler to run resulting code Java, C, C++

Compilers, Interpreters, Assemblers Assembly Java Python INTERPRETER Scratch COMPILER ASSEMBLER Low Level INTERPRETER High Level 100011111100001111000010111000111000101010010010010100001111000010100100 Machine Code

Plenary – Make a Choice 2 Assembly Language Interpreter High Level Language Compiler Low Level Language Machine Language Needs no translation Uses mnemonics. Very efficient. Is not very easy for humans to read or write. Easy for humans to read and quick for humans to write. Has to be present for a program to run. Is not needed to run the translated program. 5 4 6 3 1

Homework Complete this lesson’s homework worksheet Due in 2 lessons