Two Views of Computing

9
Two Views of Computing Languag e / Functio ns Machine / Storage CSCI 312 CSCI 313

description

Two Views of Computing. Language / Functions. CSCI 313. CSCI 312. Machine / Storage. Natural Languages vs. Programming Languages. NL's are semantically ambiguous: The spring was hot. NL's are syntactically ambiguous: tall men and women Can lead to embarrassment. - PowerPoint PPT Presentation

Transcript of Two Views of Computing

Page 1: Two Views of Computing

Two Views of Computing

Language /Functions

Machine /Storage

CSCI 312

CSCI 313

Page 2: Two Views of Computing

Natural Languages vs. Programming Languages

NL's are semantically ambiguous:

The spring was hot. NL's are syntactically ambiguous:

tall men and women Can lead to embarrassment...

Page 3: Two Views of Computing

“Actual” HeadlinesENRAGED COW INJURES FARMER WITH AX

DRUNK GETS NINE MONTHS IN VIOLIN CASE

IRAQI HEAD SEEKS ARMS

2 SISTERS REUNITED AFTER 18 YEARS IN CHECKOUT COUNTER

BRITISH LEFT WAFFLES ON FALKLAND ISLANDS

STUDENTS HEAR REPTILE LECTURE

EYE DROPS OFF SHELF

SQUAD HELPS DOG BITE VICTIM

MINERS REFUSE TO WORK AFTER DEATH

JUVENILE COURT TO TRY SHOOTING DEFENDANT

STOLEN PAINTING FOUND BY TREE

DEAD CATS PROTEST

ACTOR SENT TO JAIL FOR NOT FINISHING SENTENCE

Page 4: Two Views of Computing

Poetic PunsI met a traveller from an antique landWho said: Two vast and trunkless legs of stoneStand in the desert. Near them on the sand,Half sunk, a shatter'd visage lies, whose frownAnd wrinkled lip and sneer of cold commandTell that its sculptor well those passions readWhich yet survive, stamp'd on these lifeless things,The hand that mock'd them and the heart that fed.And on the pedestal these words appear:"My name is Ozymandias, king of kings:Look on my works, ye mighty, and despair!"Nothing beside remains: round the decayOf that colossal wreck, boundless and bare,The lone and level sands stretch far away.

Page 5: Two Views of Computing

Poetic PunsI met a traveller from an antique landWho said: Two vast and trunkless legs of stoneStand in the desert. Near them on the sand,Half sunk, a shatter'd visage lies, whose frownAnd wrinkled lip and sneer of cold commandTell that its sculptor well those passions readWhich yet survive, stamp'd on these lifeless things,The hand that mock'd them and the heart that fed.And on the pedestal these words appear:"My name is Ozymandias, king of kings:Look on my works, ye mighty, and despair!"Nothing beside remains: round the decayOf that colossal wreck, boundless and bare,The lone and level sands stretch far away.

- P. B. Shelley

Page 6: Two Views of Computing

Programming Languages

PLs avoid semantic ambiguity through

denotational semantics : explicit rules relating each

token (word) to its meaning in context. PLs avoid syntactic ambiguity through

Conventions (order of operations) Required indentation (Python) Explicit bracketing (Java, C++): good style

doesn’t rely on the conventions!

Page 7: Two Views of Computing

a = b / c / d;

if (a > b)c = a;if (x < y)c = b;elsec = a;

BAD STYLE

Page 8: Two Views of Computing

a = (b / c) / d;

if (a > b) { c = a;}if (x < y) { c = b;}else { c = a;}

GOOD STYLE

Page 9: Two Views of Computing

NL vs. PL: Summary

All NL's are equally good for most things that

people want to talk about (but cf. Sapir/Whorf Hypothesis)

PL's are designed with specific purposes in mind:

expressiveness. One PL may be better than another,

for a particular application. An educated person should know more than one

language.