Application Programming Languages

grrrgrapeInternet and Web Development

Oct 31, 2013 (4 years and 13 days ago)

79 views

1



Machine Language


First generation


write all
program instructions in terms of binary code (0s and 1s)



Assembly


Second generation


Close to m/c language,


Designed for a specific m/c and microprocessors


Has advantage, but difficult and costly to write and
learn


Still used today for writing system software


Application Programming Languages


High
-
level

Languages



e
.
g
.
,

C,

COBOL,

C++,

Basic,

FORTRAN,

Pascal

etc
.


Procedural,

textual

interface


Used

for

different

kinds

of

application

programs


C



PC

based,

efficient

programs,

portability,

systems

software

too


C++

-

OO

version

of

C

used

for

application

software

as

well

as

system

software


COBOL



Business

administration

to

process

large

data

files

with

alphanumeric

characters


Basic



Used

mainly

in

education

and

training,

to

introduce

programming

concepts

to

students


Pascal



primarily

used

in

computer

science

courses

to

teach

sound

programming

practices


FORTRAN



processes

mainly

numeric

data,

scientific

and

engineering

applications


Visual

Basic



visual

programming

tool

for

creating

applications

running

on

windows

Fourth

Generation

Languages
:


Consists

of

a

variety

of

software

tools

that

enable

end

users

to

develop

software

applications


Minimal

technical

assistance,

graphical

interface


Also

increases

professional

programmers’

productivity


Tend

to

be

non



procedural

than

conventional

programming

languages


Contd..


No

need

to

specify

a

strict

sequence

of

steps


Need

only

to

specify

what

has

to

be

accomplished


Some

nonprocedural

languages

use

‘natural

language

processors’

e
.
g
.
,

speech

recognition


Tightly

integrated

with

GUI

screens


Used

to

generate

complex

reports


Find

wide

application

in

development

of

business

and

commercial

application

packages


However

for

scientific

and

technical

work,

the

third

generation

languages

are

still

preferred



Seven

categories

of

fourth

generation

languages


Contd..


PC software tools


general purpose application software
packages


for PCs e.g., MS Word, Internet Explorer, MS Access


Query language


for retrieving data stored in databases,
supports a variety of query services not defined earlier e.g.,
SQL


Report generator


Extracts data form files/databases,


Creates customized reports,


Wide range of formats


More control and flexibility over formatting than query
languages

Contd..


RPG

III


Graphics

language



retrieves

data

from

files/databases,

displays

them

in

graphical

format,

can

perform

arithmetic

and

logical

operations

on

data

as

well

e
.
g
.
,

Systat,

SAS

graph


Application

generator


Contain

preprogrammed

modules

that

can

generate

applications,

including

web

sites


Speeds

development

greatly


Creates

appropriate

program

code


PowerBuilder,

MS

FrontPage


Contd….


Application

software

package


Packages

sold/distributed

by

commercial

vendors

to

eliminate/replace

in
-
house

custom

built

software


PeopleSoft,

SAP

R/
3


Very

high
-
level

programming

language


Generate

program

code

with

fewer

instructions

than

conventional

languages


Productivity

enhancement

tools

for

professional

programmers



Visual

Programming
:


Construction

of

software

programs

by

selecting

and

arranging

programming

objects

rather

that

by

writing

program

code


One

of

the

offshoots

of

the

Object
-
Oriented

paradigm


WebSphere,

SunOne

Studio

5

JAVA
:


Platform

independent,

object
-
oriented

programming

language

developed

by

Sun

Microsystems


Designed

to

run

on

any

computer

or

computing

device


Not

tied

to

any

microprocessor

or

any

OS

Contd….


Even

a

smart

cell

phone

or

PDA

can

share

the

same

Java

program


Can

create

‘applications’,

‘applets’,

or

‘servelets’


Applets

reside

on

centralized

network

servers


Server

delivers

the

requisite

applets

for

specific

functions


Provide

interactive

capabilities

for

web

pages


Java

is

a

very

robust



platform



Can

handle

text,

data,

graphics,

sound,

and

video

all

in

a

single

program


Hypertext Markup Language (HTML)
:


Page

description

language

for

creating

hypertext

or

hypermedia

documents

such

as

web

pages


Uses

instructions

called

tags

to

specify

how

the

text,

graphics,

sound

and

video

are

displayed

on

a

web

document/page


Tags

are

also

used

to

create

dynamic

links

to

other

web

pages

and

objects

stored

in

the

same

or

remote

computers


HTML

programs

are

not

written

manually



Created

using

HTML

editors

such

as

MS

FrontPage


eXtensible Markup Language (XML)
:



New

language

for

improving

the

usefulness

of

the

web

documents


HTML

limits

itself

to

how

the

text

and

images

should

be

displayed

on

a

web

page


XML

describes

what

the

data

in

those

documents

mean


This

ensures

that

data

elements

can

be

used

in

computer

programs

for

effective

manipulation

or

further

processing


In

XML,

the

XML

tag

specifies

whether

a

number

represents

a

price,

a

date,

or

a

ZIP

code


The

XML

tags

enrich

the

elements

with

their

exact

meanings

Contd….


So,

computer

programs

can

retrieve

specific

type

of

data

from

the

web

page,

manipulate

them

and

analyze

and

interpret

the

data

items

on

the

fly


Example



