<<O>>  Difference Topic ProgrammingLanguages (r1.2 - 26 Apr 2007 - Main.nova)

META TOPICPARENT OntologyProject
Changed:
<
<
Programming Languages
>
>

Programming Languages


Virtual machines

Line: 78 to 78

PL design and implementation

Added:
>
>
  • Language design

  • General principles of language design
  • Design goals
  • Constraints
Added:
>
>
    • Programming language syntax
  • Language features: implementation issues

  • Typing regimes
  • Data structure models
Changed:
<
<
  • Programming language syntax
>
>
    • Name scopes

  • Declarations
    • binding
    • visibility
Line: 93 to 96

  • Fuctions, procedures, and subroutines
    • Parameters
    • Run time memory management
Added:
>
>
        • Static and dynamic storage management
        • Activation records

      • Garbage collection
      • Stack
      • Heap
Deleted:
<
<
      • Static and dynamic storage management
      • Activation records

  • Coroutines
  • Data abstraction and object orientation
  • Input output
  • Exception handling
Deleted:
<
<
  • Concurrency

  • Concurrent programming structures
    • Threads
Deleted:
<
<
  • Frameworks

  • Modules packages
Changed:
<
<
  • Programming language classifications
    • Concurrent
    • Dataflow
    • Funtional
    • Logic
    • Other
>
>
  • Frameworks

Programming language semantics

Line: 122 to 118

    • Axiomatic semantics
    • Operational semantics
Deleted:
<
<
-- Main.nova - 31 Aug 2006
 <<O>>  Difference Topic ProgrammingLanguages (r1.1 - 31 Aug 2006 - Main.nova)
Line: 1 to 1
Added:
>
>
META TOPICPARENT OntologyProject
Programming Languages

Virtual machines

  • The concept of a virtual machine
  • Hierarchy of virtual machines
  • Intermediate languages

Formal Definitions

Theory

Language Classifications

  • Procedural
  • Functional languages
    • Applicative
    • Single Assignment
  • Object-oriented languages
  • Logic
    • Declarative
    • Constraint logic languages
  • Imperative
  • Event-Driven
  • Data flow languages
  • Concurrent Languages
  • Very high level languages (aka Fourth Generation Languages)
  • Query Languages
  • Assembly Languages
  • Design languages
  • Extensible languages
  • Microprogramming languages
  • Multiparadigm languages
  • Nondeterministic languages
  • Specialized application languages
  • Intermediate Languages
  • Metalanguage
  • Markup languages
  • Scripting languages
  • Modeling, specification languages (synonyms)

Language Constructs and Features

  • Pointer to Programming Fundamentals

Language Translation and Execution

  • Interpreters
  • Compilers
  • Debuggers
  • Language translation phases
    • lexical analysis
    • parsing
    • code generation
    • optimization
  • Computer architecture-specific translation requirements
    • Addressing modes
    • Instruction set
    • Instruction format
    • paralellism
  • Computer architecture-independent translation elements
    • Regular expressions in lexical scanners
    • Parsing (concrete and abstract syntax, abstract syntax trees)
    • Context-free grammars in table-driven and recursive-descent parsing
    • Symbol table management
    • Code generation by tree walking
    • Optimization techniques
  • Tools for the translation process
    • lexer (lexical analysis tool)
    • parser
  • Separate (modular) compilation
    • Program libraries
    • Linking
  • Retargetable compilers
  • Translator writing systems compiler generators
  • Run time environments

PL design and implementation

  • General principles of language design
  • Design goals
  • Constraints
  • Typing regimes
  • Data structure models
  • Programming language syntax
  • Declarations
    • binding
    • visibility
    • scope
    • lifetime
  • Instruction and control flow
  • Fuctions, procedures, and subroutines
    • Parameters
    • Run time memory management
      • Garbage collection
      • Stack
      • Heap
      • Static and dynamic storage management
      • Activation records
  • Coroutines
  • Data abstraction and object orientation
  • Input output
  • Exception handling
  • Concurrency
  • Concurrent programming structures
    • Threads
  • Frameworks
  • Modules packages
  • Programming language classifications
    • Concurrent
    • Dataflow
    • Funtional
    • Logic
    • Other

Programming language semantics

  • Informal semantics
  • Formal semantics
    • Denotational semantics
    • Axiomatic semantics
    • Operational semantics

-- Main.nova - 31 Aug 2006

Revision r1.1 - 31 Aug 2006 - 20:56 - Main.nova
Revision r1.2 - 26 Apr 2007 - 22:52 - Main.nova