3. High Level Languages

High level languages

  • These languages are close to human languages such that humans can read and understand easily than low level languages
  • These languages are machine independent this means that they are not subject to hardware models and configurations
  • These languages are classified into five groups namely:

I. Third generation languages (3GLs)

II. Fourth Generation Languages (4GLS)

III. Fifth generation Languages (5GLs)

IV. Object Oriented Languages (OOPs)

V. Web scripting Languages

Third generation languages (3GLs)

  • These languages are also called procedural or structured languages; this means that these are languages that make it possible to break a program into components called modules each performing a particular task. This is referred to as structured programming
  • In structured programming

i. Large programs can be broken down into smaller sub programs each performing a single task

ii. Use of a few simple control structures in problem solving. These control structures include sequence, selection and iteration

  • Structured programming languages are flexible, easier to read and modify

Examples:

Pascal: was initially developed for teaching structured languages

Fortran: (FORmula TRANslator) this language was developed for mathematicians, scientists and engineers. It involves writing programs with mathematical expressions.

COBOL: (common business oriented language); this language was developed to solve business problems e.g. developing data processing applications such as computer – based inventory control systems.

Basic: (Beginners All- Purpose Symbolic Instructional Code); this language was developed to initially enable students learn programming. This is a simple general purpose language used for developing business and educational applications. This was the first high level language that was available for microcomputer users.

C: This is a programming language mainly used for developing system software such as the operating system. It is one of the most popular and powerful high – level languages in the business world because of its ability to provide the programmer with powerful features of low level languages and at the same time easily understandable as a high level language.

ADA: this is a language named after the first lady programmer. Ada Lovelace. Ada is suitable for developing military, industrial and real-time systems

Fourth Generation Languages (4GLs)

Fourth generation languages make programming an even easier task than the third generation language because they present the programmer with more programming tools which include: Command buttons, forms, textboxes, Combo boxes etc.

Here, selects graphical objects on the screen called controls then uses them to create designs on a base form. The programmer may also use an application generator works behind the scenes to generate the necessary code, hence the programmer is freed from tedious work of writing the code.

Examples of fourth generation languages

Visual Basic, Delphi Pascal and Visual COBOL

Fifth Generation Languages (5 GLs)

These languages are designed to depict human-like intelligence.

With these languages, the programmer only worries about what problem needs to be solved and what conditions need to be met without worrying about how to implement an algorithm to solve them.

Examples:

PROLOG, Mercury, Lisp and OCCAM

Object-Oriented Programming Languages (OOPs)

The concept behind OOPs is to look at a program as having various objects interacting to make up a whole. Each object has specific data values that are unique to it (called state) and a set of the things it can accomplish called (functions or behavior). This process of having data and functions that operate on the data within an object is called encapsulation. Several objects can then be linked to form a complete program.

Examples:

C++, Java and SmallTalk

Web Scripting Languages

The World Wide Web has thrown up a number of new scripting languages specifically designed for web page design. It has also seen an upsurge in popularity of some older languages originally designed for other purposes but which happen to be well-suited for web applications. The following identifies some of the major scripting languages associated with Web page design:

