programming languages: design principles, implementation constructs
programming languages
-
programming language paradigms
-
why, how, and what to study
-
abstraction
-
translation
-
programming develeopment environments [ ide ]
-
programming language syntax
-
specifying syntax: regular expressions and context-free grammars
-
recognizing syntax: scanners and parsers
-
theoretical foundations
-
names, scopes, and binding
-
binding time
-
object lifetime and storage management
-
scope rules
-
the binding of referencing environments
-
overloading and related concepts
-
namespace problems
-
control flow
-
expression evaluation
-
structured and unstructured flow
-
sequencing
-
selection
-
iteration
-
recursion
-
nondeterminancy
-
data types
-
type systems
-
type checking
-
arrays
-
records(structures) and variants(unions)
-
strings
-
pointers and recursive types
-
lists
-
files and i/o
-
programming units: control abstraction
-
stack layout
-
calling sequences
-
parameter passing
-
generic units
-
exception handling
-
coroutines
-
data abstraction and object-orientation
-
object-oriented programming
-
encapsulation and inheritance
-
dynamic method binding - polymorphism
-
multiple inheritance
-
nonimperative programming models: functional and logical languages
-
historical origins
-
functional programming
-
logic programming
-
concurrency
-
background and motivation
-
concurrent programming fundamentals
-
shared memory
-
message passing
-
special purpose languages
-
shell
-
postscript
-
sql
-
tex, latex
-
perl, python, ruby
-
tcl/tk
-
html, dhtml, xhtml, xml, css, xsl
-
javascript