SlideShare uma empresa Scribd logo
1 de 50
Contents
 Types of Programming Languages
 Generations of Programming Languages
 Features of good Programming Languages
Types of programming
languages
 Computers understand only one language that
is binary language or the language of 0s and
1s.
 In the initial years, instructions were given in
binary from only.
 Although these programs were easily
understood by the computers but it was too
difficult for a normal person to understand.
 Human beings came up with assembly and
High level languages to communicate with the
computers. They are classified into three
categories:
 Machine language
 It is the native language of the computers
 It is usually only 0s and 1s to represent data and
instructions
 Assembly language
 Has symbolic instructions and executable machine
codes
 Letters were used instead of 0s and 1s
 High level language
 Written using set of words, have rules for them
 The program written in HLL is called as source program
 These are converted into machine readable using a
compiler or interpreter.
Generations of programming
languages
 First generation: machine language
 Second generation: assembly language
 Third generation : High level language
 Fourth generation
 Fifth generation: very high level languages
First generation: machine
language
 First language was binary, hence known as
machine language.
 Machines have only two states, ON (1) and
OFF (0)
 Machine language is also known as native
language as the codes is directly
understood by the computer.
 There are two parts in the instructions
 OPCODE
 OPERAND
Advantages of machine
languages
 Translation free
 Machine language is the only language that
computers can directly execute without the need
for conversion.
 High speed
 No conversion is needed, the applications
developed using machine language is extremely
fast.
 Used for applications of nuclear reactors and
chemical processing.
Disadvantages of machine
languages
 Machine dependent
 Application developed for a particular type of
machine, may not run on another machine.
 Costly and difficult for the organizations.
 Complex language
 Machine language is complex , difficult to read
or write.
 Programmer has to be an hardware expert to
understand the machine language perfectly.
 Error prone
 Since programmer has to remember all the
opcode and memory locations
 Requires lot of effort to keep track of logic of the
problem.
 Tedious
 Problems arises when modifications of the
existing code has to be done.
 Very tedious task and time consuming.
Second generation : assembly
language
 Assembly language allows the programmer to
interact directly with the hardware.
 This language assigns a mnemonic code to each
machine language instruction to make it easier to
remember to write.
 Allows a better human readable method of writing
programs as compared to writing in binary bit
patterns.
 Each processor family has its own assembly
language.
 Mnemonic is usually three letter long
corresponding to each machine instruction.
 The letters are usually abbreviated indicating what
the instruction does.
 Since each type of the computer uses a different
native instruction set, assembly languages cannot
be standardized from one machine to another and
instructions from one computer cannot be
expected to work on another.
 It allows the use of symbols and set of rules that
can be combined to form a line of code.
 Each line of code has four columns called as
fields.
 The general format is
[label] <opcode> <operands> [; comments]
 [ … ] indicate that enclosed specification may
or may not appear in the statement.
 If a label is specified , it is associated as a
symbolic name with machine words generated
for the assembly statement.
 If multiple operands are used, each of them is
separated by a comma.
 Comments are optional , they facilitate
documentation.
 Eg: BEGIN ADD A,B ; add B to A
assembler
 No matter how close assembly language is to machine
code, the computer still cannot understand it.
 The assembly language program must be translated
into machine code by separate program called an
assembler.
 The assembler program recognizes the character
strings that make up the symbolic names of the various
operations and substitutes the required code for each
instruction.
 In short assembler converts the assembly codes into
binary codes and then it assembles the machine
understandable code into the main memory of the
computer, making it ready for execution.
Working of an assembler
Functions of assembler
 It translates mnemonic operation codes to
machine code and corresponding register
address to system address.
 It checks the syntax of the assembly program
and generates diagnostic messages on syntax
errors.
 It assembles all the instructions in the main
memory for execution.
 In case of large assembly programs, it also
provides linking facility among subroutines.
 It facilitates the generation of output on the
required output medium.
Advantages of assembly
language
 Easy to understand and use:
 It uses mnemonics instead of numerical opcodes and
memory locations used in machine language.
 Programs written in assembly level language are much more
easier to understand when compared to machine level
language
 Less error prone:
 mnemonics and system addresses are used
 Programmer need not keep track of address while coding,
leads to less error prone program.
 Efficiency:
 Can run much faster and use less memory and other
resources when compared to HLL programs.
 More control on hardware:
 Gives direct access to key machine features essential for
implementing certain kinds of low level routines.
Disadvantages of assembly
language
 Machine dependent:
 Different computer architectures have their own machine and
assembly languages, programs are not portable to other systems.
 Harder to learn
 The source code for assembly level language is cryptic and in a very
low machine specific form
 Makes a programmer difficult to understand
 Slow development time
 Less efficient
 Assembly level language program has to be converted to machine
language
 No standardization
 No support for modern software engineering technology
 Provides less opportunity for reuse and no OOP support
 Does not provide support for safety-critical systems.
Third generation: high level
language
 Languages such as COBOL, FORTON, BASIC
and C are examples
 Similar to english language.
 They are machine independent
 A single HLL statement can substitute several
instructions in machine or assembly level
language.
 BASIC code snippet
LET X=10
LET Y=20
LET SUM= X+ Y
PRINT SUM
Translating HLL into machine
level language
 Achieved by language translators called as
compilers, interpreters etc which accepts
the statements in one language and
produce equivalent statements in other
language.
complier
 It is defined as a translator that translates a program
into another program, known as target language.
 Usually used to translate a high level language into a
machine language.
 The compiler replaces one HLL statements by several