Examples:

  • HTML (HyperText Markup Language). All web pages are written using HTML (although some of the scripting languages listed below may also be used to provide more versatility). HTML is not really a programing language. It is essentially a set of tags which can be embedded within Ascii text to control how the text should be displayed when viewed in a web browser.
  • DHTML (Dynmaic HTML). DHTML is not a language at all. Rather it is a name applied to various technologies (e.g. Cascading Style Sheets (CSS), Document Object Model (DOM) and scripting languages such as JavaScript) used to supplement HTML to provide web pages with dynamic content. DHTML does not depend upon plug-ins and should in theory run on any HTML 4 compatible browser. Processing is client-side.
  • JavaScript. Although it shares some similarities with Java, JavaScript is not a subset of Java. Java and JavaScript were developed independently. JavaScript (originally called LiveScript) is a scripting language developed by Netscape for enhancing web pages. It was probably renamed JavaScript to cash in on the popularity of Java. This has unfortunately resulted in a lot of confusion as Java may also be used to enhance webpages. JavaScript is primarily used for client-side processing.
  • JScript is a Microsoft version of JavaScript. JScript is generally used for client-side processing, but it may also be used for server-side processing. Active Server Pages, for example, may be set-up to run JScript rather than VBScript.
  • VBScript is a subset of Visual Basic for Applications (VBA). VBScript is an interpreter language, whereas VB can be compiled. VBScript is often used for server-side scripting and is the default language for Active Server Pages (ASP). It may also be used fot client-side scripting (although it is currently only supported by Internet Explorer).
  • Perl (Practical Extraction and Report Language) is a powerful text processing language developed by Larry Wall. It originated on Unix platforms, but interpreters are now available for Windows and Macintosh. Scripts can be easily ported between platforms. Although CGI scripts can be written in other languages (e.g. C or Visual Basic), Perl is often the language of choice for CGI (Common Gateway Interface) scripts. Although useful for web applications, Perl is an extremely versatile language and may also be used for a multitude of non-web related purposes.
  • PerlScript is a subset of Perl. It may be used for ActiveX and Active Server Pages.
  • Tcl (Tool Command Language) - sometimes pronounced tickle - was developed by John Ousterhout. Like Perl it may be used for CGI scripting or for writing applications. It may be also used to write client-side scripts which run on the user's browser.
  • PHP was created in 1994 by Rasmus Lerdorf to add dynamic content to an HTML page. PHP initially stood for 'Personal Home Page', but now it is generally translated as 'PHP Hypertext Preprocessor'. The PHP code is embedded within the HTML code between special tags. When the page is accessed the server processes the PHP code and then sends the output from the script as HTML code to the client.
  • CFML (ColdFusion Markup Language) is a tag-based scripting language developed by Allaire (now merged with Macromedia) as part of the ColdFusion system for dynamic web page creation and database access. The CFML commands are embedded in HTML files. The results of database queries are converted into HTML by the server.
  • Ajax is an abbreviation for Asynchronous JavaScript and XML. It is not a language as such, but a group of interrelated client-side web development techniques used to create interactive web applications.

Want to Learn Programming Languages? Click Here

Advantages and disadvantages of low-level and high level languages

Advantages of low level languages

  • The CPU understands machine language directly without translation
  • The processor executes them faster because complex instructions already broken down into smaller simpler ones
  • Low level languages are stable and hardly crash or break down once written

Disadvantages of low level languages

  • They are difficult and cumbersome to use and learn
  • They require highly trained experts both to develop and maintain programs
  • Removing errors (debugging) In a low level language programs is difficult
  • Low level programs are machine dependent i.e. they are not transferable from one hardware or software platform to another. Thus, they are not portable

Advantages of high level languages

  • High level languages are portable i.e. they are transferable from one computer to another
  • They are user friendly and easy to use and learn
  • Are more flexible. Thus, enhancing creativity and increasing productivity
  • Are easier to debug (correct errors)

Disadvantages of high level languages

  • Due to large volume of code involved when generating, these programs are slower in processing
  • They have to be interpreted or compiled to machine readable form before the computer can execute them.
  • They require large computer memory to run it

Topical questions

1. Define the term computer program

2. What is programming?

3. State three advantages of high level languages over low level languages

4. List four examples of high level languages and for each, state its most appropriate application area

5. Why is an executable file unique when compared to any other file?

6. Differentiate between a compiler and an interpreter. Why did early computers work well with interpreters?

7. List the various examples of programming languages per generation

8. Write the following in full:

A) HTML

B) OOP

9. Distinguish between source program and object code in programming

10. State one advantage of machinery language over the other languages

11. Define the term encapsulation as used in object oriented programming languages

12. Distinguish between:

a) Low level and high level languages

b) Assembly and machine languages

c) Third generation and forth generation languages

d) Object Oriented Languages and Web Scripting Languages

13. Explore necessary advantages and disadvantages of low level and high level languages stating two examples of each.