SlideShare a Scribd company logo
1 of 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

More Related Content

What's hot

Presentation on computer language
Presentation on computer languagePresentation on computer language
Presentation on computer languageSwarnima Tiwari
 
Language translator
Language translatorLanguage translator
Language translatorasmakh89
 
Programming language
Programming languageProgramming language
Programming languageShuja Qais
 
High level and Low level Language
High level and Low level Language High level and Low level Language
High level and Low level Language adnan usmani
 
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
 
computer languages
computer languagescomputer languages
computer languagesRajendran
 
Presentation on generation of languages
Presentation on generation of languagesPresentation on generation of languages
Presentation on generation of languagesRicha Pant
 
Program & language generation
Program & language generationProgram & language generation
Program & language generationBuxoo Abdullah
 
Language Translator ( Compiler)
Language Translator ( Compiler)Language Translator ( Compiler)
Language Translator ( Compiler)Nazmul Hyder
 
Generations Of Programming Languages
Generations Of Programming LanguagesGenerations Of Programming Languages
Generations Of Programming Languagespy7rjs
 
System Programing Unit 1
System Programing Unit 1System Programing Unit 1
System Programing Unit 1Manoj Patil
 
Windows for Everyone(Operating System)
Windows for Everyone(Operating System)Windows for Everyone(Operating System)
Windows for Everyone(Operating System)Waleed Khan
 
Programming languages
Programming languagesProgramming languages
Programming languagesAkash Varaiya
 
Generation of computer languages
Generation of computer languagesGeneration of computer languages
Generation of computer languageskitturashmikittu
 
Programming Fundamentals lecture 1
Programming Fundamentals lecture 1Programming Fundamentals lecture 1
Programming Fundamentals lecture 1REHAN IJAZ
 
Compiler vs interpreter
Compiler vs interpreterCompiler vs interpreter
Compiler vs interpreterParas Patel
 

What's hot (20)

Presentation on computer language
Presentation on computer languagePresentation on computer language
Presentation on computer language
 
Language translator
Language translatorLanguage translator
Language translator
 
Programming language
Programming languageProgramming language
Programming language
 
High level and Low level Language
High level and Low level Language High level and Low level Language
High level and Low level Language
 
Programming languages
Programming languagesProgramming languages
Programming languages
 
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 ...
 
Computer Language
Computer LanguageComputer Language
Computer Language
 
computer languages
computer languagescomputer languages
computer languages
 
Presentation on generation of languages
Presentation on generation of languagesPresentation on generation of languages
Presentation on generation of languages
 
Program & language generation
Program & language generationProgram & language generation
Program & language generation
 
Language Translator ( Compiler)
Language Translator ( Compiler)Language Translator ( Compiler)
Language Translator ( Compiler)
 
Introduction to programming languages
Introduction to programming languagesIntroduction to programming languages
Introduction to programming languages
 
Generations Of Programming Languages
Generations Of Programming LanguagesGenerations Of Programming Languages
Generations Of Programming Languages
 
System Programing Unit 1
System Programing Unit 1System Programing Unit 1
System Programing Unit 1
 
Windows for Everyone(Operating System)
Windows for Everyone(Operating System)Windows for Everyone(Operating System)
Windows for Everyone(Operating System)
 
Programming languages
Programming languagesProgramming languages
Programming languages
 
Generation of computer languages
Generation of computer languagesGeneration of computer languages
Generation of computer languages
 
Software concepts ppt
Software concepts pptSoftware concepts ppt
Software concepts ppt
 
Programming Fundamentals lecture 1
Programming Fundamentals lecture 1Programming Fundamentals lecture 1
Programming Fundamentals lecture 1
 
Compiler vs interpreter
Compiler vs interpreterCompiler vs interpreter
Compiler vs interpreter
 

Viewers also liked

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
 

Viewers also liked (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
 

Similar to 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
 
Compiler design slide share
Compiler design slide shareCompiler design slide share
Compiler design slide shareSudhaa Ravi
 

Similar to 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
 
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
 
Compiler design slide share
Compiler design slide shareCompiler design slide share
Compiler design slide share
 

More from 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
 

More from 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
 

Recently uploaded

Artificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewArtificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewsandhya757531
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating SystemRashmi Bhat
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionMebane Rash
 
Turn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptxTurn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptxStephen Sitton
 
SOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATIONSOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATIONSneha Padhiar
 
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHTEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHSneha Padhiar
 
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdfDEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdfAkritiPradhan2
 
Triangulation survey (Basic Mine Surveying)_MI10412MI.pptx
Triangulation survey (Basic Mine Surveying)_MI10412MI.pptxTriangulation survey (Basic Mine Surveying)_MI10412MI.pptx
Triangulation survey (Basic Mine Surveying)_MI10412MI.pptxRomil Mishra
 
Immutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfImmutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfDrew Moseley
 
priority interrupt computer organization
priority interrupt computer organizationpriority interrupt computer organization
priority interrupt computer organizationchnrketan
 
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONTHE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONjhunlian
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating SystemRashmi Bhat
 
Katarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School CourseKatarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School Coursebim.edu.pl
 
Module-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdfModule-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdfManish Kumar
 
70 POWER PLANT IAE V2500 technical training
70 POWER PLANT IAE V2500 technical training70 POWER PLANT IAE V2500 technical training
70 POWER PLANT IAE V2500 technical trainingGladiatorsKasper
 
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书rnrncn29
 
CS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfCS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfBalamuruganV28
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxRomil Mishra
 
Cost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based questionCost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based questionSneha Padhiar
 

Recently uploaded (20)

Artificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewArtificial Intelligence in Power System overview
Artificial Intelligence in Power System overview
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating System
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of Action
 
Turn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptxTurn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptx
 
SOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATIONSOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATION
 
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHTEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
 
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdfDEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdf
 
Triangulation survey (Basic Mine Surveying)_MI10412MI.pptx
Triangulation survey (Basic Mine Surveying)_MI10412MI.pptxTriangulation survey (Basic Mine Surveying)_MI10412MI.pptx
Triangulation survey (Basic Mine Surveying)_MI10412MI.pptx
 
Immutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfImmutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdf
 
priority interrupt computer organization
priority interrupt computer organizationpriority interrupt computer organization
priority interrupt computer organization
 
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONTHE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating System
 
Katarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School CourseKatarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School Course
 
Module-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdfModule-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdf
 
70 POWER PLANT IAE V2500 technical training
70 POWER PLANT IAE V2500 technical training70 POWER PLANT IAE V2500 technical training
70 POWER PLANT IAE V2500 technical training
 
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
 
Designing pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptxDesigning pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptx
 
CS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfCS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdf
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptx
 
Cost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based questionCost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based question
 

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