Upload
derick-norton
View
214
Download
1
Embed Size (px)
Citation preview
Oberon
Oral Exam English
index
The creatorThe historyThe useThe syntaxAn exampleConclusion
The creator - Niklaus Wirth
Swiss computer scientistborn February 1934Academic history
Electronics Engineering (ETH in Zürich)Master degree from Laval University ,
CanadaPh.D from University of California Berkeley
The creator - Niklaus Wirth
Assistant professor Comp Science at Stanford University and University of Zürich
Prof Informatics at ETH ZürichChief designer of Algol W, Pascal,
Modula, Modula-2, and Oberon
history
ALGOL – 60’sPascal – 70’s (first OO)Modula / Modula-2 –- 80’s (Modules)Oberon / Oberon-2 –- 80’s-90’s (OO)
The use
Pascal’s syntax, styleMore powerVery clear structureObject-Oriented20 years experienceExecutable problemUsed for teaching
The syntax - introduction
Case sensitive Line end ; Comment (* *)
MODULE Hello;(* first program *)IMPORT Out;
PROCEDURE Do*BEGIN
Out.String(“Hello”);Out.Ln;
END Do;
END Hello;
The syntax – Programme Structure
MODULE Hello;(* first program *)IMPORT Out;
PROCEDURE Do*BEGIN
Out.String(“Hello”);Out.Ln;
END Do;
END Hello;
MODULE PROCEDURE
BEGIN END
predefined words
The syntax – VAR & CONST
Predefined section Marked by “VAR” Varname : TYPE; Assignment operator
:= constants in
“CONST” section
PROCEDURE Vartest*CONST
numb = 6;VAR
a : INTEGER;b : REAL;c : REAL;
BEGINa := 3;c := numb*a;Out.Real(c);Out.Ln;
END Vartest;
The syntax - Datatypes
BOOLEAN TRUE / FALSECHAR ASCIISHORTINT -128...127INTEGER -32768...32767LONGINT -2E+9...2E+9REAL -3,4E+38...3.4E+38
The syntax – Loops / Conditions
WHILEWHILE (var1 < 3) DO
var2 := var2 + 1;
END;
REPEATREPEAT
var2 := var2 + 1;
UNTIL (var1 < 3);
LOOPLOOP
var2 := var2 + 1;
EXIT;
END;
IFIF (var1 = 3) THEN
Out.String(“Hurray”);
ELSE
Out.String(“Booh”);
END;
CASECASE var1 OF
1 : Out.String(“1”);
| 2 : Out.String(“2”);
| 3 : Out.String(“3”);
ELSE
Out.String(“none”);
END;
Example – GFX engine
Very powerful languageExample : my GFX engine
5 months experience in OberonNo other programming background
Many GFX possibilities
Example – GFX engine
Dynamic 3D Object Rendered by Oberon Backface culling Z-buffer Shading
Example – GFX examples
Conclusion
Structured, Compact, PowerfulMany possible compilersDownside : Executable filesUsed for teaching
Thank you for your attention
Any questions?