Jump to content

  • Log In with Google      Sign In   
  • Create Account


Which is easier to program C# or Java?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • This topic is locked This topic is locked
8 replies to this topic

#1 EddieV223   Members   -  Reputation: 1386

Like
-1Likes
Like

Posted 28 March 2013 - 11:52 PM

Hello, I am not trying to start a language war here.  I am a c++ programmer, I wouldn't say I'm a pro, but I'm pretty good.  It has been increasing clear to me that c++ is not as productive as languages such as c# and java.  

 

I am looking to learn a second language and use it for things like making GUI applications quicker and easier than c++.  The type of application that absolute speed of the application is not paramount, but making it quickly and easily is more important.

 

So it seems like for general purpose languages that strive for productivity, C# and Java are the top 2.  Which is the easiest to use for making general purpose programs with GUI's?


Edited by EddieV223, 29 March 2013 - 12:12 AM.

If this post or signature was helpful and/or constructive please give rep.

 

// C++ Video tutorials

http://www.youtube.com/watch?v=Wo60USYV9Ik

 

// Easy to learn 2D Game Library c++

SFML2.1 Download http://www.sfml-dev.org/download.php

SFML2.1 Tutorials http://www.sfml-dev.org/tutorials/2.1/

 

// SFML 2 book

http://www.amazon.com/gp/product/1849696845/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=1849696845&linkCode=as2&tag=gamer2creator-20

 


Sponsor:

#2 Bacterius   Crossbones+   -  Reputation: 8157

Like
4Likes
Like

Posted 29 March 2013 - 12:30 AM

Hello, I am not trying to start a language war here.

Unfortunately that's not how it works. Language war initiated... tongue.png

 

I am looking to learn a second language and use it for things like making GUI applications quicker and easier than c++.  The type of application that absolute speed of the application is not paramount, but making it quickly and easily is more important.

 

So it seems like for general purpose languages that strive for productivity, C# and Java are the top 2.  Which is the easiest to use for making general purpose programs with GUI's?

 

From my limited experience, I've found C# to be more straightforward to create nice-looking GUI apps, and I still have nightmares about Java's horrible "swing" UI and painful implementation. I hear C# inherits some UI development aspects from Delphi (since it's the same guy behind both languages) and so I'd be more inclined to pick that one if I had to choose, but this is subjective. But I'm sure they both have good libraries and tools to create UI's. Have you tried giving each of them a little trial?


The slowsort algorithm is a perfect illustration of the multiply and surrender paradigm, which is perhaps the single most important paradigm in the development of reluctant algorithms. The basic multiply and surrender strategy consists in replacing the problem at hand by two or more subproblems, each slightly simpler than the original, and continue multiplying subproblems and subsubproblems recursively in this fashion as long as possible. At some point the subproblems will all become so simple that their solution can no longer be postponed, and we will have to surrender. Experience shows that, in most cases, by the time this point is reached the total work will be substantially higher than what could have been wasted by a more direct approach.

 

- Pessimal Algorithms and Simplexity Analysis


#3 Nercury   Crossbones+   -  Reputation: 766

Like
2Likes
Like

Posted 29 March 2013 - 01:54 AM

C# had an advantage of learning from Java's mistakes, as well as having a chief architect who previously worked on a Delphi language. C# has much more syntax sugar added in later versions, which shortens many statements. .NET runtime also seems to have an architectural advantage of being the runtime for any language compilable to IL instructions, while Java runtime is made just for Java.

 

All in all it comes down to getting used to it. Also the big part of ease of use is knowing your way around the libraries you need.



#4 Alpha_ProgDes   Crossbones+   -  Reputation: 4680

Like
2Likes
Like

Posted 29 March 2013 - 03:23 AM

I don't think that's right. Java has languages built on topof the JVM such as: groovy clojure and scala. IIRC, those languages are built on top of the jvm IL. Java is just capable as .NET. And Java is just as capable as C#. Though I agree that their libraries are a mess and their new lambda expressions don't impress, that's still a personal issue and not technical reason of why one is better than the other.
Beginner in Game Development? Read here.
 
Super Mario Bros clone tutorial written in XNA 4.0 [MonoGame, ANX, and MonoXNA] by Scott Haley
 
If you have found any of the posts helpful, please show your appreciation by clicking the up arrow on those posts Posted Image
 
Spoiler

#5 Sollum   Members   -  Reputation: 650

Like
2Likes
Like

Posted 29 March 2013 - 04:24 AM

Go for C#.

 

I make food from C# and use Java for hobby projects.

 

Personally, i hate how Java handles event listening and etc, on UI level. Writing a shitton of code instead of just passing one delegate.

+ Visual studio is way better than Eclipse, of course, Eclipse is the BEST (IMHO) free IDE out there.


Edited by Sollum, 29 March 2013 - 04:25 AM.


#6 minibutmany   Members   -  Reputation: 1474

Like
2Likes
Like

Posted 29 March 2013 - 08:04 AM

Personally, I like Java for making games, but I use C# for anything really UI based because of Visual Studio's great drag and drop environment for building forms. Netbeans has a UI building environment and eclipse has plug-ins, neither of which I have tried, but I can really recommend Visual Studio for lots of professional, clean, well thought out tools that the other two free environments may be lacking.


Stay gold, Pony Boy.

#7 landagen   Members   -  Reputation: 376

Like
2Likes
Like

Posted 29 March 2013 - 08:06 AM

Java seems to have more libraries for it, but it feels disorganized as a language to me.  c# is my preference by far on Windows.  There are lots of niceties that c# has for UI development such as WPF and even Windows forms.  If you are going for linux though, maybe java is the better way to go.  I am not sure of how much support mono has for UI development. 

 

Edit: I should say that what I mean by disorganized is that there is always a lot of choices for any one thing and that it makes it difficult to decide how to proceed (at least for me). 


Edited by landagen, 29 March 2013 - 08:09 AM.




#8 BCullis   Crossbones+   -  Reputation: 1813

Like
2Likes
Like

Posted 29 March 2013 - 08:22 AM

Having used both, I'd say C# and Visual Studio combine for a much better experience building GUIs than Java and Swing/AWT. I know there are dozens of add-on libraries for Java so everyone's mileage may vary depending on which package they know to grab, but I just found the C# route so much more direct: everything you need is ready to go in a great IDE and the partial class system means that when you dive in to edit button code and hook up your functionality, you don't have to sift through the crazy GUI-initialization verbosity.

To be fair to Java, it really does suffer from being the earlier of the two: like people have pointed out, C# got to watch Java make its mistakes first. And Java GUIs (if you package the jar correctly) will be cross-platform more easily* than C# tools.

*JVM is more common on most non-PC platforms than Mono. There are solutions for almost any platform, but the number of steps to get a Java application running is definitely fewer on average.
Hazard Pay :: FPS/RTS in SharpDX
DeviantArt :: Because right-brain needs love too

#9 Josh Petrie   Moderators   -  Reputation: 2954

Like
1Likes
Like

Posted 29 March 2013 - 08:56 AM

This isn't a worthwhile discussion -- "easier" is highly subjective, and there's more to it than the language itself (for example, the toolchains are a huge factor). Try both and see which you find more appealing.


Josh Petrie | Core Tools Engineer, 343i | Microsoft C++ MVP





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS