0% found this document useful (0 votes)
29 views

Lecture 2

This document discusses evaluation criteria for programming languages. It outlines several important criteria like expressivity, well-definedness, data types and structures, readability, efficiency, pedagogy, generality, and writability. Each criteria is influenced by characteristics determined during a language's design, and the choice of language depends on which criteria are most important for a given purpose.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views

Lecture 2

This document discusses evaluation criteria for programming languages. It outlines several important criteria like expressivity, well-definedness, data types and structures, readability, efficiency, pedagogy, generality, and writability. Each criteria is influenced by characteristics determined during a language's design, and the choice of language depends on which criteria are most important for a given purpose.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 25

Unit 2: APPLICATION DOMAIN

CONTENTS:
1.0 Introduction
2.0 Objectives
3.0 Main Content
3.1 Application Domain
3.1.1 Scientific application
3.1.2 Data process application
3.1.3 Text processing application
3.1.4 Artificial intelligence applications
3.1.5 Systems programming application
3.1.6 Web software

4.0 Conclusion
5.0 Summary
6.0 Quiz
Introduction
Computers have been applied to a countless
of different areas, from controlling nuclear
power plants to providing video games in
mobile phones.
Because of this great diversity in computer
use, programming languages with very
different goals have been developed. This
discuss areas of computer applications and
their associated languages.
OBJECTIVES
At the end of this unit, you should be able to:

► Discuss different area of application domain

► Highlight
associated languages that is applicable to
each domain

► Describefundamental properties of programming


languages.
Properties of PL
1. Scientific Applications
Scientific application can be characterized as those
which predominantly manipulate numbers and arrays
of numbers, using mathematical and statistical
principles as a basis for the algorithms. These
algorithms encompass such problem as statistical
significance test, linear programming, regression
analysis and numerical approximations for the solution
of differential and integral equations. Example of such
programming languages are FORTRAN(designing
bridges and aeroplane structures), Pascal(research
projects to PC games and embedded systems like
Smartwatches, Fitness Trackers), Meth lab
Embedded systems applications

An embedded system is defined as a device consisting of a


processor, memory, and input/output units and having a
specific function within a larger system.
2. Data processing Applications
This can be characterized as those programming problems
whose predominant interest is in the creation, maintenance,
extraction and summarization of data in records and files.
COBOL is a programming language is the first high level
language used for business application and still commonly
used language

COBOL applications help run payroll programs, manage


government pension funds, operate banking systems,
manage hotel bookings, book airline tickets, and much more..
3. Text processing Applications
These are characterized as those whose principal activity
involves the manipulation of natural language text, rather
than numbers as their data. SNOBOL and C language have
strong text processing capabilities
The first operating system to be developed using a
high-level programming language(C) was UNIX

Google file system and Google chromium browser


were developed using C/C++

One of the most popular uses of the C language was


the creation of compilers

Since the C programming language is relatively


faster than Java or Python, as it is compiler-based, it
finds several applications in the gaming sector.
4. Artificial intelligence Applications
These are characterized as those programs which are
designed principally to emulate intelligent behavior.
They include game playing algorithms such as chess,
natural language understanding programs, computer
vision, robotics and expert systems. LISP has been
the predominant AI programming language, and also
PROLOG using the principle of ‘Logic programming‘‘
Lately AI applications are written in Java, C++ and
python.
 detect any type of
possible suspicious
fraud, e.g in Gmail
spam mails
(misspelling domain,
urgency, money
involved, suspicious
link, poorly written
email)
 diagnosis and
troubleshooting of
devices
 PXDES: It is an
expert system that
is used to determine
the type and level of
lung or breast Examples of Expert systems using AI
cancer
 Surgical robotic
systems
5. Systems Programming Applications
System programming applications
involve developing those programs that
interface the computer system (the
hardware) with the programmer and the
operator. These programs include
compilers, assembles, interpreters,
input-output routines, program
management facilities and schedules for
utilizing and serving the various
resources that comprise the system.
Ada, C and Modula-2 are examples of
programming languages used.

Compiler: C, C++, C#
Interpreter: Python, Perl, JavaScript,
Ruby
6. Web based software
The World Wide Web is supported by a collection of languages, ranging from markup
languages, such as HTML, which is not a programming language, to general-purpose
programming languages, such as Java. Because of the pervasive need for dynamic
Web content, some computation capability is often included in the technology of
content presentation. This functionality can be provided by embedding programming
code in an HTML document in form of scripting language, such as JavaScript or PHP.
There are also some markup-like languages that have been extended to include
constructs that control document processing, collection of languages includes: Markup
(e.g. XHTML) - Scripting for dynamic content under which there are: Client side, using
scripts embedded in the XHTML documents e.g. JavaScript, PHP Server side, using
the common Gateway interface e.g. JSP, ASP, PHP General- purpose, executed on the
web server through e.g. Java, C++
Conclusion

