Programming Languages Test 1
What does EBNF include?
Brackets for optional parts of the syntax Braces for parts that can be repeated indefinitely or left out
Name some implementation/compilation methods?
Compiler Implementation- Source language is completely translated into machine language. Fast execution but if changes are made re-compilation must be done Interpretation- Source code is interpreted by another program called an interpreter, with no translation what so ever. Flexible, and easier to debug, but 10 to 100 times slower. Hybrid implementation- Compromise between the two. Source code is compiled into an intermediate language that must only be decoded once before interpretation. Java uses bytecode which provides portability.
Reasons for studying concepts of programming languages?
Increased capacity to express ideas Improved background for choosing appropriate languages. Increased ability to learn new languages. Better understanding of the significance of implementation Better use of languages that are already known Overall advancement of computing
What criteria are used to evaluate a language?
Readability Overall simplicity- How many constructs can be used, is there multiplicity, operator overloading Orthogonality- how large of a set of primitive constructs is there, and how can the be combined Writability Reliability Cost
What is one language design trade-off?
Reliability vs Cost Run-time checking will increase the time it takes for a program to execute therefore causing a higher cost of execution. Writability vs Readability APL has a lot of operators and expressions that they can be used in but this causes the readability to suffer.
What programming domains are there?
Scientific Applications-mainly large sets of floating point numbers and arithmetic. Business Applications- Used to create reports, precise ways of storing decimal numbers and character data. Artificial Intelligence- use of symbolic computations rather than arithmetic. Systems programming- need efficiency because of continuous use. Web software
When is there ambiguity in a language?
When a grammar generates two or more parse trees.