Our server costs ~$56 per month to run. Please consider donating or becoming a Patron to help keep the site running. Help us gain new members by following us on Twitter and liking our page on Facebook!
Current time: March 29, 2024, 6:00 am

Poll: Which one do you prefer ?
This poll is closed.
.NET
30.00%
3 30.00%
JAVA
70.00%
7 70.00%
Total 10 vote(s) 100%
* You voted for this item. [Show Results]

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
.NET vs JAVA
#1
.NET vs JAVA


[Image: eUdzMRc.gif]
Reply
#2
RE: .NET vs JAVA
As .NET is a framework, the comparison seems flawed. You could compare .NET to other Java frameworks, of which there are many.

Do you mean C# versus Java?

By the way, it's not usually referred to as JAVA in industry. Just Java.

C# has not yet been available for non-Windows platforms long enough to compare on terms of ubiquity. Due to that, even a better language design (C#) would not win the versus battle.
Slave to the Patriarchy no more
Reply
#3
RE: .NET vs JAVA
(March 14, 2015 at 3:04 pm)Moros Synackaon Wrote: C# has not yet been available for non-Windows platforms long enough to compare on terms of ubiquity. Due to that, even a better language design (C#) would not win the versus battle.

I am not a programming professional and I chiefly oppose Microsoft on the basis of their history of anti-competitive business practices leading to what was an effectively monopolistic position in operating systems with attendant quality failures and price gouging.

However, it seems to me that 15 years in the software market actually IS enough time to compare on near any terms and the only reason C# hasn't been ported to non-Windows systems is by yet another of Microsoft's choices to not serve their customers but themselves. Any C# port to non-Windows system is probably Microsoft bowing to the popularity of Java.
http://en.wikipedia.org/wiki/C_Sharp_%28...anguage%29
Quote: By the time the .NET project was publicly announced at the July 2000 Professional Developers Conference, the language had been renamed C#, and the class libraries and ASP.NET runtime had been ported to C#.
So how, exactly, does God know that She's NOT a brain in a vat? Huh
Reply
#4
RE: .NET vs JAVA
(March 14, 2015 at 3:04 pm)Moros Synackaon Wrote: As .NET is a framework, the comparison seems flawed. You could compare .NET to other Java frameworks, of which there are many.

Do you mean C# versus Java?

By the way, it's not usually referred to as JAVA in industry. Just Java.

C# has not yet been available for non-Windows platforms long enough to compare on terms of ubiquity. Due to that, even a better language design (C#) would not win the versus battle.

Agreed on all points.

In terms of frameworks, .NET is still primarily a Windows-only thing. Yes, there are implementations such as Mono that are cross-platform but they are incomplete. There are many cross-platform implementations of Java frameworks, and they are, with some quirks, largely write-once, run everywhere (I have noted some idiosyncrasies in writing file-handling applications where the underlying libraries work a little differently on NTFS vs ext4, amongst other things).

I have no real-world experience with C# - largely because I do not develop specifically for Windows, and I am not a fan of vendor lock-in. Java is, despite it's flaws, at least nominally open (I don't need to use Oracle's JDK/JVM if I don't want to).

Given that platform independence is critical to my work, I'm in the Java camp (Specifically Java + the Spring framework, running under Tomcat on Linux, with Oracle and mysql backends). Our dev workstations are Windows 7, and at least for webapps, portability is a non issue. I do have to do some extra work accounting for filesystem implemention differences when running under windows vs. Linux, but they're minor.

There's no way we'd ever use Windows on our production front ends, so C#/.NET is a non-starter - but that's far from universally true.
Reply
#5
RE: .NET vs JAVA
I voted Java but only because it is open. It was a close thing as I don't like the way Java is developing and Mono exists now.

My job currently involves Java and Spring. I have been programming Java on and off since 1999. My last job was C#, which I had never used before and it certainly has some nice features. The job before that was Java and exposed me to Spring for the first time. I considered Spring a con. Programming became a matter of writing XML config files yet the config files never changed. Direct Inject / Inversion of Control was nice in theory but useless in practice.

But what I really hate is how magic is becoming more prevalent. Not just Java but C# as well. I understand the temptation to cut down on boilerplate code and to have things happen as if by magic, it does make development much faster. But in practice 90% of software engineering is maintenance of existing software and eventually all that magic more often than not needs to be removed to find out why it is messing up. The first three months of my current job has required me to take deprecated Java / Spring code and remove most of the old XML to make it auto-magical with annotations. It's certainly made the code simpler, but I'm sceptical as to whether it's actually the right way to go. I can't shift the suspicion that the correct way to do it is to dump Spring (and Java and C#) and do something new from scratch.

My programming language of choice is C++. I love code to be explicit.
Reply
#6
RE: .NET vs JAVA
I'm a hobby programmer and prefer .net by a wide margin. I sure wish it was open though. There have been moves in that direction.
Only two things are infinite, the universe and human stupidity, and I'm not sure about the former.

