Computer Languages [Computing] Computing The Teacher Machine Code • The only type of program a computer can run is a machine code program. • …which looks like this…. Computing The Teacher Low Level Languages • Low-level languages were developed to make it easier for programmers to write and edit programs. • Each machine code instruction is given a mnemonic. Computing The Teacher Assembler • A Low level language is often called an Assembly Language. • A computer cannot run an Assembly Language program. • An Assembler converts an Assembly Language program into machine code …then the computer can run it. Computing The Teacher Assembly Language • It takes many instructions to perform simple tasks. • Assembled programs run fast – so needed for Eg. Games. ..but Assembly language programming is still hard work…so…. Computing The Teacher High Level Languages • A high level language uses recognisable instructions – closer to English! • It is easier for programmers to develop and edit high level programs…and this will mean faster program development. • …and fewer bugs! Computing The Teacher Program Translators • A High level language program need to be translated into machine code programs before a computer can run it. • Compilers translate high level language source code into executable object code programs…that the computer can run. • Interpreters translate each line of a high level language program, running each instruction as it does so. Computing The Teacher Examples of High Level Languages • • • • • • • • FORTRAN – (FORmula TRANslator) used for scientific computing. ALGOL – (ALGOrithmic Language) COBOL (Common Business Orientated Language) used for commercial programming. BASIC – (Beginner’s All-Purpose Symbolic Instruction Code) – a learning language. PASCAL – A well-structured teaching language. C, C+, C++, C* - Evolved from Algol. JAVA – Popular language used for teaching programming …and many, many more….. Computing The Teacher High Level Languages • Scientific languages would have powerful mathematical functions, and facilities for high precision arithmetic to many decimal places… • Commercial languages would have many data processing functions (searching and sorting) and filing facilities. Computing The Teacher HTML <body bgcolor=“blue”> <table> <tr> <td><font face=“arial” color=“red”>Ronaldo’s</font></td> <td><font face=“arial” color=“white”>First Page</font></td> </tr> <tr> <td><img src=“c:\ronaldo.jpg” align=“right”></img></td> </tr> </table> <a href=“page2.htm”>Page 2</a> </body> • ..stands for HyperText Markup Language. • .... is used to develop web pages. A web page is really a program written in HTML with instructions for the web browser telling it how to display the page. • Hyperlinks can be used for navigation between web pages. • Multimedia objects can be embedded in a web page. Computing The Teacher Special-Purpose Languages • Some languages have a special purpose such as… • PROLOG – for Artificial Intelligence • GASP - for Simulation • OCCAM – for parallel processing systems. • ADA – for programming embedded systems. Computing The Teacher Procedural Languages • A sequence of instructions is executed. • …use variables, program control (loops etc) and subroutines. • Examples : PASCAL, BASIC, FORTRAN, COBOL, ALGOL. Computing The Teacher Non-Procedural Languages • A set of facts… • …and a set of rules, from which information is deduced. Computing The Teacher Example (Non-procedural Language) PROLOG Facts : Parent(Tom, Bob) Parent(Pam,Bob) Male(Tom) ..and a set of rules Father(X,Y) := parent(X,Y) Male(X) Brother(X,Y) := parent(Z,X) Parent(Z,Y) Male(X) …and a query which is answered by applying the facts and rules… ? father(who,Bob) who = Tom Computing The Teacher Object Oriented Programming Languages (OOPs) • Objects have Properties and Methods. • Properties can be set initially or at runtime. • Methods are the things the object can do. Examples of OOPs – C#, VB .NET, JAVA, PHP, PYTHON) Computing The Teacher Fundamentals of an OOP… • A Class defines the properties and methods of something. A DOG is a class – Properties may include: Colour, Breed, No of Legs, etc… Methods may be Bark, Eat, Run, Sit, etc.. • An Object is a particular instance of a Class. LASSIE is an instance of a DOG • A Sub-Class may be defined such as SPANIEL that INHERITS the methods and properties of the Class DOG. Computing The Teacher Visual Languages • Visual Languages allow the programmer to manipulate objects visually on a form, and set their layout and properties. • Often used to create Microsoft Windows Applications. • Examples : Visual Basic, Visual C#, Delphi. Computing The Teacher ALL programming languages must have… • International Standards. – Difficult to create because of different hardware and software manufacturers. • An unambiguous syntax. – There should never be two different ways for a computer to interpret an instruction. Computing The Teacher