machine level language statements.
 The compiler stores the entire program, scans it and
translates the whole program into equivalent machine
language program.
 During translation, the compiler checks for syntax
errors, if any error it gives a error message
 After compilation, after removal of all errors from the
source code, the resulting machine code is saved in an
executable file.
interpreter
 It translates a statements in a program and
executes that statement immediately,
before translating next line of statement
 When an error occurs the execution of the
program is halted and error message is
displayed.
linker
 An application contains 100 or 1000s lines of
codes
 The codes are divided into logical groups and
stored in different modules so that the
debugging and maintenance of the code
becomes easier.
 When the programs are divided into blocks ,
they have to be linked together to create a
complete application, it is done by a linker.
 a linker is a program that links several object
modules and libraries to form a single
program.
loader
 Loaders are part of operating system that
brings an executable file residing on disk into
memory and starts its execution.
 Its responsible for loading, linking and
relocation.
 A loader is a program that performs the
functions of a linker and then immediately
schedules the executable code for execution,
without necessarily creating an executable file
as an output.
 Four 4 basic functions are performed:
 Allocation
 It allocates memory space for the programs
 Linking
 It combines two or more separate object programs
and supplies the information needed to allow
references between them.
 Relocation
 It prepares a program to execute properly from its
secondary storage area
 Loading
 It places data and machine instructions into the
memory.
 Types of loader
 Absolute loader
○ It loads the file into memory at the location specified by
the beginning portion of the file and then passes control
to the program.
○ If the memory space specified by the header is
currently in use, execution cannot proceed and the user
must wait until the requested memory becomes free.
○ Performs only loading operations
○ It does not perform linking and program relocation.
 Relocating loader
○ This loader loads the program in the memory, altering
the various address required to ensure correct
referencing.
○ The decision as to where in memory the program is
placed, is made by the operating system, not the file
headers.
○ The relocating loader can only relocate code that has
been produced by a linker capable of producing relative
code.
Advantages of high level
languages
 Readability
 Machine independent
 Easy debugging
 Easier to maintain
 Low development cost
 Easy documentation
Disadvantage of high level
language
 Poor control on hardware
 Less efficient
Four generation
 Commonly used for database access.
 Here computers are instructed what to and
not how to do.
 It is easy to write but has less control over
how each task is actually performed.
 Have minimum number of rules.
 Saves time and allows programmer to code
a complex tasks.
 Three categories:
 Query languages
○ Allow user to retrieve information from database by
following simple syntax rules.
 Report generators
○ To produce customized reports using data stored in a
database.
 Application generators
○ User writes programs to allow data to be entered into
the database.
○ The program prompts the user to enter the needed data
○ Checks for validity.
Advantages of 4GL
 The user can create an application in a
much shorter time for development and
debugging than with other languages.
 The programmer is only interested in what
has to be done and that too at a very high
level.
 Programmers do not provide any logic to
perform a task.
 Lot of effort is saved.
Disadvantages of 4GL
 They are quite lengthy programs,
 Need more disk space
 Programs are inflexible when compared to
other language programs.
Fifth generation: very HLL
 Future of programming languages
 Will be able to process natural languages.
 The computers will be able to accept,
interpret and execute the instructions in
native language or language of end users.
 The programmers may simple type or tell
to computer, to instruct it what needs to be
done.
 Closely linked to artificial intelligence and
expert systems.
Features of a good programming
language
 Ease of use
 Portability
 Naturalness for the
application
 Reliability
 Safety
 Performance
 Cost
 Promote structured
programming
 Compact code
 Maintainability
 Reusability
 Provides interface to other
language
 Concurrency support
 standardization
Ease of use
 The language should be easy in writing code
for the programming and executing them.
 The ease and clarity of a language depends
upon its syntax
 It should be clear, simple and unified set of
concepts.
 The vocabulary of language should
reassemble English.
 Symbols, abbreviations and jargons should be
avoided unless they are known by most of the
people.
Portability
 The code should be constructed such way
that it could be distributed across multiple
platforms
 It should be independent of any particular
hardware or operating system
 i.e. program written on one system should
be able to test in another system and
perform accurately.
Naturalness for the application
 The language should have a syntax which
allows the program structure to show
underlying logical structure of algorithm.
 It should provide conceptual framework for
thinking algorithm
 Expressing algorithms in terms of flowchart
increases readability.
Reliability
 The language should perform the intended
functions in satisfactory manner through out its
lifetime.
 Reliability is concerned with making system
failure free.
 Language should provide support for
preventing errors.
 The language should also detect and report
errors.
 There should be mechanisms to handles these
errors.
Safety
 It is concerned with the extent to which the
language supports the construction of
safety critical systems, yielding systems
that are fault tolerant, fail safe or robust in
the face of systemic failure.
 The system must do what is expected and
should be able to recover in any situation
that might lead to a mishap or actual
system hazard.
Performance
 The language should not only be capable
of interacting with end users but also with
the hardware.
 It should also interact with software
mechanisms and avoid poor politics and
support maintenance activities.
 The hardware’s should be used in terms of
speed and memory.
cost
 Primary concern before deploying
language at commercial level.
 It include several costs such as
 Program execution and translation cost
 Program creation, testing and usage cost
 Program maintenance cost
Promote structured
programming
 A good language should be capable of
supporting structured programming.
 A structured program also helps
programmers to visualize the problem
logical way, thereby reducing the
probability of errors in the code.
Compact code
 A language should promote compact
coding.
 Intended operations should be coded in
