1Syntax refers to what?
Syntax is the form or structure of expressions, statements, and program units.
2Semantics refers to what?
Semantics is the meaning of expressions, statements, and program units.
3What do syntax and semantics together define?
Syntax and semantics together define a programming language.
4What is a lexeme?
A lexeme is the lowest-level syntactic unit of a language, such as a symbol or keyword.
5What is a token?
A token is a category of lexemes, like identifiers or operators.
6What is the purpose of a recognizer in programming languages?
A recognizer reads input strings and determines if they belong to the language.
7Who developed Context-Free Grammars?
Noam Chomsky developed Context-Free Grammars in the mid-1950s.
8What is Backus-Naur Form (BNF)?
BNF is a notation used to describe the syntax of programming languages.
9What are non-terminal symbols in BNF?
Non-terminal symbols in BNF are abstractions representing syntactic structures.
10What is a derivation in the context of grammars?
A derivation is a repeated application of rules starting with the start symbol, leading to a sentence.
11What is a sentential form?
A sentential form is any string of symbols in a derivation process.
12What is an ambiguous grammar?
A grammar is ambiguous if it generates a sentential form with two or more distinct parse trees.
13What are the three primary methods of semantics description?
The three primary methods of semantics description are operational, denotational, and axiomatic.
14Reasons for studying programming languages?
To increase the ability to express ideas, choose appropriate languages, and improve learning and implementation of languages.
15What are scientific applications known for?
They require large numbers of floating point computations and use arrays, often in Fortran.
16What are business applications known for?
They produce reports and use decimal numbers and characters, commonly in COBOL.
17What is important in systems programming?
Efficiency is crucial due to the continuous use of system resources.
18What language is often used in artificial intelligence?
LISP is frequently used in artificial intelligence for manipulating symbols rather than numbers.
19What are the key criteria for evaluating programming languages?
Readability, writability, reliability, and cost.
20What does readability in a programming language depend on?
It depends on simplicity, orthogonality, data types, and syntax considerations.
21What is writability in a programming language?
Writability refers to how easily a language can be used to create programs, relying on simplicity, abstraction, and expressivity.
22How does reliability relate to programming languages?
Reliability refers to a language’s conformance to specifications and its ability to avoid errors through type checking and exception handling.
23What are the types of programming language implementation methods?
Compilation, pure interpretation, and hybrid implementation.
24What is the von Neumann architecture?
It is a computer architecture where data and programs are stored in memory, with instructions and data piped from memory to the CPU.
25What is the von Neumann bottleneck?
It refers to the limited connection speed between a computer's memory and processor, which restricts computing speed.
26What are Just-in-Time (JIT) systems?
They initially translate programs to an intermediate language and then compile it to machine code during execution, as used in Java and .NET.
27What is a programming environment?
It is a collection of tools used for software development, such as UNIX or Microsoft Visual Studio.
28What is the main trade-off in language design?
Balancing reliability, cost, readability, and writability.
29What was Zuse’s Plankalkül known for?
It was designed in 1945 but not published until 1972, and featured advanced data structures like floating-point arrays and records.
30What problem did pseudocodes aim to solve?
Pseudocodes improved readability, modifiability, and addressed the limitations of machine code, like the lack of indexing and floating-point operations.
31What was Fortran designed for?
Fortran was designed for scientific applications, emphasizing machine efficiency and array handling, without string or decimal handling.
32What was the significance of Fortran I?
Fortran I was the first implemented version of Fortran, introduced in 1957, and was known for post-test loops and fast code.
33What was the main change in Fortran 77?
Fortran 77 introduced character string handling, logical loop control, and the IF-THEN-ELSE statement.
34What is LISP known for?
LISP, designed for AI research, is a functional language that processes data in lists rather than arrays and uses symbolic computation.
35What are the two data types in LISP?
LISP only has two data types: atoms and lists.
36What was ALGOL 60's main contribution?
ALGOL 60 was the first machine-independent language, with a block structure and formal syntax definition using BNF.
37What language was based on FLOW-MATIC?
COBOL was based on FLOW-MATIC and used for business applications, featuring English-like syntax and separate data and code.
38What was BASIC designed for?
BASIC was designed for non-science students, aiming to be easy to learn and use, with fast homework turnaround and time-sharing capabilities.
39What did PL/I combine?
PL/I combined features of scientific and business computing, designed by IBM to support both types of applications.
40What were the key features of APL and SNOBOL?
Both APL and SNOBOL had dynamic typing and storage allocation, with APL excelling in array operations and SNOBOL in string pattern matching.
41What did SIMULA 67 introduce?
SIMULA 67 introduced classes, objects, inheritance, and coroutines, pioneering data abstraction.
42What language influenced Pascal?
ALGOL 68 influenced Pascal, which became widely used for teaching structured programming.
43What is Java known for?
Java is an object-oriented language based on C++, known for eliminating unsafe features and supporting concurrency, applets, and portability.
44What does C# combine?
C# combines features from C++, Java, and Delphi, evolving rapidly as part of the .NET platform.
45What are scripting languages used for?
Scripting languages like Perl, PHP, and Python are often used for web development, with client-side or server-side processing.