Compilation of Programming Languages
 
  Java C# C++ Python Visual Basic
Object-Orientation Hybrid Hybrid Hybrid / Multi-Paradigm Hybrid Partial Support
Static / Dynamic Typing Static Static Static Dynamic Static
Generic Classes No No Yes N/A No
Inheritance Single class, multiple interfaces Single class, multiple interfaces Multiple Multiple None
Feature Renaming No No No No No
Method Overloading Yes Yes Yes No No
Operator Overloading No Yes Yes Yes No
Higher Order Functions No No No Lambda Expressions No
Lexical Closures No No No Yes (since 2.1) No
Garbage Collection Mark and Sweep or Generational Mark and Sweep or Generational None Reference Counting Reference Counting
Uniform Access No No No No Yes
Class Variables / Methods Yes Yes Yes No No
Reflection Yes Yes No Yes No
Access Control public, protected, "package", private public, protected, private, internal, protected internal public, protected, private, "friends" Name Mangling public, private
Design by Contract No No No No No
Multithreading Yes Yes Libraries Yes No
Regular Expressions Standard Library Standard Library No Standard Library No
Pointer Arithmetic No Yes Yes No No
Language Integration C, some C++ All .NET Languages C, Assembler C, C++, Java C (via DCOM)
Built-In Security Yes Yes No No? No
(c) Shilpa Sayura Foundation 2006-2017