Programming Language Concepts
You can see the first part of the PLC question and answer series here. In this post, we’ll still be focusing on the earlier days of language development. Some topics inside of this set include Lisp, ALGOL, COBOL, BASIC, PL/I, APL, SNOBOL, SIMULA, Prolog, Ada, and C. Before going through, can you answer this question? All modern languages owe some of their design to _____ or ______.
105. Who developed Lisp?
– John McCarthy
106. What type of language is Lisp?
– Functional programming language
107. True or False? Lisp is purely functional.
– True
108. What are the two data structures in Lisp?
– Atom and List
109. What is a List?
– A series of elements enclosed in parentheses (A B C D)
110. Elements in a List can be ________ or ________ _________.
– Atoms or other lists
111. How is computation done in Lisp?
– By applying functions to arguments
112. True or False? Both assignment statements and variables are necessary in Lisp.
– False. Neither
113. What does Lisp use for Iteration?
– Recursion
114. True or False? Both program code and data are written in list form in Lisp.
– True
115. Describe the program code in List (A B C D) in Lisp.
– Function A followed by three parameters B, C, D
116. Name a couple of descendants of Lisp.
– Scheme, Common Lisp, MetaLanguage, Miranda, Haskell, F#
117. Name a functional language developed by Microsoft.
– F#
118. Who developed ALGOL 58?
– Fritz Bauer
119. What did the assignment statement look like in ALGOL 58?
– variable := expression
120. True or False? ALGOL 58 was close to mathematical notation?
– True
121. True or False? ALGOL 58 formalized the concept of data-types?
– True
122. True or False? ALGOL 58 contained compound statements?
– True
123. How many array dimensions were allowed in ALGOL 58?
– Any number
124. What was the lower bound of arrays in ALGOL 58?
– It was anything the programmer specified
125. True or False? Selection statements could be nested.
– True
126. What does BNF stand for?
– Backus-Naur Form
127. What is BNF is for?
– Describing programming language syntax.
128. Name a few features introduced in ALGOL 60.
– Recursive procedures
– Stack-dynamic arrays
– Block structure
– Parameters passed to subprograms as value or name
129. Who wrote the description for ALGOL 60 and which form did he use?
– Peter Naur. He used BNF.
130. Name 3 firsts for ALGOL 60
– It was the first language designed by an international group
– It was the first language designed to be machine independent
– It was the first language whose syntax was formally described
131. Which language was used as the only acceptable means of communicating algorithms?
– ALGOL 60
132. List a few reasons why ALGOL 60 was never widely accepted.
– Too flexible
– Lack of I/O statements
– BNF seemed strange and complex
– Lack of support from IBM
133. Who made FLOW-MATIC and for which programming domain?
– Grace Hopper for Business application
134. Who developed COBOL?
– Developed by Tierney and friends <- too many names lol
135. Where was the idea of COBOL developed?
– The Pentagon
136. Name a few things COBOL was trying to achieve.
– Use English as much as possible
– Should not be restricted by implementation
– Easy to use
137. What are the two sections that COBOL code is separated into?
– Data Description and Executable operations
138. Which language has been used more than any other programming language?
– COBOL
139. What was the first programming language mandated by DoD?
– COBOL
140. Fill in the blank. _____ was the first high-level language with construct for macros
– COBOL
141. How many characters could COBOL have in its variable names?
– Up to 30
142. What other character was allowed in COBOL variable names?
– Dash
143. Who developed BASIC?
– John Kemeny and Thomas Kurtz
144. Why was BASIC popular?
– It was used in weaker Microcomputers.
145. Why did BASIC start to lose its popularity?
– Because Microcomputers became more powerful
146. Who was the primary target audience of BASIC?
– Beginners; non-science students
147. What was the first widely used language to allow program development via terminals connected to computers?
– BASIC
148. True or False? BASIC valued computer time more than user time.
– False
149. What was the first large-scale attempt to design a language that could be used for a broad spectrum of application areas?
– PL/I
150. What was PL/I attempting to achieve?
– Combine Business and Scientific domains into one.
151. What was a disadvantage of PL/I?
– Had too many features and some features were not well designed.
152. What did both APL and SNOBOL have?
– Dynamic typing and Dynamic Storage Allocation
153. What is dynamic typing?
– Variable acquires a type when value is assigned
154. What is dynamic storage allocation?
– Storage allocated to variable when value is assigned
155. Who developed APL?
– Kenneth Iverson
156. Why was APL developed?
– To describe computer architecture
157. What is APL famous for?
– Large collection of operators such as unit operations on arrays.
158. True or False? APL is easy to read.
– False
159. Who designed SNOBOL?
– Farber, Griswold and Polensky at Bell Labratories
160. What is SNOBOL famous for?
– Text-processing. Has powerful operations for string pattern matching
161. SNOBOL is used for writing _____ ______.
– Text editors
162. What was SIMULA I designed for?
– Simulation
163. Who developed SIMULA I?
– Kristen Nygaard and Ole-Jahn Dah
164. Which language was the first to support data-abstraction?
– SIMULA 67
165. Why was data-abstraction created in SIMULA 67?
– To support coroutines
166. What were the primitive data types in ALGOL 68?
– Boolean, Character, Integer, Real and Complex
167. What did ALGOL 68 introduce?
– Implicit heap-dynamic arrays (flex arrays) where array length is not specified
168. All modern languages owe some of their design to _____ or ______.
– ALGOL 60 or ALGOL 68
169. Who developed Pascal?
– Niklaus Wirth
170. True or False? Pascal became the most widely used introductory language.
– True
171. True or False? Pascal is safe when compared to Fortran or C.
– True
172. Who developed C?
– Dennis Ritchie
173. Why was C originally developed?
– For systems programming
174. What is a reason for C’s popularity?
– UNIX is written in C
175. True or False? C has type-checking
– False
176. What programming language category does Prolog fall under?
– Logic
177. Who developed Prolog?
– Robert Kowalski
178. Prolog consisted of two types of statements: ______ and ______.
– facts and rules
179. Prolog uses ________ to attempt to determine the truth of the statement.
– resolution
180. What was the most expensive and extensive design effort ever undertaken for a programming language?
– Ada
181. Who developed Ada?
– Jean Ichbiah
182. Why was Ada created?
– DoD contest. DoD wanted a programming language for embedded systems.
183. Where did Ada get its name from?
– Augusta Ada Byron
184. Who is considered to be the first programmer?
– Augusta Ada Byron
185. What were the major contributions of Ada?
– Packages
– Exception Handling
– Generic packages and subprograms
– Tasks
186. Why was Ada criticized?
– Too large and complex
187. Is Ada still required by the DoD for its military software systems?
– No
188. What features became available in Ada 95?
– Protected objects
– Extended type that supports inheritance and polymorphism
189. What type of interface does Ada 2005 have?
– Similar to Java
190. What was the first language to fully support OOP?
– Smalltalk
191. Who developed Smalltalk?
– Alan Kay
192. What platform was Smalltalk to be used on?
– Dynabook (similar to large iPad)
193. How is all computing done in Smalltalk?
– By sending a message to an object to invoke one of its methods and the method replies by returning an object.
194. True or False? Classes in Smalltalk belong to a single class hierarchy?
– True
195. Who developed C++?
– Bjarne Stroustrup at Bell Laboratories
196. True or False? C++ allows for procedural and OOP programming?
– True
197. True or False? C++ inherited most of C’s insecurities.
– True
198. True or False? You can link C++ code with C code.
– True
199. Name a couple of features present in C++.
– Parameter type checking
– Classes
– Public/private access control of inherited components
– Constructors and Destructors
200. True or False? C++ allows multiple inheritance.
– True
Want more?
P1. 104 Programming Language Q&A
P2. 95 Programming Language Q&A
P3. 123 Programming Language Q&A
P4. 77 Programming Language Q&A
P5. 146 Programming Language Q&A
P6. 94 Programming Language Q&A
P7. 141 Programming Language Q&A