Module 1 - Programming Language Paradigms, Types and Uses Flashcards

1
Q

Categories of Programming Languages

A

Procedural
Functional
Object-Oriented
Scripting
Logic

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

A PL category used to execute a sequence of statements which lead to a result.

Uses multiple variables, heavy loops and other elements, which separates them from functional programming languages.

Example Method: printing out information

BASIC, C, FORTRAN, Java, Pascal

A

Procedural PL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

A PL category that uses stored data, frequently avoiding loops in favor of recursive functions.

Primary focus is on the return values of functions, and effects of storing state.

Focuses on results, not the process.

Emphasis is on what is to be computed

Data is immutable (cannot be changed)

Decomposes the problem into functions

It is built on the concept of mathematical functions which uses conditional expressions and recursion to do perform the calculation

It does not support iteration like loop statements and conditional statements like If-Else

A

Functional PL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

A PL category where programs are organized around data, or objects, rather than functions and logic.

An object can be defined as a data field that has unique attributes and behavior.

Examples of an object can range from physical entities, such as a human being that is described by properties like name and address, down to small computer programs, such as widgets.

This opposes the historical approach to programming where emphasis was placed on how the logic was written rather than how to define the data within the logic.

A

Object-Oriented PL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

A PL category that is Basically a language where instructions are written for a run time environment.

Do not require the compilation step and are rather interpreted. It brings new functions to applications and glue complex system together.

Designed for integrating and communicating with other programming languages.

A

Scripting PL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

A PL category that state a program as a set of logical relations (e.g., a grandparent is the parent of a parent of someone).

PROLOG is the best known

Such languages are similar to the SQL database language.

A program is executed by an “inference engine” that answers a query by searching these relations systematically to make inferences that will answer a query.

PROLOG has been used extensively in natural language processing and other AI programs.

A

Logic PL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

One of the earliest computers that is considered as the legacy computer where most new computers were built out of.

A

Analytical Engine

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

The Analytical Engine was made by who?

A

Charles Babbage

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Why were Programming Languages made?

A

To make things easier and faster to do.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

When was the first computer programming language born?

A

1883

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Created an algorithm for the Analytical Engine.

Worked on making the computer represent more than just numbers.

A

Ada Lovelace

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

A generic term for a family of early computer programming languages.

A

Autocode 1952

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

A computer programming language created by John Backus for complicated scientific, mathematical, and statistical work

A

Fortran (Formula Translation) 1957

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Created by a committee for scientific use. Served as a starting point in the development of languages such as Pascal, C, C++, and Java.

A

Algol (Algorithmic language) 1958

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

A computer programming language that can run on all brands and types of computers.

Used in ATMs, credit card processing, telephone systems, hospital and government computers, automotive systems, and traffic signals.

A

COBOL (Common Business Oriented Language) 1959

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Originally made for artificial intelligence research but at present time, can be used in circumstances where Ruby or Python are used.

A

LISP (List Processing Language): 1959

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Created so that students who were not technical or mathematically inclined could still use computers

A

BASIC (Beginner’s All-purpose Symbolic Instruction Code): 1964

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Initially created to teach computer programming.

Was the main language used for software development in Apple’s early years.

Named after a French mathematician

A

Pascal: 1972

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Allowed computer programmers to modify code on the fly and also introduced other aspects now present in common computer programming languages including Python, Java, and Ruby.

A

Smalltalk: 1972

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Considered by many to be the first high-level language.

Was created so that an operating system called Unix could be used on many different types of computers.

It has influenced many other languages, including Ruby, C#, Go, Java, JavaScript, Perl, PHP, and Python.

A

C: 1972

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

It is used for viewing and changing information that is stored in databases.

Uses command sentences called queries to add, remove, or view data.

A

SQL: 1972

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

It is one of the best computer programming languages for writing mathematical programs and is mainly used in mathematics, research, and education.

It can also be used to create two- and three-dimensional graphics.

A

MATLAB (Matrix Laboratory): 1978

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

The main computer programming language used when writing software for macOS and iOS, Apple’s operating systems.

A

Objective-C: 1983

24
Q

An extension of the C language and was developed by Bjarne Stroustrup.

It is one of the most widely used languages in the world.

Is used in game engines and high-performance software like Adobe Photoshop.

