Jump to content

  • Log In with Google      Sign In   
  • Create Account

We're offering banner ads on our site from just $5!

1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.


C#, Java, Post-PC, Mobile, need pro Advices


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.

  • You cannot reply to this topic
11 replies to this topic

#1 _Patrick_   Members   -  Reputation: 129

Like
0Likes
Like

Posted 11 March 2013 - 07:49 PM

Hi I just bough a few Java and C# books and I wanted to know which to choose between C# and Java today in 2013 ??? I'll be employed doing what mostly as a java dev backend server ? what about C# rich client and asp.net website ?

I talked with a few experienced programmers and they seem to be split on that they tell me C# is more modern and faster but they think it may die soon if .Net and MS doesn't get their act together in mobile compared to Java who run everywhere and it's more used all around in business with Oracle and all etc but lack the UI of rich client and power of a Visual Studio behind it etc but with the rise of Mobile and Android they think Java could be safer in the long term like the next 10-20 years etc

What do you recommend me plz ? I am a network engineer on MS technology, active directory, exhange, dns dhcp and all that and I did some C++ back in the past I remember the concept a little like pointer and class object and all etc So far I seem to have a personal favorite with C# because of Ui and windows form etc but jobs wize here in ottawa,toronto montreal there is like 3 java jobs for each C# jobs etc last thing I've been told Web dev in Java with springs/hibernate and jsf and applets is hard and heavy compared to ruby or c# because there is a tons of framework to choose from...


What you guys recommend me and why ??

thank you very much for your time



Patrick



Sponsor:

#2 TheChubu   Crossbones+   -  Reputation: 4755

Like
0Likes
Like

Posted 11 March 2013 - 08:25 PM

At least where I live, Java is The Thing™ when dealing with server/web backends and systems that require Java Enterprise Edition stuff. C# has been on the rising though.


"I AM ZE EMPRAH OPENGL 3.3 THE CORE, I DEMAND FROM THEE ZE SHADERZ AND MATRIXEZ"

 

My journals: dustArtemis ECS framework and Making a Terrain Generator


#3 ApochPiQ   Moderators   -  Reputation: 16387

Like
4Likes
Like

Posted 11 March 2013 - 09:21 PM

Learn both.



#4 BrokenKingpin   Members   -  Reputation: 228

Like
0Likes
Like

Posted 12 March 2013 - 09:45 AM

Decide what project or game you want to develop, and what platforms you intend to target, and then pick the language that best suites you needs. You could go either way and will most likely be okay as both languages will get the job done. For the most part the skills you learn will be transferable... the language itself is just a tool to get the job done.


Do you folks like coffee?

#5 bakshadow   Members   -  Reputation: 149

Like
0Likes
Like

Posted 12 March 2013 - 02:08 PM

I say learn java and when you start getting comfortable look at c# a little.  c# is basically MS version of java, they are very similar but as you said earlier there are more jobs in java than c#.



#6 alnite   Crossbones+   -  Reputation: 2132

Like
0Likes
Like

Posted 12 March 2013 - 07:06 PM

I talked with a few experienced programmers and they seem to be split on that they tell me C# is more modern and faster

 

'faster' is a relative term.  Professionally, I am using Ruby right now, which is probably one of the slowest languages, but our website can serve millions of requests easily.  Slower than C++? Sure, but do you reeaally need it that fast?

 

but they think it may die soon if .Net and MS doesn't get their act together in mobile compared to Java who run everywhere and it's more used all around in business with Oracle and all etc but lack the UI of rich client and power of a Visual Studio behind it etc

 

Java does not have Visual Studio, but it has plenty of other IDEs, which are comparable to Visual Studio.  I use IntelliJ, and some people love their Eclipse.  IntelliJ, I think, is far superior to Visual Studio.  I feel crippled as soon as I launch VS.

 

but with the rise of Mobile and Android they think Java could be safer in the long term like the next 10-20 years etc

 

Java EE is not the same as Android, btw.  The language might be the same, but the API is completely different.  Knowing one thing does not mean you would know the other.

 

C# and Java are probably the closest languages.  It almost trivial to learn one if you know another.  Learn the language that your job requires you, then after that, learn the other.



#7 Telastyn   Crossbones+   -  Reputation: 3730

Like
0Likes
Like

Posted 12 March 2013 - 07:56 PM

You won't want to be using either language in 10-20 years.

