3. Byte code is the intermediate code, just like
object code in C language.
Byte code made Java platform independent.
Java applications are independent of OS.
Platform for a Java application is JRE and
further this JRE is dependent on OS.
5. .NET framework is platform dependent.
.NET application will run if .NET framework is
installed on that machine.
Conceptually, .NET is platform independent.
.NET framework was developed only for Linux,
other than windows, and is named as Mono.NET.
6. JVM v/s CLR:
JVM designed for platform independence
Single language: Java (?)
A separate JVM for each OS & device
CLR designed for language independence
Multiple languages for development
C++, VB, C#, (J#)
APL, COBOL, Eiffel, Forth, Fortran, Haskel, SML, Mercury,
Mondrian, Oberon, Pascal, Perl, Python, RPG, Scheme,
SmallScript, …
Impressive usage of formal methods and programming
language research during development
Underlying OS: Windows (?)
7. CLR vs JVM:
C#
Managed
C/C++
Lots of other
Languages
VB
.Net
CLR or
(Common Language
Runtime)
MSIL
Windows OS
Java
JRE (JVM)
Byte Codes
Mac Unix LinuxWin
Both are ‘middle layers’ between an intermediate
language & the underlying OS
8. Java Byte Code and MSIL:
Java byte code (or JVML) is the low-level language of the
JVM.
MSIL (or CIL or IL) is the low-level language of the .NET
Common Language Runtime (CLR).
Superficially, the two languages look very similar.
9. Choosing between Java and .Net
The ultimate choice usually depends not on technical
superiority, but on:
cultural/”religious”/political preferences
Skill set of your developers
Customer preference
Vendor relations