SlideShare a Scribd company logo
1 of 13
Download to read offline
MCA V – 2021- Unit 1 Class Notes: Dr.V Dutta Page 1
Unit 1
System Programming
Software is the set of programs (instructions) that tell a computer what to
do”
Software is more than just a program code. A program is an executable code,
which serves some computational purpose. Software is considered to be
collection of executable programming code, associated libraries and
documentations. Software, when made for a specific requirement is
called software product. It can be of various types such as Application
Software, System Software, Firmware, Driver Software, Freeware, Shareware,
Open Source Software, Closed Source Software, Utility Software etc. Other
types of software include programming software, which provides the
programming tools software developers need; middleware, which sits between
system software and applications
Software can take the form of one line of code or, like Microsoft‟s Windows
operating system, span into millions. Software also works with other software
to join as a cohesive system. Your smartphone is a collection of thousands of
software components designed to work together. Code languages and styles
vary in size and scope. The software used to work a modern microwave is very
different from the code that runs an Apple Mac.
Software engineering is an engineering branch associated with development of
software product using well-defined scientific principles, methods and
procedures. The outcome of software engineering is an efficient and reliable
software product.
Software paradigms refer to the methods and steps, which are taken while
designing the software. There are many methods proposed and are in work
today, but we need to see where in the software engineering these paradigms
stand. These can be combined into various categories, though each of them is
contained in one another:
Software project management has wider scope than software engineering
process as it involves communication, pre and post-delivery support etc. For
example, it can lead for software to update, maintain, test(testing), write code,
Design, analyse, deploy etc.
MCA V – 2021- Unit 1 Class Notes: Dr.V Dutta Page 2
Software Evolution Laws
Lehman has given laws for software evolution. He divided the software into
three different categories:
 S-type (static-type) - This is a software, which works strictly according
to defined specifications and solutions. The solution and the method to
achieve it, both are immediately understood before coding. The s-type
software is least subjected to changes hence this is the simplest of all. For
example, calculator program for mathematical computation.
 P-type (practical-type) - This is a software with a collection
of procedures. This is defined by exactly what procedures can do. In this
software, the specifications can be described but the solution is not
obvious instantly. For example, gaming software.
 E-type (embedded-type) - This software works closely as the
requirement of real-world environment. This software has a high degree
of evolution as there are various changes in laws, taxes etc. in the real-
world situations. For example, Online trading software.
Characteristics of good software
A software product can be judged by what it offers and how well it can be
used. This software must satisfy on the following grounds:
1) Operational [Budget, Usability, Efficiency, Correctness, Functionality,
Dependability, Security, Safety]
2) Transitional [portability, re-usability, Adaptability, Interoperability]
3) Maintenance [Scalability, upgradability, extensibility, troubleshoot ability
etc]
Types of Software
System software
System software is software that directly operates the computer hardware and
provides the basic functionality to the users as well as to the other software to
operate smoothly. Or in other words, system software basically controls a
computer‟s internal functioning and also controls hardware devices such as
monitors, printers, and storage devices, etc. It is like an interface between
hardware and user applications, it helps them to communicate with each other
MCA V – 2021- Unit 1 Class Notes: Dr.V Dutta Page 3
because hardware understands machine language (i.e. 1 or 0) whereas user
applications are work in human-readable languages like English, Hindi,
German, etc. so system software converts the human-readable language into
machine language and vice versa.
System software is a type of computer program that is designed to run a
computer's hardware and application programs.
System software provides a platform for other software and includes the
programs managing the computer itself, such as the computer‟s operating
system, file management utilities and disk operating system (or DOS). The
system‟s files consist of libraries of functions, system services, drivers for
printers and other hardware, system preferences and other configuration files.
The programs in system software encompass assemblers, compilers, file
management tools, system utilities and debuggers.
While application software is non-essential and won‟t shut down your device by
being uninstalled, system software is essential and creates a platform that apps
sit inside.
Types of system software:
Operating System: It is the main program of a computer system. When the
computer system ON it is the first software that loads into the computer‟s
memory. Basically, it manages all the resources such as memory, CPU, printer,
hard disk, etc., and provides an interface to the user, which helps the user to
interact with the computer system. It also provides various services to another
computer software. Examples of operating systems are Linux, Apple macOS,
Microsoft Windows, etc.
Device Driver: A device driver is a program or software that controls a device
and helps that device to perform its functions. Every device like a printer,
mouse, modem, etc. needs a driver to connect with the computer system
eternally. So, when you connect a new device with your computer system, first
you need to install the driver of that device so that your operating system knows
how to control or manage that device. For example
Other examples include game engines, computational science software,
industrial automation software and software as a service application.
 Graphic cards
 Network cards
 Mouse and keyboard
