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
Concepts Of Programming Languages
- What are some of the criticisms that might be leveled against the idea of using a single programming language across all fields?arrow_forwardWhat would you say is the most typical categorization for programming languages?arrow_forwardWhat is the significance of keywords in programming languages? How do they impact code readability and functionality?arrow_forward
- What is an example of two language design criteria that are in directconflict with each other?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_forwardWhat possible justifications may there be for standardizing on a single programming language?arrow_forward
- What are the benefits of learning a variety of programming languages? This programming language has a number of different levels, which one is regarded the most sophisticated one? Why, therefore, is this the case? Could you perhaps comment on the reasoning for your conclusion?arrow_forwardHow may proponents of standardizing on a single programming language make their case?arrow_forwardIn your opinion, what do you consider to be the most essential aspect in the context of programming languages of superior quality?arrow_forward
- One 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_forwardWhat does it mean for a set of language features (e.g., a type system) to be orthogonal?arrow_forwardProvide an explanation of what is meant by the phrase "portability" in relation to programming languages.arrow_forward
- C++ for Engineers and ScientistsComputer ScienceISBN:9781133187844Author:Bronson, Gary J.Publisher:Course Technology Ptr