r.g.keim@kent.ac.uk1. languages for it & cs pseudo-code what html isn’t early history...

Post on 13-Dec-2015

215 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

R.G.Keim@kent.ac.uk 1

Languages for IT & CS Pseudo-code What HTML isn’t Early history Compiling & interpretingClassifying languages The process of programming

Programming toolsBugs

Languages

Languages in IT and CS

English … Pseudo-code Programming languages Other formalised languages

R.G.Keim@kent.ac.uk 3

Languages for IT & CS Pseudo-code What HTML isn’t Early history Compiling & interpretingClassifying languages The process of programming

Programming toolsBugs

Languages

5

Pseudo-code

A half-way point between the way in which we would describe the steps in a algorithm to another person and the way in which one would write them in a specific programming language to be run on a computer

6

Pseudo-code

Doesn't relate to any specific programming language

More formal than natural human language, less formal than something written in a programming language

You’ll be familiar with flow charts

Languages for IT & CS Pseudo-code What HTML isn’t Early history Compiling & interpretingClassifying languages The process of programming

Programming toolsBugs

Languages

8

Not all computer languages are programming languages Programming

languages– VB– Javascript– Java– VBScript– XSLT

NOT programming languages– HTML– XHTML– XML

– UML

Languages for IT & CS Pseudo-code What HTML isn’t Early history Compiling & interpretingClassifying languages The process of programming

Programming toolsBugs

Languages

10

A early history of computing languages Machine code

– completely consists of binary, – is the computer code that machines actually execute– hard for humans to read, write and understand

(even when its converted to hex)

Assembler – designed so that humans have some guides to understanding – gets changed into the actual code that is run on the computers

Early higher order languages (eg FORTRAN, COBOL, BASIC, Lisp)

11

The translation from high-level language to machine instructions.

Programs in assembly language

ADD 20, 20, 24

Programs in a standard programming language (C, C#, Java, VB.Net

Total=princ+interest

Programs in binary

00100100 0111010100101001 00110101

Compile

Assemble

Languages for IT & CS Pseudo-code What HTML isn’t Early history Compiling & interpretingClassifying languages The process of programming

Programming toolsBugs

Languages

13

Compiling

Many computing languages are complied in versions that can be run on computers – languages such as C++, Java (most languages that are used for writing applications are compiled)

Other computing languages are interpreted. The machine code is generated by an interpreter at the time that they are run. Most scripting languages are of this sort – eg. JavaScript and VBScript

14

Compiling and Interpreting

Not all computing languages are compiled. Some are interpreted

In interpreted languages, the source code is always present and it when it is run it is interpreted line-by-line and then it is executed. Most scripting languages are of this sort – eg. JavaScript and VBScript

Languages for IT & CS Pseudo-code What HTML isn’t Early history Compiling & interpretingClassifying languages The process of programming

Programming toolsBugs

Languages

16

Classifying computer languages

Syntax Paradigm Common uses Relationship to with the lower-level

software and hardware

17

Syntax

There are families of languages that have the same or nearly the same syntax

JavaScript's syntax is very like the syntax of C, C++, C#, Java ...

VB.Net's syntax is very like the syntax of Basic, VBScript ...

18

Different types of computer languages – different paradigms Procedural programming languages (eg: C

and Basic) Functional languages (eg: Lisp, Haskell) Object-oriented languages (eg C++,

Smalltalk, Java, VisualBasic.Net) Scripting languages (JavaScript, Perl,

VBScript) Declarative languages (Prolog)

19

Object-oriented programming– Examples C++, Java– Hopes to parallel ways we think about and

analyse problems

20

Scripting languages

Examples: javascriptperl, VBScript, php, …

Usually interpreted rather than compiled Usually "weakly typed" Relatively quick to write – often used for small

jobs You write a script to handle.

Many of them are especially designed for certain purposes (javascript, php and to some extent perl

21

Different types of computer languages – different paradigms Procedural programming languages (eg: C

and Basic) Functional languages (eg: Lisp, Haskell) Object-oriented languages (eg C++,

Smalltalk, Java, VB.Net) Scripting languages (JavaScript, Perl,

VBScript) Declarative languages (Prolog)

22

Common uses

Scripting languages (Javascript, VBScript, perl, php)

Application languages Text manipulation (perl)

23

FAQ

Why are there so many? Do I need to learn them all? Which ones are important for me to learn? How are they different?

Languages for IT & CS Pseudo-code What HTML isn’t Early history Compiling & interpretingClassifying languages The process of programming

Programming toolsBugs

Languages

25

Things we do when programming

Writing code

Writing tests

Running tests

Finding problems with the code

Fixing problems with the code

Interpreting specifications

Adding functionality

Gathering specifications

Languages for IT & CS Pseudo-code What HTML isn’t Early history Compiling & interpretingClassifying languages The process of programming

Programming toolsBugs

Languages

27

Tools

To understand what we need to build To create software

IDEsText editors

To test softwareunit test tools

To debug software - debuggers

28

IDEs

Visual Studio

BlueJ

Excel (?)

29

Tools

Write – IDEs Test – IDEs

debuggers Design and analyse –

UML

IDEs are software applications

UML – (the unified modelling language) helps people design software and communicate their designs

30

An IDE

31

A text editor

Syntax highlighting

!

32

The cycle for writing code

Write some code ('edit')

Compile the code Run the code

Repeat

33

A tool – UML ("the Unified Modelling language") Class diagrams are a

simple and useful way of expressing relationships between parts of our program in an object-oriented language.

Languages for IT & CS Pseudo-code What HTML isn’t Early history Compiling & interpretingClassifying languages The process of programming

Programming toolsBugs

Languages

35

All the code we write has bugs

'All''Well, ...'

Bugs are not good!

36

Harvard Mark II –the 1st bug

37

What to do when you find a bug

Apply the debugging strategy:

– Reproduce the error, understand the problem, check the obvious causes

– If this does not solve the problem, press on

– Try to isolate the problem

– Think through the probable process

38

Programming languages

Similiarities – help us to learn other ones– Syntax– Purpose– Paradigm

There are different programming languages for different purposes – different strengths and weaknesses

39

Things we do when programming

Writing code

Writing tests

Running tests

Finding problems with the code

Fixing problems with the code

Interpreting specifications

Adding functionality

Gathering specifications

Is there any

special order here?

Terminology you should know

IDE – Integrated programming environment

Scripting language Pseudo-code Machine code Syntax

R.G.Keim@kent.ac.uk 40

Exam questions (2009 – CO332)

What is an IDE and what does it do? Give an example of an IDE. [2 marks]

Draw a flow diagram or write in pseudo-code an algorithm for alphabetising a collection of CDs. [4 marks]

R.G.Keim@kent.ac.uk 41

R.G.Keim@kent.ac.uk 42

top related