minimum number of lines.
 Large codes require more testing and
developing time, thereby increasing the
cost of developing an application.
maintainability
 Application has to be maintained regularly
so that it can meet changing requirements.
 Maintainability is closely related to
structure of code.
 If the original code is written in an
organized way then it would be easy to
modify or add new changes.
reusability
 The language should facilitate the
adaptation of code for use in other
applications.
 Code is reusable when it is independent of
other codes.
 Stacks, queues and trees can be reused in
many programs.
Provides interface to other
language
 Interface to other language refers to the
extent to which the selected language
supports the interfacing feature to other
languages.
 This supports has an effect on reliability of
data which is exchanged between two
applications developed in different
languages.
Concurrency support
 Refers to the extent to which inherent
language supports the construction of code
with multiple threads of control
 Used in real time systems.
 Also called as parallel processing
standardization
 Means the extent to which the language
definition has been formally standardized
 Extent to which it can be reasonably
expected that this standard will be followed
in a language translator.
 Non standardized languages become
obsolete soon, produces inferior codes,
poor developers productivity, no reliability
of code

Mais conteúdo relacionado

Mais procurados

Computer languages
Computer languagesComputer languages
Computer languagesAqdasNoor
 
Introduction to computer programming
Introduction to computer programmingIntroduction to computer programming
Introduction to computer programmingNSU-Biliran Campus
 
Types of Operating System
Types of Operating SystemTypes of Operating System
Types of Operating SystemHemant Raj
 
Language processor
Language processorLanguage processor
Language processorAbha Damani
 
Features of machine language, assembly language, high level language & their ...
Features of machine language, assembly language, high level language & their ...Features of machine language, assembly language, high level language & their ...
Features of machine language, assembly language, high level language & their ...SHUBHAM PATIDAR FISHERIES ADDAA
 
Assembly language
Assembly languageAssembly language
Assembly languagegaurav jain
 
Lecture 01 introduction to compiler
Lecture 01 introduction to compilerLecture 01 introduction to compiler
Lecture 01 introduction to compilerIffat Anjum
 
Development of computer languages
Development of computer languagesDevelopment of computer languages
Development of computer languagesluckas chauhan
 
Linker and Loader Explained
Linker and Loader  ExplainedLinker and Loader  Explained
Linker and Loader ExplainedAdarsh Kr Sinha
 
COMPILER DESIGN OPTIONS
COMPILER DESIGN OPTIONSCOMPILER DESIGN OPTIONS
COMPILER DESIGN OPTIONSsonalikharade3
 
Programming language
Programming languageProgramming language
Programming languageRajThakuri
 

Mais procurados (20)

Computer languages
Computer languagesComputer languages
Computer languages
 
Types of system software
Types of system softwareTypes of system software
Types of system software
 
Introduction to computer programming
Introduction to computer programmingIntroduction to computer programming
Introduction to computer programming
 
Computer Language
Computer LanguageComputer Language
Computer Language
 
Computer Languages.
Computer Languages.Computer Languages.
Computer Languages.
 
Types of Operating System
Types of Operating SystemTypes of Operating System
Types of Operating System
 
Language processor
Language processorLanguage processor
Language processor
 
Features of machine language, assembly language, high level language & their ...
Features of machine language, assembly language, high level language & their ...Features of machine language, assembly language, high level language & their ...
Features of machine language, assembly language, high level language & their ...
 
Assembly language
Assembly languageAssembly language
Assembly language
 
Assembly Language
Assembly LanguageAssembly Language
Assembly Language
 
Lecture 01 introduction to compiler
Lecture 01 introduction to compilerLecture 01 introduction to compiler
Lecture 01 introduction to compiler
 
Introduction to programming languages
Introduction to programming languagesIntroduction to programming languages
Introduction to programming languages
 
COMPUTER PROGRAMMING
COMPUTER PROGRAMMINGCOMPUTER PROGRAMMING
COMPUTER PROGRAMMING
 
Development of computer languages
Development of computer languagesDevelopment of computer languages
Development of computer languages
 
Computer software
Computer softwareComputer software
Computer software
 
generation of programming language
generation of programming languagegeneration of programming language
generation of programming language
 
Linker and Loader Explained
Linker and Loader  ExplainedLinker and Loader  Explained
Linker and Loader Explained
 
COMPILER DESIGN OPTIONS
COMPILER DESIGN OPTIONSCOMPILER DESIGN OPTIONS
COMPILER DESIGN OPTIONS
 
Programming language
Programming languageProgramming language
Programming language
 
Translators(Compiler, Assembler) and interpreter
Translators(Compiler, Assembler) and interpreterTranslators(Compiler, Assembler) and interpreter
Translators(Compiler, Assembler) and interpreter
 

Destaque

Unit 2 Principles of Programming Languages
Unit 2 Principles of Programming LanguagesUnit 2 Principles of Programming Languages
Unit 2 Principles of Programming LanguagesVasavi College of Engg
 
POSSIBLE AL QAEDA IS AND ISIS PLAN FOR INDIAN SUB CONTINENT
POSSIBLE AL QAEDA IS AND ISIS PLAN FOR INDIAN SUB CONTINENTPOSSIBLE AL QAEDA IS AND ISIS PLAN FOR INDIAN SUB CONTINENT
POSSIBLE AL QAEDA IS AND ISIS PLAN FOR INDIAN SUB CONTINENTSecurity Risks Asia
 
