SlideShare a Scribd company logo
compare.ppt 1
Platform Comparison
Java and .NET
Nov 6, 2014 compare.ppt 2
Java and .NET
• Java was created by Sun in 1992 
• Microsoft introduced .NET and C# in 2000
• both platforms are object-oriented, type safe, and have automatic
garbage collection
• the two platforms have been competing vigorously on the desktop
• but especially in the area of server technology
• many developers become expert on one platform
• few have time to learn both
• the schism of understanding the two platforms widens
• due to misinformation and disinformation 
• what are the strengths and issues for each platform?
Nov 6, 2014 compare.ppt 3
2008 forecast for market share of OS by platform: (2q 06)
Windows 40%
Unix 29%
Linux 15%
Others 16%
forecast market share of OS unit sales: (05)
in 2002 in 2003 in 2007
Windows 45% 59% 59%
Linux 20% 24% 33%
Unix 16% 10% 5%
Others 19% 7% 3%
market share of server shipments by platform in 2005:
Windows 65.6%
Linux 20.0%
Unix 9.5%
NetWare 4.2%
Others 0.7%
FROM: InfoTech Trends http://www.infotechtrends.com/
report from 2Q 2006, accessed on 4/8/2007
Nov 6, 2014 compare.ppt 4
main sections
1. simple programs
1. overview of platforms
1. why did Sun do it?
1. why did Microsoft do it?
1. Service Oriented Architecture – the peacemaker?
Nov 6, 2014 compare.ppt 5
1 simple programs
Nov 6, 2014 compare.ppt 6
// Java
public class Hello {
public static void main(String[] args) {
System.out.println("Hello world in Java");
}
}
// C#
namespace Hello {
public class Hello {
static void Main(string[] args) {
System.Console.WriteLine ("Hello world in C#");
System.Console.ReadLine();
}
}
}
‘ VB
Module HelloWorld
Sub Main
System.Console.WriteLine(“Hello World in
VB.NET”)
System.Console.ReadLine()
End Sub
End Module
console programs
Nov 6, 2014 compare.ppt 7
how much work is it to get this?
Nov 6, 2014 compare.ppt 8
mininal window
import java.awt.*;
import javax.swing.*;
public class Hello extends JFrame implements Runnable
{
public static void main(String[] args)
{
SwingUtilities.invokeLater(new Hello());
}
public void run()
{
this.setSize(new Dimension(200,200));
this.setTitle("Hello in Java");
this.setVisible(true);
}
}
using System.Windows.Forms;
namespace TinyWindowApp
{
public class HelloForm : Form
{
static void Main()
{
Application.Run(new HelloForm());
}
public HelloForm()
{
ClientSize = new
System.Drawing.Size(200, 200);
Text = "Hello in C#";
}
}
}
Nov 6, 2014 compare.ppt 9
2 overview of platforms
Nov 6, 2014 compare.ppt 10
identical types of runtime environments
•J2SE (Standard) runtime
•desktop applications
•J2EE (Enterprise) runtime
•web applications
•J2ME (Micro) runtime
•runtime for gadgets
C# or VB.NET with VS Express
desktop application
IIS with VS Express Web
web applications
.NET compact framework
runtime for gadgets
Nov 6, 2014 compare.ppt 11
Java platform - .NET platform
• Java Virtual Machine (JVM)
aka Java Runtime Environment (JRE)
• Linux, Windows, Mac and Unix
• download from Sun
• JIT compiler and libraries
• Java Development Kit (JDK)
• Java compiler and utilities
• Java bytecode
• integrated development env. (IDE)
• Eclipse (free - IBM)
• Netbeans (free - Sun)
• application servers
• Tomcat
• Glassfish (Sun)
• BEA Weblogic
• IBM Websphere
• Microsoft .NET Framework 2.0
aka .NET common language runtime (CLR)
• all versions of Windows (40+)
• download from Microsoft
• JIT compiler and libraries
• NET framework 2.0 SDK
• C# and VB.NET compilers and utilities
• Common Intermediate Language (CIL)
• integrated development env. (IDE)
• Visual Studio Express (free - Microsoft)
• application servers
• Microsoft Internet Information Server (IIS)
FREE
NOT
Nov 6, 2014 compare.ppt 12
features 1
•virtual machine
•platforms (all major OS’s)
•spec
•implementations
•libraries
•languages
•Java
•Jython
•Groovy
•web servers (many vendors)
•platforms (Unix, Linux)
•scalability
•cost
•web capabilities
•servlet
•JSP
•JSF
virtual machine
platforms (all versions of Windows)
spec
implementations
libraries
languages
C#, VB.NET, J# from Microsoft
many others from third parties
(Haskell, Lisp, Python, COBOL, Fortran, etc.)
web servers (just one!)
platforms (most Windows)
scalability
cost
web capabilities
handler
ASP (.NET)
(forgot equivalent name)
Nov 6, 2014 compare.ppt 13
features 2
•native code calling
•components
•beans
•environments
•applet (in browser)
•servlet (in server)
•Web Start
•installs from web
•caches on user’s PC
•deployment
•.jar
•.war
•.ear
•.class
•complex, painful learning curve that
differs for each web server,
container, and IDE
•automated via ANT
•XML, like make on Unix
native code calling
components
.DLL
environments
ActiveX (in browser)
handler (in server)
Smart Client
installs from web
caches on user’s PC
deployment
.exe (on file system)
.exe (in GAC)
.dll (on file system)
all builds and web installation is
automatically handled by Visual
Studio (Microsoft’s IDE)
Nov 6, 2014 compare.ppt 14
features 3
•databases
•JDBC
•CORBA
•binary object remoting
•XML
•via 3rd
-party add-ons until Java 6
•IDE’s
•Eclipse, with 1000’s of plugins
•NetBeans (from Sun) – also free
•service oriented architecture (SOA)
•annotations appearing
•web services WS-I
•supported but difficult (3rd
party)
•new partial automation in Java 6 and
latest NetBeans IDE
•I haven’t evaluated these yet
databases
ODBC
COM
binary object remoting
XML
excellent support early one
IDE’s
free versions of Visual Studio
some third party IDE’s
service oriented architecture (SOA)
annotations
web services WS-I
superbly automated by Visual Studion
since 2005
Nov 6, 2014 compare.ppt 15
the JRE and .NET runtimes include lots of libraries
• programs can call a huge body of pre-written code
• these reusable components are called the Class Libraries
• in Java, sometimes they are also called packages or Java API’s
• in .NET, they tend to be called the framework class libraries
• the libraries are designed to be used identically
• in Java, regardless of the underlying operating system
• in .NET, regardless of the underlying version of Windows
OR which language is being used