MCA V – 2021- Unit 1 Class Notes: Dr.V Dutta Page 4
When you insert a USB flash drive into your computer, the OS recognises it as a
new device. The driver then gets installed automatically to make it functional.
Drivers are part of the system software category. Without them, nothing would
work. Hardware manufacturers are usually responsible for creating driver
software. However, Linux and Chromebook often get overlooked because of
their small market share. Thankfully the coding community comes to the rescue.
Someone writes the code to make the device work correctly on their system.
They then share the driver online for others to download and use.
Firmware
Firmware is software that‟s stored on a computer‟s motherboard or chipset. Its
job is to ensure the device works directly. When you switch on your laptop,
the Basic Input Output System (BIOS) wakes everything up.
It checks the drive for errors then queries if the operating system is present. If
so, it then turns control over to the likes of Windows 10.
Programming software, also known as a programming tool or software
development tool, is a program that assists software developers or programmers
with creating, debugging and maintaining other programs and applications.
Programming software is considered to be a subset of system software, although
there is still a debate regarding this.
Compilers, assemblers, debuggers, interpreters etc. are examples of
programming software. Integrated development environments (IDEs) are
combinations of all this software. IDEs have tools like highlighting errors in
code. They also contain in-built compilers and preview how the app will work
before testing it on a phone.
Trying to track down a bug over thousands of lines of code is next to impossible
in a simple text editor. Yet an IDE makes that easier resulting in quicker
development time and robust software.
For Example:
 GitHub, GitLab, Android Studio, Visual Studio Code, Eclipse, XCode,
Notepad++, Atom etc
Features of System Software:
1. System Software is closer to the computer system.
MCA V – 2021- Unit 1 Class Notes: Dr.V Dutta Page 5
2. System Software is written in a low-level language in general.
3. System software is difficult to design and understand.
4. System software is fast in speed (working speed).
5. System software is less interactive for the users in comparison to
application software.
Applications software
An application is any program, or group of programs, that is designed for the
end user. Applications software (also called end-user programs) include such
things as database programs, word processors, Web browsers and spreadsheets.
Types of Application Software and Examples
1. General Purpose Software: This type of application software is used for
a variety of tasks and it is not limited to performing a specific task only.
For example, MS-Word, MS-Excel, PowerPoint, etc.
2. Customized Software: This type of application software is used or
designed to perform specific tasks or functions or designed for specific
organizations. For example, railway reservation system, airline
reservation system, invoice management system, etc.
3. Utility Software: This type of application software is used to support the
computer infrastructure. It is designed to analyze, configure, optimize and
maintains the system, and take care of its requirements as well. For
example, antivirus, disk fragmenter, memory tester, disk repair, disk
cleaners, registry cleaners, disk space analyzer, etc.
 Word Processing Software: Google Docs, Microsoft Word, WordPad and
Notepad
 Database Software: MySQL, Microsoft SQL Server, Microsoft Access,
Oracle, IBM DB2 and FoxPro
 Spreadsheet Software: Google Sheets, Apple Numbers and Microsoft
Excel
 Multimedia Software: Media Player, Winamp, QuickTime and VLC
Media Player
 Presentation Software: Google Slides, Microsoft Powerpoint, Keynotes,
Prezzy
MCA V – 2021- Unit 1 Class Notes: Dr.V Dutta Page 6
 Enterprise Software: customer relationship management (CRM) software
(HubSpot, Microsoft Dynamic 365)), project management tools (Jira,
Monday), marketing automation tools (Marketo, HubSpot), enterprise
resource planning (ERP) software (SAGE, Oracle, Microsoft Dynamics),
treasury management system (TMS) software (SAP S/4HANA Finance,
Oracle Treasury), business intelligence (BI) software (SAP Business
Intelligence, MicroStrategy, Microsoft Power BI)
 Information Worker Software: Documentation tools, resource
management tools
 Communication Software: Zoom, Google Meet, Skype
 Educational Software: Dictionaries – Encarta, Britannica; Mathematical:
MATLAB; Others: Google Earth, NASA World Wind
 Simulation Software: Flight and scientific simulators
 Content Access Software: Accessing content through media players, web
browsers
 Application Suites: Apache OpenOffice, Microsoft Office365, Apple‟s
iWork, LibreOffice, G-Suite, Oracle E-Business Suite
 Software for Engineering and Product Development: IDE or Integrated
Development Environments
 Email Software: Microsoft Outlook, Gmail, Apple Mail
