Information Technology

 
 

Programming Language Comparison

Mr. Nikunj Gandhi
04BCA16 (TYBCA)

 

 

 

 

 

Eiffel

Smalltalk

Ruby

Java

C#

C++

Python

Perl

Visual Basic

Object-Orientation

Pure

Pure

Pure

Hybrid

Hybrid

Hybrid / Multi-Paradigm

Hybrid

Add-On / Hybrid

Partial Support

Static / Dynamic Typing

Static

Dynamic

Dynamic

Static

Static

Static

Dynamic

Dynamic

Static

Generic Classes

Yes

N/A

N/A

No

No

Yes

N/A

N/A

No

Inheritance

Multiple

Single

Single class, multiple "mixins"

Single class, multiple interfaces

Single class, multiple interfaces

Multiple

Multiple

Multiple

None

Feature Renaming

Yes

No

Yes

No

No

No

No

No

No

Method Overloading

No

No

No

Yes

Yes

Yes

No

No

No

Operator Overloading

Yes

Yes?

Yes

No

Yes

Yes

Yes

Yes

No

Higher Order Functions

Agents (with version 5)

Blocks

Blocks

No

No

No

Lambda Expressions

Yes (???)

No

Lexical Closures

Yes (inline agents)

Yes (blocks)

Yes (blocks)

No

No

No

Yes (since 2.1)

Yes

No

Garbage Collection

Mark and Sweep or Generational

Mark and Sweep or Generational

Mark and Sweep

Mark and Sweep or Generational

Mark and Sweep or Generational

None

Reference Counting

Reference Counting

Refeence Counting

Uniform Access

Yes

N/A

Yes

No

No

No

No

No

Yes

Class Variables / Methods

No

Yes

Yes

Yes

Yes

Yes

No

No

No

Reflection

Yes (as of version 5)

Yes

Yes

Yes

Yes

No

Yes

Yes?

No

Access Control

Selective Export

Protected Data, Public Methods

public, protected, private

public, protected, "package", private

public, protected, private, internal, protected internal

public, protected, private, "friends"

Name Mangling

None

publi, priva-te

Design by Contract

Yes

No

Add-on

No

No

No

No

No

No

Multithreading

Implementation- Dependent

Implementation- Dependent

Yes

Yes

Yes

Libraries

Yes

No

No

Regular Expressions

No

No

Built-in

Standard Library

Standard Library

No

Standard Library

Built-in

No

Pointer Arithmetic

No

No

No

No

Yes

Yes

No

No

No

Language Integration

C, C++, Java

C

C, C++, Java

C, some C++

All .NET Languages

C, Assembler

C, C++, Java

C, C++

C (via DCOM)

Built-In Security

No

No?

Yes

Yes

Yes

No

No?

Yes (perlsec)

No

Capers Jones Language Level*

15

15

N/A

6

N/A

6

N/A

15

11

 

 

BACK TO CONTENT PAGE