More Related Content

PPTX
Docker for .NET Developers
PDF
Eclipse Neon Webinar - Docker Tooling for Developers
PDF
Docker Tooling for Java EE Developers
PDF
Eclipse DemoCamp Munich - Docker Tooling and Vagrant Tooling
PDF
Dockerize Laravel Application
PPTX
Developer South Coast 2018: Docker on Windows - The Beginner's Guide
PPTX
Developer South Coast 2018: Modernizing .NET Apps with Docker
PPTX
vodQA(Pune) 2018 - Docker in Testing
Docker for .NET Developers
Eclipse Neon Webinar - Docker Tooling for Developers
Docker Tooling for Java EE Developers
Eclipse DemoCamp Munich - Docker Tooling and Vagrant Tooling
Dockerize Laravel Application
Developer South Coast 2018: Docker on Windows - The Beginner's Guide
Developer South Coast 2018: Modernizing .NET Apps with Docker
vodQA(Pune) 2018 - Docker in Testing

What's hot (20)

PPTX
1assembly in c#
PDF
DockerCon US 2016 - Extending Docker With APIs, Drivers, and Plugins
PPTX
vodQA(Pune) 2018 - Visual testing of web apps in headless environment manis...
PPTX
A Robust and Flexible Operating System Compatibility Architecture
PDF
Dockercon 16 Wrap-up (Docker for Mac and Win, Docker 1.12, Swarm Mode, etc.)
PDF
IBM Index 2018 Conference Workshop: Modernizing Traditional Java App's with D...
PDF
Lessons Learned: Using Concourse In Production
PDF
From Zero Docker to Hackathon Winner - Marcos Lilljedahl and Jimena Tapia
PDF
Weekly lecture appsterdam_19mar2014
PPTX
CloudExpo 2018: Docker - Power Your Move to the Cloud
PPTX
Docker for PHP Developers - Jetbrains
PDF
Docker All The Things - ASP.NET 4.x and Windows Server Containers
PDF
Stop Being Lazy and Test Your Software
PPTX
TechDays NL 2017: The Hybrid Docker Swarm
PPTX
Docker: From Zero to Hero
PPTX
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...
PDF
Servlets made easy. 
Write once and run everywhere.
PPTX
Dockerize the World
PDF
Docker 101 Workshop slides (JavaOne 2017)
PDF
Webinar: Creating an Effective Docker Build Pipeline for Java Apps
1assembly in c#
DockerCon US 2016 - Extending Docker With APIs, Drivers, and Plugins
vodQA(Pune) 2018 - Visual testing of web apps in headless environment manis...
A Robust and Flexible Operating System Compatibility Architecture
Dockercon 16 Wrap-up (Docker for Mac and Win, Docker 1.12, Swarm Mode, etc.)
IBM Index 2018 Conference Workshop: Modernizing Traditional Java App's with D...
Lessons Learned: Using Concourse In Production
From Zero Docker to Hackathon Winner - Marcos Lilljedahl and Jimena Tapia
Weekly lecture appsterdam_19mar2014
CloudExpo 2018: Docker - Power Your Move to the Cloud
Docker for PHP Developers - Jetbrains
Docker All The Things - ASP.NET 4.x and Windows Server Containers
Stop Being Lazy and Test Your Software
TechDays NL 2017: The Hybrid Docker Swarm
Docker: From Zero to Hero
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...
Servlets made easy. 
Write once and run everywhere.
Dockerize the World
Docker 101 Workshop slides (JavaOne 2017)
Webinar: Creating an Effective Docker Build Pipeline for Java Apps
Ad