► An application domain is a mechanism (similar to a process


in an operating system) used within the Common Language
Infrastructure (CLI) to isolate executed software applications
from one another so that they do not affect each other.

► Categories of application domains are discussed extensively


based on scientific application, data processing application,
test processing application, artificial intelligence application,
system programming application and web software with
different choice of programming languages that can be used
for them.
Self-assessment Exercise

► 1. Discuss other application domain you know that is not


mention here

► 2. What is the disadvantages of having too many features in


a language?
Summary
Computers are used in a wide variety of problem-solving
domains. This unit has explained how the design and
evaluation of a particular programming language is highly
dependent on the domain in which it is to be used, it has
enables students to know language more intelligently and be
able to choose language appropriate for a particular project
and to make learning new languages easier.
Class work
1. What makes a programming language successful?

2. What programming language has dominated


scientific computing over the past 50 years?

3. What programming language has dominated


business applications over the past 50 years?

4. What programming language has dominated


artificial intelligence over the past 50 years?

5. In what language is most of UNIX written?


Unit 3 Language Evaluation Criteria Contents
► 1.0 Introduction
► 2.0 Objectives
► 3.0 Main Content
► 3.1 Language evaluation criteria
► 4.0 Conclusion
► 5.0 Summary
Introduction to Evaluation

The design and evaluation of programming languages is a


challenging area because; as discussed earlier and seen there
is no such thing as a "best" language. Instead, existing
languages are strong by some criteria and weak by the others,
so that the choice o f a language for a particular purpose is
tied to a decision as to which criteria are most important.

In order to understand the various constructs of a


programming language and its capabilities, it is useful to know
some evaluation criteria. Each of these criteria is determined
and influenced by a certain number of language qualities,
determined and implemented during the design of the
language. Therefore, design determines language
characteristics that make it good for a specific task resolution.
Objectives
At the end of this unit, you should be able to:

► To consider criteria for evaluating programming


languages

► Highlight associated criteria

► Show characteristics that affect those criteria


Language criteria
► Expressivity: ability of a language to clearly reflect the meaning intended
by the algorithm designer (the programmer)

► Well-Definedness: the language‘s syntax and semantics are free of


ambiguity and are internally consistent and complete

► Data types and structures: ability of a language to support a variety of


data values (integers, real, strings, pointers etc.) and non-elementary collect
ions of these.

► Readability: One of the most important criteria for judging a programming


language is the ease with which programs can be read and understood

► Efficiency: An efficient language is one which permits fast compilation and


execution on the machines where it is implemented. Traditionally, FORTRAN
and COBOL have been relatively efficient languages in their respective
application areas.
Language criteria
► Pedagogy: That is, some languages are intrinsically easier to teach and to learn,
they have better textbooks; they are implemented in a better program
development environment, they are widely known and used by the best
programmers in an application area.

► Generality: Means that a language is useful in a wide range of programming


applications. For instance, APL has been used in mathematical applications
involving matrix algebra and in business applications as well.

► Writability: Writability refers to the ease with which code can be written in a
particular language. A language with good writability has a concise syntax, easy-
to-remember keywords and constructs, and powerful abstractions that make it
easy to express complex ideas. It should also have good support for debugging
and testing to ensure that code is written correctly.

► Reliability: Reliability refers to the ability of a language to produce consistent and


predictable results, even in the presence of errors and unforeseen circumstances.
A language with good reliability is less likely to produce unexpected results or
crashes, making it more suitable for building robust and reliable software.
Language criteria

One of the most important criterion for programming language is how easy it can be
read and understood, which is called readability. There are also writability, reliability
and cost criteria, were discussed. From the above table, readability is affected by
Simplicity, Orthogonality, Data Types and Syntax Design and this article is going to talk
about each one of them in detail.
Conclusion

► Among the most important criteria for evaluating


languages are readability, writability, reliability, and
overall cost. These will be the basis on which we
examine and judge the various language features
that were discussed
Summary
Evaluation results are likely to suggest that your program has
strengths as well as limitations, which should not be a simple
declaration of program success or failure. Evidence that your
EE program is not achieving all of its ambitious objectives can
be hard to swallow, but it can also help to learn where to
best to put limited resources.

A good evaluation is one that is likely to be replicable,


meaning that the same evaluation should be conducted and
get the same results. The higher the quality of the evaluation
design, its data collection methods and its data analysis, the
more accurate its conclusions and the more confident others
will be in its findings.
Home Work
 1. What are some features of specific
programming languages you know whose
rationales are a mystery to you?
► 2. What common programming language
statement, in your opinion, is most detrimental to
readability?
► 3. Explain the different aspects of the cost of a
programming language.?
► 4. In your opinion, what major features would a
perfect programming language include
► 5. Write an evaluation of some programming
language you know, using the criteria described

You might also like