You can do whatever you want in either language.

I'd rather use C#. The standard library sucks less. Oracle is more evil than Microsoft. The language has actually been updated recently. Others' opinions may vary.

#8 tool_2046   Members   -  Reputation: 1122

Like
0Likes
Like

Posted 12 March 2013 - 08:10 PM

Both languages are great, but I've got to admit I find C# to be pure bliss. Setting aside the differences in generics (which I've been complaining about for the better part of a decade), I really find C# to be much more expressive. After the changes in 3.0, there's really contest to me. Like others have said however, learn them both. Java is a fine language and most concepts translate well.

#9 Bearhugger   Members   -  Reputation: 567

Like
2Likes
Like

Posted 13 March 2013 - 12:32 AM

Java is a totally workable and viable technology with 20 years of maturity, a very complete and cross-platform class library, and very good job opportunities. I'm stating it here because the rest of my post is probably going to make it sound a lot worse than it actually is...

 

... Because when it comes to personal preference, I have a strong bias for C#. Microsoft keeps adding new facilities to it and modernize the stuff that is old or hard to use. C# started as Microsoft's answer to Java, but over the years it has added things such as LINQ, delegates, async programming, extension methods, properties, etc. C# became a lot more than a me-too Java, and since the 3.5 it's (IMHO) probably the most productive programming language that isn't a scripting language. (Although Visual Studio plays a lot in the productivity gain.) It seems to be gaining popularity too, with projects like Xamarin and Unity make it an important language even outside of Microsoft's garden. Microsoft losing the suit against Sun was, quite ironically, a very good thing for Windows programmers.

 

Java is the opposite. It's older than C# and .NET, but it hasn't evolve too much since the 1.0 version, and frankly it's starting to look like the new Visual Basic 6. Sure, the library grew, but the language itself hasn't changed much in 20 years. Next to C++'s generic meta-programming facilities or C#'s complex LINQ queries on pretty much any container you can think of, Java looks outdated and unmaintained. Still no auto/var, still no lambdas, still no delegates, still no operator overloading, still no proper event system, still no way to make generics with basic types, etc. Even the supposedly complicated C++ has most of those built-in these days.

 

I know Java fans will curse me for even thinking about it, but I wish Google would do like Microsoft in the late 90s and modernize Java with extensions, since Oracle obviously doesn't want to do it. (Google is calling it Dalvik/Android instead of Java so I'm pretty sure it would be fine this time.) In fact, as I jump back into Java for an Android project, I remember playing with Microsoft's Visual J++ in 1998 and I'm seriously starting to think that it was more useful than Oracle's Java in 2013. If I remember correctly (it was ~15 years ago) the version at the time of the ban had delegates and events, it had J/Direct (basically P/Invoke) to spare you the horrors of JNI/RNI, it could export your Java classes as COM object for use in your VB6 or C++ projects, it dropped annoyances like the forced try/catch, and probably other improvements I forgot. (And at the time, Microsoft had by far the fastest JVM to boot.) Of course, in Microsoft's case, it was just to break the cross-platform capability of Java, but in Android's case, I think the platform really deserves a modern programming language that's fun to use.

 

With all that being said though, the best language is the one that will give you a salary. wink.png


Edited by Bearhugger, 13 March 2013 - 12:33 AM.


#10 tstrimple   Prime Members   -  Reputation: 1734

Like
3Likes
Like

Posted 22 March 2013 - 03:31 PM

What Bearhugger said is true to an extent. Java has not aged well. Most of the "cool" features are built into other languages which run on the JVM like Clojure and Scala and not added to Java itself. Meanwhile, C# has definitely improved with age. Take a look at the following.

 

 

0636.1.png

 

Mono support is typically very good for running on Linux & OSX and with tools like MonoTouch it's possible to write mobile apps in C# which are portable to all major mobile devices. C# is definitely not going anywhere as a language.



#11 ChaosEngine   Crossbones+   -  Reputation: 2499

Like
0Likes
Like

Posted 23 March 2013 - 06:10 AM

C# is a great language. Rich client on c# is a dead end.
if you think programming is like sex, you probably haven't done much of either.-------------- - capn_midnight

#12 tstrimple   Prime Members   -  Reputation: 1734

Like
0Likes
Like

Posted 23 March 2013 - 01:03 PM

C# is a great language. Rich client on c# is a dead end.

 

Is that any more true than rich clients in other languages?






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