Search Header Logo
4G-The Evolution of Programming Languages

4G-The Evolution of Programming Languages

Assessment

Presentation

•

English

•

University

•

Practice Problem

•

Hard

Created by

Giulia Delogu

Used 3+ times

FREE Resource

30 Slides • 22 Questions

1

The Evolution of Programming Languages

2

The Evolution of Programming Languages

The third generation of programming languages developed after integrated circuits were designed.

These languages were called high-level languages and were designed around the ease of use for the programmer with the aim of reducing bugs and the ability to reuse the codes, i.e. creating languages which were not machine-dependent.

High level languages are meant for general purpose programming and show a great enhancement in logical structure over assembly language.

3

The Evolution of Programming Languages

The instructions, called statements, are a combination of English-like phrases and mathematical terms to express a problem or task.

Both the syntax, i.e. the sentence structure, and the semantics, i.e. word meaning, do not reflect the internal machine code of any particular computer, so they can be used on any machine.

4

Multiple Choice

What characterizes the third generation of programming languages?

1

Low-level machine instructions

2

Integration with assembly language

3


High-level languages designed for ease of use and machine independence

4

Machine-dependent languages

5

Multiple Choice

How do high-level languages differ from assembly language?

1

High-level languages are machine-dependent.

2


Assembly language has a more logical structure.

3

High-level languages use English-like phrases and mathematical terms.

4

Assembly language is more bug-prone.

6

The Evolution of Programming Languages

Third-generation languages are also procedural languages and the first examples of modular programming.

7

Procedural languages

A procedure is a sequence of steps performed in a particular order; a procedural language is one that expresses a computer problem both as a series of discrete tasks and the instructions needed to accomplish them.

Procedural languages can be classified as:
business, scientific or multipurpose.

8

Procedural languages



Procedural languages can be classified as:

business, scientific or multipurpose.

media

9

Procedural languages

Imagine you're baking a cake. You have a recipe that tells you the steps to follow, like mixing ingredients, putting them in the oven, and taking the cake out when it's done. These steps are like procedures.

Now, think of procedural languages as sets of instructions for a computer, just like your recipe. In procedural programming, you break down a problem into smaller tasks and write instructions for the computer to perform those tasks in a specific order.

10

media

COBOL is an example of language used to create business systems, while FORTRAN (Formula Translator) is still a popular scientific language.

PASCAL and BASIC can be used for various tasks, not just business or science, hence are examples of multipurpose languages.

11

Multiple Choice

What is a key feature of procedural languages?

1

They use machine-dependent instructions.

2

They express problems as a series of discrete tasks.

3

They are not meant for general-purpose programming.

4

They lack logical structure.

12

Fill in the Blank

Which is an example of a business language used for creating systems?

13

media

Modular and structured programming

Modular programming means that programs can be written in modules, otherwise known as subroutines, which are independent and modifiable.

Such subroutines are independent sections of a program which can be incorporated into a complete one.

14

Modular and structured programming


A subroutine can be added at any point in the main program and is usually built so that, when the instructions have been performed, a return branch is automatically made to the instruction immediately following.

15

Modular and structured programming


The instructions performed by the subroutine can be modified by the use of parameters that may be specified in the main program.

Apart from independent subroutines, it is also possible to have nesting subroutines: a series of subroutines arranged at different levels, i.e. one written within another.

16

Modular and structured programming


The concept of modular programming leads to another aspect of high-level languages that is structured programming.

Structured programming refers to any program that consists of blocks of code whose internal details are independent.

17

Structured Programming:

Now, picture structured programming like organizing your room.

You have different blocks (blocks of code) that do specific things, and each block is like a separate drawer or shelf. The cool thing is, the inside details of each drawer (block of code) are independent, meaning you can change what's inside without messing up the rest of your room (program). It's about keeping things neat, organized, and easy to understand.

18

In summary, modular programming is like building with interchangeable puzzle pieces, and structured programming is like keeping your code organized into independent, well-defined sections.

19

Think of modular programming like assembling a puzzle. Each puzzle piece is a small, independent section (or subroutine) of the whole picture (program). You can build and modify each piece separately. These pieces can be added to the main puzzle (program) at different points. It's like having building blocks that you can rearrange and modify. You can also have pieces inside other pieces, creating a series of nested sections.

20

Recap...

Modular programming is like building with LEGO blocks. Instead of creating one giant program, you break it into smaller, manageable pieces called modules.

Each module is like a separate LEGO piece, focusing on a specific task. For example, if you're building a game, you might have modules for handling player input, managing scores, and displaying graphics.

So, modular programming is all about
breaking down a big task into smaller, modular tasks for better organization, understanding, and teamwork.

21

VOCABULARY

  • to accomplish: compiere

  • branch: diramazione

  • discrete: separato

  • ease: facilitĆ 

  • enhancement: miglioramento

  • nesting: annidato

  • to reuse: riutilizzare

22

The Evolution of Programming Languages

  • Third Generation: High-level languages designed for ease of use and reducing bugs.

  • Features: Logical structure, English-like phrases, and mathematical terms.

  • Machine Independence: Syntax and semantics not tied to specific computers.

  • Procedural Languages: Express problems as tasks and instructions.

  • Modular Programming: First examples of breaking code into reusable modules.

23

Multiple Choice

What does modular programming involve?

1

Writing programs in machine code

2

Breaking programs into independent and modifiable modules

3

Creating complex subroutines with no modifiability

4

Using only procedural languages

24

Multiple Choice

How is a subroutine added to the main program in modular programming?

1

