Trends and future directions in programming languages

Overview

  • Increasing Abstraction Level
    • Assembler
    • Procedural
      • e.g. Fortran, Pascal, C
    • Object Oriented
      • e.g. C++
    • Managed
      • e.g. Java, .Net
  • Trends
    • Declarative
      • Domain Specific Languages
        • External DSLs
        • Internal DSLs
      • Functional Programming
    • Dynamic
      • e.g. JavaScript,Python,Ruby,LISP
      • Meta-Programming
      • Compiler as a Service
    • Concurrent
      • The Free Lunch Is Over
      • Parallel Extension for .NET 4.0
        • Task Parallel Library
        • Parallel LINQ
        • Coordination Data Structures
      • Potential Language Constructs
        • Isolation
        • Purity
        • Immutability
  • Multi-paradigm Programming Languages

Functional Programming

  • Examples
    • Pure FP
      • e.g. LISP, APL, Haskell, Scheme, ML
    • Unpure FP
      • e.g. C#, Python, Ruby, Scala
  • Features
    • First class functions
    • Immutable data
    • Pattern matching
    • Algebraic data type
    • Type inference
    • Referential transparency

Reference

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License