Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Languages for IT & CS Pseudo-code What HTML isn’t Early history Compiling & interpreting Classifying languages The process of programming."— Presentation transcript:

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

2 Languages for IT & CS Pseudo-code What HTML isn’t Early history Compiling & interpreting Classifying languages The process of programming Programming tools Bugs Languages

3 Languages in IT and CS  English …  Pseudo-code  Programming languages  Other formalised languages R.G.Keim@kent.ac.uk3

4 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 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 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

7 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 8 Not all computer languages are programming languages  Programming languages –VB –Javascript –Java –VBScript –XSLT  NOT programming languages –HTML –XHTML –XML –UML

9 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 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 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 0010010001110101 0010100100110101 Compile Assemble

12 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 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 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

15 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 16 Classifying computer languages  Syntax  Paradigm  Common uses  Relationship to with the lower-level software and hardware

17 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 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 19  Object-oriented programming –Examples C++, Java –Hopes to parallel ways we think about and analyse problems

20 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 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 22 Common uses  Scripting languages (Javascript, VBScript, perl, php)  Application languages  Text manipulation (perl)

23 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?

24 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 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

26 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 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 28 IDEs  Visual Studio  BlueJ  Excel (?)

29 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 30 An IDE

31 31 A text editor Syntax highlighting !

32 32 The cycle for writing code  Write some code ('edit')  Compile the code  Run the code Repeat

33 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.

34 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 35 All the code we write has bugs  'All' 'Well,...'  Bugs are not good!

36 36 Harvard Mark II – the 1st bug

37 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 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 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?

40 Terminology you should know  IDE – Integrated programming environment  Scripting language  Pseudo-code  Machine code  Syntax R.G.Keim@kent.ac.uk40

41 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.uk41

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


Download ppt "Languages for IT & CS Pseudo-code What HTML isn’t Early history Compiling & interpreting Classifying languages The process of programming."

Similar presentations


Ads by Google