Features of Application Software:
1. An important feature of application software is it performs more
specialized tasks like word processing, spreadsheets, email, etc.
2. Mostly, the size of the software is big, so it requires more storage space.
3. Application software is more interactive for the users, so it is easy to use
and design.
4. The application software is easy to design and understand.
5. Application software is written in a high-level language in general.
Some desktop applications are installed on a user's computer and use the
computer memory to carry out tasks. They take up space on the computer's hard
drive and do not need an internet connection to work. However, desktop
applications must adhere to the requirements of the hardware devices they run
on.
MCA V – 2021- Unit 1 Class Notes: Dr.V Dutta Page 7
Web applications, on the other hand, only require internet access to work; they
do not rely on the hardware and system software to run. Consequently, users
can launch web applications from devices that have a web browser. Since the
components responsible for the application functionality are on the server, users
can launch the app from Windows, Mac, Linux or any other OS.
Freeware: Freeware sounds like free software or open-source software but
there‟s a difference. Freeware software does not expose or share its source code.
Yet the software owner does not charge others to use it. Freeware licences vary
as to what the software can be used for and who can share it.
Some developers only allow their freeware for private or personal use.
Businesses need a paid licence or get written permission. Only approved
developers and marketers can get access to the program.
Always read the small print and be wary of the copyright of freeware licences.
Freeware software examples cover a wide base of useful applications from
audio to virtual machines. Benefits: You pay nothing for fully developed
software. You can uninstall it if you don‟t like the features. There are no
companies „forcing‟ you to upgrade.
Freeware also helps the online community to share and grow. Developers can
showcase their talents while businesses can avail of some excellent apps.
Shareware
Like freeware, shareware is free to use and share with others, but only for a
short time. It acts as an evaluation. You can try some or all of the features
before committing to a purchase. Examples of Shareware: WinZip is one of the
most established shareware apps.
It started in 1991 when compression software wasn‟t included in Windows.
Nearly thirty years later, it still sees high download volumes. The free trial is
time-limited but all versions include encryption.
Benefits: Shareware lets you try the software for free before purchasing a full
licence. Some give a limited feature set or are time-locked. “Try before you
buy” is a great way to check if the software is right for your business‟s needs.
Open Source Software
Open source means you can explore the actual code that the app was written in.
MCA V – 2021- Unit 1 Class Notes: Dr.V Dutta Page 8
Strict software licences restrict what another developer is able to do with the
code. However, the ethos behind open-source is to encourage development.
Open source means evolving the code to make it better for everyone.
The Linux OS is the perfect example of open-source software. Developers can
download the source code and edit it as they see fit. New flavours of Linux help
target a certain need as a result.
Benefits: Github.com is the top destination for coders to save and share their
code.
Repositories are often open source and developers can find the right solution to
their issues easily. They can clone whole projects or download elements for
free.
Closed Source Software
Most applications are closed source in that they do not expose the original code.
Licences are stringent. No unauthorised copying or cracking is allowed. The
app can be commercial or private but it requires payment of some kind to use.
Any app that hides or encrypts its source code is considered closed-source.
For example, Skype allows video conferencing. It‟s owned by Microsoft and
although free to use, the corporation charges high-volume users a fee.
Benefits: Closed source software is designed for commercial use.
Developers are often employed to write code. That costs money. Therefore,
companies don‟t want their investment shared without recompense.
Utility Software
Utility software is designed to analyse and optimise a device. These apps are
usually bundled with an OS. They track performance and alert the system if
there‟s a problem like overheating.
Examples: The Windows Task Manager shows all open processes in Windows.
It details performance over time and showcases how much memory each uses,
anti-virus software and backup apps.
Benefits: Keeping a close eye on overheating is essential as is scanning for
malware. Utility software helps to keep things stable. It‟s designed to make your
system run smooth and not get damaged due to overuse.
MCA V – 2021- Unit 1 Class Notes: Dr.V Dutta Page 9
System Software Application Software
It is designed to manage the resources of
the computer system, like memory and
process management, etc.
It is designed to fulfill the
requirements of the user for
performing specific tasks.
Written in a low-level language Written in a high-level language
Less interactive for the users More interactive for the users
System software plays vital role for the
effective functioning of a system.
Application software is not so
important for the functioning of the
system, as it is task specific.
It is independent of the application
software to run. It needs system software to run.
Language Processor:
As we know that system software (compilers, Interpreters etc) converts the
human-readable language into a machine language and vice versa. So, the
conversion is done by the language processor. It converts programs written in
high-level programming languages like Java, C, C++, etc (known as source
code), into sets of instructions that are easily readable by machines (known as
object code or machine code).
In the compilation process, there are several stages. To help programmers write
error-free code, tools are available.
Assembly language is machine-dependent, yet mnemonics used to represent
instructions in it are not directly understandable by machine and high-Level
language is machine-independent. A computer understands instructions in
machine code, i.e. in the form of 0s and 1s. It is a tedious task to write a
computer program directly in machine code. The source code cannot be
executed directly by the computer and must be converted into machine language
to be executed. Hence, a special translator system software is used to translate
MCA V – 2021- Unit 1 Class Notes: Dr.V Dutta Page 10
the program written in a high-level language into machine code is called
Language Processor and the program after translated into machine code (object
program/object code).
The language processors can be any of the following three types:
1. Compiler: The language processor that reads the complete source
program written in high-level language as a whole in one go and translates it
into an equivalent program in machine language is called a
Compiler. Example: C, C++, C#, Java. In a compiler, the source code is
translated to object code successfully if it is free of errors. The compiler
specifies the errors at the end of the compilation with line numbers when
there are any errors in the source code. The errors must be removed before
the compiler can successfully recompile the source code again.
2. Assembler: The Assembler is used to translate the program written in
Assembly language into machine code. The source program is an input of
an assembler that contains assembly language instructions. The output
generated by the assembler is the object code or machine code
understandable by the computer. Assembler is basically the 1st interface
that is able to communicate humans with the machine. We need an
Assembler to fill the gap between human and machine so that they can
communicate with each other. code written in assembly language is some
sort of mnemonics(instructions) like ADD, MUL, MUX, SUB, DIV, MOV
and so on. and the assembler is basically able to convert these mnemonics
in Binary code. Here, these mnemonics also depend upon the architecture
of the machine. For example, the architecture of intel 8085 and intel 8086
are different.
4. Interpreter: The translation of a single statement of the source
program into machine code is done by a language processor and
executes immediately before moving on to the next line is called an
interpreter. If there is an error in the statement, the interpreter terminates
its translating process at that statement and displays an error message.
The interpreter moves on to the next line for execution only after the
removal of the error. An Interpreter directly executes instructions
written in a programming or scripting language without previously
converting them to an object code or machine code. Example: Perl,
Python and Matlab.
MCA V – 2021- Unit 1 Class Notes: Dr.V Dutta Page 11
Compiler Assembler
Compiler converts the source code
written by the programmer to a
machine level language.
Assembler converts the assembly
code into the machine code.
Compiler input source code.
Assembler input assembly
language code.
It converts the whole code into
machine language at a time.
But the Assembler can‟t do this at
once.
A Compiler is more intelligent than an
Assembler.
But, an Assembler is less
intelligent than a Compiler.
The compilation phases are lexical
analyzer, syntax analyzer, semantic
analyzer, intermediate code generated,
a code optimizer, code generator, and
error handler
Assembler makes two phases
over the given input, first phase
and the second phase.
The output of compiler is a mnemonic
version of machine code.
The output of assembler is binary
code.
C, C++, Java, and C# are examples of
compiled languages.
GAS, GNU is an example of an
assembler.
MCA V – 2021- Unit 1 Class Notes: Dr.V Dutta Page 12
Compiler Interpreter
A compiler is a program that converts
the entire source code of a programming
language into executable machine code
for a CPU.
An interpreter takes a source
program and runs it line by line,
translating each line as it comes
to it
The compiler takes a large amount of
time to analyze the entire source code but
the overall execution time of the program
is comparatively faster.
An interpreter takes less amount
of time to analyze the source
code but the overall execution
time of the program is slower.
The compiler generates the error
message only after scanning the whole
program, so debugging is comparatively
hard as the error can be present anywhere
in the program.
Its Debugging is easier as it
continues translating the program
until the error is met.
The compiler requires a lot of memory
for generating object codes.
It requires less memory than a
compiler because no object code
is generated.
Generates intermediate object code.
No intermediate object code is
generated.
For Security purpose compiler is more
useful.
The interpreter is a little
vulnerable in case of security.
Examples: C, C++, Java, FORTRAN,
PASCAL
Examples: Python, Perl,
JavaScript, Ruby, LISP, APL,
Prolog interpreter,
MCA V – 2021- Unit 1 Class Notes: Dr.V Dutta Page 13
Assignment 1: Describe Native and Cross Compilers
Native Compiler Cross Compiler
Translates program for same
hardware/platform/machine on it
is running.
Translates program for different
hardware/platform/machine other
than the platform which it is
running.
It is used to build programs for
same system/machine & OS it is
installed.
It is used to build programs for
another system/machine like
AVR/ARM.
It is dependent on
System/machine and OS
It is independent of System/machine
and OS
It can generate executable file
like .exe It can generate raw code.hex
TurboC or GCC is native
Compiler. Keil is a cross compiler.

