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?
Printable View
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?
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.
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.
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
Incorrect. C# is compiled at run-time, once. The second time it doesn't need to be compiled.Quote:
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.
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.Quote:
Originally Posted by cgod
>Java, you'll have more self-esteem that way.
How can learning Java give you more self-esteem?
Don't take anything Kleid-0 says too seriously.
I'm confused, which part of my post is incorrect?Quote:
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).
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.
Cool, thanks for clearing that up. Like I said, all my C# knowledge comes second-hand, so there are bound to be inaccuracies :)
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.
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?
I seriously doubt that's true. You would probably get better answers to that question at http://www.gamedev.net/community/forums/ though.
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.