Feature
|
Delphi
|
C#/.NET
|
Java
|
Visual Basic (pre .NET)
|
Company
|
Borland
|
Microsoft
|
Sun
|
Microsoft
|
Syntax
|
Pascal-like
|
C-like
|
BASIC-like
|
Memory Management
|
Manual
|
Garbage collection
|
Automatic, mostly (always?) by reference counting
|
Chief Designer
|
|
James Gosling
|
|
Language Style
|
Object Oriented
Single inheritance with interfaces
All objects ultimately derived from one "object" class
|
"Object Based" but not truly object oriented
|
Support for Component-Based Development
|
Direct support for component development since properties and events are supported directly by the language
|
Properties and events supported indirectly by conventions such as getter and setter naming rules
|
Pioneered the use of components with "properties, methods and events", however those components were typically developed in other languages.
|
Strong Type Checking
|
Yes
|
Optional
|
Standard Classes and Components
|
-Aligned to/influenced by, the Windows API
-Developers may inherit new objects from the standard ones
|
-"Platform neutral"
-Developers may inherit new objects from the standard ones
|
-Aligned to the Windows API
-Written in C++
-Developers cannot inherit new objects from the standard ones
|
Exceptions
|
Exceptions are objects
"Unchecked" exceptions (i.e. no "throws" clauses)
|
Exceptions are objects,
|
No exceptions. Uses "On Error" instead, which is less powerful and robust.
|
Direct support for type-safe enums
|
Yes
|
No (at least, not yet)
|
?
|
|
|
Yes
|
No
|
N/A
|
"ref" parameters
|
Yes
|
No
|
Yes
|
Supports XML and WebServices
|
Yes
|
?
|
Multi-tier "dataset" support
|
Yes
|
? (Tends to favour EJB instead)
|
Via RDO
|
GUI-layout technique
|
Via "anchors" and nested panels
|
Via layout managers
|
Subset of Delphi/.NET features
|