Use LEFT and RIGHT arrow keys to navigate between flashcards;
Use UP and DOWN arrow keys to flip the card;
H to show hint;
A reads text to speech;
62 Cards in this Set
- Front
- Back
first languages: |
assembly, fortran, cobol, lisp |
|
moving wires |
assembly |
|
scientific computation |
fortran |
|
business computation |
cobol |
|
AI programming |
lisp |
|
C came from _____ and ______, and implements UNIX |
assembly / fortran |
|
(60's) Stimula -----> |
Smalltalk |
|
Java came from both ____ and _____ |
smalltalk and C++ |
|
(80's) Perl -----> _____ ------> Ruby |
python |
|
if a TM can do it then so can the language = |
universal |
|
easy to express ideas and algorithms = |
natural |
|
can write a complier for = |
implementable |
|
writable, readable, orthogonal, regular, uniform = |
reliable |
|
writing, compiling, and execution= |
efficient |
|
easy to adapt to new hardware, etc. also can expand the language = |
maintainable/ extendable |
|
what is involved in an imperative/ procedural paradigm? |
variables, sequential augmentation, assignment |
|
what is involved in an applicative/ functional paradigm? |
no notion of store/ variables, no statements/ loops, no sequential execution |
|
example of an imperative/ procedural paradigm |
Scheme: (define (gdc n v) (if (= v o) u (gcd v (module n v)) |
|
example of an applicative/ functional paradigm: |
ML: fun gcd (u,o) = u 1 gcd (u,v) = gcd (v, (umodv)); |
|
What is involved in a logic paradigm? |
no control abstraction, no statements, no memory/ variables, properties of computation |
|
Example of logic paradigm |
prolog: when gcd(u,v,u):-v=o gcd (u,v,w) : -v>o,w is umodv, gcd(v,w,x) gcd(15,10,y) |
|
What is involved in an object oriented paradigm? |
objects and messages (really objects) no statements no expressions no variables
|
|
In an object oriented paradigm, how do you send a message to object? |
create boolean object |
|
In an object oriented paradigm, what do you do if there is a negative? |
start again |
|
there is also a parallel/ concurrent programming paradigm |
but he didn't put any notes for it...so..... |
|
a set of strings |
language |
|
a sequence of symbols |
strings |
|
generated with regular expressions. recognizable with finite atomaton. use with lexeme. the smallest unit in a language |
regular languages |
|
generated with phase structured grammars. recognizable with turing machines |
recursively enumerable languages |
|
generated with grammar. recognizable with push down automaton. used with syntax (only verifies the syntax) |
context free languages |
|
generated with attribute grammars. recognized by linearly bounded NTMA. use semantics |
context sensitive languages |
|
G= (V, T, P, S) V a set of variables T a set of terminal symbols S & V denotes the start variable P a set of replacement productions |
context free grammars |
|
in a conditional value assignment, you should use ____ instead of '.' for immediate assignment. '.' will only assign after the whole statement passes. |
$ |
|
in a conditional value assignment, every statement can begin with a ____ |
label |
|
denotes entity or construct |
name |
|
predefined and may not be redefined |
reserved words |
|
predefined and may be redefined |
key words |
|
What is the meaning of a name determined by? |
A set of attributes associated with the name (value, location, address, value, lifetime, scope, aliases) |
|
all data is linked together into an exe. separate compilation units. libraries |
link time |
|
loads the program into memory. addresses get set. locations get set |
load time |
|
dynamic locations and addresses (IE pointers). values also get set. aliases get set. |
execution time |
|
the range of the program during which the binding(s) exist(s) |
scope |
|
scope of the attribute is determined by examining the text program |
static or lexical scope |
|
scope is determined by flaw of execution |
dynamic scope |
|
process of verifying type infer in a program |
type checking |
|
provides type rules |
languages |
|
these are strongly typed |
ada, pascal, ML, haskell, scheme |
|
weakly typed |
C, C++, python |
|
untyped / dynamic |
perl, smalltalk, snobol 4, prolog |
|
what is type declaration used in? |
semantic checking |
|
integer, real, character, string, pattern, set, lists |
predefined types (simple) |
|
enum color (red green blue), type color is red green blue, data color is red green blue |
enumerated types |
|
type digit is 0..9 |
subtypes |
|
type constructors |
cartesian product, union, power set ,subsets, function set, intersection, difference, complement |
|
sets with no duplicates. membership, insertion, deletion, union, intersection, difference |
unordered distinct values |
|
small universe |
bitwise implementation |
|
large universe |
hash implementation |
|
**some languages has strict restrictions on what the index can be and when it must be known |
index rules |
|
index range is fixed and storage is allocated at compile time |
static |
|
index ranges are fixed and statically bound but allocation happens at declaration |
fixed stack dynamic |
|
both index range and allocation are done at ran time. once allocated they remain fixed for their lifetime |
stack dynamic |
|
truly dynamic |
heap dynamic |