• Some users have recently had their accounts hijacked. It seems that the now defunct EVGA forums might have compromised your password there and seems many are using the same PW here. We would suggest you UPDATE YOUR PASSWORD and TURN ON 2FA for your account here to further secure it. None of the compromised accounts had 2FA turned on.
    Once you have enabled 2FA, your account will be updated soon to show a badge, letting other members know that you use 2FA to protect your account. This should be beneficial for everyone that uses FSFT.

Java VS .NET

Interesting article you posted, mikeblas.

I think OO is "misused" because generally speaking, it can do mostly everything... decently. Examples of code that the article stated to be un-OO can probably be easily refactored to a more or less proper OO design. That's my opinion.

Because of this flexibility, and the hassle of interoperating with other languages, people will use OO as a one-size-fits-all paradigm, and I don't see that as being wrong, provided that it works reasonably well. You can't directly fit a square peg in a round hole, but you can play around with your square peg and likely find a reasonably good way of inserting it into the hole.
 
I have learned Java in School and .Net at work. Hands down I perfer .Net but what are your thoughts?

My two cents, I guess it depends on what you plan on doing, career-wise. Speaking as a web developer, I had to learn PHP in the late 90s / early 2000 and Visual Basic / Classic ASP. I was extremely happy once C# came around for Dot Net, as I just prefer the syntax, love the OOP nature of C# so I try to do most of my web developing in C# for clients whenever possible, however it is always possible as client may already have PHP web server environments rather than windows.

While Java is prevalent in the web world, it was not something I had to use often while working at various web development studios, so if you are looking for web work, C# might be a better choice (that is not to say Java won't get you web-related work).

Right now however, I'm loving Python (Django rocks) and exploring how to use IronPython for Dot Net. Also making some Google Engine apps with Python (although Java is now supported too).

The other consideration is the popularity of mobile devices. I know I'm brushing up on my Java skills for Android development. Although Objective-C is needed for IPhone development.
 
Java, because cross platform compatibility (does not rely on M$ to function ) is HUGE as well as new 3rd party frameworks and extensions and it is constantly evolving as any language is.
.Net certainly has it's place though. It's more cookie cutter and restrictive and hence can also be more productive so long as you work with its constraints and boundaries.

Immutable strings are no problem for Java, the fact that they are immutable is not really even noticed by the developer, if you specifically know you don't want to create a bunch of extra Strings in the string pool you can use the String Builder class.

I think you should decide what kind of programming you want to be doing and then decide. I'm certainly not anti .Net.
 
Java, because cross platform compatibility (does not rely on M$ to function ) is HUGE as well as new 3rd party frameworks and extensions and it is constantly evolving as any language is.
.Net certainly has it's place though. It's more cookie cutter and restrictive and hence can also be more productive so long as you work with its constraints and boundaries.

Immutable strings are no problem for Java, the fact that they are immutable is not really even noticed by the developer, if you specifically know you don't want to create a bunch of extra Strings in the string pool you can use the String Builder class.

I think you should decide what kind of programming you want to be doing and then decide. I'm certainly not anti .Net.

What do you mean by .NET languages being cookie cutter and restrictive, as compared to Java? Can you give a few examples?
 
What do you mean by .NET languages being cookie cutter and restrictive, as compared to Java? Can you give a few examples?

