You are on page 1of 1

Visual

Eiffel Smalltalk Ruby Java C# C++ Python Perl


Basic
Hybrid /
Object- Add-On / Partial
Pure Pure Pure Hybrid Hybrid Multi- Hybrid
Orientation Hybrid Support
Paradigm
Static /
Dynamic Static Dynamic Dynamic Static Static Static Dynamic Dynamic Static
Typing
Generic
Yes N/A N/A No No Yes N/A N/A No
Classes
Single
Single class, Single class,
class,
Inheritance Multiple Single multiple multiple Multiple Multiple Multiple None
multiple
interfaces interfaces
"mixins"
Feature
Yes No Yes No No No No No No
Renaming
Method
No No No Yes Yes Yes No No No
Overloading
Operator
Yes Yes? Yes No Yes Yes Yes Yes No
Overloading
Higher Order Agents (with Lambda
Blocks Blocks No No No Yes (???) No
Functions version 5) Expressions
Lexical Yes (inline Yes Yes (since
Yes (blocks) No No No Yes No
Closures agents) (blocks) 2.1)
Mark and Mark and
Mark and Mark and Referenc Referenc
Garbage Mark and Sweep or Sweep or Reference
Sweep or Sweep or None e e
Collection Sweep Generationa Generationa Counting
Generational Generational Counting Counting
l l
Uniform
Yes N/A Yes No No No No No Yes
Access
Class Variables
No Yes Yes Yes Yes Yes No No No
/ Methods
Yes (as of
Reflection Yes Yes Yes Yes No Yes Yes? No
version 5)
public,
public, protected, public,
public,
Protected Data, protected, private, protected, Name public,
Access Control Selective Export protected None
Public Methods "package", internal, private, Mangling private
, private
private protected "friends"
internal
Design by
Yes No Add-on No No No No No No
Contract
Implementation- Implementation-
Multithreading Yes Yes Yes Libraries Yes No No
Dependent Dependent
Regular Standard Standard Standard
No No Built-in No Built-in No
Expressions Library Library Library
Pointer
No No No No Yes Yes No No No
Arithmetic
Language C, C++, C, some All .NET C, C, C++, C (via
C, C++, Java C C, C++
Integration Java C++ Languages Assembler Java DCOM)
Built-In Yes
No No? Yes Yes Yes No No? No
Security (perlsec)
Capers Jones
Language 15 15 N/A 6 N/A 6 N/A 15 11
Level*

* Based on number of source code lines per function point.

You might also like