FIB: Felicidade Interna Bruta- Portugal É Um País Infeliz?
FIB: Felicidade Interna Bruta- Portugal É Um País Infeliz?FIB: Felicidade Interna Bruta- Portugal É Um País Infeliz?
FIB: Felicidade Interna Bruta- Portugal É Um País Infeliz?Rui Gabriel
 
Como utilizar as tecnologias na escola.
Como utilizar as tecnologias na escola.Como utilizar as tecnologias na escola.
Como utilizar as tecnologias na escola.elyzane
 
Exercicios contabilidade sfn
Exercicios contabilidade sfnExercicios contabilidade sfn
Exercicios contabilidade sfncapitulocontabil
 
Protecao da crianca_e_do_adolecente_manual_para_pais
Protecao da crianca_e_do_adolecente_manual_para_paisProtecao da crianca_e_do_adolecente_manual_para_pais
Protecao da crianca_e_do_adolecente_manual_para_paisCláudia Dantas
 
IIBA Portugal Kick-Off_Joel
IIBA Portugal Kick-Off_JoelIIBA Portugal Kick-Off_Joel
IIBA Portugal Kick-Off_JoelJoel Luz
 
Presentaciones de mis compazz
 Presentaciones de mis compazz Presentaciones de mis compazz
Presentaciones de mis compazzBbshitayomis
 
Presentaciones de mis compazz
 Presentaciones de mis compazz Presentaciones de mis compazz
Presentaciones de mis compazzBbshitayomis
 

Destaque (20)

Checklist for germany job seeker visa
Checklist for germany job seeker visaChecklist for germany job seeker visa
Checklist for germany job seeker visa
 
Canada Immigration in Two Steps
Canada Immigration in Two StepsCanada Immigration in Two Steps
Canada Immigration in Two Steps
 
CANADA STUDY VISA PROCESS
CANADA STUDY VISA PROCESSCANADA STUDY VISA PROCESS
CANADA STUDY VISA PROCESS
 
Unit 2 Principles of Programming Languages
Unit 2 Principles of Programming LanguagesUnit 2 Principles of Programming Languages
Unit 2 Principles of Programming Languages
 
POSSIBLE AL QAEDA IS AND ISIS PLAN FOR INDIAN SUB CONTINENT
POSSIBLE AL QAEDA IS AND ISIS PLAN FOR INDIAN SUB CONTINENTPOSSIBLE AL QAEDA IS AND ISIS PLAN FOR INDIAN SUB CONTINENT
POSSIBLE AL QAEDA IS AND ISIS PLAN FOR INDIAN SUB CONTINENT
 
Fuerza
FuerzaFuerza
Fuerza
 
FIB: Felicidade Interna Bruta- Portugal É Um País Infeliz?
FIB: Felicidade Interna Bruta- Portugal É Um País Infeliz?FIB: Felicidade Interna Bruta- Portugal É Um País Infeliz?
FIB: Felicidade Interna Bruta- Portugal É Um País Infeliz?
 
Entrenar a un pitbull
Entrenar a un pitbullEntrenar a un pitbull
Entrenar a un pitbull
 
Competencias
CompetenciasCompetencias
Competencias
 
Seminario biología molecular
Seminario biología molecularSeminario biología molecular
Seminario biología molecular
 
Como utilizar as tecnologias na escola.
Como utilizar as tecnologias na escola.Como utilizar as tecnologias na escola.
Como utilizar as tecnologias na escola.
 
(Re)socialização do geronte
(Re)socialização do geronte(Re)socialização do geronte
(Re)socialização do geronte
 
Exercicios contabilidade sfn
Exercicios contabilidade sfnExercicios contabilidade sfn
Exercicios contabilidade sfn
 
Escutatria
EscutatriaEscutatria
Escutatria
 
Protecao da crianca_e_do_adolecente_manual_para_pais
Protecao da crianca_e_do_adolecente_manual_para_paisProtecao da crianca_e_do_adolecente_manual_para_pais
Protecao da crianca_e_do_adolecente_manual_para_pais
 
IIBA Portugal Kick-Off_Joel
IIBA Portugal Kick-Off_JoelIIBA Portugal Kick-Off_Joel
IIBA Portugal Kick-Off_Joel
 
Presentaciones de mis compazz
 Presentaciones de mis compazz Presentaciones de mis compazz
Presentaciones de mis compazz
 
Lenguaa1
Lenguaa1Lenguaa1
Lenguaa1
 
Hormiguita
HormiguitaHormiguita
Hormiguita
 
Presentaciones de mis compazz
 Presentaciones de mis compazz Presentaciones de mis compazz
Presentaciones de mis compazz
 

Semelhante a FIT-Unit3 chapter2- Computer Languages

Computer programming
Computer programmingComputer programming
Computer programmingSuneel Dogra
 
2 Programming Language.pdf
2 Programming Language.pdf2 Programming Language.pdf
2 Programming Language.pdfKINGZzofYouTube
 
Programming Fundamental Slide No.1
Programming Fundamental Slide No.1Programming Fundamental Slide No.1
Programming Fundamental Slide No.1Arslan Hussain
 
Algorithm and flowchart(1)
Algorithm and flowchart(1)Algorithm and flowchart(1)
Algorithm and flowchart(1)Suneel Dogra
 
Programming languages of computer
Programming languages of computerProgramming languages of computer
Programming languages of computerKeval Goyani
 
[ITP - Lecture 01] Introduction to Programming & Different Programming Languages
[ITP - Lecture 01] Introduction to Programming & Different Programming Languages[ITP - Lecture 01] Introduction to Programming & Different Programming Languages
[ITP - Lecture 01] Introduction to Programming & Different Programming LanguagesMuhammad Hammad Waseem
 
