Oberon Oral Exam English. index The creator The history The use The syntax An example Conclusion.

Post on 17-Jan-2016

214 views 1 download

Transcript of Oberon Oral Exam English. index The creator The history The use The syntax An example Conclusion.

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?