[email protected]. languages for it & cs pseudo-code what html isn’t early history...
TRANSCRIPT
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
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
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]