Programming Languages

Slides:



Advertisements
Similar presentations
An Introduction to Programming General Concepts. What is a program? A program is an algorithm expressed in a programming language. programming language.
Advertisements

 Computer hardware components are the physical pieces of the computer.  The major hardware components of a computer are: – The central processing.
Presentation II History of Computers By Teacher Julio Cesar Peñaloza Castañeda.
Introducing Programming a general discussion. What is a Program? Sets of instructions that get the computer to do something Programs may be a few lines.
Programming Creating programs that run on your PC
Chapter 9: The Tower of Babel
Chapter 10 Application Development. Chapter Goals Describe the application development process and the role of methodologies, models and tools Compare.
Objectives Machine language vs.. High-level language Procedure-oriented, object-oriented, and event- driven languages Background of Visual Basic VB Integrated.
Software Development CS 1 Rick Graziani Spring 2007.
 2000 Prentice Hall, Inc. All rights reserved. 1 Introduction to Computers and C Programming Outline Introduction What Is a Computer? Computer Organization.
Microsoft Visual Basic 2005 CHAPTER 1 Introduction to Visual Basic 2005 Programming.
Programming Languages Lecture 12. What is Programming?  The process of telling the computer what to do  Also known as coding.
History of Programming Languages
Program development & programming languages Chapter 13.
BIT Presentation 6. Contents GENERATIONS OF LANGUAGES COMPILERS AND INTERPRETERS VIRTUAL MACHINES OBJECT-ORIENTED PROGRAMMING SCRIPTING LANGUAGES.
Chapter 1 Introduction to Visual Basic Programming and Applications 1 Exploring Microsoft Visual Basic 6.0 Copyright © 1999 Prentice-Hall, Inc. By Carlotta.
Chapter 1 Introduction to Visual Basic Programming and Applications 1 Joshi R.G. Dept. of Computer Sci. YMA.
Introduction to Computer Programming itc-314
CSCI 3327 Visual Basic Chapter 1: Introduction to Visual Basic
Introduction to Programming Language CS105 Programming Language First-generation: Machine language Second-generation: Assembly language Third-generation:
Chapter Lead Black Slide Powered by DeSiaMore Powered by DeSiaMore.
Programming Languages
Chapter 9: The Tower of Babel Invitation to Computer Science, C++ Version, Third Edition.
 Lesson 03: Computer Programming. The Algorithm A List of Well-Defined Instructions for Completing a Task.
High-level Languages.
UNIVERSITI TENAGA NASIONAL “Generates Professionals” CHAPTER 4 : Part 2 INTRODUCTION TO SOFTWARE DEVELOPMENT: PROGRAMMING & LANGUAGES.
COMPUTER PROGRAMMING Source: Computing Concepts (the I-series) by Haag, Cummings, and Rhea, McGraw-Hill/Irwin, 2002.
CS2303 C14 Systems Programming Concepts Bob Kinicki.
Computer programming.
Programming: A Brief History. Introduction Five Generations of Programming Languages Gets closer to representing data in human terms Requires additional.
COMPUTER PROGRAMMING I Evolution of Computers and Programming Languages.
COMPUTER PROGRAMMING I SUMMER 2011 Programming Languages.
Computer Programming 1. Evolution of Computers Components of Computers Programming Languages Important People Javascript Round 2.
Programming History. Who was the first programmer?
CSCI 161: Introduction to Programming 1
Visual C++ Programming: Concepts and Projects
Lead Black Slide. © 2001 Business & Information Systems 2/e2 Chapter 5 Information System Software.
National Diploma Unit 4 Introduction to Software Development Introduction to Programming Languages.
Software Basics. Some Pioneers Charles Babbage Analytical Engine Countess Ada Lovelace First Programmer ? John Von Neumann storing instructions in memory.
Invitation to Computer Science 5th Edition
Module 4 Part 2 Introduction To Software Development : Programming & Languages Introduction To Software Development : Programming & Languages.
Programming Language 1. Programming language A programming language is a machine-readable artificial language designed to express computations that can.
Software Development Programming Languages and Data Organization.
Popular Programming Languages FORTRAN—the oldest high-level programming language; designed for scientific and mathematical applications. John Backus.
PROGRAMMING LANGUAGES Procedural to Object Oriented The World of Software Development.
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Outline 1.1 What Is a Computer? 1.2 Computer Organization.
Computer Generations ITSC 1401, Intro to Computers Instructor: Glenda H. Easter.
COMPUTER PROGRAMMING I Evolution of Computers and Programming Languages.
Programming Basics By: Mohamud Ahmed Haji For: ©
 Computer Languages Computer Languages  Machine Language Machine Language  Assembly Language Assembly Language  High Level Language High Level Language.
