Programming languages

mewstennisΛογισμικό & κατασκευή λογ/κού

4 Νοε 2013 (πριν από 3 χρόνια και 5 μήνες)

51 εμφανίσεις

R.G.Keim@kent.ac.uk

1

Languages for IT & CS

Pseudo
-
code

What HTML isn’t

Early history

Compiling & interpreting

Classifying languages

The process of programming

Programming tools

Bugs

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 & interpreting

Classifying languages

The process of programming

Programming tools

Bugs

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 & interpreting

Classifying languages

The process of programming

Programming tools

Bugs

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 & interpreting

Classifying languages

The process of programming

Programming tools

Bugs

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

01110101

00101001

00110101

Compile

Assemble

Languages for IT & CS


Pseudo
-
code

What HTML isn’t

Early history

Compiling & interpreting

Classifying languages

The process of programming

Programming tools

Bugs

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 & interpreting

Classifying languages


The process of programming

Programming tools

Bugs

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: javascript


perl, 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 & interpreting

Classifying languages

The process of programming


Programming tools

Bugs

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 & interpreting

Classifying languages

The process of programming

Programming tools

Bugs

Languages

27

Tools


To understand what we need to build


To create software

IDEs

Text editors


To test software

unit 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 & interpreting

Classifying languages

The process of programming

Programming tools

Bugs

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