This document discusses programming languages. It begins by asking what a programming language is and why there are so many types. It then defines a programming language as a set of rules that tells a computer what operations to perform. The document discusses the different types of programming languages like low-level languages close to machine code and high-level languages closer to English. It covers many popular programming languages from early generations like FORTRAN and COBOL to modern languages like C, C++, Java, and scripting languages. It concludes by discussing qualities of good programming languages like writability, readability, reliability and maintainability.
This document provides an introduction to computer programming concepts including:
- A programming language is a set of rules that allows communication between humans and computers to perform operations. Different languages have evolved for different types of programs and problem domains.
- Programs are written in high-level languages then compiled or interpreted into machine-readable code. Common language types include procedural, object-oriented, functional, and declarative languages.
- The programming process involves understanding the problem, designing an algorithm, writing source code, compiling for errors, debugging, and executing the program. Flowcharts can help design the program logic.
Lect 1. introduction to programming languagesVarun Garg
A programming language is a set of rules that allows humans to communicate instructions to computers. There are many programming languages because they have evolved over time as better ways to design them have been developed. Programming languages can be categorized based on their generation or programming paradigm such as imperative, object-oriented, logic-based, and functional. Characteristics like writability, readability, reliability and maintainability are important qualities for programming languages.
The document provides an overview of an introductory programming course titled "Principles of Programming CP 111". The summary is:
The course covers basic programming concepts like data types, program structure, algorithms, and decision and loop structures. It includes 3 tests, 3 quizzes, 9 lectures, and tutorials. Students will learn about programming languages, their history and uses in different domains like science, business and AI. The course also discusses compilation, interpretation, and different programming paradigms.
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
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.
This document discusses the evolution of programming languages from early machine languages to modern higher-level languages. It begins with an introduction to human and computer languages. It then covers the development of machine languages, assembly languages, and higher-level languages like FORTRAN and COBOL. The document discusses the advantages of each generation of languages and examples of languages from the 1950s to modern times.
This document provides an introduction to programming languages. It discusses the evolution of programming languages from machine languages to modern languages. It describes key terminology like programmers, programs, and programming. It also covers different types of language translators like assemblers, compilers, and interpreters that translate human-readable code into machine-readable code. Finally, it categorizes programming languages into five generations from low-level machine languages to high-level languages that resemble human languages.
The document provides an introduction to programming languages. It discusses the different levels of programming languages including low-level languages like machine language and assembly language that are close to hardware, and high-level languages like C++, Java, and Python that are more abstract. It also covers procedural languages which specify steps to complete tasks and object-oriented languages which model real-world objects. Examples are given of popular languages from each paradigm like C, Pascal, and PHP for procedural and C++, Java, Ruby for object-oriented.
Lec21&22.pptx programing language and there studysamiullahamjad06
Programming languages can be categorized based on their level of abstraction from the machine. Low-level languages like machine language and assembly language are closer to the machine while high-level languages are more abstract. High-level languages are easier for humans to read and write but require compilers or interpreters to convert them to machine language. Common high-level languages include FORTRAN, COBOL, BASIC, Pascal, C, C++ and newer languages like JavaScript and Python.
A programming language is a formal language used to describe computations. It consists of syntax, semantics, and tools like compilers or interpreters. Programming languages support different paradigms like procedural, functional, object-oriented, and logic-based approaches. Variables are named locations in memory that hold values and have properties like name, scope, type, and values.
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.
Programming Languages Categories / Programming Paradigm By: Prof. Lili Saghafi Professor Lili Saghafi
A programming language is a notation designed to connect instructions to a machine or a computer.
Programming languages are mainly used to control the performance of a machine or to express algorithms.
At present, thousands of programming languages have been implemented.
In the computer field, many languages need to be stated in an imperative form, while other programming languages utilize declarative form.
The program can be divided into two forms such as syntax and semantics.
Computer languages can be categorized into high-level languages, low-level languages, and machine language. High-level languages are easier for humans to read and write but require compilers or interpreters, while low-level languages like assembly language are closer to machine language but still use symbolic instructions. Machine language uses only binary and is directly executable by computers. Languages have evolved through five generations from low-level machine and assembly languages to modern high-level languages.
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.
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 involves writing programs in programming languages to solve computing problems. Early programming languages from the 1950s allowed communicating instructions to computers. A type system defines how a language classifies and manipulates values and expressions into types to verify correctness. Weak typing allows treating values as different types which can cause errors, while strong typing prevents this. The specification and implementation of a language allow users and implementors to agree on valid programs and their behavior. Programming languages are used widely in computing and differ from other forms of expression through their need for precision. Measuring a language's usage can consider factors like hours of use, lines of code, and CPU time. All languages have basic building blocks like data and processes defined by syntactic and semantic rules
This document discusses the classification and evolution of programming languages. It describes how programming languages have been categorized into low-level languages (machine language and assembly language), high-level languages (procedural languages from 3rd generation), and more advanced languages (non-procedural from 4th generation and natural languages from 5th generation). It provides examples like COBOL, SQL, BASIC, Pascal, C++, Java and Visual Basic to illustrate different types of languages and their uses.
Computer programming involves writing instructions for a computer in a programming language. It is done through programming languages that have specific syntax and keywords. There are low-level languages like machine code and assembly that are closer to what computers can understand directly, and high-level languages that are easier for humans like Python and Java but need to be compiled into machine code. Programs are made up of objects, variables, operations and control flow statements. Programming provides benefits like developing problem-solving skills and is a lucrative career.
This document discusses programming languages and their key concepts. It defines a programming language as a set of rules that tells a computer what operations to perform. It describes the syntax, semantics, and pragmatics of languages. It also discusses different language paradigms like imperative, functional, object-oriented, and rule-based languages. Finally, it outlines criteria for evaluating languages, including readability, writability, reliability, and cost.
The document discusses various programming domains and the characteristics of languages used for each domain. It covers scientific applications, business applications, artificial intelligence, systems programming, very high-level languages, and special-purpose languages. It also discusses criteria for evaluating languages, including readability, writability, reliability, and cost.
This document provides an introduction to programming languages. It discusses the evolution of programming languages from machine languages to modern languages. It describes key terminology like programmers, programs, and programming. It also covers different types of language translators like assemblers, compilers, and interpreters that translate human-readable code into machine-readable code. Finally, it categorizes programming languages into five generations from low-level machine languages to high-level languages that resemble human languages.
The document provides an introduction to programming languages. It discusses the different levels of programming languages including low-level languages like machine language and assembly language that are close to hardware, and high-level languages like C++, Java, and Python that are more abstract. It also covers procedural languages which specify steps to complete tasks and object-oriented languages which model real-world objects. Examples are given of popular languages from each paradigm like C, Pascal, and PHP for procedural and C++, Java, Ruby for object-oriented.
Lec21&22.pptx programing language and there studysamiullahamjad06
Programming languages can be categorized based on their level of abstraction from the machine. Low-level languages like machine language and assembly language are closer to the machine while high-level languages are more abstract. High-level languages are easier for humans to read and write but require compilers or interpreters to convert them to machine language. Common high-level languages include FORTRAN, COBOL, BASIC, Pascal, C, C++ and newer languages like JavaScript and Python.
A programming language is a formal language used to describe computations. It consists of syntax, semantics, and tools like compilers or interpreters. Programming languages support different paradigms like procedural, functional, object-oriented, and logic-based approaches. Variables are named locations in memory that hold values and have properties like name, scope, type, and values.
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.
Programming Languages Categories / Programming Paradigm By: Prof. Lili Saghafi Professor Lili Saghafi
A programming language is a notation designed to connect instructions to a machine or a computer.
Programming languages are mainly used to control the performance of a machine or to express algorithms.
At present, thousands of programming languages have been implemented.
In the computer field, many languages need to be stated in an imperative form, while other programming languages utilize declarative form.
The program can be divided into two forms such as syntax and semantics.
Computer languages can be categorized into high-level languages, low-level languages, and machine language. High-level languages are easier for humans to read and write but require compilers or interpreters, while low-level languages like assembly language are closer to machine language but still use symbolic instructions. Machine language uses only binary and is directly executable by computers. Languages have evolved through five generations from low-level machine and assembly languages to modern high-level languages.
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.
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 involves writing programs in programming languages to solve computing problems. Early programming languages from the 1950s allowed communicating instructions to computers. A type system defines how a language classifies and manipulates values and expressions into types to verify correctness. Weak typing allows treating values as different types which can cause errors, while strong typing prevents this. The specification and implementation of a language allow users and implementors to agree on valid programs and their behavior. Programming languages are used widely in computing and differ from other forms of expression through their need for precision. Measuring a language's usage can consider factors like hours of use, lines of code, and CPU time. All languages have basic building blocks like data and processes defined by syntactic and semantic rules
This document discusses the classification and evolution of programming languages. It describes how programming languages have been categorized into low-level languages (machine language and assembly language), high-level languages (procedural languages from 3rd generation), and more advanced languages (non-procedural from 4th generation and natural languages from 5th generation). It provides examples like COBOL, SQL, BASIC, Pascal, C++, Java and Visual Basic to illustrate different types of languages and their uses.
Computer programming involves writing instructions for a computer in a programming language. It is done through programming languages that have specific syntax and keywords. There are low-level languages like machine code and assembly that are closer to what computers can understand directly, and high-level languages that are easier for humans like Python and Java but need to be compiled into machine code. Programs are made up of objects, variables, operations and control flow statements. Programming provides benefits like developing problem-solving skills and is a lucrative career.
This document discusses programming languages and their key concepts. It defines a programming language as a set of rules that tells a computer what operations to perform. It describes the syntax, semantics, and pragmatics of languages. It also discusses different language paradigms like imperative, functional, object-oriented, and rule-based languages. Finally, it outlines criteria for evaluating languages, including readability, writability, reliability, and cost.
The document discusses various programming domains and the characteristics of languages used for each domain. It covers scientific applications, business applications, artificial intelligence, systems programming, very high-level languages, and special-purpose languages. It also discusses criteria for evaluating languages, including readability, writability, reliability, and cost.
SVM introduction for machine learning engineersabigailjudith8
In essence, the AWS Machine Learning Foundations program serves as a starting point for those looking to build a solid understanding of machine learning principles and gain practical experience using AWS’s powerful machine learning services. It emphasizes scalable model development, deployment, and management within the cloud infrastructure provided by AWS.
Fluid mechanics is the branch of physics concerned with the mechanics of fluids (liquids, gases, and plasmas) and the forces on them. Originally applied to water (hydromechanics), it found applications in a wide range of disciplines, including mechanical, aerospace, civil, chemical, and biomedical engineering, as well as geophysics, oceanography, meteorology, astrophysics, and biology.
It can be divided into fluid statics, the study of various fluids at rest, and fluid dynamics.
Fluid statics, also known as hydrostatics, is the study of fluids at rest, specifically when there's no relative motion between fluid particles. It focuses on the conditions under which fluids are in stable equilibrium and doesn't involve fluid motion.
Fluid kinematics is the branch of fluid mechanics that focuses on describing and analyzing the motion of fluids, such as liquids and gases, without considering the forces that cause the motion. It deals with the geometrical and temporal aspects of fluid flow, including velocity and acceleration. Fluid dynamics, on the other hand, considers the forces acting on the fluid.
Fluid dynamics is the study of the effect of forces on fluid motion. It is a branch of continuum mechanics, a subject which models matter without using the information that it is made out of atoms; that is, it models matter from a macroscopic viewpoint rather than from microscopic.
Fluid mechanics, especially fluid dynamics, is an active field of research, typically mathematically complex. Many problems are partly or wholly unsolved and are best addressed by numerical methods, typically using computers. A modern discipline, called computational fluid dynamics (CFD), is devoted to this approach. Particle image velocimetry, an experimental method for visualizing and analyzing fluid flow, also takes advantage of the highly visual nature of fluid flow.
Fundamentally, every fluid mechanical system is assumed to obey the basic laws :
Conservation of mass
Conservation of energy
Conservation of momentum
The continuum assumption
For example, the assumption that mass is conserved means that for any fixed control volume (for example, a spherical volume)—enclosed by a control surface—the rate of change of the mass contained in that volume is equal to the rate at which mass is passing through the surface from outside to inside, minus the rate at which mass is passing from inside to outside. This can be expressed as an equation in integral form over the control volume.
The continuum assumption is an idealization of continuum mechanics under which fluids can be treated as continuous, even though, on a microscopic scale, they are composed of molecules. Under the continuum assumption, macroscopic (observed/measurable) properties such as density, pressure, temperature, and bulk velocity are taken to be well-defined at "infinitesimal" volume elements—small in comparison to the characteristic length scale of the system, but large in comparison to molecular length scale
International Journal of Distributed and Parallel systems (IJDPS)samueljackson3773
The growth of Internet and other web technologies requires the development of new
algorithms and architectures for parallel and distributed computing. International journal of
Distributed and parallel systems is a bimonthly open access peer-reviewed journal aims to
publish high quality scientific papers arising from original research and development from
the international community in the areas of parallel and distributed systems. IJDPS serves
as a platform for engineers and researchers to present new ideas and system technology,
with an interactive and friendly, but strongly professional atmosphere.
Concept of Problem Solving, Introduction to Algorithms, Characteristics of Algorithms, Introduction to Data Structure, Data Structure Classification (Linear and Non-linear, Static and Dynamic, Persistent and Ephemeral data structures), Time complexity and Space complexity, Asymptotic Notation - The Big-O, Omega and Theta notation, Algorithmic upper bounds, lower bounds, Best, Worst and Average case analysis of an Algorithm, Abstract Data Types (ADT)
In tube drawing process, a tube is pulled out through a die and a plug to reduce its diameter and thickness as per the requirement. Dimensional accuracy of cold drawn tubes plays a vital role in the further quality of end products and controlling rejection in manufacturing processes of these end products. Springback phenomenon is the elastic strain recovery after removal of forming loads, causes geometrical inaccuracies in drawn tubes. Further, this leads to difficulty in achieving close dimensional tolerances. In the present work springback of EN 8 D tube material is studied for various cold drawing parameters. The process parameters in this work include die semi-angle, land width and drawing speed. The experimentation is done using Taguchi’s L36 orthogonal array, and then optimization is done in data analysis software Minitab 17. The results of ANOVA shows that 15 degrees die semi-angle,5 mm land width and 6 m/min drawing speed yields least springback. Furthermore, optimization algorithms named Particle Swarm Optimization (PSO), Simulated Annealing (SA) and Genetic Algorithm (GA) are applied which shows that 15 degrees die semi-angle, 10 mm land width and 8 m/min drawing speed results in minimal springback with almost 10.5 % improvement. Finally, the results of experimentation are validated with Finite Element Analysis technique using ANSYS.
Analysis of reinforced concrete deep beam is based on simplified approximate method due to the complexity of the exact analysis. The complexity is due to a number of parameters affecting its response. To evaluate some of this parameters, finite element study of the structural behavior of the reinforced self-compacting concrete deep beam was carried out using Abaqus finite element modeling tool. The model was validated against experimental data from the literature. The parametric effects of varied concrete compressive strength, vertical web reinforcement ratio and horizontal web reinforcement ratio on the beam were tested on eight (8) different specimens under four points loads. The results of the validation work showed good agreement with the experimental studies. The parametric study revealed that the concrete compressive strength most significantly influenced the specimens’ response with the average of 41.1% and 49 % increment in the diagonal cracking and ultimate load respectively due to doubling of concrete compressive strength. Although the increase in horizontal web reinforcement ratio from 0.31 % to 0.63 % lead to average of 6.24 % increment on the diagonal cracking load, it does not influence the ultimate strength and the load-deflection response of the beams. Similar variation in vertical web reinforcement ratio leads to an average of 2.4 % and 15 % increment in cracking and ultimate load respectively with no appreciable effect on the load-deflection response.
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITYijscai
With the increased use of Artificial Intelligence (AI) in malware analysis there is also an increased need to
understand the decisions models make when identifying malicious artifacts. Explainable AI (XAI) becomes
the answer to interpreting the decision-making process that AI malware analysis models use to determine
malicious benign samples to gain trust that in a production environment, the system is able to catch
malware. With any cyber innovation brings a new set of challenges and literature soon came out about XAI
as a new attack vector. Adversarial XAI (AdvXAI) is a relatively new concept but with AI applications in
many sectors, it is crucial to quickly respond to the attack surface that it creates. This paper seeks to
conceptualize a theoretical framework focused on addressing AdvXAI in malware analysis in an effort to
balance explainability with security. Following this framework, designing a machine with an AI malware
detection and analysis model will ensure that it can effectively analyze malware, explain how it came to its
decision, and be built securely to avoid adversarial attacks and manipulations. The framework focuses on
choosing malware datasets to train the model, choosing the AI model, choosing an XAI technique,
implementing AdvXAI defensive measures, and continually evaluating the model. This framework will
significantly contribute to automated malware detection and XAI efforts allowing for secure systems that
are resilient to adversarial attacks.
This paper proposes a shoulder inverse kinematics (IK) technique. Shoulder complex is comprised of the sternum, clavicle, ribs, scapula, humerus, and four joints.
"Feed Water Heaters in Thermal Power Plants: Types, Working, and Efficiency G...Infopitaara
A feed water heater is a device used in power plants to preheat water before it enters the boiler. It plays a critical role in improving the overall efficiency of the power generation process, especially in thermal power plants.
🔧 Function of a Feed Water Heater:
It uses steam extracted from the turbine to preheat the feed water.
This reduces the fuel required to convert water into steam in the boiler.
It supports Regenerative Rankine Cycle, increasing plant efficiency.
🔍 Types of Feed Water Heaters:
Open Feed Water Heater (Direct Contact)
Steam and water come into direct contact.
Mixing occurs, and heat is transferred directly.
Common in low-pressure stages.
Closed Feed Water Heater (Surface Type)
Steam and water are separated by tubes.
Heat is transferred through tube walls.
Common in high-pressure systems.
⚙️ Advantages:
Improves thermal efficiency.
Reduces fuel consumption.
Lowers thermal stress on boiler components.
Minimizes corrosion by removing dissolved gases.
Sorting Order and Stability in Sorting.
Concept of Internal and External Sorting.
Bubble Sort,
Insertion Sort,
Selection Sort,
Quick Sort and
Merge Sort,
Radix Sort, and
Shell Sort,
External Sorting, Time complexity analysis of Sorting Algorithms.
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptxRishavKumar530754
LiDAR-Based System for Autonomous Cars
Autonomous Driving with LiDAR Tech
LiDAR Integration in Self-Driving Cars
Self-Driving Vehicles Using LiDAR
LiDAR Mapping for Driverless Cars
2. What is a programming language?
Why are there so many programming
languages?
What are the types of programming
languages?
Does the world need new languages?
3. A programming language is a set of rules
that provides a way of telling a computer
what operations to perform.
A programming language is a set of rules
for communicating an algorithm
It provides a linguistic framework for
describing computations
4. PS — Introduction
A programming language is a notational system for
describing computation in a machine-readable and
human-readable form.
A programming language is a tool for developing
executable models for a class of problem domains.
5. English is a natural language. It has words,
symbols and grammatical rules.
A programming language also has words,
symbols and rules of grammar.
The grammatical rules are called syntax.
Each programming language has a different
set of syntax rules.
6. Why does some people speak French?
Programming languages have evolved over
time as better ways have been developed to
design them.
◦ First programming languages were developed in
the 1950s
◦ Since then thousands of languages have been
developed
Different programming languages are
designed for different types of programs.
7. High-level program class Triangle {
...
float surface()
return b*h/2;
}
Low-level program LOAD r1,b
LOAD r2,h
MUL r1,r2
DIV r1,#2
RET
Executable Machine code 0001001001000101
0010010011101100
10101101001...
8. First Generation Languages
Second Generation Languages
Third Generation Languages
Fourth Generation Languages
Fifth Generation Languages
9. Machine language
◦ Operation code – such as addition or subtraction.
◦ Operands – that identify the data to be processed.
◦ Machine language is machine dependent as it is the
only language the computer can understand.
◦ Very efficient code but very difficult to write.
10. Assembly languages
◦ Symbolic operation codes replaced binary operation
codes.
◦ Assembly language programs needed to be
“assembled” for execution by the computer. Each
assembly language instruction is translated into one
machine language instruction.
◦ Very efficient code and easier to write.
11. Closer to English but included simple
mathematical notation.
◦ Programs written in source code which must be
translated into machine language programs called
object code.
◦ The translation of source code to object code is
accomplished by a machine language system
program called a compiler.
12. Alternative to compilation is interpretation
which is accomplished by a system program
called an interpreter.
Common third generation languages
◦ FORTRAN
◦ COBOL
◦ C and C++
◦ Visual Basic
13. A high level language (4GL) that requires fewer
instructions to accomplish a task than a third
generation language.
Used with databases
◦ Query languages
◦ Report generators
◦ Forms designers
◦ Application generators
14. Declarative languages
Functional(?): Lisp, Scheme, SML
◦ Also called applicative
◦ Everything is a function
Logic: Prolog
◦ Based on mathematical logic
◦ Rule- or Constraint-based
15. Though no clear definition at present, natural
language programs generally can be
interpreted and executed by the computer with
no other action by the user than stating their
question.
Limited capabilities at present.
17. Two broad groups
◦ Traditional programming languages
Sequences of instructions
First, second and some third generation languages
◦ Object-oriented languages
Objects are created rather than sequences of
instructions
Some third generation, and fourth and fifth generation
languages
18. Simula
◦ First object-oriented language
◦ Developed by Ole Johan Dahl in the 1960s.
Smalltalk
◦ First purely object-oriented language.
◦ Developed by Xerox in mid-1970s.
◦ Still in use on some computers.
19. C++
◦ It is C language with additional features.
◦ Widely used for developing system and application
software.
◦ Graphical user interfaces can be developed easily
with visual programming tools.
20. Scripting Languages
◦ JavaScript and VBScript
◦ Php and ASP
◦ Perl and Python
Command Languages
◦ sh, csh, bash
Text processing Languages
◦ LaTex, PostScript
21. HTML
◦ HyperText Markup Language.
◦ Used on the Internet and the World Wide Web
(WWW).
◦ Web page developer puts brief codes called tags in
the page to indicate how the page should be
formatted.
22. Programming languages are languages
When it comes to mechanics of the task,
learning to speak and use a programming
language is in many ways like learning to
speak a human language
In both kind of languages you have to learn
new vocabulary, syntax and semantics (new
words, sentence structure and meaning)
And both kind of language require
considerable practice to make perfect.
23. Computer languages lack ambiguity and
vagueness
In English sentences such as I saw the man with
a telescope (Who had the telescope?) or Take a
pinch of salt (How much is a pinch?)
In a programming language a sentence either
means one thing or it means nothing
24. Formerly: Run-time performance
◦ (Computers were more expensive than
programmers)
Now: Life cycle (human) cost is more
important
◦ Ease of designing, coding
◦ Debugging
◦ Maintenance
◦ Reusability
FADS
25. Writability: The quality of a language that enables a
programmer to use it to express a computation
clearly, correctly, concisely, and quickly.
Readability: The quality of a language that enables a
programmer to understand and comprehend the
nature of a computation easily and accurately.
Orthogonality: The quality of a language that
features provided have as few restrictions as possible
and be combinable in any meaningful way.
Reliability: The quality of a language that assures a
program will not behave in unexpected or disastrous
ways during execution.
Maintainability: The quality of a language that eases
errors can be found and corrected and new features
added.
26. Generality: The quality of a language that avoids
special cases in the availability or use of constructs
and by combining closely related constructs into a
single more general one.
Uniformity: The quality of a language that similar
features should look similar and behave similar.
Extensibility: The quality of a language that provides
some general mechanism for the user to add new
constructs to a language.
Standardability: The quality of a language that allows
programs written to be transported from one
computer to another without significant change in
language structure.
Implementability: The quality of a language that
provides a translator or interpreter can be written.
This can address to complexity of the language
definition.
27. A variable is a label assigned to a value.
The symbol = is the assignment operator (and
not the equals symbol!), and it can be
pronounced is assigned
The symbol + is the concatenation symbol
when dealing with strings (and not the plus
symbol!)
28. •Variable: A named storage location in memory that holds a
value.
•Syntax: The set of rules that defines the combinations of
symbols that are considered valid in the programming language.
•Operator: A symbol that performs a specific operation on one
or more operands (e.g., +, -, *, /).
•Operand: A value or variable that an operator acts upon.
•Function: A reusable block of code that performs a specific
task.
•Data Type: A classification that specifies the type of data (e.g.,
integer, float, string, list).
•Conditional Statement: A statement that executes different
code blocks based on whether a condition is true or false.
29. At the gym. You are the manager of a gym and
you have to register a new person. What
variables would you create? Write three
variables, assign a value to each of them (make
sure they are strings!), and print them out.
30. Question: Write a Python program that takes
two numbers as input from the user and
calculates their sum.
1. Prompt the user to enter the first number.
2. Prompt the user to enter the second number.
3. Calculate the sum of the two numbers.
4. Print the result in a formatted message.