.NET –> Java
- WCF ~= JAX-WS (as WS) and/or JMS (for MQ).
- WPF ~= Swing (as UI), Java 2D (for 2D), Java 3D (for 3D) and/or RMI (for remoting).
- Silverlight ~= JavaFX
- WF ~= not sure? Some say that it’s CAPS.
- Generics is already available since Java 5.0. Major difference is that it’s compiletime (not Reified).
- Lambda expressions is yet to be come in Java 8.0 as “Closures”
- Linq ~= Jaque and jpropel-light
- TPL ~=
java.util.concurrent
(guide here and tutorial here) - F# ~= Scala or Clojure
- IronPython ~= Jython
- IronRuby ~= JRuby
Java –> .NET
- EJB ~= MTS/COM+
- WebSphere AS, GlassFish, JBoss AS are all concrete Java EE API implementations. The .NET equivalent would be IIS with at least MTS/COM+ support (is there by the way competition for IIS?).
- Tomcat is a webcontainer aka servletcontainer, it only implements the Web Component part of the huge Java EE API (basically only the
javax.el
andjavax.servlet
parts, the JSP/EL and Servlet API). The .NET equivalent would be still IIS, but then without support for MTS/COM+, mail, message queue, persistence and more. I.e. only a simple web server for pure “Classic ASP”.