C# or Java?

Discussion in 'Off Topic' started by Grantrithor, Feb 22, 2013.

?

Which language should I learn?

  1. C# aka D Flat

    81.3%
  2. Java aka Coffee Beans

    37.5%
Multiple votes are allowed.
  1. Grantrithor

    Grantrithor Member

    Messages:
    9,820
    Likes Received:
    11
    Trophy Points:
    0
    So I'm finally finished with programming in VB6, and to get ready for Computer Science in University I want to get started on an industry standard programming language. I'm thinking of learning both C# and Java, but I am not sure which language to do first. For instance, I know that with Java I can develop programs for any OS which supports Java, which also means Android Phones. Alternatively, C# can help as a stepping stone towards C++ and C, C# is developed by a company like Microsoft, so that means a much more powerful language than Java when I'm programming on Windows machines, plus I can learn the joy of how-to-port programs to Linux and from Linux to Windows, because I am sure it is a good skill toi have.

    What do you think? Now is the time to extend your E-peens. And to answer your questions, no I will not do something other that C# or Java. No, I will not do a language that only serves to draw fractals (looking at you Haskell). No, I will not do a stupid language like brainfuck. No, I will not do assembly because I have already tried. No, I am not planning on creating an erotic game based on the Unreal Engine once I learn how to code.

    edit: Fuck made the poll multi choice.
     
  2. Candles

    Candles CAPTAIN CANDLES, DUN DUN DUN, DUN DUN DUN DUN.

    Messages:
    4,251
    Likes Received:
    10
    Trophy Points:
    0
    Or, you could go straight into learning C/C++ instead of using another language as a stepping stone. It isn't hard at all, and it's what my university uses for it's programming course.

    I'd say go for C# unless you feel like you're going to use Java later on.

    Or Lisp, Lisp is good too.
     
  3. Fricken Hamster

    Fricken Hamster Mr. Super Serious

    Messages:
    3,620
    Likes Received:
    2
    Trophy Points:
    0
    Learn C and pointers first. Then do Java.
     
  4. LordDz_2

    LordDz_2 Strange things happens here

    Messages:
    2,956
    Likes Received:
    93
    Trophy Points:
    0
  5. flasche

    flasche Member Staff Member Moderator

    Messages:
    13,299
    Likes Received:
    168
    Trophy Points:
    0
    what hamster said
     
  6. Lawliet

    Lawliet Member

    Messages:
    869
    Likes Received:
    19
    Trophy Points:
    0
    Learn C and you already know half of java. Or that is what I have been told. C# is my suggestion since I just hate java a lot.
     
  7. McGyver

    McGyver Experimental Pedagogue

    Messages:
    6,533
    Likes Received:
    31
    Trophy Points:
    0
    C# is basically Microsofts' copy of Java, so you can't go wrong with either. Java is still a little bit more popular at universities. But if you want to prepare for CS learn C and have fun with malloc.
     
  8. MetricMike

    MetricMike Member

    Messages:
    52
    Likes Received:
    0
    Trophy Points:
    0
    Java is reasonably more popular than C# by a few metrics, but there isn't a terrible amount of difference between them. If you're going to stick with Windows, Microsoft has some awesome tooling for C# available (Visual Studio, XNA, blah blah).

    But since you say you're going for University that doesn't matter. By the time you finish, you'll be able to pick up languages in less than a month reasonably well. You are far more likely to be taught in Java and/or C/C++ than anything else and you'll be learning science-y concepts, not OS integration. Java will probably serve you better in that regard.
     
  9. ViroMan

    ViroMan Black Hole (*sniff*) Bully

    Messages:
    8,381
    Likes Received:
    4
    Trophy Points:
    0
    fucking malloc and free. lol use math to allocate specific amounts of memory then try to free them with math and get off by one error freeing extra memory.... yaye.
     
  10. Deiform

    Deiform Member

    Messages:
    2,492
    Likes Received:
    10
    Trophy Points:
    0
    It doesn't matter, they're pretty much the same language with a few syntax differences. They're both quite easy to pick up. C# is a better gateway to Microsoft web programming (ASP.NET/MVC) so if that floats your boat then go down that route.

    They're both an abstraction on C++ so you're asking if you should eat an apple or an apple.
     
  11. Brutos

    Brutos Administrator Staff Member Moderator

    Messages:
    3,385
    Likes Received:
    0
    Trophy Points:
    0
  12. ImSpartacus

    ImSpartacus nerf spec plz

    Messages:
    8,598
    Likes Received:
    7
    Trophy Points:
    0
    You dun gud kid, real gud.

    [​IMG]
     
  13. Jephir

    Jephir ALL GLORY TO THE JEPHIR

    Messages:
    1,409
    Likes Received:
    6
    Trophy Points:
    0
    I think that C# is vastly superior to Java. The differences between the languages are huge. C# has been updated throughout the years to keep up with modern language design, unlike Java which is a decade out of date.

    For example:

    In C# you don't need to specify the type of every variable - it's done automatically by the compiler:
    Code:
    var coordList = new List<KeyValuePair<int, int>>();
    In Java you have to specify the type of every variable:
    Also in C# you have lambdas, which helps to make event-driven code more readable:
    Code:
    player.Join += (sender, e) => { println("Hello C#"); };
    In Java you have to create an anonymous class:
    Code:
    world.addEventListener(new EventListener() {
        public void playerJoined(PlayerJoinedEvent e)
        {
            println("Hello Java");
        }
    });
    C# saves you a lot of typing and programming work with modern language features. However I have to agree with Candles and Hamster that you should learn C or C++ first. The reason is that these languages force you to deal with memory management so you understand what's really happening when you type a line of code. C# and Java abstract this away, so you're more productive, but you have a weaker understanding of what is happening on the computer. It is much easier to go from C++ to C#/Java than to go the other way. A lot of stuff like stack allocation, value types, and pointers are harder to understand if you don't start with C++.

    Also you could become an Empires Mod programmer if you learn C++.
     
  14. Brutos

    Brutos Administrator Staff Member Moderator

    Messages:
    3,385
    Likes Received:
    0
    Trophy Points:
    0
    ITT a ton of horrible advise.

    C++ builds on too many concepts that only make sense when you understand the fundamentals well. Please don't put an emphasis on languages. They don't matter at all, never have and never will. Algorithms, data structures, critical and analytical thinking are important. Learning another language after you know the fundamentals is trivial and a question like Java or C# doesn't not make any sense at all. Concept wise they offer pretty much the same with similar ecosystems.

    Or just disregard my advice learn the current flavor of the month shit, barely scrap by and turn into a CRUD monkey. Whatever.
     
  15. ImSpartacus

    ImSpartacus nerf spec plz

    Messages:
    8,598
    Likes Received:
    7
    Trophy Points:
    0
    Well, I guess that settles it. Java it is.
     
  16. Grantrithor

    Grantrithor Member

    Messages:
    9,820
    Likes Received:
    11
    Trophy Points:
    0
    Ha ha ha... no.

    Yeah ok I get it but I have to choose a language to learn the concepts practically, and I am not sure which language to choose, which is why I made the thread.
     
  17. McGyver

    McGyver Experimental Pedagogue

    Messages:
    6,533
    Likes Received:
    31
    Trophy Points:
    0
    Which is a good thing, since you should understand the fundamentals well.

    Sounds like propaganda by university professors. ^^
    All your critical thinking doesn't help if you don't feel familiar with atleast one language. And sooner or later this language should be C++.

    C++ is the most popular language for 30 years now and it doesn't look like it's going to change soon.
     
  18. ViroMan

    ViroMan Black Hole (*sniff*) Bully

    Messages:
    8,381
    Likes Received:
    4
    Trophy Points:
    0
    Although C is more popular.
    ﺠ_ﺠ
     
  19. Fricken Hamster

    Fricken Hamster Mr. Super Serious

    Messages:
    3,620
    Likes Received:
    2
    Trophy Points:
    0
    I don't think its possible to become familiar with algorithms, data structures, critical and analytical thinking without becoming familiar with atleast one language.

    Learning all thing stuff will make a lot more sense in C or C++
     
  20. Brutos

    Brutos Administrator Staff Member Moderator

    Messages:
    3,385
    Likes Received:
    0
    Trophy Points:
    0
    Thats why I linked SICP. Work through that book. Then learn whatever programming languages you want. There is a reason why that was the introduction into programming book at MIT for ages (They are doing basically the same program with Python now I read).
     

Share This Page