Compliers and interpreters
Compliers and interpretersCompliers and interpreters
Compliers and interpretersshivasdhtsvmic
 
Introduction to compiler
Introduction to compilerIntroduction to compiler
Introduction to compilerA. S. M. Shafi
 
Computer basics
Computer basicsComputer basics
Computer basicssans87
 
Programming Languages
Programming LanguagesProgramming Languages
Programming LanguagesMohamed Omar
 
Language processing system.pdf
Language processing system.pdfLanguage processing system.pdf
Language processing system.pdfRakibRahman19
 
Abstraction level taxonomy of programming language frameworks
Abstraction level taxonomy of programming language frameworksAbstraction level taxonomy of programming language frameworks
Abstraction level taxonomy of programming language frameworksijpla
 
Computer languages and generation
Computer languages and generationComputer languages and generation
Computer languages and generationMunawar Bukhari
 
1.Overview of Programming.pptx
1.Overview of Programming.pptx1.Overview of Programming.pptx
1.Overview of Programming.pptxVishwas459764
 
La 5 Pl Translator
La 5   Pl TranslatorLa 5   Pl Translator
La 5 Pl TranslatorCma Mohd
 

Semelhante a FIT-Unit3 chapter2- Computer Languages (20)

Computer programming
Computer programmingComputer programming
Computer programming
 
2 Programming Language.pdf
2 Programming Language.pdf2 Programming Language.pdf
2 Programming Language.pdf
 
Programming Fundamental Slide No.1
Programming Fundamental Slide No.1Programming Fundamental Slide No.1
Programming Fundamental Slide No.1
 
Algorithm and flowchart(1)
Algorithm and flowchart(1)Algorithm and flowchart(1)
Algorithm and flowchart(1)
 
Programming languages of computer
Programming languages of computerProgramming languages of computer
Programming languages of computer
 
[ITP - Lecture 01] Introduction to Programming & Different Programming Languages
[ITP - Lecture 01] Introduction to Programming & Different Programming Languages[ITP - Lecture 01] Introduction to Programming & Different Programming Languages
[ITP - Lecture 01] Introduction to Programming & Different Programming Languages
 
Compliers and interpreters
Compliers and interpretersCompliers and interpreters
Compliers and interpreters
 
Introduction to compiler
Introduction to compilerIntroduction to compiler
Introduction to compiler
 
Computer languages 11
Computer languages 11Computer languages 11
Computer languages 11
 
SYSTEM DEVELOPMENT
SYSTEM DEVELOPMENTSYSTEM DEVELOPMENT
SYSTEM DEVELOPMENT
 
C_NOTES.pdf
C_NOTES.pdfC_NOTES.pdf
C_NOTES.pdf
 
Computer basics
Computer basicsComputer basics
Computer basics
 
Languages in computer
Languages in computerLanguages in computer
Languages in computer
 
Programming Languages
Programming LanguagesProgramming Languages
Programming Languages
 
COMPILER DESIGN.docx
COMPILER DESIGN.docxCOMPILER DESIGN.docx
COMPILER DESIGN.docx
 
Language processing system.pdf
Language processing system.pdfLanguage processing system.pdf
Language processing system.pdf
 
Abstraction level taxonomy of programming language frameworks
Abstraction level taxonomy of programming language frameworksAbstraction level taxonomy of programming language frameworks
Abstraction level taxonomy of programming language frameworks
 
Computer languages and generation
Computer languages and generationComputer languages and generation
Computer languages and generation
 
1.Overview of Programming.pptx
1.Overview of Programming.pptx1.Overview of Programming.pptx
1.Overview of Programming.pptx
 
La 5 Pl Translator
La 5   Pl TranslatorLa 5   Pl Translator
La 5 Pl Translator
 

Mais de raksharao

Unit 1-logic
Unit 1-logicUnit 1-logic
Unit 1-logicraksharao
 
Unit 1 rules of inference
Unit 1  rules of inferenceUnit 1  rules of inference
Unit 1 rules of inferenceraksharao
 
Unit 1 quantifiers
Unit 1  quantifiersUnit 1  quantifiers
Unit 1 quantifiersraksharao
 
Unit 1 introduction to proofs
Unit 1  introduction to proofsUnit 1  introduction to proofs
Unit 1 introduction to proofsraksharao
 
Unit 7 verification &amp; validation
Unit 7 verification &amp; validationUnit 7 verification &amp; validation
Unit 7 verification &amp; validationraksharao
 
Unit 6 input modeling problems
Unit 6 input modeling problemsUnit 6 input modeling problems
Unit 6 input modeling problemsraksharao
 
Unit 6 input modeling
Unit 6 input modeling Unit 6 input modeling
Unit 6 input modeling raksharao
 
Unit 5 general principles, simulation software
Unit 5 general principles, simulation softwareUnit 5 general principles, simulation software
Unit 5 general principles, simulation softwareraksharao
 
Unit 5 general principles, simulation software problems
Unit 5  general principles, simulation software problemsUnit 5  general principles, simulation software problems
Unit 5 general principles, simulation software problemsraksharao
 
Unit 4 queuing models
Unit 4 queuing modelsUnit 4 queuing models
Unit 4 queuing modelsraksharao
 
Unit 4 queuing models problems
Unit 4 queuing models problemsUnit 4 queuing models problems
Unit 4 queuing models problemsraksharao
 
