Jump to content
  • Advertisement
Sign in to follow this  
raiden56

suggestion for a choice(.NET or JAVA)

This topic is 4341 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

hi there~Im a student.I had a choice recently.My school gave 2 things let me choose:.NET or JAVA.I really confused in this time. Please gaves some suggestion for me.

Share this post


Link to post
Share on other sites
Advertisement
Here is some information which may help you decide whether to choose Java or .NET. Java is platform independent. It is almost completely portable across all major systems, and in the case that it isn't, it's pretty easy to deal with. .NET is Windows only, although it's possible to get it working in Linux. Java and .NET languages are all hybrid languages. That is, they both use Just-in-time (JIT) compilation. Rather than using an interpreter, which is roughly 10 times as slow as machine code, Java and .NET both compile to intermediate code. In Java's case, it is called bytecode, and in .NET's case, it is called MSIL (Microsoft intermediate language). A sophisticated virtual machine then interprets this intermediate code and compiles any bottleneck code to machine code on the fly (by way of sophisticated runtime profiling). All in all, this makes for very quick execution speed, approaching languages like C.

.NET contains a plethora of languages which all share a common library. Thus, it's very easy to use multiple .NET languages in a single project. .NET aims to be something more than simply a language/API/virtual machine like Java. .NET aims to take it one step further than that and introduce new programming concepts and a whole new operating environment for Windows. Java is a single language with an enormous high-level library similar to .NET's. To be brutally honest with you, Java and C# (C# is the flagship .NET language) are very similar. If you learn one, you will be able to pick up the other in no time at all.

Share this post


Link to post
Share on other sites
I would recommend you try them both out and see which one you prefer.

Quote:
Original post by Kevinator
...
Very well put [wink]... For clarification of .NET on Linux/Mac, you'll be looking at Mono.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Quote:
Original post by Kevinator
.NET contains a plethora of languages which all share a common library. Thus, it's very easy o use multiple .NET languages in a single project. .NET aims to be something more than simply a language/API/virtual machine like Java. .NET aims to take it one step further than that and introduce new programming concepts and a whole new operating environment for Windows.


Well, what bothers me sometimes is the "marketing speak". Don't think marketing speak comes only from marketeers, it comes from developers too!!

- Why would be desirable to have "many languages" inside one project? Or even inside one company?

The only thing other languages would be useful for would be for scripting and Java has been able to do that for years.

BUT No sane manager would allow the developers to pick their "favorite languages" to work in one project, given that all developers would need to have the skills in all languages chosen, not to mention the replacement of developers would be quite difficult. So why is this brought up as "something good"?

How many of you here is a professional developer and used many languages in one project (not counting the scripting case which happens oftentimes)?

The second affirmation:

- What .Net brings of "step further"? What programming concepts?

There is zero innovation in .Net. If it wasn't copied from Java it was copied from somewhere else, so I fail to see the "step further".

If by "step further" you mean a different way of developing Windows applications, a way which resembles Java, then you are a bit late. Java has provided much of what .Net has for some time now, and not Windows only.


Share this post


Link to post
Share on other sites
Quote:
Original post by Anonymous Poster
Quote:
Original post by Kevinator
.NET contains a plethora of languages which all share a common library. Thus, it's very easy o use multiple .NET languages in a single project. .NET aims to be something more than simply a language/API/virtual machine like Java. .NET aims to take it one step further than that and introduce new programming concepts and a whole new operating environment for Windows.

- Why would be desirable to have "many languages" inside one project? Or even inside one company?

For the same reason it would be desirable to have many tools at a construction site. That is, unless you enjoy hammering nails with a bowsaw or something. [grin]

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Quote:
Original post by Kevinator
For the same reason it would be desirable to have many tools at a construction site. That is, unless you enjoy hammering nails with a bowsaw or something. [grin]


Answer lacking in substance. The languages in .Net are nothing but "skins", using one or the other have little difference since the class library will be the same, the class library being the same it means you are stuck in ONE PARADIGM, and one paradigm only.

Try again.

Share this post


Link to post
Share on other sites
Quote:
Original post by Anonymous Poster
Quote:
Original post by Kevinator
For the same reason it would be desirable to have many tools at a construction site. That is, unless you enjoy hammering nails with a bowsaw or something. [grin]


Answer lacking in substance. The languages in .Net are nothing but "skins", using one or the other have little difference since the class library will be the same, the class library being the same it means you are stuck in ONE PARADIGM, and one paradigm only.

Try again.

Well I believe Lisp, Boo, and F# are functional(-type) language that are .NET. So obviously you are not bound to one paradigm.

Also, the .NET library is much much more intuitive than Java's Swing and AWT libraries. No I'm not a professional developer, nor do I have to be, but I've used and programmed in both languages. So I've gained the right to make that comment and critique.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Quote:
Original post by Alpha_ProgDes
Well I believe Lisp, Boo, and F# are functional(-type) language that are .NET. So obviously you are not bound to one paradigm.


Are all of them 100% compliant production-quality languages?
Do they have enough documentation for the developer not to be in trouble?

If you want to count "languages" as a metric for "good" then the JVM runs tens of it, I saw a site pointing to over 70 of them. But I would be cautious of recommending any of them to a developer because for production code production-quality level and support are expected.

Quote:
Original post by Alpha_ProgDes
Also, the .NET library is much much more intuitive than Java's Swing and AWT libraries. No I'm not a professional developer, nor do I have to be, but I've used and programmed in both languages. So I've gained the right to make that comment and critique.


I have worked with .Net for some time and I must say that .Net's library is poor if compared to Java's.

The funny thing is that I have heard some recently-converted-to-C# C++ developers talking about the class library of .Net as being a step forward:

point 1: Java has such class library since 1995
point 2: .Net's class library is only a fraction of Java's. Java's is more complete.

Maybe if C++'s developers weren't too busy spreading the FUD "Java is slow", they would have noticed it.

Now if the library looks good or bad, that's entirely subjective. I, for example, love Java's library and didn't like .Net's, especially the Collections which were ridiculous (not sure if they fixed it).

Share this post


Link to post
Share on other sites
also IIRC the .NET just in time compiler, once you run the program in your pc it compile a version of the "code path" in native code for your machine, which will make the aplication runs better the following times you use the program.

i will preffer using .NET its so much easer to use IMO, and about the multiple languages thingies... i thinks is very cool that you can use a library that
somebody else programmed in another language and you don't have to make the library your self.

Also programming windows interfaces are WAY much easier to do in Visual Studio than anything i have seen for java.

my vote goes to .NET... ( especially C# ) all the nice things from Java and C++ together :D

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!