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. |