Unit 3 random number generation, random-variate generation
Unit 3 random number generation, random-variate generationUnit 3 random number generation, random-variate generation
Unit 3 random number generation, random-variate generationraksharao
 
Unit 1 introduction contd
Unit 1 introduction contdUnit 1 introduction contd
Unit 1 introduction contdraksharao
 
Unit 1 introduction
Unit 1 introductionUnit 1 introduction
Unit 1 introductionraksharao
 
Module1 part2
Module1 part2Module1 part2
Module1 part2raksharao
 
Module1 Mobile Computing Architecture
Module1 Mobile Computing ArchitectureModule1 Mobile Computing Architecture
Module1 Mobile Computing Architectureraksharao
 
java-Unit4 chap2- awt controls and layout managers of applet
java-Unit4 chap2- awt controls and layout managers of appletjava-Unit4 chap2- awt controls and layout managers of applet
java-Unit4 chap2- awt controls and layout managers of appletraksharao
 
java Unit4 chapter1 applets
java Unit4 chapter1 appletsjava Unit4 chapter1 applets
java Unit4 chapter1 appletsraksharao
 
Chap3 multi threaded programming
Chap3 multi threaded programmingChap3 multi threaded programming
Chap3 multi threaded programmingraksharao
 
Java-Unit 3- Chap2 exception handling
Java-Unit 3- Chap2 exception handlingJava-Unit 3- Chap2 exception handling
Java-Unit 3- Chap2 exception handlingraksharao
 

Mais de raksharao (20)

Unit 1-logic
Unit 1-logicUnit 1-logic
Unit 1-logic
 
Unit 1 rules of inference
Unit 1  rules of inferenceUnit 1  rules of inference
Unit 1 rules of inference
 
Unit 1 quantifiers
Unit 1  quantifiersUnit 1  quantifiers
Unit 1 quantifiers
 
Unit 1 introduction to proofs
Unit 1  introduction to proofsUnit 1  introduction to proofs
Unit 1 introduction to proofs
 
Unit 7 verification &amp; validation
Unit 7 verification &amp; validationUnit 7 verification &amp; validation
Unit 7 verification &amp; validation
 
Unit 6 input modeling problems
Unit 6 input modeling problemsUnit 6 input modeling problems
Unit 6 input modeling problems
 
Unit 6 input modeling
Unit 6 input modeling Unit 6 input modeling
Unit 6 input modeling
 
Unit 5 general principles, simulation software
Unit 5 general principles, simulation softwareUnit 5 general principles, simulation software
Unit 5 general principles, simulation software
 
Unit 5 general principles, simulation software problems
Unit 5  general principles, simulation software problemsUnit 5  general principles, simulation software problems
Unit 5 general principles, simulation software problems
 
Unit 4 queuing models
Unit 4 queuing modelsUnit 4 queuing models
Unit 4 queuing models
 
Unit 4 queuing models problems
Unit 4 queuing models problemsUnit 4 queuing models problems
Unit 4 queuing models problems
 
Unit 3 random number generation, random-variate generation
Unit 3 random number generation, random-variate generationUnit 3 random number generation, random-variate generation
Unit 3 random number generation, random-variate generation
 
Unit 1 introduction contd
Unit 1 introduction contdUnit 1 introduction contd
Unit 1 introduction contd
 
Unit 1 introduction
Unit 1 introductionUnit 1 introduction
Unit 1 introduction
 
Module1 part2
Module1 part2Module1 part2
Module1 part2
 
Module1 Mobile Computing Architecture
Module1 Mobile Computing ArchitectureModule1 Mobile Computing Architecture
Module1 Mobile Computing Architecture
 
java-Unit4 chap2- awt controls and layout managers of applet
java-Unit4 chap2- awt controls and layout managers of appletjava-Unit4 chap2- awt controls and layout managers of applet
java-Unit4 chap2- awt controls and layout managers of applet
 
java Unit4 chapter1 applets
java Unit4 chapter1 appletsjava Unit4 chapter1 applets
java Unit4 chapter1 applets
 
Chap3 multi threaded programming
Chap3 multi threaded programmingChap3 multi threaded programming
Chap3 multi threaded programming
 
Java-Unit 3- Chap2 exception handling
Java-Unit 3- Chap2 exception handlingJava-Unit 3- Chap2 exception handling
Java-Unit 3- Chap2 exception handling
 

Último

Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Arindam Chakraborty, Ph.D., P.E. (CA, TX)
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfKamal Acharya
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01KreezheaRecto
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...Call Girls in Nagpur High Profile
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startQuintin Balsdon
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdfSuman Jyoti
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringmulugeta48
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...roncy bisnoi
 
Intro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdfIntro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdfrs7054576148
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 

Último (20)

Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
NFPA 5000 2024 standard .
NFPA 5000 2024 standard                                  .NFPA 5000 2024 standard                                  .
NFPA 5000 2024 standard .
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
Intro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdfIntro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdf
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 