It cannot be added once the main program is written.

2

It is added at the beginning of the main program.

3

It is automatically added during program execution.

4

It can be added at any point in the main program.

25

Multiple Choice

What is the main advantage of structured programming?

1

It lacks logical structure for better creativity.

2

It allows code details to depend on each other.

3

It organizes code into independent blocks with internal details.

4

It is machine-dependent for better performance.

26

Multiple Choice

In structured programming, what does the term "modular" refer to?

1
  1. Independent and modifiable sections of a program.

2
  1. Dependent and fixed sections of a program.

3
  1. The use of machine code in programming.

4
  1. Lack of organization in code.

27

The Evolution of Programming Languages

  • First Generation: Machine Language
  • Second Generation: Assembly Language
  • Third Generation: High-Level Languages
  • Fourth Generation: Microprocessor Languages

28

Fourth Generation Languages

The fourth generation of languages, those of microprocessors, are even more human- like than previous languages. These languages are even more programmer- friendly and allow for the use of a graphical user interface (GUI) to move the cursor over an object and move it to a new location (e.g. drag and drop)

29

Fourth Generation Languages

They are non-procedural languages, which means that the program specifies what to do, but not how to do it, and are mainly used to retrieve and format data for reporting.

They include three categories, which are all related to database management and markup languages.

30

Multiple Choice

What characterizes the fourth generation of languages?

1

a. More procedural and complex

2

b. Non-procedural and more human-like

3

c. Limited use of graphical user interfaces

4

d. Restricted to microprocessor environments

31

Multiple Choice

What is a notable feature of fourth-generation languages with graphical user interfaces (GUI)?

1

Restricted interaction with objects

2

Complex syntax for users

3

Ability to use drag and drop in a GUI d.

4

Lack of programmer-friendly features

32

Multiple Choice

What is the primary focus of non-procedural languages in the fourth generation?

1

How to perform tasks

2

Procedural specification

3

Complex logical operations

4

Retrieving and formatting data for reporting

33

media

Query languages are primarily used for creating, accessing and modifying data in and out of a database management system (DBMS).

They typically require the user to input a structured command that is similar to an English-like querying construct, such as SELECT FROMĀ® .

34

media

As the contexts of use are simple, query languages are easy to learn and use. There are different types of QL and the most popular is SQL (Structured Query Language).

35

Report writers take the information retrieved from a database, or from an existing application, and format it in an appealing output.

They can also perform a limited number of calculations such as totals, subtotals, and averages, and some provide custom calculation formulae.
Report writers enable the user to create virtually any print or on-screen report that is too complex or time-consuming to create by hand.

36

media

Power BI is a suite of business analytics tools by Microsoft that allows users to visualize and share insights (useful info) from their data. It includes a report authoring tool for creating interactive reports and dashboards.

37

media

Application generators also known as application builders or low-code/no-code platforms, are tools that enable users to create software applications with minimal hand-coding.

38

media

Markup languages are not programming languages in a strict sense: they do not run routines (i.e. repetitive operations) and do not do logical operations.

They are declarative languages that focus on data presentation and structure and are used to explain, or declare, how texts are to be edited, as, for example, when a word has to be displayed in italics or in bold.

39

The most common markup language is HTML (HyperText Markup Language) which is used to display web pages.

media

40

Fourth Generation Languages

  • Query Languages: A query language is a programming language specifically designed for managing and retrieving information from databases. Its primary purpose is to interact with a database management system (DBMS) to perform operations such as querying, updating, inserting, and deleting data.

  • SQL is the most popular query language used for retrieving and formatting data from databases.

41

Fourth Generation Languages

  • Report Writers: They format database information into appealing reports and perform calculations.

  • Markup Languages: HTML is a declarative language used for data presentation and structure, commonly used for displaying web pages.

42

Multiple Choice

What are application generators in the context of software development?

1

Tools that automatically generate random data for testing applications

2

Software programs that assist in the creation of graphical user interfaces (GUIs)

3

Systems that automatically generate entire applications based on user specifications

4

Utilities designed for optimizing application performance

5

Components used to generate secure encryption keys for applications

43

Fill in the Blank

What does the acronym DBMS stand for?

44

Multiple Choice

What is HTML?

1

A programming language for server-side scripting

2

A markup language used to structure and present content on the web

3

A database management system

4

An operating system for web servers

5

A programming language for creating mobile applications

45

Fill in the Blank

What does the acronym SQL stand for?

46

Multiple Choice

They are used to createm access and modify data from a database

1

query languages

2

markup languages

3

app generators

4

database Management Systems

47

Fill in the Blank

What is the most popular query language in the context of database management languages?

48

Multiple Choice

What characterizes markup languages in the fourth generation?

1

They run routines and perform logical operations.

2

They focus on data presentation and structure.

3

They are procedural languages.

4

They primarily handle database management.

49

Fill in the Blank

Which markup language is commonly used to display web pages in the fourth generation?

50

Multiple Choice

Which generation languages use the drag and drop?

1

1st Generation

2

2nd Generation

3

3rd Generation

4

4th Generation

51

Multiple Choice

They explain how texts are to be edited

1

Procedural Languages

2

Imperative Languages

3

Declarative Languages

4

Object-Oriented Languages

5

Low-Level Languages

52

Multiple Choice

They specify what to do, but not how to do it

1

Procedural Languages

2

Imperative Languages

3

Declarative Languages

4

Non-procedural Languages

5

Low-Level Languages

The Evolution of Programming Languages

Show answer

Auto Play

Slide 1 / 52

SLIDE