.Net is a project Strategy where J2EE is a standard, using Java.
How many differenct containers / servers can be used to host a .net project (I'm not sure but theres quite a few FREE java containers out there?

How many middle ware vendors are available for .NET? Numerous for Java, 1 for .Net?

How easy is it to integrate legacy code with new code in .NET vs Java?

.Net has CLR support, for almsot everything except Java, why? Because it is MS imposed limitation.

.Nets support for web services is supposedly lacking or restrictive vs Java's which is so flexible can be done in a number of ways (possibly making it harder to learn), but can also easier integrate with other systems better.

In the end it all depends on what you are doing. But Java IMO is the winner a lot of the time because MS does not want to make their systems cross platform compatible, they want to sell more windows servers! They don't want to be open to all XML communication, they want to enforce their versions. For better or worse? I'm not sure, it all depends really. Java is completely open source and free and EJB is always being updated. So is .Nets implementation but in the end it is Not Free.

It's not that .NET is not a great framework, but there are numerous J2EE Frameworks out there, and IMO, there is no "best framework" only a best framework for any given solution.
 
In the end it all depends on what you are doing.
Indeed, it does. Some people need to do cross-platform work. Others don't. For those that don't, not paying costs to support cross-platform features are a benefit, not a defecit.
 
.Net is a project Strategy where J2EE is a standard, using Java.
How many differenct containers / servers can be used to host a .net project (I'm not sure but theres quite a few FREE java containers out there?

How many middle ware vendors are available for .NET? Numerous for Java, 1 for .Net?

How easy is it to integrate legacy code with new code in .NET vs Java?

.Net has CLR support, for almsot everything except Java, why? Because it is MS imposed limitation.

.Nets support for web services is supposedly lacking or restrictive vs Java's which is so flexible can be done in a number of ways (possibly making it harder to learn), but can also easier integrate with other systems better.

In the end it all depends on what you are doing. But Java IMO is the winner a lot of the time because MS does not want to make their systems cross platform compatible, they want to sell more windows servers! They don't want to be open to all XML communication, they want to enforce their versions. For better or worse? I'm not sure, it all depends really. Java is completely open source and free and EJB is always being updated. So is .Nets implementation but in the end it is Not Free.

It's not that .NET is not a great framework, but there are numerous J2EE Frameworks out there, and IMO, there is no "best framework" only a best framework for any given solution.

Sounds like a lot of web-based and middleware stuff. I guess that's looking at things from a different perspective from my own. I see, primarily, in .NET, the ability to build nice desktop applications. I wish I could provide an argument for you, but most of what you said, I've never even heard of, or done any research into.
 
I'm going to chime in with "depends on what you are using it for". My work is primarily with windows, and although I just started learning C# today I already prefer it to java. Objectives that would take some funky footwork in java are 4 liners in c#, and while this is strictly because I'm doing platform dependent stuff, I still prefer to use the right tool for the job. For my work, that's c# apparently.

The syntax between the two is close enough to actually be useful, too, which is always nice.
 
I'm going to chime in with "depends on what you are using it for". My work is primarily with windows, and although I just started learning C# today I already prefer it to java. Objectives that would take some funky footwork in java are 4 liners in c#, and while this is strictly because I'm doing platform dependent stuff, I still prefer to use the right tool for the job. For my work, that's c# apparently.

The syntax between the two is close enough to actually be useful, too, which is always nice.

Can you provide an example? I would find it interesting, id like to see where other technologies have serious advantages. I bet there are other things where I could say the same thing about using C#, but I don't know C#. I know when it comes to dealing with XML Request / Response Java has some amazing tools since annotations were brought forward. Nice technologies that can convert XML directly into Java objects that are already custom tailored to your model. JAXB for example sure can make life easier than having to use XSLT and XSD's to do the dirty work. I believe Java is getting better at desktop applications, but I don't think thats its where it really shines. I never really liked clunky AWT and SWING for designing desktop apps, but this isn't used when creating web applications as other frameworks and technologies like GWT or Smart Client or Richfaces etc would be used where AWT and SWING would be used on a desktop application.
 
Can you provide an example? I would find it interesting, id like to see where other technologies have serious advantages. I bet there are other things where I could say the same thing about using C#, but I don't know C#. I know when it comes to dealing with XML Request / Response Java has some amazing tools since annotations were brought forward. Nice technologies that can convert XML directly into Java objects that are already custom tailored to your model. JAXB for example sure can make life easier than having to use XSLT and XSD's to do the dirty work. I believe Java is getting better at desktop applications, but I don't think thats its where it really shines. I never really liked clunky AWT and SWING for designing desktop apps, but this isn't used when creating web applications as other frameworks and technologies like GWT or Smart Client or Richfaces etc would be used where AWT and SWING would be used on a desktop application.
Well, for example, determining file ownership. Under java, the best I've been able to find is to compile a JNI that calls a windows DLL.

Another one is accessing other window titles; again under java this is a JNI task, where with c# it's a oneliner.

( keep in mind I'm a novice with both languages, so what I say should probably not be taken seriously. I'm fairly certain on both of these examples, but still... )
 
Well, for example, determining file ownership. Under java, the best I've been able to find is to compile a JNI that calls a windows DLL.

Another one is accessing other window titles; again under java this is a JNI task, where with c# it's a oneliner.

( keep in mind I'm a novice with both languages, so what I say should probably not be taken seriously. I'm fairly certain on both of these examples, but still... )

Makes sense, great example! In fact this is kind of what I was trying to get at. Sometimes adding flexibility (ability to do these things on non-MS platforms as well) can make coding harder. I prefer to avoid having to use JNI calls, but sometimes you have to use them if your writing in Java, Because Java works on multiple platforms and runs in the JVM, JNI calls are needed to do platform specific tasks!

The number of web frameworks in Java can be both considered as a weakness and a strength too, but it certainly is ALOT more to learn. Looking up information on different frameworks, allot of people simply switched to .Net to streamline what they are doing. BTW file permission access may be getting improved with Java 7 when it is released. But even if it is improved I would imagine this will still be easier to do in C# on a windows system, on a Linux or Mac or Unix system it may not be :)

I find the same thing to be true within Java as well. Using a more flexible Java framework often allows you to do more unique things, more easily, than using a RAD framework that has strict conventions. While RAD frameworks allowing things to be written quickly and effectively, you have to stay within he guidelines of the framework, and work a rounds can be a bitch. Picking the right tool for the job is always the key when it comes to any development.
 
Last edited:
WCF (Web Services) for .NET isn't lacking or restrictive. A lot of fanbois here. Out!
 
Back
Top