More Related Content

What's hot (20)

System programming
System programmingSystem programming
System programming
 
Software tools
Software toolsSoftware tools
Software tools
 
computer software
computer softwarecomputer software
computer software
 
System software
System softwareSystem software
System software
 
computer Unit 6
computer Unit 6computer Unit 6
computer Unit 6
 
Mba i-ifm-u-2-computer software
Mba i-ifm-u-2-computer softwareMba i-ifm-u-2-computer software
Mba i-ifm-u-2-computer software
 
System software
System softwareSystem software
System software
 
Software (Application and System Software)
Software (Application and System Software)Software (Application and System Software)
Software (Application and System Software)
 
Bsc cs 1 fit u-2 application and system software
Bsc cs 1 fit u-2 application and system softwareBsc cs 1 fit u-2 application and system software
Bsc cs 1 fit u-2 application and system software
 
Introduction to System Programming
Introduction to System ProgrammingIntroduction to System Programming
Introduction to System Programming
 
System programming vs application programming
System programming vs application programmingSystem programming vs application programming
System programming vs application programming
 
Computer software and computer network
Computer software and computer networkComputer software and computer network
Computer software and computer network
 
Classification Of Software
Classification Of SoftwareClassification Of Software
Classification Of Software
 
Software
SoftwareSoftware
Software
 
Software ppt
Software pptSoftware ppt
Software ppt
 
L 09 computer software
L 09 computer softwareL 09 computer software
L 09 computer software
 
Spr ch-01
Spr ch-01Spr ch-01
Spr ch-01
 
System programming
System programmingSystem programming
System programming
 
System software and Application software
System software and Application softwareSystem software and Application software
System software and Application software
 
Software and os ch5
Software and os ch5Software and os ch5
Software and os ch5
 

Similar to MCA-5 unit1

Computer system soft ware
Computer system soft wareComputer system soft ware
Computer system soft wareSamuel Igbanogu
 
Thing to understand about software
Thing to understand about softwareThing to understand about software
Thing to understand about softwaredfghjrtyuj
 
System Software and Programming.pptx
System Software and Programming.pptxSystem Software and Programming.pptx
System Software and Programming.pptxVanshikaPatel41
 
What is computer software, difference between hardware and software, types of...
What is computer software, difference between hardware and software, types of...What is computer software, difference between hardware and software, types of...
What is computer software, difference between hardware and software, types of...A. S. M. Shafi
 
1.7 selection and use of appropriate software
1.7 selection and use of appropriate software1.7 selection and use of appropriate software
1.7 selection and use of appropriate softwaremrmwood
 
Chapter 3 Software.ppt
Chapter 3 Software.pptChapter 3 Software.ppt
Chapter 3 Software.pptAmanuelZewdie4
 
Basic of Computer software
Basic of Computer softwareBasic of Computer software
Basic of Computer softwaresuraj pandey
 
Vskills c++ developer sample material
Vskills c++ developer sample materialVskills c++ developer sample material
Vskills c++ developer sample materialVskills
 
Vskills c developer sample material
Vskills c developer sample materialVskills c developer sample material
Vskills c developer sample materialVskills
 
Ch 01 s.e introduction
Ch 01 s.e introductionCh 01 s.e introduction
Ch 01 s.e introductionBadar Waseer
 
