1 / 42

Languages

Languages. Languages for IT & CS Pseudo-code What HTML isn’t Early history Compiling & interpreting Classifying languages The process of programming Programming tools Bugs. Languages in IT and CS. English … Pseudo-code Programming languages Other formalised languages. Languages.

Download Presentation

Languages

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

  4. Languages Languages for IT & CSPseudo-code What HTML isn’t Early history Compiling & interpretingClassifying languages The process of programming Programming tools Bugs

  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

  7. Languages Languages for IT & CSPseudo-code What HTML isn’t Early history Compiling & interpretingClassifying languages The process of programming Programming tools Bugs

  8. Programming languages VB Javascript Java VBScript XSLT NOT programming languages HTML XHTML XML UML Not all computer languages are programming languages

  9. Languages Languages for IT & CSPseudo-code What HTML isn’t Early historyCompiling & interpretingClassifying languages The process of programming Programming tools Bugs

  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 a standard programming language (C, C#, Java, VB.Net Total=princ+interest Compile Programs in assembly language ADD 20, 20, 24 Assemble Programs in binary 00100100 0111010100101001 00110101

  12. Languages Languages for IT & CSPseudo-code What HTML isn’t Early history Compiling & interpretingClassifying languages The process of programming Programming tools Bugs

  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

  15. Languages Languages for IT & CSPseudo-code What HTML isn’t Early history Compiling & interpretingClassifying languagesThe process of programming Programming tools Bugs

  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) 21

  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?

  24. Languages Languages for IT & CSPseudo-code What HTML isn’t Early history Compiling & interpretingClassifying languages The process of programmingProgramming tools Bugs

  25. Things we do when programming Running tests Gathering specifications Writing tests Finding problems with the code Writing code Interpreting specifications Adding functionality Fixing problems with the code

  26. Languages Languages for IT & CSPseudo-code What HTML isn’t Early history Compiling & interpretingClassifying languages The process of programming Programming tools Bugs

  27. Tools • To understand what we need to build • To create softwareIDEsText editors • To test softwareunit test tools • To debug software - debuggers

  28. Visual Studio BlueJ Excel (?) IDEs

  29. 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 Tools

  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.

  34. Languages Languages for IT & CSPseudo-code What HTML isn’t Early history Compiling & interpretingClassifying languages The process of programming Programming tools Bugs

  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 Running tests Gathering specifications Writing tests Finding problems with the code Is there any special order here? Writing code Interpreting specifications Adding functionality Fixing problems with the code 39

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

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

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

More Related