Programming Languages
Course Instructor: Hira Farman Course : BY:HIRA FARMAN.
Programming Languages
Introduction to Computer Programming itc-314 Lecture 04.
Chapter 1 Introduction to Visual Basic Programming and Applications 1 Exploring Microsoft Visual Basic 6.0 Copyright © 1999 Prentice-Hall, Inc. By Carlotta.
System Programming Basics Cha#2 H.M.Bilal. Operating Systems An operating system is the software on a computer that manages the way different programs.
History. Development Driven by Function Functions of a Programming Language –To describe computation for use by computers –To describe computation and.
Programming Languages and Data Organization
Computer Basics.
Chapter 1 Introduction to Visual Basic
The language focusses on ease of use
Introduction to programming languages, Algorithms & flowcharts
Computer Programming (BCT 1113)
Introduction to programming languages, Algorithms & flowcharts
Chapter 1 Introduction to Computer Science
CSCI-235 Micro-Computer Applications
Application Development Theory
Developing Applications
Introduction to programming languages, Algorithms & flowcharts
What is Programming Language
Presentation transcript:

Programming Languages Computer Programming I Programming Languages

Types of Languages Programming languages were created to give instruction. They are classified into various categories: High Level Low Level The higher the level the more abstraction from the hardware. If a language has higher abstraction – it is further away from machine language (1’s and 0’s)

Low Level Low level languages have almost no abstraction from the hardware. This code is written to specific hardware, and will only operate on the hardware it was written for. It would be helpful to define abstraction for the students here.

More Low Level Two types: Machine Code (1GL) Assembly Language (2GL)

Machine Code Machine code is understood directly by the CPU. An example is below: 8B542408 83FA0077 06B80000 0000C383 FA027706 B8010000 00C353BB 01000000 B9010000 008D0419 83FA0376 078BD98B C84AEBF1 5BC3 Obviously, it takes specialized knowledge to program in machine code. What numbering system is this?

Machine Code 8B542408 83FA0077 06B80000 0000C383 FA027706 B8010000 00C353BB 01000000 B9010000 008D0419 83FA0376 078BD98B C84AEBF1 5BC3 If you said Hex, you are right! Machine code is written in hex. The groups of numbers reference memory addresses in RAM.

Assembly Language One level of abstraction from machine code is assembly language. The same program from the last slide is given in MASM an assembly language.

High Level Language In contrast a high level language provides strong abstraction from the hardware. This allows a program to be written in a language that can run on multiple types of computers (running the same operating system).

More High Level We will code in Visual Basic 2010 Basic is an old language that has been updated over the years and adapted by Microsoft for use for writing Microsoft Windows and Web applications.

Evolution of Basic Basic first appeared in 1964 and was designed by John George Kemeny and Thomas Eugene Kurtz at Dartmouth University. The current version of Visual Basic is the 9th version from Microsoft. (Visual Basic 2010) Microsoft first released VB in 1991. This moved the BASIC language to an event driven and object-oriented programming (OOP) language.

Other High Level Languages C# C++ J# F# Java D E And the list goes on and on… http://en.wikipedia.org/wiki/Categorical_list_of_programming_languages

More about C# It’s language is closely related to CLI CLI is Common Language Infrastructure CLI is the backbone of the .net framework It’s the first language developed specifically for the .net framework

A History Lesson When was the first computer program written and who wrote it? Ada Lovelace Byron- in 1842-43

A History Lesson Modern programming is said to of started in the 1940s. The first “modern” language was Plankalkül which was described in 1943, but not implemented until 1998. It was designed by Konrad Zuse. Plankalkül is German for Plan Calculus

Languages Used Today The 1950s and 1960s languages still used today: FORTRAN- John Backus et al. (1955) LISP- John McCarthy et al.(1958) COBOL- Grace Hopper et al. (1959) RPG- IBM (1959) BASIC- 1964 (as noted previously) FORTRAN- "FORmula TRANslator“ LISP- the "LISt Processor“ and COBOL- COmmon Business Oriented Language

Late 1960s and 1970s Most of the languages used today were invented or are derived from one of the languages invented in this time period: 1969- B (forerunner to C) 1970- Pascal (Java borrows from Pascal) 1972- C (C++, Java, C#, and many others are based on C) 1973- ML (F# is based on ML, C++ borrows from ML too) 1978- SQL (databases)

The Internet Age 1990s During the early/mid 1990s many Internet languages were developed: 1991-Python 1995- Java 1995- Javascript (not related to Java) 1995- PHP 1995- Delphi (Object Pascal)

So what has changed? How have all the languages on the past few slides evolved? The biggest change is more abstraction as described previously. For example a program written in Java on a Windows system can run on a Mac, Windows, Linux, etc. as long a the proper software (a Java complier) is installed. Early programs were bound to specific hardware- current programs are not.

OOP (Object Oriented Programming) The next major evolution is the move to object oriented programming or OOP. OOP as defined by Wikipedia: “Object-oriented programming (OOP) is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their interactions – to design applications and computer programs.” OOP is not the end all be all in fact many people particularly in academia widely criticize it.