Criteria/PL

Java

Scale

C++

Haskell

VB.Net

Default More Secured Programming practice.

Good secured programming feature with GC no pointers, packages and thread.

Good Default Security with features like GC. exception handling & works on JVM so uses it security Manager.

Not a secured programming language, buffer overflow is not detected.

Good secured programming features with a GC, no pointer and good type system.

Built-in secure features provided by .net and programming itself can implement secure features.

Web Application

Quite popular for web application abundant libraries and services serve this cause.

Can develop, flexible, highly scalable, secure applications with help of web development frameworks.

Used for stand alone applications, difficult to create by default.

Can develop the application with rich set libraries.

Vb.net supports web applications

Web Services design and Composition

Good for web services because of portability and large number of APIs and XML available.

RESTful services provided with help of frameworks. Provisions of other services still under construction. XML processing simple.

Supports REST, XML, WSO2 framework.

Provide service like SOAP and REST but it is still immature in terms of WSDL and UDDI.

Vb, net can implement web services such as HTTP, SOAP, XML, WSDL, UDDI and Net remoting service can implement itself.

Object-oriented base Abstraction

Primarily an object oriented language with powerful features.

Supports two types of abstractions. Alternative to functional abstraction. Mainly used for modeling families that varies covariantly.

Support Object Oriented principles but not as a default.

Object Oriented Concepts are not supported by Haskell. It requires an extension called OO Haskell

Vb.net is an object oriented language. It supports OO abstraction.

Reflection

Powerful reflection mechanism. Supplies a rich set of operations for using metadata and avoid complications.

It’s a subsystem. Reflection API,. Limited scope. Modular, hence reduce foot print & be efficient.

Limited reflection capabilities.

Haskell does have libraries for dynamics, but they still do not support complete reflection.

Vb, net supports reflection using Built-in called “system reflection”

Aspect-Oriented Programming

Aspect, an extension of JAVA treats AOP concepts as first class element of the language.

Provides 2 different types. Mainly, Mixin composition stacks.

With static type of language it is difficult, Aspect C++ supports it.

Does not directly support. Has an extension called AOP Haskell.

AOP Engine in NET to implement AOP programming but it supports only at run time.

Functional Programming

No functional instead uses interfaces & inner classes it is fairly easy to mimic some features of FP

Powerful support and well suited. Light weight sytax. Support High-order, nested function, and currying.

Doesn’t support to fuller extent but can be done using FC++.

This is a functional programming language.

Vb.net is not a pure functional programming but it supports Lambda Calculus.

Declarative Programming

Library like JsetL and Jsolver offer a number of facilities to support DP.

Uses a prolog interpreter called scale Logic. Emphasises on simplicity and not performance.

By default not possible but merging prolog is an alternative.

Haskell, one can use Monards to implement Declarative Logic Programming.

Doesn’t implement declarative programming by itself.