Albert Einstein
Reply
#7
Wink 
RE: .NET vs JAVA
(March 14, 2015 at 7:01 pm)I_am_not_mafia Wrote: I voted Java but only because it is open. It was a close thing as I don't like the way Java is developing and Mono exists now.

My job currently involves Java and Spring. I have been programming Java on and off since 1999. My last job was C#, which I had never used before and it certainly has some nice features. The job before that was Java and exposed me to Spring for the first time. I considered Spring a con. Programming became a matter of writing XML config files yet the config files never changed. Direct Inject / Inversion of Control was nice in theory but useless in practice.

But what I really hate is how magic is becoming more prevalent. Not just Java but C# as well. I understand the temptation to cut down on boilerplate code and to have things happen as if by magic, it does make development much faster. But in practice 90% of software engineering is maintenance of existing software and eventually all that magic more often than not needs to be removed to find out why it is messing up. The first three months of my current job has required me to take deprecated Java / Spring code and remove most of the old XML to make it auto-magical with annotations. It's certainly made the code simpler, but I'm sceptical as to whether it's actually the right way to go. I can't shift the suspicion that the correct way to do it is to dump Spring (and Java and C#) and do something new from scratch.

My programming language of choice is C++. I love code to be explicit.

I agree with much of what you said, particularly about "magic". I had to be dragged from my C comfort zone to Java/Spring kicking and screaming. I do find some disagreement with your position on IOC, though. It's useful for injecting runtime dependencies at appserver startup, and failing early if a resource is not available, rather than at runtime. In addition, instantiating expensive singletons early is preferable in my view. From a performance standpoint, it's useful, but not a panacea.

As is said frequently, the right tool for the job - and IOC has been a boon for the kind of work I so (mostly server-side RPC APIs).
Reply
#8
RE: .NET vs JAVA
(March 14, 2015 at 7:40 pm)Cthulhu Dreaming Wrote: I do find some disagreement with your position on IOC, though. It's useful for injecting runtime dependencies at appserver startup, and failing early if a resource is not available, rather than at runtime.

Fair enough. I suppose a lot of it comes down to it being Java. The amount of Jar files and resources that need to be managed can be quite burdensome in Java compared to other languages. I suppose this is the nature of developing a system that can be written once and run everywhere. And then more so when you get into web development which essentially creates systems working across many different platforms (client, server, databases etc).

(March 14, 2015 at 7:40 pm)Cthulhu Dreaming Wrote: In addition, instantiating expensive singletons early is preferable in my view. From a performance standpoint, it's useful, but not a panacea.

I don't disagree. My experience seems to have been writing boiler plate XML (instead of boiler plate Java code) that hard codes values that never change. And now four years later I am working at another company taking out values hard coded in the XML and putting them back into the Java code.

Still, not as bad as finding that links between JSPs being stored in the database rather than code. The original developers thought that it would be nice to be able to configure the menus in the web portal. And of course it never actually got configured in practice.

C to Java & Spring? Did it make you feel dirty? Smile
Reply
#9
RE: .NET vs JAVA
Dirty like a cheap whore. :p

But, my employer demanded it, and they pay me well.

Regarding Java and JAR dependencies - yep, there's a shitton of them. We have transitioned to using Maven and artifactory repositories to manage dependencies (both within the IntelliJ IDE and on our build systems, and that problem has largely been solved.

We often map beans that pull those "hardcodes" out of property files/resource bundles and fill them in to either the XML declarations or annotated objects. Its my view that hard coding magic into code is largely bad practice unless they truly are constants.
Reply
#10
RE: .NET vs JAVA
(March 14, 2015 at 3:04 pm)Moros Synackaon Wrote: As .NET is a framework, the comparison seems flawed. You could compare .NET to other Java frameworks, of which there are many.

Do you mean C# versus Java?

By the way, it's not usually referred to as JAVA in industry. Just Java.

C# has not yet been available for non-Windows platforms long enough to compare on terms of ubiquity. Due to that, even a better language design (C#) would not win the versus battle.

Java SE/EE is a platform and Java is a programming language that use that platform .
.NET is platform , VB and C# are programming languages that use that platform .
[Image: eUdzMRc.gif]
Reply



Possibly Related Threads...
Thread Author Replies Views Last Post
  The devil argues for Net Neutrality Sterben 6 950 December 13, 2017 at 3:18 am
Last Post: Sterben
  Another Net Neutrality thread Sterben 7 769 December 8, 2017 at 9:02 am
Last Post: Edwardo Piet
  MVC .NET Labelfor ErGingerbreadMandude 23 2406 June 2, 2016 at 11:39 pm
Last Post: KevinM1
  time to dig java a grave dyresand 22 3501 April 27, 2015 at 12:54 am
Last Post: bennyboy



Users browsing this thread: 1 Guest(s)