Thread: C#/vb/java

  1. #1
    Banned
    Join Date
    Oct 2004
    Posts
    250

    C#/vb/java

    I have been wanting to learn either C#/JAVA or VB for a while just incase i need to wip out a quik App wich one would you recomend ? or should i learn them all?

  2. #2
    Registered User Sake's Avatar
    Join Date
    Jan 2005
    Posts
    89
    Ideally you should learn them all. C# is by far the cleanest if you want to work with the .NET framework, otherwise VB will probably be the most productive. If you want good portability between systems then Java is your best bet at present.

  3. #3
    Registered User
    Join Date
    Sep 2001
    Posts
    4,912
    That is problably the most well-thought-out response to such a question I've ever seen - excellent first post! And I'd like to second everything Sake said - couldn't have put it better myself.

  4. #4
    Registered User
    Join Date
    Sep 2004
    Location
    California
    Posts
    3,268
    Honestly I dont see any reason to learn both Java and C#. They are both byte-code compiled languanges that run in a VM sandbox. Both languages have the same features, and are used for the same things. I chose to learn java, but my main reason was that C# was still very new at the time, and it only ran on windows. As I understand it now, C# can be run on other platforms as well, so this argument is no longer valid.

    Knowing what I know now, I would still choose java, but I'm sure there are many (especially on the C# board) who prefer C# instead. Maybe some people could even come up with some arguments on why it's beneficial to learn both languages. I bet I could learn C# in a matter of weeks now that I know java anyways

    As for VB, I'm not a big fan on the language. It only works on one platform, and there isn't a single thing it can do that C or C++ can't do. The only thing VB has going for it is that you can make simple windows GUI projects faster than you can with C. I would only learn VB if my job required me to.

    If you are looking for more things to learn, I would suggest the following long before I would suggest VB:
    SQL (not a programming language, but still essential in many programming projects).
    HTML/CSS
    PHP

  5. #5
    Registered User
    Join Date
    Sep 2001
    Posts
    4,912
    Honestly I dont see any reason to learn both Java and C#. They are both byte-code compiled languanges that run in a VM sandbox.
    Incorrect. C# is compiled at run-time, once. The second time it doesn't need to be compiled.

  6. #6
    UT2004 Addict Kleid-0's Avatar
    Join Date
    Dec 2004
    Posts
    656
    Quote Originally Posted by cgod
    I have been wanting to learn either C#/JAVA or VB for a while just incase i need to wip out a quik App wich one would you recomend ? or should i learn them all?
    I'd go with....Java, you'll have more self-esteem that way. A lot of awesome tutorials too! Think about getting the book called Head First Java by K&B it's the best book for Java.

  7. #7
    Registered User Sake's Avatar
    Join Date
    Jan 2005
    Posts
    89
    >Java, you'll have more self-esteem that way.
    How can learning Java give you more self-esteem?

  8. #8
    Registered User
    Join Date
    Sep 2001
    Posts
    4,912
    Don't take anything Kleid-0 says too seriously.

  9. #9
    Registered User
    Join Date
    Sep 2004
    Location
    California
    Posts
    3,268
    Incorrect
    I'm confused, which part of my post is incorrect?

    Java is compiled to byte-code which is then interpreted by the JVM. During execution, it is compiled to machine code by a JIT compiler.

    C# is compiled to IL which is then interpreted by the CLR. The CLR then compiles the IL to machine code.

    Java can't run without the JVM, and C# can't run without the .NET framework. Was I misled in my C# understanding somewhere? (Like I mentioned before, I've never used C# so my knowledge is all second hand).

  10. #10
    Registered User
    Join Date
    Sep 2001
    Posts
    4,912
    The only thing you have wrong is what you're imagining when you say, "The CLR then compiles the IL to machine code." Java is converted from bye-codes to machine code every time you run the program. When you run a C# program on a particular machine for the first time, it is compiled to machine code. But the machine keeps that, so a C# program is compiled only once, and only when it reaches the target machine. By contrast a Java program is compiled every time it runs.

    edit: I thought the same thing until I was corrected myself in a very similar thread.

  11. #11
    Registered User
    Join Date
    Sep 2004
    Location
    California
    Posts
    3,268
    Cool, thanks for clearing that up. Like I said, all my C# knowledge comes second-hand, so there are bound to be inaccuracies

  12. #12
    Registered User axon's Avatar
    Join Date
    Feb 2003
    Posts
    2,572
    Smalltalk! hehe, just kidding (or am I?); anyways, echoing some other replies above, I would also learn Java...once you know that, C# wont be a big problem. I knew Java and C++ fairly well when I started my first c# app, and had absolutely no problems. I seriously didn't have to look up a single thing, J# and c# syntax is so similar.

    some entropy with that sink? entropysink.com

    there are two cardinal sins from which all others spring: Impatience and Laziness. - franz kafka

  13. #13
    Banned
    Join Date
    Oct 2004
    Posts
    250
    There are rumours going around that C# is faster at running Direct X apps than C++ is this true will C# take over C++ for game development?

  14. #14
    Registered User
    Join Date
    Sep 2004
    Location
    California
    Posts
    3,268
    I seriously doubt that's true. You would probably get better answers to that question at http://www.gamedev.net/community/forums/ though.

  15. #15
    Registered User
    Join Date
    Sep 2001
    Posts
    4,912
    The statistics for comparing C# and C++ speed-wise vary considerably. I don't think anyone's going to argue that C# is faster than C++, but for a lot of stuff they can be quite close. You can find the occasional field in which C++ totally whips some, pun intended, ###. Specifically speaking for DirectX, I can say nothing more than bithub did.

Popular pages Recent additions subscribe to a feed