Introduction to Programming Languages

Ace your homework & exams now with Quizwiz!

Why should computer scientists study programming languages?

A good understanding of language design and implementation can help a programmer choose the most appropriate language for any given task. Most languages are better for some things than for others. Also, studying programming languages gives programmers an increased ability to learn new languages. For instance, programmers who can think in terms of iteration, recursion, abstraction, etc. will find it easier to assimilate the syntax and semantic details of a new language. Studying programming languages also enables computer scientists to develop an increased ability to express their ideas, understand obscure features of programming languages, and understand implementation costs. They will be able to choose between alternative ways of doing things, based on knowledge of what will be done underneath. They will also be able to figure out how to perform actions in languages that don't support them explicitly. By studying programming languages they will gain a better understanding of significance of implementation. Lastly, they will help the field to advance, since programming languages and their various features have been developed over the years to support the needs of computer scientists and others who use these programming languages to accomplish specific goals.

What is a programming language? What rules it encompasses? What it allows us to do?

A programming language is a standardized communication technique for describing instructions for a computer. Each programming language has a set of syntactic and semantic rules which define computer programs. Programming languages enable programmers to precisely specify which data a computer is to act upon, how the data is to be stored/transmitted, and which actions are to be performed under various circumstances.

What should be included in a language specification?

Each programming language can be thought of as a set of formal specifications concerning syntax, vocabulary, and meaning. Language specifications usually include: Data types, data structures, instruction and flow control, design philosophy, as well as compilation and interpretation.

Why do we have so many programming languages?

Evolution: Because computer science is a young discipline, we're constantly finding better ways to do things. Special Purposes: Some languages were designed for a specific problem domain. For example, C is good for low-level systems programming and Prolog is good for reasoning about logical relationships among data. Personal Preference: Different people like different programming languages. For example, some people love the terseness of C, while others hate it. Some people find it natural to think recursively; others prefer iteration. Some people like to work with pointers; others prefer the implicit dereferencing of Lisp, Java, and ML. The strength and variety of personal preference make it unlikely that anyone will ever develop a universally acceptable programming language. Expressive Power: Language features have a huge impact on the programmer's ability to write clear, concise, and maintainable code, especially for very large systems. Ease of Use for the Novice: Many programming languages have become successful because they have a low "learning curve." For example, part of the reason for Java's rise to prominence is due to its greater simplicity in comparison to a language like C++. Ease of implementation: The ease of implementation of a programming language greatly influences the likelihood that it will be widely adopted. Standardization: Standardization of both the language and a broad set of libraries is the only truly effective way to ensure the portability of code across platforms. Open Source: Most programming languages today have at least one open-source compiler or interpreter. Some languages, like C, are much more closely associated than others with freely distributed, peer-reviewed, community-supported computing. Excellent Compilers: Some languages such as Common Lisp have been successful in part because they have compilers and supporting tools that do an unusually good job of helping the programmer manage very large projects. Economics, Patronage, and Inertia: The backing of a powerful sponsor can greatly influence the success of a programming language. For example, in the case of Oracle and the Java programming language. Also, some languages remain widely used long after "better" alternatives are available, because of a huge base of installed software and programmer expertise, which would cost too much to replace.


Related study sets

PEDS: Chapter 15 Nursing Care of the Child with an Infection

View Set

Hinkle Chap. 44 Digestive and GI Treatment Modalities

View Set

ch 8 conjugate the predicate (ser or ir)

View Set

Chapter 3: Property Valuation and Financial Analysis

View Set

General Chemistry chapter 2: the periodic table of elements

View Set

REAL ESTATE PRACTICES - CHAPTER 3 Mandatory Disclosures

View Set

chapter 1 - understanding ethics

View Set

PROP & CASUALTY IN CH 14. WEROKERS COMP

View Set