From java to c#

Started by
15 comments, last by azonicrider 11 years, 8 months ago
I know I've made a few topics already but I've been reading up on different languages and I'm considering switching from learning java to learning c#.
Ive made a simple text based rpg battle simulator in java so I know the basics quite well I think, but I want to get into mobile development first and eventually move to c++.
What would be the pros and cons of switching to c#? I know it's possible to port c# to android using different libraries but is it really worth relearning a new language?

If you see a post from me, you can safely assume its C# and XNA :)

Advertisement
You're a programmer. You'll learn several languages over the course of your career. Just get used to learning more languages.

If you want to learn a language for academic reasons (that is, just for the sake of learning more), that's great. Go ahead and learn it.

If you don't want to learn a language for academic reasons, and you have no real reason for learning a new language, why bother?
[size=2][ I was ninja'd 71 times before I stopped counting a long time ago ] [ f.k.a. MikeTacular ] [ My Blog ] [ SWFer: Gaplessly looped MP3s in your Flash games ]
I figured it would be easier to switch from c# to c++ than from java to c++

If you see a post from me, you can safely assume its C# and XNA :)


I figured it would be easier to switch from c# to c++ than from java to c++

Yeah, you might want to forget that thought. Just because "C#" and "C++" both begin with the letter 'C' doesn't mean they are like each other at all. They are very, very different. The only real common ground between C#, Java, and C++ is some of the syntax (they all use curly braces, they write for loops in similar ways, etc). C# is just about as different from C++ as Java is, overall. If you want to learn C++, just go ahead and jump in. There's no need to learn a "transitioning" language because, quite honestly, there is none.
[size=2][ I was ninja'd 71 times before I stopped counting a long time ago ] [ f.k.a. MikeTacular ] [ My Blog ] [ SWFer: Gaplessly looped MP3s in your Flash games ]
Thanks that's the answer I was looking for. Eventually I will move to c++ but I guess I'll stick to java since I already have the hang of it

If you see a post from me, you can safely assume its C# and XNA :)

It totally depends on what you want to achieve.
I think it always pays to learn a new language, it might come usefull at some point in time and it's actually not that hard to use c# if you have already learned the basics of java.

However, I don't realy see the point of using C# for android applications. I could be wrong, but isn't the official SKD written for java? Why not just using java if you want to write appliations for android. C# is mostly written for windows applications, just use java for android and c# when you want to write applications for windows, it's not like you are only allowed to use one language for all your projects. My advise: stick to one language (java?) first and try to get experienced with it. Than learn some additional languages like c# and c++ as it will broaden the possibilities
.

Greetings,
Rob
If you're interested in trying Android development, I'd suggest sticking with Java for now, as unless you're using some third-party tool that also uses C# it'll be much easier than targeting Android with C#. As mentioned above, the official Android SDK is Java-based.


Otherwise, the languages are pretty similar, and you can use whichever you're comfortable with.

- Jason Astle-Adams

There are some efforts to develop a .NET runtime for Android, but the reality is that there is very little reason to bother with it. Java and C# are so similar that any minor benefit you get with the arguably nicer C# would be overshadowed by the burden of trying to work with a non-google supported platform.

The only good reason as I see it to use C# on Android would be to reuse a large amount of C# code that porting would not be possible or cost effective. In reality I don't see this ever actually happening because any code base large enough to not be candidate for porting probably wouldn't be well supported by the Android C# runtime anyway.
I've decided to make a game on windows and once it's done and almost perfect I'll try to port it to android

If you see a post from me, you can safely assume its C# and XNA :)

You can always use java for your windows application aswell.


FYI, android apps can also be developed in C++ when you get to that point, windows phone 8 can aswell and I have no idea about iphone.
C# with monodroid (costs $400 per year) or monotouch (also $400 per year) can run on android and iPhone but I don't think thats a price worth paying.

Your probably best of sticking where you are with java on desktop OSes and android.

This topic is closed to new replies.

Advertisement