A programming language is a vocabulary and set of rules that instructs a computer to perform tasks. High-level languages like BASIC, C, Java, and Pascal are easier for humans than machine language but still need to be converted. Conversion can be done through compiling, which directly translates to machine language, or interpreting, which executes instructions without compilation. Popular languages today include Python, C, Java, and C++.
Programming languages allow humans to communicate instructions to computers. There are many programming languages that differ based on their level, model, and intended applications. Low-level languages like machine language and assembly language use binary codes and mnemonics that closely match the computer's architecture, making programs fast but difficult for humans. Higher-level languages have more abstract constructs that are translated into machine code, making programs easier for humans to write but slower to execute. Programming languages continue to evolve to balance expressiveness for programmers with efficiency of execution.
Computer languages allow humans to communicate with computers through programming. There are different types of computer languages at different levels of abstraction from machine language up to high-level languages. High-level languages are closer to human language while low-level languages are closer to machine-readable code. Programs written in high-level languages require compilers or interpreters to convert them to machine-readable code that can be executed by computers.
The document discusses different types of computer programming languages including low-level languages like machine language and assembly language that are closer to hardware, and high-level languages like C++, Java, and Python that are easier for humans to read and write. It also covers basic programming concepts like variables, strings, statements, operators, and operands.
Introduction to high level Computer programmingbilalchuddher
油
I have formulated three objectives that I hope this book will achieve for the reader.
These objectives are based on long experience teaching a course in multivariate
methods, consulting on multivariate problems with researchers in many fields, and
guiding statistics graduate students as they consulted with similar clients.
The first objective is to gain a thorough understanding of the details of various
multivariate techniques, their purposes, their assumptions, their limitations, and so
on. Many of these techniques are related; yet they differ in some essential ways. We
emphasize these similarities and differences.
The second objective is to be able to select one or more appropriate techniques for
a given multivariate data set. Recognizing the essential nature of a multivariate data
set is the first step in a meaningful analysis. We introduce basic types of multivariate
data in Section 1.4.
The third objective is to be able to interpret the results of a computer analysis
of a multivariate data set. Reading the manual for a particular program package is
not enough to make an intelligent appraisal of the output. Achievement of the first
objective and practice on data sets in the text should help achieve the third objective.
This chapter introduces the basic elements of matrix algebra used in the remainder
of this book. It is essentially a review of the requisite matrix tools and is not intended
to be a complete development. However, it is sufficiently self-contained so that those
with no previous exposure to the subject should need no other reference. Anyone
unfamiliar with matrix algebra should plan to work most of the problems entailing
numerical illustrations. It would also be helpful to explore some of the problems
involving general matrix manipulation.
With the exception of a few derivations that seemed instructive, most of the results
are given without proof. Some additional proofs are requested in the problems. For
the remaining proofs, see any general text on matrix theory or one of the specialized
matrix texts oriented to statistics, such as Graybill (1969), Searle (1982), or Harville
(1997) The transpose operation does not change a scalar, since it has only one row and
one column.
If the transpose operator is applied twice to any matrix, the result is the original
matrix: Informally, a random variable may be defined as a variable whose value depends on
the outcome of a chance experiment. Generally, we will consider only continuous
random variables. Some types of multivariate data are only approximations to this
ideal, such as test scores or a seven-point semantic differential (Likert) scale consisting of ordered responses ranging from strongly disagree to strongly agree. Special
techniques have been developed for such data, but in many cases, the usual methods
designed for continuous data work almost as well.a single observation y. The variance 2 is defined shortly. The notation E(y)
indicates the mean of all possible values of y; that
The document discusses various computer programming languages including:
- Low-level languages like machine language and assembly language that are closer to hardware.
- High-level languages like C++, Java, and Python that are easier for humans to read and write but require translation.
- Early languages like FORTRAN, COBOL, BASIC that were developed for scientific, business, and educational use respectively.
Language translators convert programming source code into machine language understood by computer processors. The three major types are compilers, assemblers, and interpreters. Compilers translate high-level languages into machine code in one or more passes, assemblers assemble assembly language into machine code, and interpreters analyze and execute each line of source code as the program runs without pre-translation.
This document provides an introduction to basic programming concepts including programs, programming, programming languages, and careers in programming.
A program is a series of organized instructions that directs a computer to perform tasks. Programming involves creating a set of commands that direct a computer. Programming languages allow humans to communicate with computers through using words, symbols, and codes. There are many programming languages with different rules. Careers in programming include programmer, programmer analyst, computer scientist, and software engineer.
This document provides an introduction to basic programming concepts including programs, programming, programming languages, and careers in programming.
A program is a series of organized instructions that directs a computer to perform tasks. Programming involves creating a set of commands that direct a computer. Programming languages allow humans to communicate with computers through words, symbols, and codes. There are many programming languages with different rules. Careers in programming include programmer, programmer analyst, computer scientist, and software engineer.
This document provides an overview of basic programming concepts through 11 lessons. It begins by defining what a program and programming are, and explains that a program contains variables and statements that direct a computer. It then discusses programming languages, generations of programming languages from machine code to visual languages, and programming approaches like structured and object-oriented programming. Other topics covered include translators like compilers and interpreters, how to install Visual Basic 6.0, basic programming elements, operators, data types, pseudocode, and flowcharts. The document aims to introduce foundational programming concepts for beginners in a structured manner through examples and explanations.
This 際際滷 will clear all the Question Regarding compiler development and will also help to understand how a compiler works and how the phases are connected to each one
An assembler translates assembly language instructions into machine code through a one-to-one mapping. An interpreter directly executes program source code line by line without compiling. A compiler translates high-level language source code into an executable machine code program.
Computer languages can be categorized into different generations based on their level of abstraction from machine language. First generation languages are machine languages that use binary, while assembly languages as second generation are closer to machine language with mnemonic codes. High-level languages of the third generation like FORTRAN and COBOL are easier for humans to read and write. Fourth generation languages attempt more natural language programming, and fifth generation use visual interfaces to generate code compiled by lower level languages. The key aspects of a program include variables, statements, keywords, instructions, and the ability to perform tasks through organized lists of commands.
There are four categories of computer languages: high-level languages, low-level languages, assembly language, and machine language. High-level languages are closer to human language and need translators to be understood by computers. Low-level languages are closer to machine language and do not need translators. Assembly language sits between high-level and machine language by using mnemonic codes. Machine language consists of binary and is the only language computers can directly understand. Translators like compilers, interpreters, and assemblers are used to convert between these language categories.
This document provides an introduction to basic programming concepts including programs, programming, programming languages, generations of programming languages, and translators.
The key points covered are:
1) A program is a series of organized instructions that direct a computer to perform tasks. Programming is the creation of a set of commands that direct a computer to carry out a task.
2) Programming languages allow humans to communicate with computers. Examples of programming languages mentioned include BASIC, Pascal, C, and Smalltalk.
3) Programming languages have evolved through generations from machine language (1st generation) to assembly language (2nd generation) to high-level languages like BASIC, Pascal, and C (3
The document discusses various aspects of system development including programming languages, paradigms, and software development lifecycles. It describes the key characteristics of programming languages including syntax and semantics. It also outlines the main programming paradigms - imperative, object-oriented, logic, and functional. The document then discusses software design paradigms such as design patterns, components, architecture, and frameworks. It provides an overview of common software development lifecycles including build and fix, waterfall, and spiral models.
The document provides an overview of programming concepts including programs, programming languages, translators, generations of programming languages, basic elements in programming, and pseudo code. It defines key terms like program, programming, constants, variables, data types, operators, control structures, assemblers, interpreters, compilers, structured programming, and object-oriented programming. Examples are given for different programming languages, data types, operators, and a pseudo code program. The document is intended as part of an educational lesson on basic programming concepts.
This document provides an overview of topics related to computer programming, including hardware/software interfaces, types of software, programming languages, compilation, and interpretation. It discusses layers of the machine from hardware to system software to applications. Key points covered include the roles of compilers, linkers, and interpreters in translating between source code, assembly language, and machine language. It also distinguishes between compilation and interpretation and provides examples of different programming language paradigms.
This document provides an overview of programming and programming languages through a series of lessons:
1. It defines what a program and programming are, and compares a program to a recipe.
2. It discusses different generations of programming languages from machine language to modern languages like C++, and the roles of compilers, interpreters, and assemblers.
3. It covers structured and object-oriented programming approaches, pseudo code, basic programming elements like variables and data types, and mathematical and logical operators.
4. It provides examples of programming languages like Visual Basic and how to install Visual Basic 6.0.
Machine language is the lowest-level programming language that computers can directly understand as it consists of binary digits (0s and 1s) representing electric signals. It is difficult for humans to write programs in machine language due to its unreadable nature. Most programmers instead use high-level languages like BASIC, C, Java, etc. which are then converted into machine language by compilers or interpreters before a computer can execute the programs.
The document discusses various topics related to programming languages including:
- The definitions and generations of programming languages from machine language to fifth generation languages like Prolog.
- The differences between structured and object-oriented programming approaches. Structured programming uses top-down design while object-oriented programming packages data and functions into objects.
- The translation methods of assemblers, interpreters, and compilers in converting source code to machine-readable code. Assemblers translate assembly language, interpreters interpret code line-by-line, and compilers convert entire programs.
- Common programming elements like variables, data types, operators, and the phases of program development from problem analysis to documentation.
Introduction Programming and Application Lecture 1.pptxMahamaHaruna
油
This document provides an introduction to computer programming fundamentals. It discusses how programming languages allow humans to give instructions to computers and how these languages get translated into binary for the computer to understand. It describes low-level languages that are closer to binary and relate to specific hardware, and high-level languages that are more like human languages and portable. Examples of assembly language and common high-level languages are given. The document also briefly explains the role of translators in converting source code into executable machine code.
This document discusses different types of programming languages including machine language, assembly language, and high-level languages. It explains that machine language is directly understood by computers using binary, while assembly language uses symbols translated by an assembler. High-level languages like COBOL, FORTRAN and BASIC are easier for humans to read and are compiled into machine language. Compilers translate entire high-level programs at once, while interpreters translate and execute one statement at a time.
Computer languages can be categorized into high-level languages, low-level languages, and machine language. High-level languages are closer to human language and require compilers or interpreters, while low-level languages like assembly language are closer to machine language. Machine language is binary code that is directly executable by computers. There are also different generations of languages that evolved with advances in hardware and software.
Redefining Healthcare_ How Family Doctors Are Leading the Charge by Dr.pdfDr. Steven Sukho Kim
油
As defined by Dr. Steven Sukho Kim, the future of healthcare is rapidly taking shape, and family doctors are playing a crucial role in this transformation. Traditionally viewed as the first line of defense against illness, family physicians are evolving into more dynamic healthcare providers, reshaping how healthcare is delivered. As the healthcare system moves toward a more patient-centered, preventative, and technology-driven model, family doctors are stepping up to meet these new challenges, making healthcare more personalized, accessible, and efficient.
This document provides an overview of basic programming concepts through 11 lessons. It begins by defining what a program and programming are, and explains that a program contains variables and statements that direct a computer. It then discusses programming languages, generations of programming languages from machine code to visual languages, and programming approaches like structured and object-oriented programming. Other topics covered include translators like compilers and interpreters, how to install Visual Basic 6.0, basic programming elements, operators, data types, pseudocode, and flowcharts. The document aims to introduce foundational programming concepts for beginners in a structured manner through examples and explanations.
This 際際滷 will clear all the Question Regarding compiler development and will also help to understand how a compiler works and how the phases are connected to each one
An assembler translates assembly language instructions into machine code through a one-to-one mapping. An interpreter directly executes program source code line by line without compiling. A compiler translates high-level language source code into an executable machine code program.
Computer languages can be categorized into different generations based on their level of abstraction from machine language. First generation languages are machine languages that use binary, while assembly languages as second generation are closer to machine language with mnemonic codes. High-level languages of the third generation like FORTRAN and COBOL are easier for humans to read and write. Fourth generation languages attempt more natural language programming, and fifth generation use visual interfaces to generate code compiled by lower level languages. The key aspects of a program include variables, statements, keywords, instructions, and the ability to perform tasks through organized lists of commands.
There are four categories of computer languages: high-level languages, low-level languages, assembly language, and machine language. High-level languages are closer to human language and need translators to be understood by computers. Low-level languages are closer to machine language and do not need translators. Assembly language sits between high-level and machine language by using mnemonic codes. Machine language consists of binary and is the only language computers can directly understand. Translators like compilers, interpreters, and assemblers are used to convert between these language categories.
This document provides an introduction to basic programming concepts including programs, programming, programming languages, generations of programming languages, and translators.
The key points covered are:
1) A program is a series of organized instructions that direct a computer to perform tasks. Programming is the creation of a set of commands that direct a computer to carry out a task.
2) Programming languages allow humans to communicate with computers. Examples of programming languages mentioned include BASIC, Pascal, C, and Smalltalk.
3) Programming languages have evolved through generations from machine language (1st generation) to assembly language (2nd generation) to high-level languages like BASIC, Pascal, and C (3
The document discusses various aspects of system development including programming languages, paradigms, and software development lifecycles. It describes the key characteristics of programming languages including syntax and semantics. It also outlines the main programming paradigms - imperative, object-oriented, logic, and functional. The document then discusses software design paradigms such as design patterns, components, architecture, and frameworks. It provides an overview of common software development lifecycles including build and fix, waterfall, and spiral models.
The document provides an overview of programming concepts including programs, programming languages, translators, generations of programming languages, basic elements in programming, and pseudo code. It defines key terms like program, programming, constants, variables, data types, operators, control structures, assemblers, interpreters, compilers, structured programming, and object-oriented programming. Examples are given for different programming languages, data types, operators, and a pseudo code program. The document is intended as part of an educational lesson on basic programming concepts.
This document provides an overview of topics related to computer programming, including hardware/software interfaces, types of software, programming languages, compilation, and interpretation. It discusses layers of the machine from hardware to system software to applications. Key points covered include the roles of compilers, linkers, and interpreters in translating between source code, assembly language, and machine language. It also distinguishes between compilation and interpretation and provides examples of different programming language paradigms.
This document provides an overview of programming and programming languages through a series of lessons:
1. It defines what a program and programming are, and compares a program to a recipe.
2. It discusses different generations of programming languages from machine language to modern languages like C++, and the roles of compilers, interpreters, and assemblers.
3. It covers structured and object-oriented programming approaches, pseudo code, basic programming elements like variables and data types, and mathematical and logical operators.
4. It provides examples of programming languages like Visual Basic and how to install Visual Basic 6.0.
Machine language is the lowest-level programming language that computers can directly understand as it consists of binary digits (0s and 1s) representing electric signals. It is difficult for humans to write programs in machine language due to its unreadable nature. Most programmers instead use high-level languages like BASIC, C, Java, etc. which are then converted into machine language by compilers or interpreters before a computer can execute the programs.
The document discusses various topics related to programming languages including:
- The definitions and generations of programming languages from machine language to fifth generation languages like Prolog.
- The differences between structured and object-oriented programming approaches. Structured programming uses top-down design while object-oriented programming packages data and functions into objects.
- The translation methods of assemblers, interpreters, and compilers in converting source code to machine-readable code. Assemblers translate assembly language, interpreters interpret code line-by-line, and compilers convert entire programs.
- Common programming elements like variables, data types, operators, and the phases of program development from problem analysis to documentation.
Introduction Programming and Application Lecture 1.pptxMahamaHaruna
油
This document provides an introduction to computer programming fundamentals. It discusses how programming languages allow humans to give instructions to computers and how these languages get translated into binary for the computer to understand. It describes low-level languages that are closer to binary and relate to specific hardware, and high-level languages that are more like human languages and portable. Examples of assembly language and common high-level languages are given. The document also briefly explains the role of translators in converting source code into executable machine code.
This document discusses different types of programming languages including machine language, assembly language, and high-level languages. It explains that machine language is directly understood by computers using binary, while assembly language uses symbols translated by an assembler. High-level languages like COBOL, FORTRAN and BASIC are easier for humans to read and are compiled into machine language. Compilers translate entire high-level programs at once, while interpreters translate and execute one statement at a time.
Computer languages can be categorized into high-level languages, low-level languages, and machine language. High-level languages are closer to human language and require compilers or interpreters, while low-level languages like assembly language are closer to machine language. Machine language is binary code that is directly executable by computers. There are also different generations of languages that evolved with advances in hardware and software.
Redefining Healthcare_ How Family Doctors Are Leading the Charge by Dr.pdfDr. Steven Sukho Kim
油
As defined by Dr. Steven Sukho Kim, the future of healthcare is rapidly taking shape, and family doctors are playing a crucial role in this transformation. Traditionally viewed as the first line of defense against illness, family physicians are evolving into more dynamic healthcare providers, reshaping how healthcare is delivered. As the healthcare system moves toward a more patient-centered, preventative, and technology-driven model, family doctors are stepping up to meet these new challenges, making healthcare more personalized, accessible, and efficient.
Encephalitis is an acute inflammation of the brain, primarily caused by viral infections but also by bacterial, fungal, parasitic, autoimmune, or toxic insults. It can result in significant neurological dysfunction and, if untreated, may lead to severe complications or death.
Demography and Family Planning: Concepts, Indicators, and Public Health Progr...Dr.Navaneethakrishnan S
油
This presentation provides a detailed overview of demography and family planning, focusing on their significance in public health. It covers key demographic indicators such as birth rate, death rate, fertility rate, and population growth. The stages of the demographic cycle and the importance of census data in health planning are explained in detail. It also includes a comprehensive study of various family planning methods, both temporary and permanent, along with natural methods. Additionally, the presentation highlights national family welfare programs, Reproductive and Child Health (RCH) initiatives, and government strategies for population control in India. Ideal for pharmacy and healthcare students, this resource enhances understanding of health policies and their implementation.
Removable Appliances in Orthodontics | PPTFadilaAlhassan
油
Removable Appliances in Orthodontics | Types, Uses, and Treatment Planning
Removable orthodontic appliances play a crucial role in interceptive treatment, minor tooth movements, and retention. Unlike fixed appliances, they offer flexibility, patient compliance challenges, and specific indications for use. This presentation provides a comprehensive overview of removable appliances in orthodontics, covering their design, applications, advantages, and limitations.
What Youll Learn:
Types of Removable Appliances Active appliances, functional appliances, retainers, and space maintainers.
Mechanisms of Action How removable appliances influence tooth movement and jaw growth.
Indications & Contraindications When to use removable appliances vs. fixed orthodontic options.
Functional Appliances in Growth Modification The role of devices like the Twin Block, Bionator, and Frankel appliance.
Retention Strategies Hawley retainers, clear aligners, and other post-treatment retention options.
Advantages & Limitations Patient compliance, effectiveness, and case selection considerations.
Case Studies & Clinical Applications Real-world examples of removable appliance use in orthodontic treatment.
Who Should Watch?
This presentation is ideal for orthodontists, general dentists, dental students, and orthodontic assistants looking to enhance their knowledge of removable appliances and their role in treatment planning.
Understanding how and when to use removable orthodontic appliances can improve treatment outcomes, patient comfort, and overall orthodontic success.
Download, share, and refine your orthodontic expertise today!
#Orthodontics #RemovableAppliances #FunctionalAppliances #OrthodonticRetainers #InterceptiveOrthodontics #HawleyRetainer #SpaceMaintainers #DentalEducation #ToothMovement #GrowthModification #ClearAligners #OrthodonticTreatment #DentalCare #OralHealth #SmileCorrection
Good_Health_Presentation.pptx..... aaaaaaaSuresh Kola
油
This presentation explores the concept of good health as a holistic state of physical, mental, and social well-being. It highlights the importance of maintaining a healthy lifestyle, shares practical tips for daily wellness, and emphasizes the role of mental health and community support in overall well-being. The presentation encourages individuals to take proactive steps toward a healthier and more fulfilling life.
Meet the Modular Pillowyour ultimate sleep support system for chronic pain, hypermobility, and pregnancy relief. With adjustable sections and ergonomic design, this pillow keeps your spine aligned, reduces pressure points, and enhances overall comfort.
Chiropractic care provides a natural, non-invasive approach to relieve spinal compression. Through spinal adjustments, decompression therapy, manual manipulation, exercise, and postural training, it alleviates pain, improves mobility, and promotes healing. Chiropractic treatment targets the root causes of spinal compression for long-term relief and better spinal health.
Smile Analysis in Orthodontics | Understanding Esthetics & Treatment Planning
A beautiful smile is more than just straight teethits about harmony, symmetry, and proportion. Smile analysis is a crucial step in orthodontic treatment, helping clinicians evaluate facial and dental esthetics to achieve optimal results. This presentation provides an in-depth exploration of smile analysis in orthodontics, covering key principles, diagnostic tools, and treatment considerations.
What Youll Learn:
Components of Smile Esthetics Understanding lip dynamics, tooth proportions, gingival display, and smile arc.
Facial and Dental Analysis Evaluating macroesthetics, miniesthetics, and microesthetics for comprehensive treatment planning.
Smile Design Principles The role of symmetry, golden proportions, and occlusal plane in orthodontic outcomes.
Digital Smile Design (DSD) & Technology How AI, imaging software, and 3D simulations enhance diagnosis and patient communication.
Common Smile Esthetic Issues Managing excessive gingival display, asymmetry, diastemas, and tooth proportions in orthodontic care.
Interdisciplinary Approaches Collaborating with periodontists, prosthodontists, and cosmetic dentists for holistic treatment.
Who Should Watch?
This presentation is ideal for orthodontists, general dentists, dental students, and esthetic dentistry professionals looking to refine their diagnostic and treatment planning skills for smile enhancement.
By applying smile analysis principles, orthodontists can deliver more predictable, esthetically pleasing results that enhance both function and appearance.
Download, share, and elevate your orthodontic treatment planning today!
#Orthodontics #SmileAnalysis #DentalEsthetics #DigitalSmileDesign #OrthodonticTreatment #FacialEsthetics #ToothProportions #GingivalDisplay #SmileDesign #DentalSymmetry #EstheticDentistry #SmileMakeover #Occlusion #OralHealth #DentalEducation #AestheticSmile
At Medkul Pharmaceuticals, we prioritize your health by providing top-quality pharmaceutical solutions. We offer best quality assurance, monopoly rights, free promotional tools, and third-party manufacturing to support your business growth. As a leading name in the pharma industry, we ensure high standards and innovation in our products. Partner with us to expand your pharmaceutical business and deliver superior healthcare solutions.
A brain stroke, also known as a cerebrovascular accident (CVA), occurs due to an interruption in blood supply to the brain, leading to neuronal injury and dysfunction. It is classified into ischemic stroke (caused by vascular obstruction) and hemorrhagic stroke (caused by vessel rupture).
Immunity and Vaccines | Types, Mechanism, and Classification Social PharmacyDr.Navaneethakrishnan S
油
This presentation on Immunity and Vaccines provides a comprehensive overview of the human immune system, covering both innate and acquired immunity. It explains the mechanisms of active and passive immunity, along with natural and artificial classifications. The presentation also dives into the introduction, composition, types, and ideal characteristics of vaccines, including live attenuated, inactivated, subunit, and toxoid vaccines. Additionally, it discusses immune responses such as primary and secondary immune responses and highlights the significance of antigens and antibodies in disease prevention. This resource is ideal for pharmacy students and healthcare professionals studying Social Pharmacy or Immunology.
Immunity and Vaccines | Types, Mechanism, and Classification Social PharmacyDr.Navaneethakrishnan S
油
2 Programming Language.pdf
1. Programming Language
A programming language is a vocabulary and set of grammatical rules for instructing a computer or computing
device to perform specific tasks. The term programming language usually refers to high-level languages, such
as BASIC, C, C++, COBOL, Java, FORTRAN, Ada, and Pascal.
Each programming language has a unique set of keywords (words that it understands) and a special syntax for
organizing program instructions.
High-Level Programming Languages
High-level programming languages, while simple compared to human languages, are more complex than the
languages the computer actually understands, called machine languages. Each different type of CPU has its own
unique machine language.
Lying between machine languages and high-level languages are languages called assembly languages. Assembly
languages are similar to machine languages, but they are much easier to program in because they allow
a programmer to substitute names for numbers. Machine languages consist of numbers only.
Lying above high-level languages are languages called fourth-generation languages (usually abbreviated 4GL).
4GLs are far removed from machine languages and represent the class of computer languages closest to human
languages.
Converting to Machine Language
Regardless of what language you use, you eventually need to convert your program into machine language so that
the computer can understand it. There are two ways to do this:
Compile the program.
Interpret the program.
The question of which language is best is one that consumes a lot of time and energy among computer
professionals. Every language has its strengths and weaknesses. For example, FORTRAN is a particularly good
language for processing numerical data, but it does not lend itself very well to organizing large programs. Pascal
is very good for writing well-structured and readable programs, but it is not as flexible as the C programming
language. C++ embodies powerful object-oriented features, but it is complex and difficult to learn.
The Top Programming Languages?
According to IEEE Spectrum's interactive ranking, Python is the top programming language of 2017, followed
by C, Java and C++. Of course, the choice of which language to use depends on the type of computer the program
is to run on, what sort of program it is, and the expertise of the programmer.
Interpreter Versus Compiler
An interpreter translates high-level instructions into an intermediate form, which it then executes. In contrast,
a compiler translates high-level instructions directly into machine language. Compiled programs generally run
faster than interpreted programs. The advantage of an interpreter, however, is that it does not need to go through
2. the compilation stage during which machine instructions are generated. This process can be time-consuming if
the program is long. The interpreter, on the other hand, can immediately execute high-level programs.
For this reason, interpreters are sometimes used during the development of a program, when a programmer wants
to add small sections at a time and test them quickly. In addition, interpreters are often used in education because
they allow students to program interactively.
Both interpreters and compilers are available for most high-level languages. However, BASIC and LISP are
especially designed to be executed by an interpreter. In addition, page description languages, such as PostScript,
use an interpreter. Every PostScript printer, for example, has a built-in interpreter that executes PostScript
instructions.
What is Compiler?
A compiler is a program that translates source code into object code to be understood by a specific central
processing unit (CPU). The act of translating source code into object code is known as compilation. Compilation
is typically used for programs that translate source code from a high-level programming language (such as C++)
to a low-level programming language (such as machine code) to create an executable program. Likewise, when a
low-level language is converted into a high-level language, the process is called decompilation.
Phases of a compiler
A compiler executes its processes in phases to promote efficient design and correct transformations of source
input to target output. The phases are as follows:
1. Lexical Analyzer
It is also called a scanner. The compiler converts the sequence of characters that appear in the source code into a
series of string characters known as tokens. These tokens are defined by regular expressions which are understood
by the lexical analyzer. It also removes lexical errors, comments, and whitespace.
2. Syntax Analyzer
The syntax analyzer constructs the parse tree, which is constructed to check for ambiguity in the given grammar.
The syntax analyzer takes all tokens one by one and uses Context Free Grammar to construct the parse tree.
Syntax error can be detected if the input is not in accordance with the grammar.
3. Semantic Analyzer
The semantic analyzer verifies the parse tree constructed by the syntax analyzer. It also does type checking, label
checking, and flow control checking.
4. Intermediate Code Generator
The intermediate code generator generates intermediate code for execution by a machine. Intermediate code is
converted into machine language using the last two phases, which are platform dependent.
5. Code Optimizer
The code optimizer transforms the code so that it consumes fewer resources and produces more speed. The
meaning of the code that is being transformed is not altered.
3. 6. Target Code Generator
This is the final step in the final stage of compilation. The target code generator writes code that a machine can
understand and also registers allocation, instruction, and selection. The output is dependent on the type
of assembler. The optimized code is then converted into machine code, forming the input to the linker and loader.
Types of compilers
There are many types of compilers, such as:
Cross compiler: The compiled program runs on a computer that has a different operating system or CPU
from the one which the compiler runs on. It's capable of creating code for a platform other than the one
on which the compiler is running
Source-to-source compiler: Also known as a transcompiler, it translates source code written in one
programming language into source code of another programming language.
Just-in-time (JIT) compiler: A compiler that defers compilation until runtime. This compiler is used for
languages such as Python and JavaScript, and it generally runs inside an interpreter.
Language Types
Machine and assembly languages
A machine language consists of the numeric codes for the operations that a particular computer can execute
directly. The codes are strings of 0s and 1s, or binary digits (bits), which are frequently converted both from
and to hexadecimal (base 16) for human viewing and modification. Machine language instructions typically use
some bits to represent operations, such as addition, and some to represent operands, or perhaps the location of the
next instruction. Machine language is difficult to read and write, since it does not resemble conventional
mathematical notation or human language, and its codes vary from computer to computer.
Assembly language is one level above machine language. It uses short mnemonic codes for instructions and
allows the programmer to introduce names for blocks of memory that hold data. One might thus write add pay,
total instead of 0110101100101000 for an instruction that adds two numbers. Assembly language is designed
to be easily translated into machine language. Although blocks of data may be referred to by name instead of by
their machine addresses, assembly language does not provide more sophisticated means of organizing complex
information. Like machine language, assembly language requires detailed knowledge of internal computer
architecture. It is useful when such details are important, as in programming a computer to interact with peripheral
devices (printers, scanners, storage devices, and so forth).
Algorithmic languages
Algorithmic languages are designed to express mathematical or symbolic computations. They can express
algebraic operations in notation similar to mathematics and allow the use of subprograms that package commonly
used operations for reuse. They were the first high-level languages.
4. Object-oriented languages
Object-oriented languages help to manage complexity in large programs. Objects package data and the operations
on them so that only the operations are publicly accessible and internal details of the data structures are hidden.
This information hiding made large-scale programming easier by allowing a programmer to think about each part
of the program in isolation. In addition, objects may be derived from more general ones, inheriting their
capabilities. Such an object hierarchy made it possible to define specialized objects without repeating all that is
in the more general ones.
Object-oriented programming began with the Simula language (1967), which added information hiding to
ALGOL. Another influential object-oriented language was Smalltalk (1980), in which a program was a set of
objects that interacted by sending messages to one another.
Document formatting languages
Document formatting languages specify the organization of printed text and graphics. They fall into several
classes: text formatting notation that can serve the same functions as a word processing program, page description
languages that are interpreted by a printing device, and, most generally, markup languages that describe the
intended function of portions of a document.
Scripting languages
Scripting languages are sometimes called little languages. They are intended to solve relatively small
programming problems that do not require the overhead of data declarations and other features needed to make
large programs manageable. Scripting languages are used for writing operating system utilities, for special-
purpose file-manipulation programs, and, because they are easy to learn, sometimes for considerably larger
programs.
Declarative languages
Declarative languages, also called nonprocedural or very high level, are programming languages in which
(ideally) a program specifies what is to be done rather than how to do it. In such languages there is less difference
between the specification of a program and its implementation than in the procedural languages described so far.
The two common kinds of declarative languages are logic and functional languages.
Business-oriented languages
COBOL: Common Business Oriented Language has been heavily used by businesses since its inception in 1959.
A committee of computer manufacturers and users and U.S. government organizations established CODASYL
(Committee on Data Systems and Languages) to develop and oversee the language standard in order to ensure its
portability across diverse systems.
COBOL uses an English-like notationnovel when introduced. Business computations organize and manipulate
large quantities of data, and COBOL introduced the record data structure for such tasks. A record
clusters heterogeneous datasuch as a name, an ID number, an age, and an addressinto a single unit. This
5. contrasts with scientific languages, in which homogeneous arrays of numbers are common. Records are an
important example of chunking data into a single object, and they appear in nearly all modern languages.
SQL: Structured Query Language is a language for specifying the organization of databases (collections of
records). Databases organized with SQL are called relational, because SQL provides the ability to query a
database for information that falls in a given relation. For example, a query might be find all records with
both last name Smith and city New York. Commercial database programs commonly use an SQL-like language
for their queries.