• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
ChristianFrantz

From java to c#

16 posts in this topic

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?
0

Share this post


Link to post
Share on other sites
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?
0

Share this post


Link to post
Share on other sites
[quote name='burnt_casadilla' timestamp='1343783654' post='4965054']
I figured it would be easier to switch from c# to c++ than from java to c++
[/quote]
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.
1

Share this post


Link to post
Share on other sites
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
0

Share this post


Link to post
Share on other sites
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
2

Share this post


Link to post
Share on other sites
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.
0

Share this post


Link to post
Share on other sites
There are some efforts to develop a [url="http://xamarin.com/monoforandroid"].NET runtime for Android[/url], 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.
1

Share this post


Link to post
Share on other sites
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.
0

Share this post


Link to post
Share on other sites
The syntax of C# and C++ are quite a bit different.

I jumped from Java into C# quite some time ago, and was surprised was how similar the languages are, though in C# I had to get use to the fact [b]*everything*[/b] is an object.

If you want to learn C++ jump right in and learn it. It will be challenging .... err "fun" at first, but it does not require learning other languages to master.
0

Share this post


Link to post
Share on other sites
[quote name='Shippou' timestamp='1344038300' post='4965986']
I jumped from Java into C# quite some time ago, and was surprised was how similar the languages are, though in C# I had to get use to the fact *everything* is an object.
[/quote]

Everything is an object in Java and as a matter I would say that your claim is backwards. In C# you have c-style structs which Java does not have. Also I would have to say (from experience) that doing C# and then going to C++ is a better route. Yes the two languages are very different, but they have many overlapping concepts and features. Pointers can be used in both languages, and you can invoke C++ code from C# applications using p-invoke (which is also MUCH easier to use than JNI by the way). The biggest thing to get a handle of when you move from C++ to C# is pointers, how memory is managed, scope and understanding the compilation process. I'm sure there are people who disagree with that, but those were the biggest gaps in my knowledge when crossing over.

Of course this is just my opinion, and I have to say that it's more important to just do what you feel is best and learn from your mistakes. Software development in general can become quite religious and sometimes for most people it boils down to what is trending instead of what may be optimal for what you want to do.
2

Share this post


Link to post
Share on other sites
90% is written in C++. Hence why bother at all about other languages? I've learned once a little VB.net in technical school, but honestly I've never used it since. It was only some kind of help for learning C++. Edited by mike4
-4

Share this post


Link to post
Share on other sites
90% of what is written in C++. if that was 90% of everything that claim is VERY false. This very webpage your looking at has a large amount of javascript elements on it. Google use python on their servers as do other websites. Linux is written in C and has some python and perl I think on the higher level code. Windows I think originally was written in C, I think the current versions are C++ though.

Many games on use C++ for the engine itself and other languages for scripting.
2

Share this post


Link to post
Share on other sites
Webpages are not programming languages, but script languages, apart maybe 0.001% Java.
-4

Share this post


Link to post
Share on other sites
[quote name='mike4' timestamp='1344068327' post='4966059']
90% is written in C++. Hence why bother at all about other languages?
[/quote]
Because you're claim is wrong. People bother with other languages because 90% of code is not necessarily written in C++. Maybe 90% of the code you work with is C++, but there's another 7 billion people on this planet who may (and many of them do) use something else. Projects I've worked on at work/related to work have used: Ruby, Java, C++, C, and C#. If you want a job as a software developer (in the real world, not working as a code monkey), you should learn and be comfortable in several languages. Sure, you may truly master only one or two, but the mindset "I only need C++" is only going to hold you back. For example, [url="http://www.gamedev.net/classifieds/item/790-life-spark-entertainment-is-hiring-programmers/"]one job offer here on GameDev.net[/url] asks for a C# programmer. Your C++ knowledge won't be good enough. And then there's the rest of the CS industry, which positions use a wide variety of languages.

[quote name='mike4' timestamp='1344097263' post='4966128']
Webpages are not programming languages, but script languages, apart maybe 0.001% Java.
[/quote]
Scripting languages are programming languages (yeah, there's some debate about where you draw the line between scripting language and programming language, but in the current context they can be considered the same). And Java is used in more than 0.001% for web servers and sites. Now markup languages (HTML) aren't programming languages, but 6677 wasn't referring to markup languages.

Anyway, I'm not going to derail this any more. This isn't really relavent to the OP's question, so I suggest someone creates a new thread if they want to further this tangential discussion.
2

Share this post


Link to post
Share on other sites
I believe its good to know multiple languages, but then you use one language as your "weapon of choice", that you'll use for game dev, projects, software etc., and will have the most knowledge on.
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0