Application software
Application softwareApplication software
Application softwareshalivale
 
SESSION 3 - Computer Software-1.pptx
SESSION 3 - Computer Software-1.pptxSESSION 3 - Computer Software-1.pptx
SESSION 3 - Computer Software-1.pptxchusematelephone
 
Software and its types.pptx
Software and its types.pptxSoftware and its types.pptx
Software and its types.pptxvarshachhajera
 

Similar to MCA-5 unit1 (20)

Computer system soft ware
Computer system soft wareComputer system soft ware
Computer system soft ware
 
Thing to understand about software
Thing to understand about softwareThing to understand about software
Thing to understand about software
 
System Software and Programming.pptx
System Software and Programming.pptxSystem Software and Programming.pptx
System Software and Programming.pptx
 
Exam 1 in ITEP 132
Exam 1 in ITEP 132Exam 1 in ITEP 132
Exam 1 in ITEP 132
 
What is computer software, difference between hardware and software, types of...
What is computer software, difference between hardware and software, types of...What is computer software, difference between hardware and software, types of...
What is computer software, difference between hardware and software, types of...
 
Basic of computer 3
Basic of computer 3Basic of computer 3
Basic of computer 3
 
1.7 selection and use of appropriate software
1.7 selection and use of appropriate software1.7 selection and use of appropriate software
1.7 selection and use of appropriate software
 
Chapter 3 Software.ppt
Chapter 3 Software.pptChapter 3 Software.ppt
Chapter 3 Software.ppt
 
Basic of Computer software
Basic of Computer softwareBasic of Computer software
Basic of Computer software
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
 
Vskills c++ developer sample material
Vskills c++ developer sample materialVskills c++ developer sample material
Vskills c++ developer sample material
 
Vskills c developer sample material
Vskills c developer sample materialVskills c developer sample material
Vskills c developer sample material
 
System software
System softwareSystem software
System software
 
Types of software
Types of softwareTypes of software
Types of software
 
computer software
computer softwarecomputer software
computer software
 
Application software
Application softwareApplication software
Application software
 
Ch 01 s.e introduction
Ch 01 s.e introductionCh 01 s.e introduction
Ch 01 s.e introduction
 
Application software
Application softwareApplication software
Application software
 
SESSION 3 - Computer Software-1.pptx
SESSION 3 - Computer Software-1.pptxSESSION 3 - Computer Software-1.pptx
SESSION 3 - Computer Software-1.pptx
 
Software and its types.pptx
Software and its types.pptxSoftware and its types.pptx
Software and its types.pptx
 

More from Vasanti Dutta

Networking lectures unit 2, MCA VII
Networking lectures unit 2, MCA VIINetworking lectures unit 2, MCA VII
Networking lectures unit 2, MCA VIIVasanti Dutta
 

More from Vasanti Dutta (6)

Networking lec1 4
Networking lec1 4Networking lec1 4
Networking lec1 4
 
Networking lectures unit 2, MCA VII
Networking lectures unit 2, MCA VIINetworking lectures unit 2, MCA VII
Networking lectures unit 2, MCA VII
 
Networking lecture1
Networking lecture1Networking lecture1
Networking lecture1
 
Jcv course contents
Jcv course contentsJcv course contents
Jcv course contents
 
Lecture notesmap
Lecture notesmapLecture notesmap
Lecture notesmap
 
Servlet classnotes
Servlet classnotesServlet classnotes
Servlet classnotes
 

Recently uploaded

Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentInMediaRes1
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...jaredbarbolino94
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitolTechU
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupJonathanParaisoCruz
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementmkooblal
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxHistory Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxsocialsciencegdgrohi
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Celine George
 

Recently uploaded (20)

Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media Component
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptx
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized Group
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
ESSENTIAL of (CS/IT/IS) class 06 (database)
ESSENTIAL of (CS/IT/IS) class 06 (database)ESSENTIAL of (CS/IT/IS) class 06 (database)
ESSENTIAL of (CS/IT/IS) class 06 (database)
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of management
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxHistory Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
 

