Download Programming Languages Language Generations Computer

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
School of Computer Science &
Information Technology
Programming Languages
G6DICP - Lecture 2
The Java Programming Language

Formal languages in which computer programs are
written

All languages consist of syntax and semantics

Low level languages - close to machine code

High level languages - further removed from
machine code
2
Language Generations





Computer Programs

First: Raw machine code
Second: Assembly language (NB processor dependent)
Third: High level languages (eg Java, C, Fortran, Cobol
etc)
Fourth: Application languages (eg SQL, Postcript
Fifth: AI languages (expert systems, fuzzy logic, neural
networks etc)
3
Computers are "stupid"

Mathematical and logical instructions are executed very quickly and
accurately.

They obediently but stupidly do what you tell them to - not
necessarily what you want them to!

Tiny errors in a program can cause major problems when it is
executed.

Always remember syntax as well as semantics!

Careful planning is essential

Flow charts are a useful tool to represent program flow visually.
4
Components of
Tea Making Program
Kettle-Boiling Program
Is Kettle full?
No
Fill Kettle
Fill Kettle
Yes
Boil Kettle
Place kettle
under tap
Place Kettle
on hob
Open tap
Turn on heat
Wait
Make Tea
5
Wait
No
Boil Kettle
6
Is kettle full?
Is kettle boiling?
Yes
Close tap
Turn off heat
Yes
Kettle-Boiling Program
What is Java?
Fill Kettle
Place k ettle
u n d er tap
Is Kettle full?
No

O p en tap
Java is a programming language

Wait
No
Created by Sun Microsystems
Is k ettle fu ll?
Yes
Y es
Clo se tap

B oil Kettle
Java is not only for web programming



Place Kettle
on hob
Turn on heat
Wait
Is kettle
boiling?
Often used for web programming
Initially marketed as a web development system
General purpose programming language
Yes
Turn off heat

Very similar to C++ - simplified!
Make Tea
7
8
Java Model
Features of Java
Byte Code

Originally developed for hardware devices.

Platform Independent Binaries


9
Virtual Machine
Most operating systems
Also hardware devices

Robust and easy to use

Object Oriented and highly modular

Internationalisation

Networking and Security features
Operating System
Hardware
10
Java VM Platforms

Sun supported platforms






Solaris
Win32 (Windows 95/98 & NT)
Linux
“Hardware”
Applications



Other Unix
Mac OS
Palm OS
Symbian
and many others

Delivered over the Internet
Require a Java capable WWW browser
Servlets

12
Standalone programs
Require a VM
Applets


Third party platforms (freely licensed)





11
Types of Java Programs
Require a Java capable WWW server
Java Application
Java Applet
Storage
Source Code
Web Server
Byte Code
HTML
Byte Code
CPU/memory
Compiler
Web Browser
Web Browser
Program Execution
(embedded in web page)
Program Execution
Interpreter (VM)
Program Execution
13
14
Flavours of Java
Development Software

Java Developers Kit (JDK)






15

Freely available from Sun for most platforms
“no frills” development
JavaScript

Compiler - javac
Interpreter - java
Applet viewer - appletviewer
Utilities (auto-documentation, debugging, optimisation etc)

This is not Java!
Java Versions

Very obsolete

JDK 1.0

Java Runtime Environment (JRE)

Obsolete

Integrated Development Environments / RAD Systems

Java 2

Third party VM’s


16
JDK 1.1
JDK 1.2, 1.3 & 1.4
Related documents