467,885 Members | 1,293 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 467,885 developers. It's quick & easy.

is dotnet a - Virtual Machine - like Java ?

tmb
1 - Is Microsoft dotnet a Virtual Machine... like the Java Virtual
Machine... that will run on any operating system?

2 - If so, does Microsoft give away the dotnet development system like Sun
does the Java Developmet system?

I was considering learning Java for my next project and someone suggested
dotnet instead.

3 - Can someone give me the pro's & con's of each?

thanks - tmb
Jul 21 '05 #1
  • viewed: 3753
Share:
12 Replies

"tmb" <to********@yahoo.com> wrote in message
news:SD*********************@twister.tampabay.rr.c om...
1 - Is Microsoft dotnet a Virtual Machine... like the Java Virtual
Machine... that will run on any operating system?
No. MS's .NET natively runs on only Windows platforms, although there have
been 3rd party versions of the .NET Framework that run on other OS's.

2 - If so, does Microsoft give away the dotnet development system like Sun
does the Java Developmet system?
Yes, the .NET Framework is free.

I was considering learning Java for my next project and someone suggested
dotnet instead.
With Java, you have no choice of a development language, it must be Java.
With .NET, you have a multitude of languages to choose from and they all
have access to the .NET Framework and the classes and fundamental processes
of its Common Language Runtime (CLR).
3 - Can someone give me the pro's & con's of each?

thanks - tmb

Jul 21 '05 #2
> 1 - Is Microsoft dotnet a Virtual Machine... like the Java Virtual
Machine... that will run on any operating system?
Yes it is virtual machine like java that can run in any operating system,
but Microsoft implmeneted it only on Windows and Pocket PC that you can used
for comercial application, and they release also the source code (name Rotor
Project with limited functionality) for Windows, Unix, Linux and MacOsX but
only for research purpose.