MCA-5 unit1

  • 1. MCA V – 2021- Unit 1 Class Notes: Dr.V Dutta Page 1 Unit 1 System Programming Software is the set of programs (instructions) that tell a computer what to do” Software is more than just a program code. A program is an executable code, which serves some computational purpose. Software is considered to be collection of executable programming code, associated libraries and documentations. Software, when made for a specific requirement is called software product. It can be of various types such as Application Software, System Software, Firmware, Driver Software, Freeware, Shareware, Open Source Software, Closed Source Software, Utility Software etc. Other types of software include programming software, which provides the programming tools software developers need; middleware, which sits between system software and applications Software can take the form of one line of code or, like Microsoft‟s Windows operating system, span into millions. Software also works with other software to join as a cohesive system. Your smartphone is a collection of thousands of software components designed to work together. Code languages and styles vary in size and scope. The software used to work a modern microwave is very different from the code that runs an Apple Mac. Software engineering is an engineering branch associated with development of software product using well-defined scientific principles, methods and procedures. The outcome of software engineering is an efficient and reliable software product. Software paradigms refer to the methods and steps, which are taken while designing the software. There are many methods proposed and are in work today, but we need to see where in the software engineering these paradigms stand. These can be combined into various categories, though each of them is contained in one another: Software project management has wider scope than software engineering process as it involves communication, pre and post-delivery support etc. For example, it can lead for software to update, maintain, test(testing), write code, Design, analyse, deploy etc.
  • 2. MCA V – 2021- Unit 1 Class Notes: Dr.V Dutta Page 2 Software Evolution Laws Lehman has given laws for software evolution. He divided the software into three different categories:  S-type (static-type) - This is a software, which works strictly according to defined specifications and solutions. The solution and the method to achieve it, both are immediately understood before coding. The s-type software is least subjected to changes hence this is the simplest of all. For example, calculator program for mathematical computation.  P-type (practical-type) - This is a software with a collection of procedures. This is defined by exactly what procedures can do. In this software, the specifications can be described but the solution is not obvious instantly. For example, gaming software.  E-type (embedded-type) - This software works closely as the requirement of real-world environment. This software has a high degree of evolution as there are various changes in laws, taxes etc. in the real- world situations. For example, Online trading software. Characteristics of good software A software product can be judged by what it offers and how well it can be used. This software must satisfy on the following grounds: 1) Operational [Budget, Usability, Efficiency, Correctness, Functionality, Dependability, Security, Safety] 2) Transitional [portability, re-usability, Adaptability, Interoperability] 3) Maintenance [Scalability, upgradability, extensibility, troubleshoot ability etc] Types of Software System software System software is software that directly operates the computer hardware and provides the basic functionality to the users as well as to the other software to operate smoothly. Or in other words, system software basically controls a computer‟s internal functioning and also controls hardware devices such as monitors, printers, and storage devices, etc. It is like an interface between hardware and user applications, it helps them to communicate with each other
  • 3. MCA V – 2021- Unit 1 Class Notes: Dr.V Dutta Page 3 because hardware understands machine language (i.e. 1 or 0) whereas user applications are work in human-readable languages like English, Hindi, German, etc. so system software converts the human-readable language into machine language and vice versa. System software is a type of computer program that is designed to run a computer's hardware and application programs. System software provides a platform for other software and includes the programs managing the computer itself, such as the computer‟s operating system, file management utilities and disk operating system (or DOS). The system‟s files consist of libraries of functions, system services, drivers for printers and other hardware, system preferences and other configuration files. The programs in system software encompass assemblers, compilers, file management tools, system utilities and debuggers. While application software is non-essential and won‟t shut down your device by being uninstalled, system software is essential and creates a platform that apps sit inside. Types of system software: Operating System: It is the main program of a computer system. When the computer system ON it is the first software that loads into the computer‟s memory. Basically, it manages all the resources such as memory, CPU, printer, hard disk, etc., and provides an interface to the user, which helps the user to interact with the computer system. It also provides various services to another computer software. Examples of operating systems are Linux, Apple macOS, Microsoft Windows, etc. Device Driver: A device driver is a program or software that controls a device and helps that device to perform its functions. Every device like a printer, mouse, modem, etc. needs a driver to connect with the computer system eternally. So, when you connect a new device with your computer system, first you need to install the driver of that device so that your operating system knows how to control or manage that device. For example Other examples include game engines, computational science software, industrial automation software and software as a service application.  Graphic cards  Network cards  Mouse and keyboard
  • 4. MCA V – 2021- Unit 1 Class Notes: Dr.V Dutta Page 4 When you insert a USB flash drive into your computer, the OS recognises it as a new device. The driver then gets installed automatically to make it functional. Drivers are part of the system software category. Without them, nothing would work. Hardware manufacturers are usually responsible for creating driver software. However, Linux and Chromebook often get overlooked because of their small market share. Thankfully the coding community comes to the rescue. Someone writes the code to make the device work correctly on their system. They then share the driver online for others to download and use. Firmware Firmware is software that‟s stored on a computer‟s motherboard or chipset. Its job is to ensure the device works directly. When you switch on your laptop, the Basic Input Output System (BIOS) wakes everything up. It checks the drive for errors then queries if the operating system is present. If so, it then turns control over to the likes of Windows 10. Programming software, also known as a programming tool or software development tool, is a program that assists software developers or programmers with creating, debugging and maintaining other programs and applications. Programming software is considered to be a subset of system software, although there is still a debate regarding this. Compilers, assemblers, debuggers, interpreters etc. are examples of programming software. Integrated development environments (IDEs) are combinations of all this software. IDEs have tools like highlighting errors in code. They also contain in-built compilers and preview how the app will work before testing it on a phone. Trying to track down a bug over thousands of lines of code is next to impossible in a simple text editor. Yet an IDE makes that easier resulting in quicker development time and robust software. For Example:  GitHub, GitLab, Android Studio, Visual Studio Code, Eclipse, XCode, Notepad++, Atom etc Features of System Software: 1. System Software is closer to the computer system.
  • 5. MCA V – 2021- Unit 1 Class Notes: Dr.V Dutta Page 5 2. System Software is written in a low-level language in general. 3. System software is difficult to design and understand. 4. System software is fast in speed (working speed). 5. System software is less interactive for the users in comparison to application software. Applications software An application is any program, or group of programs, that is designed for the end user. Applications software (also called end-user programs) include such things as database programs, word processors, Web browsers and spreadsheets. Types of Application Software and Examples 1. General Purpose Software: This type of application software is used for a variety of tasks and it is not limited to performing a specific task only. For example, MS-Word, MS-Excel, PowerPoint, etc. 2. Customized Software: This type of application software is used or designed to perform specific tasks or functions or designed for specific organizations. For example, railway reservation system, airline reservation system, invoice management system, etc. 3. Utility Software: This type of application software is used to support the computer infrastructure. It is designed to analyze, configure, optimize and maintains the system, and take care of its requirements as well. For example, antivirus, disk fragmenter, memory tester, disk repair, disk cleaners, registry cleaners, disk space analyzer, etc.  Word Processing Software: Google Docs, Microsoft Word, WordPad and Notepad  Database Software: MySQL, Microsoft SQL Server, Microsoft Access, Oracle, IBM DB2 and FoxPro  Spreadsheet Software: Google Sheets, Apple Numbers and Microsoft Excel  Multimedia Software: Media Player, Winamp, QuickTime and VLC Media Player  Presentation Software: Google Slides, Microsoft Powerpoint, Keynotes, Prezzy
  • 6. MCA V – 2021- Unit 1 Class Notes: Dr.V Dutta Page 6  Enterprise Software: customer relationship management (CRM) software (HubSpot, Microsoft Dynamic 365)), project management tools (Jira, Monday), marketing automation tools (Marketo, HubSpot), enterprise resource planning (ERP) software (SAGE, Oracle, Microsoft Dynamics), treasury management system (TMS) software (SAP S/4HANA Finance, Oracle Treasury), business intelligence (BI) software (SAP Business Intelligence, MicroStrategy, Microsoft Power BI)  Information Worker Software: Documentation tools, resource management tools  Communication Software: Zoom, Google Meet, Skype  Educational Software: Dictionaries – Encarta, Britannica; Mathematical: MATLAB; Others: Google Earth, NASA World Wind  Simulation Software: Flight and scientific simulators  Content Access Software: Accessing content through media players, web browsers  Application Suites: Apache OpenOffice, Microsoft Office365, Apple‟s iWork, LibreOffice, G-Suite, Oracle E-Business Suite  Software for Engineering and Product Development: IDE or Integrated Development Environments  Email Software: Microsoft Outlook, Gmail, Apple Mail Features of Application Software: 1. An important feature of application software is it performs more specialized tasks like word processing, spreadsheets, email, etc. 2. Mostly, the size of the software is big, so it requires more storage space. 3. Application software is more interactive for the users, so it is easy to use and design. 4. The application software is easy to design and understand. 5. Application software is written in a high-level language in general. Some desktop applications are installed on a user's computer and use the computer memory to carry out tasks. They take up space on the computer's hard drive and do not need an internet connection to work. However, desktop applications must adhere to the requirements of the hardware devices they run on.
  • 7. MCA V – 2021- Unit 1 Class Notes: Dr.V Dutta Page 7 Web applications, on the other hand, only require internet access to work; they do not rely on the hardware and system software to run. Consequently, users can launch web applications from devices that have a web browser. Since the components responsible for the application functionality are on the server, users can launch the app from Windows, Mac, Linux or any other OS. Freeware: Freeware sounds like free software or open-source software but there‟s a difference. Freeware software does not expose or share its source code. Yet the software owner does not charge others to use it. Freeware licences vary as to what the software can be used for and who can share it. Some developers only allow their freeware for private or personal use. Businesses need a paid licence or get written permission. Only approved developers and marketers can get access to the program. Always read the small print and be wary of the copyright of freeware licences. Freeware software examples cover a wide base of useful applications from audio to virtual machines. Benefits: You pay nothing for fully developed software. You can uninstall it if you don‟t like the features. There are no companies „forcing‟ you to upgrade. Freeware also helps the online community to share and grow. Developers can showcase their talents while businesses can avail of some excellent apps. Shareware Like freeware, shareware is free to use and share with others, but only for a short time. It acts as an evaluation. You can try some or all of the features before committing to a purchase. Examples of Shareware: WinZip is one of the most established shareware apps. It started in 1991 when compression software wasn‟t included in Windows. Nearly thirty years later, it still sees high download volumes. The free trial is time-limited but all versions include encryption. Benefits: Shareware lets you try the software for free before purchasing a full licence. Some give a limited feature set or are time-locked. “Try before you buy” is a great way to check if the software is right for your business‟s needs. Open Source Software Open source means you can explore the actual code that the app was written in.
  • 8. MCA V – 2021- Unit 1 Class Notes: Dr.V Dutta Page 8 Strict software licences restrict what another developer is able to do with the code. However, the ethos behind open-source is to encourage development. Open source means evolving the code to make it better for everyone. The Linux OS is the perfect example of open-source software. Developers can download the source code and edit it as they see fit. New flavours of Linux help target a certain need as a result. Benefits: Github.com is the top destination for coders to save and share their code. Repositories are often open source and developers can find the right solution to their issues easily. They can clone whole projects or download elements for free. Closed Source Software Most applications are closed source in that they do not expose the original code. Licences are stringent. No unauthorised copying or cracking is allowed. The app can be commercial or private but it requires payment of some kind to use. Any app that hides or encrypts its source code is considered closed-source. For example, Skype allows video conferencing. It‟s owned by Microsoft and although free to use, the corporation charges high-volume users a fee. Benefits: Closed source software is designed for commercial use. Developers are often employed to write code. That costs money. Therefore, companies don‟t want their investment shared without recompense. Utility Software Utility software is designed to analyse and optimise a device. These apps are usually bundled with an OS. They track performance and alert the system if there‟s a problem like overheating. Examples: The Windows Task Manager shows all open processes in Windows. It details performance over time and showcases how much memory each uses, anti-virus software and backup apps. Benefits: Keeping a close eye on overheating is essential as is scanning for malware. Utility software helps to keep things stable. It‟s designed to make your system run smooth and not get damaged due to overuse.
  • 9. MCA V – 2021- Unit 1 Class Notes: Dr.V Dutta Page 9 System Software Application Software It is designed to manage the resources of the computer system, like memory and process management, etc. It is designed to fulfill the requirements of the user for performing specific tasks. Written in a low-level language Written in a high-level language Less interactive for the users More interactive for the users System software plays vital role for the effective functioning of a system. Application software is not so important for the functioning of the system, as it is task specific. It is independent of the application software to run. It needs system software to run. Language Processor: As we know that system software (compilers, Interpreters etc) converts the human-readable language into a machine language and vice versa. So, the conversion is done by the language processor. It converts programs written in high-level programming languages like Java, C, C++, etc (known as source code), into sets of instructions that are easily readable by machines (known as object code or machine code). In the compilation process, there are several stages. To help programmers write error-free code, tools are available. Assembly language is machine-dependent, yet mnemonics used to represent instructions in it are not directly understandable by machine and high-Level language is machine-independent. A computer understands instructions in machine code, i.e. in the form of 0s and 1s. It is a tedious task to write a computer program directly in machine code. The source code cannot be executed directly by the computer and must be converted into machine language to be executed. Hence, a special translator system software is used to translate
  • 10. MCA V – 2021- Unit 1 Class Notes: Dr.V Dutta Page 10 the program written in a high-level language into machine code is called Language Processor and the program after translated into machine code (object program/object code). The language processors can be any of the following three types: 1. Compiler: The language processor that reads the complete source program written in high-level language as a whole in one go and translates it into an equivalent program in machine language is called a Compiler. Example: C, C++, C#, Java. In a compiler, the source code is translated to object code successfully if it is free of errors. The compiler specifies the errors at the end of the compilation with line numbers when there are any errors in the source code. The errors must be removed before the compiler can successfully recompile the source code again. 2. Assembler: The Assembler is used to translate the program written in Assembly language into machine code. The source program is an input of an assembler that contains assembly language instructions. The output generated by the assembler is the object code or machine code understandable by the computer. Assembler is basically the 1st interface that is able to communicate humans with the machine. We need an Assembler to fill the gap between human and machine so that they can communicate with each other. code written in assembly language is some sort of mnemonics(instructions) like ADD, MUL, MUX, SUB, DIV, MOV and so on. and the assembler is basically able to convert these mnemonics in Binary code. Here, these mnemonics also depend upon the architecture of the machine. For example, the architecture of intel 8085 and intel 8086 are different. 4. Interpreter: The translation of a single statement of the source program into machine code is done by a language processor and executes immediately before moving on to the next line is called an interpreter. If there is an error in the statement, the interpreter terminates its translating process at that statement and displays an error message. The interpreter moves on to the next line for execution only after the removal of the error. An Interpreter directly executes instructions written in a programming or scripting language without previously converting them to an object code or machine code. Example: Perl, Python and Matlab.
  • 11. MCA V – 2021- Unit 1 Class Notes: Dr.V Dutta Page 11 Compiler Assembler Compiler converts the source code written by the programmer to a machine level language. Assembler converts the assembly code into the machine code. Compiler input source code. Assembler input assembly language code. It converts the whole code into machine language at a time. But the Assembler can‟t do this at once. A Compiler is more intelligent than an Assembler. But, an Assembler is less intelligent than a Compiler. The compilation phases are lexical analyzer, syntax analyzer, semantic analyzer, intermediate code generated, a code optimizer, code generator, and error handler Assembler makes two phases over the given input, first phase and the second phase. The output of compiler is a mnemonic version of machine code. The output of assembler is binary code. C, C++, Java, and C# are examples of compiled languages. GAS, GNU is an example of an assembler.
  • 12. MCA V – 2021- Unit 1 Class Notes: Dr.V Dutta Page 12 Compiler Interpreter A compiler is a program that converts the entire source code of a programming language into executable machine code for a CPU. An interpreter takes a source program and runs it line by line, translating each line as it comes to it The compiler takes a large amount of time to analyze the entire source code but the overall execution time of the program is comparatively faster. An interpreter takes less amount of time to analyze the source code but the overall execution time of the program is slower. The compiler generates the error message only after scanning the whole program, so debugging is comparatively hard as the error can be present anywhere in the program. Its Debugging is easier as it continues translating the program until the error is met. The compiler requires a lot of memory for generating object codes. It requires less memory than a compiler because no object code is generated. Generates intermediate object code. No intermediate object code is generated. For Security purpose compiler is more useful. The interpreter is a little vulnerable in case of security. Examples: C, C++, Java, FORTRAN, PASCAL Examples: Python, Perl, JavaScript, Ruby, LISP, APL, Prolog interpreter,
  • 13. MCA V – 2021- Unit 1 Class Notes: Dr.V Dutta Page 13 Assignment 1: Describe Native and Cross Compilers Native Compiler Cross Compiler Translates program for same hardware/platform/machine on it is running. Translates program for different hardware/platform/machine other than the platform which it is running. It is used to build programs for same system/machine & OS it is installed. It is used to build programs for another system/machine like AVR/ARM. It is dependent on System/machine and OS It is independent of System/machine and OS It can generate executable file like .exe It can generate raw code.hex TurboC or GCC is native Compiler. Keil is a cross compiler.