25
Originally developed by Larry Wall as a scripting language designed for text editing. Its purpose was to make report processing easier. It is now widely used for many purposes, including Linux system administration, Web development, and network programming.
Perl: 1987
26
Is called a purely functional computer programming language, which basically means that it is mostly mathematical. It is used by many industries, especially those that deal with complicated calculations, records, and number-crunching.
Haskell: 1990
27
Designed by Guido Van Rossum, it is easier to read and requires fewer lines of code than many other computer programming languages.
Python: 1991
28
Developed by Microsoft, it allows programmers to choose and change pre-selected chunks of code in a drag-and-drop fashion through a graphical user interface (GUI).
Visual Basic: 1991
29
Developed by Ross Ihaka and Robert Gentleman at the University of Auckland, New Zealand, it is named after the first names of the first two authors. It is mostly used by statisticians and those performing different types of data analysis.
R: 1993
30
Originally called Oak, it was developed by Sun Microsystems. It was intended for cable boxes and hand-held devices but was later enhanced so it could be used to deliver information on the World Wide Web.
Java: 1995
31
Is used mostly for Web development and is usually run on Web servers. It is now widely used to build websites and blogs.
PHP: 1995
32
Was created by Yukihiro “Matz” Matsumoto, who combined parts of his favorite languages to form a new general-purpose computer programming language that can perform many programming tasks.
Ruby: 1995
33
This language is mostly used to enhance many Web browser interactions.
JavaScript: 1995
34
Developed by Microsoft with the goal of combining the computing ability of C++ with the simplicity of Visual Basic, it is based on C++ and is like Java in many aspects. It is used in almost all Microsoft products and is primarily used for developing desktop applications.
C#: 2000
35
a computer programming language that combines functional programming, which is mathematical, with object-oriented programming, which is organized around data that controls access to code. Its compatibility with Java makes it helpful in Android development.
Scala: 2003
36
Developed by James Strachan and Bob McWhirter, it is derived from Java and improves the productivity of developers because it is easy to learn and concise.
Groovy: 2003
37
Developed by Apple as a replacement for C, C++, and Objective-C, it is supposed to be easier to use and allows less room for mistakes. It is versatile and can be used for desktop and mobile apps and cloud services.
Swift: 2014
38
Programming Domains
Scientific applications Business applications Artificial Intelligence Systems programming Scripting languages Special-purpose languages
39
The collection of processes and programming tools used to create the program or software product
Programming Environments
40
Programming Language Design Criteria
Readability Writability Reliability Portability Documentation Cost
41
A criteria involving "ease of use". the closer it is to natural language, the better readability of a language. Because ease of maintenance is determined in large part by this criteria, it became an important measure of the quality of programs and programming languages. A difficult to understand program can be coded in any language, but a language's characteristics can either make it easier or more difficult, to write easy-to-read programs.
Readability
42
A criteria that measures how easily a language can be used to create programs for a chosen problem domain. Most of the language characteristics that affect readability also affect this criteria. Languages with a smaller number of constructs are considered better at this criteria
Writability
43
A criteria that performs to its specifications under all conditions. A program that fits this criteria can perform error checking, error handling and garbage collection.
Relaibility
44
A criteria that dictates the ability of a program to run on many different platforms also known as “cross-platform”, with minimal rewriting. “Write once, execute anywhere” The simplicity with which applications that work on one platform can be modified to work on another
Portability
45
A criteria that is the availability of materials present for learning a programming language. These materials may include reviews, write-ups, blog posts, forums, and training materials
Documentation
46
A criteria that involves financial factors such as training programmers, writing and maintaining programs, compiling programs, etc.
Cost
47
PL Paradigms
Imperative programming paradigm Declarative programming paradigm
48
A paradigm that is one of the oldest programming paradigms. It features close relation to machine architecture. It is based on Von Neumann architecture. It works by changing the program state through assignment statements. It performs step by step task by changing state. The focus is on how to achieve the goal. The paradigm consists of several statements and after execution of all the result is stored. "How to do"
Imperative programming paradigm
49
The four types of Imperative paradigms
Procedural Object-Oriented Parallel Processing Scripting Programming Language
50
An imperative paradigm type that is used to execute a sequence of statements which lead to a result. Typically, this type of programming language uses multiple variables, heavy loops and other elements, which separates them from functional programming languages.
Procedural Programming Language
51
An imperative paradigm type that views the world as a group of objects that have internal data and external accessing parts of that data. The aim of this programming language is to think about the fault by separating it into a collection of objects that offer services which can be used to solve a specific problem. One of the main principles of this language is encapsulation that everything an object will need must be inside of the object. This language also emphasizes reusability through inheritance and the capacity to spread current implementations without having to change a great deal of code by using polymorphism.
Object-Oriented Programming Language
52
An imperative paradigm type that are often procedural and may comprise object-oriented language elements, but they fall into their own category as they are normally not full-fledged programming languages with support for development of large systems. For example, they may not have compile-time type checking. Usually, these languages require tiny syntax to get started.
Scripting Programming Language
53
An imperative paradigm type that is the development of program instructions by separating them among multiple processors. It has a number of processors that aim to run a program in a shorter amount of time by dividing them. This approach can be seen as divide and conquer. Examples are NESL (one of the oldest one) and C/C++ also supports because of some library function.
Parallel Processing
54
A paradigm that is a style of building programs that expresses logic of computation without talking about its control flow. It often considers programs as theories of some logic. It may simplify writing parallel programs. The focus is on what needs to be done rather how it should be done and basically emphasizes on what code is actually doing. It just declares the result we want rather how it has be produced. "What to do"
Declarative programming paradigm
55
A declarative paradigm type that lets programmers make declarative statements and then allow the machine to reason about the consequences of those statements. In a sense, this language doesn’t tell the computer how to do something but employing restrictions on what it must consider doing.
Logic Programming Language
56
A declarative paradigm type that typically uses stored data, frequently avoiding loops in favor of recursive functions . Its primary focus is on the return values of functions, and side effects and suggests that storing state are powerfully discouraged.
Functional Programming Language
57
A declarative paradigm type that is a methodology founded on data and its movement. Program statements are bounded by data rather than hard-coding a series of steps. The core of a business information system and delivers file creation, data entry, update, query and reporting functions. There are a number of programming languages that are developed mostly for database application, like SQL.
Database Programming Language