FIT-Unit3 chapter2- Computer Languages

  • 1.
  • 2. Contents  Types of Programming Languages  Generations of Programming Languages  Features of good Programming Languages
  • 3. Types of programming languages  Computers understand only one language that is binary language or the language of 0s and 1s.  In the initial years, instructions were given in binary from only.  Although these programs were easily understood by the computers but it was too difficult for a normal person to understand.  Human beings came up with assembly and High level languages to communicate with the computers. They are classified into three categories:
  • 4.  Machine language  It is the native language of the computers  It is usually only 0s and 1s to represent data and instructions  Assembly language  Has symbolic instructions and executable machine codes  Letters were used instead of 0s and 1s  High level language  Written using set of words, have rules for them  The program written in HLL is called as source program  These are converted into machine readable using a compiler or interpreter.
  • 5. Generations of programming languages  First generation: machine language  Second generation: assembly language  Third generation : High level language  Fourth generation  Fifth generation: very high level languages
  • 6. First generation: machine language  First language was binary, hence known as machine language.  Machines have only two states, ON (1) and OFF (0)  Machine language is also known as native language as the codes is directly understood by the computer.  There are two parts in the instructions  OPCODE  OPERAND
  • 7. Advantages of machine languages  Translation free  Machine language is the only language that computers can directly execute without the need for conversion.  High speed  No conversion is needed, the applications developed using machine language is extremely fast.  Used for applications of nuclear reactors and chemical processing.
  • 8. Disadvantages of machine languages  Machine dependent  Application developed for a particular type of machine, may not run on another machine.  Costly and difficult for the organizations.  Complex language  Machine language is complex , difficult to read or write.  Programmer has to be an hardware expert to understand the machine language perfectly.
  • 9.  Error prone  Since programmer has to remember all the opcode and memory locations  Requires lot of effort to keep track of logic of the problem.  Tedious  Problems arises when modifications of the existing code has to be done.  Very tedious task and time consuming.
  • 10. Second generation : assembly language  Assembly language allows the programmer to interact directly with the hardware.  This language assigns a mnemonic code to each machine language instruction to make it easier to remember to write.  Allows a better human readable method of writing programs as compared to writing in binary bit patterns.  Each processor family has its own assembly language.  Mnemonic is usually three letter long corresponding to each machine instruction.
  • 11.  The letters are usually abbreviated indicating what the instruction does.  Since each type of the computer uses a different native instruction set, assembly languages cannot be standardized from one machine to another and instructions from one computer cannot be expected to work on another.  It allows the use of symbols and set of rules that can be combined to form a line of code.  Each line of code has four columns called as fields.  The general format is [label] <opcode> <operands> [; comments]
  • 12.  [ … ] indicate that enclosed specification may or may not appear in the statement.  If a label is specified , it is associated as a symbolic name with machine words generated for the assembly statement.  If multiple operands are used, each of them is separated by a comma.  Comments are optional , they facilitate documentation.  Eg: BEGIN ADD A,B ; add B to A
  • 13. assembler  No matter how close assembly language is to machine code, the computer still cannot understand it.  The assembly language program must be translated into machine code by separate program called an assembler.  The assembler program recognizes the character strings that make up the symbolic names of the various operations and substitutes the required code for each instruction.  In short assembler converts the assembly codes into binary codes and then it assembles the machine understandable code into the main memory of the computer, making it ready for execution.
  • 14. Working of an assembler
  • 15. Functions of assembler  It translates mnemonic operation codes to machine code and corresponding register address to system address.  It checks the syntax of the assembly program and generates diagnostic messages on syntax errors.  It assembles all the instructions in the main memory for execution.  In case of large assembly programs, it also provides linking facility among subroutines.  It facilitates the generation of output on the required output medium.
  • 16. Advantages of assembly language  Easy to understand and use:  It uses mnemonics instead of numerical opcodes and memory locations used in machine language.  Programs written in assembly level language are much more easier to understand when compared to machine level language  Less error prone:  mnemonics and system addresses are used  Programmer need not keep track of address while coding, leads to less error prone program.  Efficiency:  Can run much faster and use less memory and other resources when compared to HLL programs.  More control on hardware:  Gives direct access to key machine features essential for implementing certain kinds of low level routines.
  • 17. Disadvantages of assembly language  Machine dependent:  Different computer architectures have their own machine and assembly languages, programs are not portable to other systems.  Harder to learn  The source code for assembly level language is cryptic and in a very low machine specific form  Makes a programmer difficult to understand  Slow development time  Less efficient  Assembly level language program has to be converted to machine language  No standardization  No support for modern software engineering technology  Provides less opportunity for reuse and no OOP support  Does not provide support for safety-critical systems.
  • 18. Third generation: high level language  Languages such as COBOL, FORTON, BASIC and C are examples  Similar to english language.  They are machine independent  A single HLL statement can substitute several instructions in machine or assembly level language.  BASIC code snippet LET X=10 LET Y=20 LET SUM= X+ Y PRINT SUM
  • 19. Translating HLL into machine level language  Achieved by language translators called as compilers, interpreters etc which accepts the statements in one language and produce equivalent statements in other language.
  • 20. complier  It is defined as a translator that translates a program into another program, known as target language.  Usually used to translate a high level language into a machine language.  The compiler replaces one HLL statements by several machine level language statements.  The compiler stores the entire program, scans it and translates the whole program into equivalent machine language program.  During translation, the compiler checks for syntax errors, if any error it gives a error message  After compilation, after removal of all errors from the source code, the resulting machine code is saved in an executable file.
  • 21.
  • 22. interpreter  It translates a statements in a program and executes that statement immediately, before translating next line of statement  When an error occurs the execution of the program is halted and error message is displayed.
  • 23.
  • 24. linker  An application contains 100 or 1000s lines of codes  The codes are divided into logical groups and stored in different modules so that the debugging and maintenance of the code becomes easier.  When the programs are divided into blocks , they have to be linked together to create a complete application, it is done by a linker.  a linker is a program that links several object modules and libraries to form a single program.
  • 25. loader  Loaders are part of operating system that brings an executable file residing on disk into memory and starts its execution.  Its responsible for loading, linking and relocation.  A loader is a program that performs the functions of a linker and then immediately schedules the executable code for execution, without necessarily creating an executable file as an output.  Four 4 basic functions are performed:
  • 26.  Allocation  It allocates memory space for the programs  Linking  It combines two or more separate object programs and supplies the information needed to allow references between them.  Relocation  It prepares a program to execute properly from its secondary storage area  Loading  It places data and machine instructions into the memory.
  • 27.  Types of loader  Absolute loader ○ It loads the file into memory at the location specified by the beginning portion of the file and then passes control to the program. ○ If the memory space specified by the header is currently in use, execution cannot proceed and the user must wait until the requested memory becomes free. ○ Performs only loading operations ○ It does not perform linking and program relocation.
  • 28.  Relocating loader ○ This loader loads the program in the memory, altering the various address required to ensure correct referencing. ○ The decision as to where in memory the program is placed, is made by the operating system, not the file headers. ○ The relocating loader can only relocate code that has been produced by a linker capable of producing relative code.
  • 29. Advantages of high level languages  Readability  Machine independent  Easy debugging  Easier to maintain  Low development cost  Easy documentation
  • 30. Disadvantage of high level language  Poor control on hardware  Less efficient
  • 31. Four generation  Commonly used for database access.  Here computers are instructed what to and not how to do.  It is easy to write but has less control over how each task is actually performed.  Have minimum number of rules.  Saves time and allows programmer to code a complex tasks.
  • 32.  Three categories:  Query languages ○ Allow user to retrieve information from database by following simple syntax rules.  Report generators ○ To produce customized reports using data stored in a database.  Application generators ○ User writes programs to allow data to be entered into the database. ○ The program prompts the user to enter the needed data ○ Checks for validity.
  • 33. Advantages of 4GL  The user can create an application in a much shorter time for development and debugging than with other languages.  The programmer is only interested in what has to be done and that too at a very high level.  Programmers do not provide any logic to perform a task.  Lot of effort is saved.
  • 34. Disadvantages of 4GL  They are quite lengthy programs,  Need more disk space  Programs are inflexible when compared to other language programs.
  • 35. Fifth generation: very HLL  Future of programming languages  Will be able to process natural languages.  The computers will be able to accept, interpret and execute the instructions in native language or language of end users.  The programmers may simple type or tell to computer, to instruct it what needs to be done.  Closely linked to artificial intelligence and expert systems.
  • 36. Features of a good programming language  Ease of use  Portability  Naturalness for the application  Reliability  Safety  Performance  Cost  Promote structured programming  Compact code  Maintainability  Reusability  Provides interface to other language  Concurrency support  standardization
  • 37. Ease of use  The language should be easy in writing code for the programming and executing them.  The ease and clarity of a language depends upon its syntax  It should be clear, simple and unified set of concepts.  The vocabulary of language should reassemble English.  Symbols, abbreviations and jargons should be avoided unless they are known by most of the people.
  • 38. Portability  The code should be constructed such way that it could be distributed across multiple platforms  It should be independent of any particular hardware or operating system  i.e. program written on one system should be able to test in another system and perform accurately.
  • 39. Naturalness for the application  The language should have a syntax which allows the program structure to show underlying logical structure of algorithm.  It should provide conceptual framework for thinking algorithm  Expressing algorithms in terms of flowchart increases readability.
  • 40. Reliability  The language should perform the intended functions in satisfactory manner through out its lifetime.  Reliability is concerned with making system failure free.  Language should provide support for preventing errors.  The language should also detect and report errors.  There should be mechanisms to handles these errors.
  • 41. Safety  It is concerned with the extent to which the language supports the construction of safety critical systems, yielding systems that are fault tolerant, fail safe or robust in the face of systemic failure.  The system must do what is expected and should be able to recover in any situation that might lead to a mishap or actual system hazard.
  • 42. Performance  The language should not only be capable of interacting with end users but also with the hardware.  It should also interact with software mechanisms and avoid poor politics and support maintenance activities.  The hardware’s should be used in terms of speed and memory.
  • 43. cost  Primary concern before deploying language at commercial level.  It include several costs such as  Program execution and translation cost  Program creation, testing and usage cost  Program maintenance cost
  • 44. Promote structured programming  A good language should be capable of supporting structured programming.  A structured program also helps programmers to visualize the problem logical way, thereby reducing the probability of errors in the code.
  • 45. Compact code  A language should promote compact coding.  Intended operations should be coded in minimum number of lines.  Large codes require more testing and developing time, thereby increasing the cost of developing an application.
  • 46. maintainability  Application has to be maintained regularly so that it can meet changing requirements.  Maintainability is closely related to structure of code.  If the original code is written in an organized way then it would be easy to modify or add new changes.
  • 47. reusability  The language should facilitate the adaptation of code for use in other applications.  Code is reusable when it is independent of other codes.  Stacks, queues and trees can be reused in many programs.
  • 48. Provides interface to other language  Interface to other language refers to the extent to which the selected language supports the interfacing feature to other languages.  This supports has an effect on reliability of data which is exchanged between two applications developed in different languages.
  • 49. Concurrency support  Refers to the extent to which inherent language supports the construction of code with multiple threads of control  Used in real time systems.  Also called as parallel processing
  • 50. standardization  Means the extent to which the language definition has been formally standardized  Extent to which it can be reasonably expected that this standard will be followed in a language translator.  Non standardized languages become obsolete soon, produces inferior codes, poor developers productivity, no reliability of code