Viewers also liked (17)

PPT
SynapseIndia mobile apps deployment framework architecture
PPT
SynapseIndia dotnet development platform overview
PPT
Synapseindia android apps application
PPT
SynapseIndia dotnet development framework
PPTX
SynapseIndia dotnet development methodologies iterative
PPT
Synapse india reviews sharing chapter 23 – asp.net
PPT
SynapseIndia dotnet module development part 1
PPT
SynapseIndia dotnet development ajax client library
PPT
Synapseindia strcture of dotnet development part 1
PPT
Synapseindia android apps overview
PPT
SynapseIndia drupal presentation on drupal best practices
PPT
Synapse india dotnet framework development or c
PPT
SynapseIndia mobile apps trends, 2013
PPT
Chapter 6 arrays part-1
PPTX
Synapse india dotnet development overloading operater part 3
PPT
Synapseindia dot net development computer programming
PPT
Synapseindia android apps application development
SynapseIndia mobile apps deployment framework architecture
SynapseIndia dotnet development platform overview
Synapseindia android apps application
SynapseIndia dotnet development framework
SynapseIndia dotnet development methodologies iterative
Synapse india reviews sharing chapter 23 – asp.net
SynapseIndia dotnet module development part 1
SynapseIndia dotnet development ajax client library
Synapseindia strcture of dotnet development part 1
Synapseindia android apps overview
SynapseIndia drupal presentation on drupal best practices
Synapse india dotnet framework development or c
SynapseIndia mobile apps trends, 2013
Chapter 6 arrays part-1
Synapse india dotnet development overloading operater part 3
Synapseindia dot net development computer programming
Synapseindia android apps application development
Ad

