Java, A Concurrent OOPL

  • Shares characteristics of both C++ and Smalltalk
    • Smalltalk
      • Similar object model (single-rooted inheritance) hierarchy, access to objects via reference only, ...)
      • Compiled to byte-code (initially interpreted)
      • Dynamic memory layout plus garbage collection
    • C++
      • Same syntax for expressions, statements, and control flow
      • Similar OO structural syntax (classes, access protection, constructors, method declaration, ...)
    • Adds threads and synchronization primitives
      • Objects can force mutual exclusions of threads running inside them


Detailed Description:

"Java is not only an object-oriented programming language, it is also a concurrent programming language. You can create classes and objects, and use inheritance, the typical object-oriented constructs. You can also create and manipulate threads. These powers together make quite a powerful facility. Where did it come from? What is its heritage? Well, many of Java's characteristics came from other languages. It has borrowed constructs from many of today's modern object-oriented languages. Let's look at two of them."