1. The forums will be archived and moved to a read only mode in about 2 weeks (mid march).

[POLL] C# or Java

Discussion in 'Off-Topic' started by xBeastMode, Nov 17, 2016.

?

Which is more efficient to learn: C# or Java?

Poll closed Jan 17, 2017.
  1. A) C#

    12 vote(s)
    38.7%
  2. B) Java

    9 vote(s)
    29.0%
  3. C) Brainfuck

    6 vote(s)
    19.4%
  4. D) None of the above

    4 vote(s)
    12.9%
Thread Status:
Not open for further replies.
  1. xBeastMode

    xBeastMode Shog Chips

    Messages:
    0
    I would like to know which ONE of the programming languages in the title is more efficient to learn and which is more useful in terms of developing Windows Programs / Games and Android Apps / Games. Also, which would be more useful in the future. I also want to include that I've been learning and programming in C++, so you say which would be better after programming in C++.

    Please reply to this thread with I want a straight answer, do reply if you are going to say "it depends" because I already explained what I tend to use it for. I also DO NOT want you to say "java is better" or "c# is better", just because you are developing in that language or you are a fan {boy, girl} of that language, that is what many people often do, they reply based on what they like.
     
  2. HimbeersaftLP

    HimbeersaftLP Fish

    Messages:
    2,402
    GitHub:
    HimbeersaftLP
    I think C# is more usefull, also, java is slowly dieing...
     
  3. Primus

    Primus Zombie Pigman

    Messages:
    749
    Java is nice, easy and developer friendly language, but frequent updates are killing it as @HimbeersaftLP already stated above. Java won't die in near future, it's still popular and widely used for example by Twitter and Minecraft has introduced Java to more than 100k people. C# Is highly integrated with windows and works for Android apps as well. I personally would pick C#. It's mostly of what you prefer because they both would fit your needs.
     
    Last edited: Nov 17, 2016
  4. KnownUnown

    KnownUnown Spider Jockey Poggit Reviewer

    Messages:
    47
    GitHub:
    knownunown
    [citation needed]
     
  5. Magicode

    Magicode Baby Zombie

    Messages:
    183
    GitHub:
    magicode1
    I personally choose C# for Windows Programming/Android Apps (Key Word Being WINDOWS). You may be out of luck if you want to develop on other platforms that don't support it.
     
  6. Awzaw

    Awzaw Zombie Pigman Poggit Admin

    Messages:
    726
    GitHub:
    awzaw
    I heard "Windows" once and "Games" twice there, so it sounds as though you should probably stick with C++. You should play around with C# and JAVA though to see if they might be better adapted for some of the things you are writing; as you know, each has it's strong and weak points, and the most time-consuming part is usually learning new API's, not the syntax itself... You'd have to be pretty crazy to write a mobile chat app in C++ (or a 3D game in PHP for that matter), so nowadays it's mostly a question of choosing the right tools for the task, taking into account other considerations too such as cross-platformness, openness, speed of development and so on.
     
  7. SOFe

    SOFe Administrator Staff Member PMMP Team Poggit Admin

    Messages:
    1,968
    GitHub:
    sof3
    Exactly. I heard that it is much less annoying to use libraries (including standard libraries) on Java?
    [​IMG]
    Can you elaborate more?
    From Android NDK documentation:
    Also, it previously mentioned that developers should not use NDK for Android apps just because they "prefer" C++ over Java, because they would greatly increase the complexity.

    Wait, did I mix up C# and C++? But from what I see, it is even more complicated to use C# for Android apps?
     
  8. ProjectInfinity

    ProjectInfinity Witch

    Messages:
    58
    GitHub:
    projectinfinity
    I voted Java, but not because it is "efficient" to learn. Instead I chose Java because it's far from dying and it opens you up for way more opportunities than C# currently does. Microsoft is looking to change that and make C# a truly multi-platform language, but they're still far from achieving that.

    But it all depends on what you want to do, if all you ever wanted to do was make Windows applications then C# is probably just fine for you. If you want to be able to make something that can run on most platforms out there with the least amount of effort, then Java is the right choice.
     
  9. xBeastMode

    xBeastMode Shog Chips

    Messages:
    0
    Is the performance of Java on Android apps better than C#? If there is a different I'll stick with Java.
     
  10. SOFe

    SOFe Administrator Staff Member PMMP Team Poggit Admin

    Messages:
    1,968
    GitHub:
    sof3
    More like they are trying to make it a multi-Microsoft-platform language.
    Android doesn't really run apps in Java. Apps are written in Java, but then compiled into .class, .jar then .dex (or .jack then .dex as of Nougat). .dex is bytecode in the Dalvik VM. Therefore, please note that Android is not really Java, and it does not offer some features in Java (e.g. SecurityManager, or some normally-builtin libraries)
    C++ is probably slightly faster for CPU-intense apps (not very sure), but according to Android Developers, C++ gives negligible performance boost. It appears that Java is almost as fast as C++ on Android.
    I have never heard of official support for C# in Android.

    Nevertheless, Java is still a truly multi-platform language. Even better than C++. Not only that C++ has different formats for bin distributions and Java only has .jar (this is kind of unfair comparison anyway), but also that on some systems some functions are different for C++. See this directory for example.
     
  11. ProjectInfinity

    ProjectInfinity Witch

    Messages:
    58
    GitHub:
    projectinfinity
    Not sure if you're trying to be snarky, but they are doing more and more for the Linux stack and there's the official leak of Visual Studio coming to Mac (though it is just rebranded Xamarin).. Oh and not to forget SQL Server coming to Linux. They're at least doing something. It'll take time, but they are on the right track.
     
  12. xBeastMode

    xBeastMode Shog Chips

    Messages:
    0
    Now I am not sure which to pick, both have advantages and disadvantages.
     
  13. ProjectInfinity

    ProjectInfinity Witch

    Messages:
    58
    GitHub:
    projectinfinity
    Perhaps if you gave us an idea of what you wanted to create then we'd be able to answer it better. Because applications can be made in both languages for both Android and Windows and so can games (remember, Minecraft for PC is Java). The main difference is that with Java you will not have a problem with making your application or game available on Mac and Linux in addition to Windows. With C# that becomes more problematic though not impossible.
     
  14. Tux

    Tux Silverfish

    Messages:
    16
    GitHub:
    minecrafter
    Either one will work fine, however you should prefer C# if you prefer working with Windows.
     
  15. SamGamgee55

    SamGamgee55 Creeper

    Messages:
    4
    C# because Java is a cesspool of security holes.
     
  16. TheKnightGamer

    TheKnightGamer Spider Jockey

    Messages:
    43
    GitHub:
    Jean-TKG
    Learn C# because if you do you will know java and C# together because C# is just an andvance code language base off java.
     
  17. xBeastMode

    xBeastMode Shog Chips

    Messages:
    0
    No you won't. C# has a different Api than Java.
     
  18. robske_110 (Tim)

    robske_110 (Tim) Wither Skeleton Poggit Reviewer

    Messages:
    1,342
    GitHub:
    robske110
    who voted brainfuck....
     
  19. ProjectInfinity

    ProjectInfinity Witch

    Messages:
    58
    GitHub:
    projectinfinity
    Are you sure you know what you are talking about?

    You're likely thinking of Java Applets which certainly aren't representative of Java as a language.
     
  20. SamGamgee55

    SamGamgee55 Creeper

    Messages:
    4
Thread Status:
Not open for further replies.
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.