There are two open source projects that trying to implement .Net platform
for Linux and other system like mono (http://www.go-mono.com/) and dotGNU
(http://www.gnu.org/projects/dotgnu/).
2 - If so, does Microsoft give away the dotnet development system like Sun
does the Java Developmet system?
Yeah the .Net SDK with the compiler is free to download from Microsoft site
and you can use them freely to develop your application, and there is an
open source free ide for CSharp called sharpdevelop
(http://www.icsharpcode.net/) that you can use with the SDK.
I was considering learning Java for my next project and someone suggested
dotnet instead.
That depend on your project but both are great platform that you can used in
most projects.
3 - Can someone give me the pro's & con's of each?
This some of the pro and con in my opinion,

pro for java: that is multiplatform and supported by a lot of vendors.

con for java: that it is still slow for UI and its UI doesn't look or feel
exactly like native interface of the operating system, it is difficult in
java to call native API (Compared to .Net), and you can't use pointer or
control your object to be treated by reference or value and it is only
single language.

pro for .Net: support multilanguage, you can use pointer by mark it as
unsafe to speed some memory access (not available in all .Net language, it
is available for C# and C++), you can pass any object by reference or value,
very easy to call any DLL or COM component in windows from .Net application,
the UI is using windows API so it look the same as the native windows API,
there is a utlity called ntgen that you can use it to compile your
application to native during the installation which will avoid the startup
delay and make your application run nearly as native application, if you
already have any C++ application you can compile it in mixed mode then you
can use it in .Net easily.

con for .Net: Only windows platform, mono and dotgnu you can use them but
they don't fully support winform (the UI for .Net under windows)

There is much more pro and con for both,
Regards,
Emad
"tmb" <to********@yahoo.com> wrote in message
news:SD*********************@twister.tampabay.rr.c om... 1 - Is Microsoft dotnet a Virtual Machine... like the Java Virtual
Machine... that will run on any operating system?

2 - If so, does Microsoft give away the dotnet development system like Sun
does the Java Developmet system?

I was considering learning Java for my next project and someone suggested
dotnet instead.

3 - Can someone give me the pro's & con's of each?

thanks - tmb

Jul 21 '05 #3
Scott M. <s-***@nospam.nospam> wrote:
I was considering learning Java for my next project and someone suggested
dotnet instead.


With Java, you have no choice of a development language, it must be Java.
With .NET, you have a multitude of languages to choose from and they all
have access to the .NET Framework and the classes and fundamental processes
of its Common Language Runtime (CLR).


Actually, there are loads of languages which have been targetted for
the JVM. http://www.sys-con.com/story/?storyid=36574&DE=1 lists just a
few of them.

They're not generally as well integrated as with the CLR though - the
JVM was definitely designed for Java rather than for multiple
languages.

--
Jon Skeet - <sk***@pobox.com>
http://www.pobox.com/~skeet
If replying to the group, please do not mail me too
Jul 21 '05 #4
Hi Emad,

My compliments,

Very nice answer.

Cor
Jul 21 '05 #5
tmb
I want to thank everybody for their contribution to this thread. Very
helpful.

Multi-platform is a big issue for our next project so my guess is we will
choose Java.

Regarding being able to program multiple languages... that is not a biggie
for us... Java seems simple and straight forward... even though I can see
where not having to learn a new language would be considered good by many.

It's hard to stop MS once they start rolling on something... so my guess is
in a few years... when dot net is truly multi-platform... if ever... we
could look at this differently.

thanks again all.

tmb

"tmb" <to********@yahoo.com> wrote in message
news:SD*********************@twister.tampabay.rr.c om...
1 - Is Microsoft dotnet a Virtual Machine... like the Java Virtual
Machine... that will run on any operating system?

2 - If so, does Microsoft give away the dotnet development system like Sun
does the Java Developmet system?

I was considering learning Java for my next project and someone suggested
dotnet instead.

3 - Can someone give me the pro's & con's of each?

thanks - tmb

Jul 21 '05 #6


3 - Can someone give me the pro's & con's of each?

Just to add to the previous responses, here's my opinion.

..Net will never become mainstream on any platforms other than windows. Java
is already mainstream on many platforms

Java will never create as good windows GUI apps as .Net does

..Net will take off but I think MS must be disappointed at how slow the
uptake has been

c# is slightly better than java in terms of language features but they are
so similar you could learn either one and switch to the other.

java has been around longer and has masses of free libraries - currently
more than .net though this might change

As for the thing about the ability of the platforms to support different
languages, I don't really see that it's a big deal. all the "different" .net
languages are just different syntax for expressing the same thing. maybe we
will someday get different programming paradigms for these VMs in which case
there will be a real choice of language to suit the application, but at the
moment choosing the .net language is just like choosing the color of your
car.

As for which to learn, if your customers/employers are microsoft shops they
will soon have to move to .net; if you want to write platform-independent
server code you should definitely go with java.

Andy

thanks - tmb

Jul 21 '05 #7
Elp

"tmb" <to********@yahoo.com> wrote in message
news:Kv*******************@twister.tampabay.rr.com ...
Multi-platform is a big issue for our next project so my guess is we will
choose Java.
Yep, if multi-plateform is in the deal, forget about .NET, at least for now,
and look for something else such as Java.
It's hard to stop MS once they start rolling on something... so my guess is in a few years... when dot net is truly multi-platform... if ever... we
could look at this differently.


I think that you're absolutely right here. Too bad that Microsoft didn't
release (and will probably never release) the .NET Framework for any other
plateform than Windows. It's even more a shame when you can see that they
actually began to port the .NET Framework to other plateform (see their
Rotor project) but, for some reason, stopped everything and focused only on
the Windows version.
Jul 21 '05 #8
> .Net will never become mainstream on any platforms other than windows.
Java
is already mainstream on many platforms
Never say never.
.Net will take off but I think MS must be disappointed at how slow the
uptake has been


"Will take off"....I'd say has taken off. I know of many large corporations
that were using .NET for production applications on Beta 2 of .NET.

Jul 21 '05 #9
Scott M. wrote:
.Net will never become mainstream on any platforms other than windows. Java
is already mainstream on many platforms


Never say never.


mono is the fastest growing dev platform on Linux.

it's c# compiler rivals and exceeds that of Microsoft.
.Net will take off but I think MS must be disappointed at how slow the
uptake has been


"Will take off"....I'd say has taken off. I know of many large
corporations that were using .NET for production applications on Beta 2 of
.NET.


Java has been effectively neutralized. Because of its proprietary nature,
it can never cover as many platforms as c#/.NET/mono

Mono/c# and gtk# are languages of choice right now for Linux developers.

--
w:4

Jul 21 '05 #10
"Andy Fish" <aj****@blueyonder.co.uk> wrote in
news:UM*********************@news-text.cableinet.net...
...
As for the thing about the ability of the platforms to support different
languages, I don't really see that it's a big deal. all the "different" ..net languages are just different syntax for expressing the same thing. maybe we will someday get different programming paradigms for these VMs in which case there will be a real choice of language to suit the application, but at the moment choosing the .net language is just like choosing the color of your
car.


Ever heard of Perl, Hugs.net, Fortran.net, Eiffel or maybe managed C++?
Of course all these languages are "eqivalent" in the sense that they are all
turing-complete, but it's certainly more than "choosing the color of your
car" - more like choosing between a car, a ship or a bicycle...

Have a look at:
http://www.activestate.com/Products/PerlASPX
http://www.eiffel.com/
http://www.lahey.com/
http://galois.com/~sof/hugs98.net/
http://www.cl.cam.ac.uk/Research/TSG/SMLNET/
(found using google in 5 minutes...)

The last two are probably not intended for real-world use as they are
research projects, but that's probably true for most functional languages.

Niki

Jul 21 '05 #11

"Benjamin Disraeli" <ni********@century.fox> wrote in message
news:14****************@news.west.earthlink.net...
Scott M. wrote:
.Net will never become mainstream on any platforms other than windows. Java
is already mainstream on many platforms


Never say never.


mono is the fastest growing dev platform on Linux.

it's c# compiler rivals and exceeds that of Microsoft.


HA! have you ever used it? its error messages are crap and it emits bad code
and executables sometimes. Its only perhaps decent, certainly not terrific.
.Net will take off but I think MS must be disappointed at how slow the
uptake has been


"Will take off"....I'd say has taken off. I know of many large
corporations that were using .NET for production applications on Beta 2
of
.NET.


Java has been effectively neutralized. Because of its proprietary nature,
it can never cover as many platforms as c#/.NET/mono

Mono/c# and gtk# are languages of choice right now for Linux developers.

--
w:4

Jul 21 '05 #12
Sorry, I forgot this one:

http://bluesorcerer.net/esoteric/ook.html

Face it: there are MANY MANY MANY different programming languages out there
for the .net environment.

Niki

"Niki Estner" <ni*********@cube.net> wrote in
news:%2****************@TK2MSFTNGP09.phx.gbl...
"Andy Fish" <aj****@blueyonder.co.uk> wrote in
news:UM*********************@news-text.cableinet.net...
...
As for the thing about the ability of the platforms to support different
languages, I don't really see that it's a big deal. all the "different" .net
languages are just different syntax for expressing the same thing. maybe

we
will someday get different programming paradigms for these VMs in which

case
there will be a real choice of language to suit the application, but at

the
moment choosing the .net language is just like choosing the color of your car.


Ever heard of Perl, Hugs.net, Fortran.net, Eiffel or maybe managed C++?
Of course all these languages are "eqivalent" in the sense that they are

all turing-complete, but it's certainly more than "choosing the color of your
car" - more like choosing between a car, a ship or a bicycle...

Have a look at:
http://www.activestate.com/Products/PerlASPX
http://www.eiffel.com/
http://www.lahey.com/
http://galois.com/~sof/hugs98.net/
http://www.cl.cam.ac.uk/Research/TSG/SMLNET/
(found using google in 5 minutes...)

The last two are probably not intended for real-world use as they are
research projects, but that's probably true for most functional languages.

Niki

Jul 21 '05 #13

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

43 posts views Thread by Minti | last post: by
2 posts views Thread by MR | last post: by
7 posts views Thread by vaividhya | last post: by
7 posts views Thread by Philippe Poulard | last post: by
6 posts views Thread by Elijah Cardon | last post: by
reply views Thread by MrMoon | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.