Concept explainers
Explanation of Solution
Two language design criteria that are in direct conflict with each other:
For efficient language design, there are so many criteria that have to be kept in mind and the main problem is many of them conflict with each other. So the reconciliation and satisfaction of all of these criteria is a challenging engineering task Developers of any language has to compromise on some criteria to fulfill other criteria.
The choice of these criteria depends mainly upon the use and potential audience of the language. The two contradicting criteria in language design are:
- Cost of execution; and
- Reliability.
The classic example of this dilemma is checking of the array bounds for any index.
For example, JAVA, at the compile time checks that all the references to arrays have their indices within the bounds.
- As a result, JAVA code is more reliable but takes more time to execute if there are more references to arrays.
- The designers of JAVA traded execution time for reliability...
Want to see the full answer?
Check out a sample textbook solutionChapter 1 Solutions
Pearson eText for Concepts of Programming Languages -- Instant Access (Pearson+)
- What is an example of two language design criteria that are in directconflict with each other?arrow_forwardWhat would you say is the most typical categorization for programming languages?arrow_forwardWhy is it important for modern programming languages to have both pass-by-value operations as well as pass-by-reference features? Why are we not only able to choose one of these two possibilities? It would be helpful if you could explain, in your answer, both the benefits of having both and the reasons why it would be foolish to have only one or the other.arrow_forward
- What is the significance of keywords in programming languages? How do they impact code readability and functionality?arrow_forwardHow may proponents of standardizing on a single programming language make their case?arrow_forwardOne characteristic of programming languages that varies widely from language to language is how parameters are passed. Among ALGOL, Pascal, Ada, C, C++, Java, and C#, no two languages pass parameters in exactly the same way. Among these languages, choose the one that you believe has adopted the best approach to parameter passing. Defend your decision by outlining the advantages of the approach of the language that you chose and the disadvantages of the approaches taken by other languages.arrow_forward
- To that end, please elaborate on the concept of "portability" as it applies to the different programming languages.arrow_forwardWhat are examples of syntax and semantics using a programming language structure for C++ or Python?arrow_forwardProvide an explanation of what is meant by the phrase "portability" in relation to programming languages.arrow_forward
- What does it mean for a set of language features (e.g., a type system) to be orthogonal?arrow_forwardExplain the concept of portability as it applies to programming languages.arrow_forwardGive three examples of features that are not provided in some language with which you are familiar, but that are common in other languages. Why do you think these features are missing? Would they complicate the implementation of the language? If so, would the complication (in your judgment) be justified?arrow_forward
- C++ for Engineers and ScientistsComputer ScienceISBN:9781133187844Author:Bronson, Gary J.Publisher:Course Technology Ptr