analyzing

on

line

sales

data

over

a

period

and

displaying

the

same

dynamically


XML

has

already

become

a

widely

used

technology

for

web

applications


XML

provides

a

standard

format

for

data

exchange


XML

Document

Type

Definition

(DTD)



directory

of

standards

i
.
e
.
,

RosettaNet

an

XML

dictionary

developed

by

34

leading

companies


Enables

the

sending

and

receiving

parties

to

describe

data

the

same

way


Client/Server Computing



In

client/server

computing,

desktops

called

clients

are

networked

to

server

computers


Servers

provide

the

clients

with

a

variety

of

services

and

capabilities


Computer

processing

work

is

split

between

these

two

types

of

machines


The

client

is

the

point

of

entry

Contd…


The

server


provides

communication

among

the

clients

and

processes


stores

shared

data


serves

up

web

pages,

or


manages

network

activities



The

term

server

refers

to

both

the

software

application

and

the

physical

computer

on

which

the

network

software

runs


Servers

could

be

mainframes

or

midrange

computers

or

powerful

PCs


Client/Server Architecture



Two
-
tier

client/server

architecture



the

simplest

client/server

network

with

a

client

networked

to

a

server

computer,

with

processing

split

between

the

two

o
Presentation

(UI)/application

logic

o
Storage


The

application

logic

is

placed

within

the

user

interface,

which

also

reads

and

writes

directly

to

the

database


Example



small

business

applications



Classic

Three
-
tier

architecture




o
Presentation



UI

o
Application

Logic

(model)



Storage

(persistent

storage

mechanism)


The

presentation

layer

is

separated


In

two
-
tier

architecture,

the

integration

of

UI

and

application

logic

inhibits

software

reuse,

and

makes

maintenance

more

complicated


This

is

obviated

in

three
-
tier

architecture


Also

we

have

the

flexibility

to

change/modify

the

presentation

without

having

to

recompile

the

model


Contd…..


Multi
-
tiered

(N
-
tier)

client/server

architectures



The

work

of

the

entire

network

is

balanced

over

several

different

levels

of

servers,

depending

on

the

kind

of

service

requested


A

client

request

may

be

served

by

a

web

server,

which

stores

and

manages

web

pages


A

particular

clients

request

to

have

corporate

info

may

be

passed

along

to

the

application

server


Contd…..


The

application

server

handles

all

application

operations

between

a

user

and

an

organization’s

back
-
end

business

systems


The

application

server

may

reside

on

the

same

computer

as

the

web

server,

or

may

reside

on

another

dedicated

computer


Client/server

computing

enables

computing

work

to

be

distributed

across

a

number

of

smaller

machines



cost

advantage


Definition

Definition

Application Programs

Operating System

Hardware

Definition

Application Programs

Shell

Kernel

Hardware

Basic Operating Systems Concepts

An

operating

system

is

software

that

acts

as

an

intermediary

between

the

user

(application

programs)

and

the

hardware

Two

main

goals
:

-

to

help

the

user

to

run

programs

in

a

convenient

way

-

to

run

programs

in

an

efficient

manner
:

resource

allocation

(memory,

CPU,

devices,

storage

space,
...
)


Shell
:

part

of

the

operating

system

that

accepts

user

commands
.

-

text

based

(e
.
g
.

MS

DOS)

-

graphical

user

interface



GUI

(MS

WINDOWS)


Contd….

Kernel
:

to

allocate,

to

use

and

to

free

resources

in

an

efficient

way
:

-
memory

management

-
processor

management

-
device

management

-
storage

management


Memory

management
:


-
to

allocate

memory
:

(look

up

for

free

memory

addresses)



mono
-
programming
:

one

single

program

in

main

memory

Contd…


multitasking
:

several

programs

from

one

user

in

main

memory


multi
-
programming
:

several

programs

from

several

users

in

main

memory


virtual

memory
:

additional

disk

storage

is

used

to

store

(parts)

of

running

programs

(backing

store

for

main

memory)

-

to

free

used

memory


Processor

management
:


-

to

allocate

processing

time

to

active

programs

(processes)
:



time

sharing
:

CPU

time

is

shared

by

several

programs

(scheduling)


Contd….


multithreading
:

CPU

time

is

shared

by

several

‘threads’

(program

pieces)


multiprocessing
:

programs

can

share

several

CPUs

either

in

a

symmetric

way

(SMP)

(processors

are

peers)

or

in

an

asymmetric

way

(master
-
slave

relationship

between

processors)

Device

management
:


-

regulates

the

traffic

between

the

CPU

and

the

I/O

devices

-
device

drivers
:

low
-
level

software

to

initiate

and

to

control

the

I/O

to

and

from

an

I/O

device


-
spool

(Simultaneous

Peripheral

Operations

On
-
line)
:

printer

output

is

sent

to

disk

storage

in

order

to

solve

the

problem

of

concurrent

printing
:


Contd….


concurrent

printing

on

one

printing

device


cancel

unwanted

print

jobs


change

print

job

priorities


memory

can

be

freed

during

printing

process


Storage

management

(information

management)
:


-
to

organise

and

retrieve

the

information

stored

on

storage

media

(tapes,

disks,


)

-
allocation

of

storage

capacity

-
remove

of

files,

directories

-
file

system

structure

-
Directories

-
files,

Inodes

-
security