Similar to SynapseIndia java and .net development (20)

PPT
SynapseIndia dotnet development
PPT
Sadiq786
PPT
J2EEvs.NET
PPT
Introduction to .NET
PPT
01 java intro
PPTX
Java vs .Net
PPTX
Comparison of Programming Platforms
PPT
.Net introduction by Quontra Solutions
PPT
Best DotNet Training in Delhi
PPT
.NET Vs J2EE
PPTX
A tour of Java and the JVM
PPTX
Presentation1
PDF
R0701116121
PPT
Csharp dot net
PPSX
Introduction to .net framework
PDF
EconoME_EnglishPresentation_ArinaTozlovanu.pdf
PPTX
Introduction to .NET by QuontraSolutions
PPTX
Introduction to .net FrameWork by QuontraSolutions
PDF
Java 2012 conference keynote - Java Strategy & Roadmap - WebLogic & GlassFish...
PPTX
NET vs Java Which Technology Is Better for Website Development
SynapseIndia dotnet development
Sadiq786
J2EEvs.NET
Introduction to .NET
01 java intro
Java vs .Net
Comparison of Programming Platforms
.Net introduction by Quontra Solutions
Best DotNet Training in Delhi
.NET Vs J2EE
A tour of Java and the JVM
Presentation1
R0701116121
Csharp dot net
Introduction to .net framework
EconoME_EnglishPresentation_ArinaTozlovanu.pdf
Introduction to .NET by QuontraSolutions
Introduction to .net FrameWork by QuontraSolutions
Java 2012 conference keynote - Java Strategy & Roadmap - WebLogic & GlassFish...
NET vs Java Which Technology Is Better for Website Development

More from Synapseindiappsdevelopment (20)

PPTX
Synapse india elance top in demand in it skills
PPT
SynapseIndia dotnet web development architecture module
PPT
SynapseIndia dotnet framework library
PPT
SynapseIndia dotnet web applications development
PPT
SynapseIndia dotnet website security development
PPT
SynapseIndia mobile build apps management
PPT
SynapseIndia mobile apps deployment framework internal architecture
PPT
SynapseIndia dotnet development panel control
PPT
SynapseIndia php web development
PPT
SynapseIndia mobile apps architecture
PPT
SynapseIndia mobile apps
PPT
SynapseIndia dotnet client library Development
PPT
SynapseIndia creating asp controls programatically development
PPT
SynapseIndia asp.net2.0 ajax Development
PPT
SynapseIndia drupal presentation on drupal info
PPT
SynapseIndia drupal presentation on drupal
PPTX
SynapseIndia dotnet debugging development process
PPTX
Synapse india sharing info on dotnet framework part1
PPTX
Synapse india sharing info on dotnet framework part2
PPTX
Synapse india dotnet development overloading operater part 4
Synapse india elance top in demand in it skills
SynapseIndia dotnet web development architecture module
SynapseIndia dotnet framework library
SynapseIndia dotnet web applications development
SynapseIndia dotnet website security development
SynapseIndia mobile build apps management
SynapseIndia mobile apps deployment framework internal architecture
SynapseIndia dotnet development panel control
SynapseIndia php web development
SynapseIndia mobile apps architecture
SynapseIndia mobile apps
SynapseIndia dotnet client library Development
SynapseIndia creating asp controls programatically development
SynapseIndia asp.net2.0 ajax Development
SynapseIndia drupal presentation on drupal info
SynapseIndia drupal presentation on drupal
SynapseIndia dotnet debugging development process
Synapse india sharing info on dotnet framework part1
Synapse india sharing info on dotnet framework part2
Synapse india dotnet development overloading operater part 4

Recently uploaded (20)

PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Modernizing your data center with Dell and AMD
PDF
KodekX | Application Modernization Development
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Encapsulation theory and applications.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
NewMind AI Monthly Chronicles - July 2025
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
Big Data Technologies - Introduction.pptx
PPTX
A Presentation on Artificial Intelligence
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
Modernizing your data center with Dell and AMD
KodekX | Application Modernization Development
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Encapsulation_ Review paper, used for researhc scholars
Diabetes mellitus diagnosis method based random forest with bat algorithm
Reach Out and Touch Someone: Haptics and Empathic Computing
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Encapsulation theory and applications.pdf
Machine learning based COVID-19 study performance prediction
NewMind AI Monthly Chronicles - July 2025
The AUB Centre for AI in Media Proposal.docx
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Big Data Technologies - Introduction.pptx
A Presentation on Artificial Intelligence
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Digital-Transformation-Roadmap-for-Companies.pptx

SynapseIndia java and .net development

  • 2. Nov 6, 2014 compare.ppt 2 Java and .NET • Java was created by Sun in 1992  • Microsoft introduced .NET and C# in 2000 • both platforms are object-oriented, type safe, and have automatic garbage collection • the two platforms have been competing vigorously on the desktop • but especially in the area of server technology • many developers become expert on one platform • few have time to learn both • the schism of understanding the two platforms widens • due to misinformation and disinformation  • what are the strengths and issues for each platform?
  • 3. Nov 6, 2014 compare.ppt 3 2008 forecast for market share of OS by platform: (2q 06) Windows 40% Unix 29% Linux 15% Others 16% forecast market share of OS unit sales: (05) in 2002 in 2003 in 2007 Windows 45% 59% 59% Linux 20% 24% 33% Unix 16% 10% 5% Others 19% 7% 3% market share of server shipments by platform in 2005: Windows 65.6% Linux 20.0% Unix 9.5% NetWare 4.2% Others 0.7% FROM: InfoTech Trends http://www.infotechtrends.com/ report from 2Q 2006, accessed on 4/8/2007
  • 4. Nov 6, 2014 compare.ppt 4 main sections 1. simple programs 1. overview of platforms 1. why did Sun do it? 1. why did Microsoft do it? 1. Service Oriented Architecture – the peacemaker?
  • 5. Nov 6, 2014 compare.ppt 5 1 simple programs
  • 6. Nov 6, 2014 compare.ppt 6 // Java public class Hello { public static void main(String[] args) { System.out.println("Hello world in Java"); } } // C# namespace Hello { public class Hello { static void Main(string[] args) { System.Console.WriteLine ("Hello world in C#"); System.Console.ReadLine(); } } } ‘ VB Module HelloWorld Sub Main System.Console.WriteLine(“Hello World in VB.NET”) System.Console.ReadLine() End Sub End Module console programs
  • 7. Nov 6, 2014 compare.ppt 7 how much work is it to get this?
  • 8. Nov 6, 2014 compare.ppt 8 mininal window import java.awt.*; import javax.swing.*; public class Hello extends JFrame implements Runnable { public static void main(String[] args) { SwingUtilities.invokeLater(new Hello()); } public void run() { this.setSize(new Dimension(200,200)); this.setTitle("Hello in Java"); this.setVisible(true); } } using System.Windows.Forms; namespace TinyWindowApp { public class HelloForm : Form { static void Main() { Application.Run(new HelloForm()); } public HelloForm() { ClientSize = new System.Drawing.Size(200, 200); Text = "Hello in C#"; } } }
  • 9. Nov 6, 2014 compare.ppt 9 2 overview of platforms
  • 10. Nov 6, 2014 compare.ppt 10 identical types of runtime environments •J2SE (Standard) runtime •desktop applications •J2EE (Enterprise) runtime •web applications •J2ME (Micro) runtime •runtime for gadgets C# or VB.NET with VS Express desktop application IIS with VS Express Web web applications .NET compact framework runtime for gadgets
  • 11. Nov 6, 2014 compare.ppt 11 Java platform - .NET platform • Java Virtual Machine (JVM) aka Java Runtime Environment (JRE) • Linux, Windows, Mac and Unix • download from Sun • JIT compiler and libraries • Java Development Kit (JDK) • Java compiler and utilities • Java bytecode • integrated development env. (IDE) • Eclipse (free - IBM) • Netbeans (free - Sun) • application servers • Tomcat • Glassfish (Sun) • BEA Weblogic • IBM Websphere • Microsoft .NET Framework 2.0 aka .NET common language runtime (CLR) • all versions of Windows (40+) • download from Microsoft • JIT compiler and libraries • NET framework 2.0 SDK • C# and VB.NET compilers and utilities • Common Intermediate Language (CIL) • integrated development env. (IDE) • Visual Studio Express (free - Microsoft) • application servers • Microsoft Internet Information Server (IIS) FREE NOT
  • 12. Nov 6, 2014 compare.ppt 12 features 1 •virtual machine •platforms (all major OS’s) •spec •implementations •libraries •languages •Java •Jython •Groovy •web servers (many vendors) •platforms (Unix, Linux) •scalability •cost •web capabilities •servlet •JSP •JSF virtual machine platforms (all versions of Windows) spec implementations libraries languages C#, VB.NET, J# from Microsoft many others from third parties (Haskell, Lisp, Python, COBOL, Fortran, etc.) web servers (just one!) platforms (most Windows) scalability cost web capabilities handler ASP (.NET) (forgot equivalent name)
  • 13. Nov 6, 2014 compare.ppt 13 features 2 •native code calling •components •beans •environments •applet (in browser) •servlet (in server) •Web Start •installs from web •caches on user’s PC •deployment •.jar •.war •.ear •.class •complex, painful learning curve that differs for each web server, container, and IDE •automated via ANT •XML, like make on Unix native code calling components .DLL environments ActiveX (in browser) handler (in server) Smart Client installs from web caches on user’s PC deployment .exe (on file system) .exe (in GAC) .dll (on file system) all builds and web installation is automatically handled by Visual Studio (Microsoft’s IDE)
  • 14. Nov 6, 2014 compare.ppt 14 features 3 •databases •JDBC •CORBA •binary object remoting •XML •via 3rd -party add-ons until Java 6 •IDE’s •Eclipse, with 1000’s of plugins •NetBeans (from Sun) – also free •service oriented architecture (SOA) •annotations appearing •web services WS-I •supported but difficult (3rd party) •new partial automation in Java 6 and latest NetBeans IDE •I haven’t evaluated these yet databases ODBC COM binary object remoting XML excellent support early one IDE’s free versions of Visual Studio some third party IDE’s service oriented architecture (SOA) annotations web services WS-I superbly automated by Visual Studion since 2005
  • 15. Nov 6, 2014 compare.ppt 15 the JRE and .NET runtimes include lots of libraries • programs can call a huge body of pre-written code • these reusable components are called the Class Libraries • in Java, sometimes they are also called packages or Java API’s • in .NET, they tend to be called the framework class libraries • the libraries are designed to be used identically • in Java, regardless of the underlying operating system • in .NET, regardless of the underlying version of Windows OR which language is being used

Editor's Notes

  • #7: NOTE: namespace case sensitive semi-colons after each statement OPTIONAL incoming arguments
  • #10: the runtime and its JIT compiler technology the framework libraries the compilers (C#, VB.NET, C++, J#)
  • #12: Previous programming languages also required a runtime subsystem to execute Pascal compiled down to intermediate P-code, which was then interpreted Visual Basic (before the .NET versions) compiled to an intermediate code which required the VB runtime library to be installed bytecode is big endian (first made for Unix), CIL is little endian (Intel) the JVM (JRE) and CLR and not interpreters they use just-in-time (JIT) compiler technology they both compile procedures to native code immediately before the code needs to execute
  • #16: A few other languages now exist which can share these rich libraries Jython, JRuby .NET Framework Class Libraries, aka Base Class Libraries