Overview of Computer Software and Programming Languages: by Er. Rupesh Kumar Nidhi 1

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 14

Chapter 1

Overview of computer software and programming


languages

By Er. Rupesh Kumar Nidhi 1


What is software?

Ø A type of programs which enable the users to perform some particular


specific task or actually used to operate their computer

Ø Directs all of the peripheral devices on the entire computer system-


what exactly to do and how exactly to perform a task

Ø Plays a key role of a mediator between the user and the computer
hardware

Ø In the absence of software, a user essentially can’t perform any task


on a computer.

By Er. Rupesh Kumar Nidhi 2


Classifications of software

Ø System Software
v Helps the user as well as the hardware to function and even
interact with each other easily

Ø Application Software
v Assist the user in completing various tasks like conducting online
research, making notes, designing graphics, maintaining accounts,
carrying out calculations or even playing computer games.

By Er. Rupesh Kumar Nidhi 3


System Software
Ø Used to manage the behavior of the computer hardware in order to
offer basic functionalities which are needed by the user

Ø An intermediator or even a middle layer between the user as well as


the hardware

Ø Provides an environment or platform for the other software to easily


work in

Ø Whenever you turn on the computer first, it is this system software


which gets initialized and then gets loaded in the system’s memory

Ø Runs in the background, and it isn’t actually utilized by the end-users


By Er. Rupesh Kumar Nidhi 4
System Software…
System software examples are :-

Ø Operating system: A collection of software which handles resources as well as offers general
services for various other application which actually run over them. Examples: MS Windows,
macOS, Linux, iOS, Android, CentOS, Ubuntu, Unix

Ø Device Drivers: Controls particular hardware which is essentially attached to the system.
Examples: BIOS Driver, Motherboard Drivers, Display Drivers, ROM Drivers, Printer Drivers, USB
Drivers, Sound Card Driver, VGA Drivers

Ø Firmware: A permanent software which is embedded in the system’s read-only memory. It is


essentially a set of instructions which are permanently stored onto to the hardware device.
Examples: Computer Peripherals, Embedded Systems, UEFI, BIOS

Ø Utility: Software like disk cleanup and management tools, anti-viruses, defragmenters,
compression tools etc. are all utility software. Examples: Norton Antivirus, McAfee Antivirus,
WinRAR, WinZip, Ccleaner, Windows File Explorer

By Er. Rupesh Kumar Nidhi 5


Application Software

Ø Lie above the system software

Ø Used by the end-user as well as have specific functionality or tasks


which they are designed to perform

Ø Developed through custom software development, based on the


requirements of the users

Ø There is a variety of application software

By Er. Rupesh Kumar Nidhi 6


Application Software…

Application software examples are :-

Ø Word Processors : MS Word, Google Docs

Ø Database Software : MS Access, MySQL

Ø Multimedia Software : Adobe Photoshop, VLC Media Player, Windows Media Player, Windows
Movie Maker

Ø Web Browsers : Google Chrome, Mozilla Firefox, Internet Explorer, Opera, UC Browser, Safari

By Er. Rupesh Kumar Nidhi 7


What is software feature?
Ø A distinguishing characteristic of a software item (e.g., performance, portability, or
functionality)

Ø A piece of software is said to be feature-rich when it has many options and functional
capabilities available to the user.

Ø Sometimes if a piece of software is very feature-rich, that can be seen as a bad thing

Ø Feature creep is the excessive ongoing expansion or addition of new features in a


software. These extra features go beyond the basic function of the product and can
result in over-complication, rather than simple design.

Ø Software bloat is a process whereby successive versions of a computer program


become perceptibly slower, use more memory, disk space or processing power, or have
higher hardware requirements than the previous version— while making only dubious
user-perceptible
By Er. Rupesh Kumar Nidhi 8
Recent Trends in Software Development

Ø Cybersecurity is Becoming a Top Priority

Ø Artificial Intelligence Continues Rising

Ø Internet of Things is Being Integrated Everywhere

Ø The Big Data Industry Keeps on Developing

By Er. Rupesh Kumar Nidhi 9


Programming language

A programming language is a computer language programmers use to develop software


programs, scripts, or other sets of instructions for computers to execute.

History :

Ø Ada Lovelace is credited as being the first person to describe or write a computer
program. In 1843, she described an algorithm to compute Bernoulli numbers using
the Analytical Engine.

Ø One of the first programming languages, FORTRAN, was introduced to the public on
October 15, 1956. It was developed by John Backus and others at IBM.

Ø Dennis Ritchie and Brian Kernighan developed the C programming language at Bell
Labs in 1972.

By Er. Rupesh Kumar Nidhi 10


Generation of programming languages
Ø The first generation languages, or 1GL, are low-level languages that are
machine language
Ø The second-generation languages, or 2GL, are also low-level assembly
languages. They are sometimes used in kernels and hardware drives, but
more commonly used for video editing and video games
Ø The third-generation languages, or 3GL, are high-level languages, such
as C, C++, Java, JavaScript, and Visual Basic
Ø The fourth-generation languages, or 4GL, are languages that consist of
statements similar to statements in a human language. Fourth generation
languages are commonly used in database programming and scripts
examples include Perl, PHP, Python, Ruby, and SQL
Ø The fifth-generation languages, or 5GL, are programming languages that
contain visual tools to help develop a program. Examples of fifth
generation languages includeBy Er. Rupesh Kumar Nidhi
Mercury, OPS5, and Prolog. 11
Categorization of high level languages

Categorization based on Application

Ø Commercial languages: These programming languages are dedicated to the


commercial domain and are specially designed for solving business-related problems.
Example: COBOL
Ø Scientific languages: These programming languages are dedicated to the scientific
domain and are specially designed for solving different scientific and mathematical
problems. Example: FORTRAN
Ø Special purpose languages: These programming languages are specially designed for
performing some dedicated functions. For example, SQL is a high-level language
specially designed to interact with the database programs only.
Ø General purpose languages: These programming languages are used for developing
different types of software application regardless of their application area. Examples:
BASIC, C, C++, and java.

By Er. Rupesh Kumar Nidhi 12


Categorization of high level languages

Categorization based on Design paradigm


Ø Procedure-oriented languages(imperative language):
v a program is written as a sequence of procedures
v Each procedure contains a series of instruction for performing a specific task
v Each procedure can be called by the other procedures during the program execution.
v Examples: FORTRAN, ALGOL, C, BASIC, and ADA
Ø Logic-oriented languages:
v use logic programming paradigms as the design approach for solving various computational
problems.
v predicate logic is used to describe the nature of a problem by defining the relationship
between rules and facts.
v Example: Prolog
Ø Object-oriented languages:
v use object-oriented programming paradigms as the design approach for solving a given
problem
v a problem is divided into a number of objects which can interact by passing messages to
each other.
v Examples: C++ and C# By Er. Rupesh Kumar Nidhi 13
End of Chapter 1

By Er. Rupesh Kumar Nidhi 14

You might also like