Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I move from Java to C#?

Tags:

java

c#

I know Java well. Which caveats and resources will help me cross to the other side (C#) as painlessly as possible.

like image 599
Steve McLeod Avatar asked Oct 17 '08 14:10

Steve McLeod


People also ask

Can you convert Java to C?

Yes, there's a Java to C source converter: a human programmer. (Reliability may be an issue, though.) If you really want to compile Java to C, you might try compiling Java to machine code with GCJ, then disassembling the machine code, then (somehow?) converting the assembly code to C.

Can I learn C after Java?

In order to become a good programmer in JAVA you should start from the language C because it is the most basic language and in order to understand the concepts of JAVA first you should learn C than C++ and after that go for JAVA.

Is it easy to shift from Java to C++?

Naturally, it would be easiest if the second course were also offered in Java, but learning to move from one language to another is a fact of life for today's software professionals. Fortunately, C++ has many features in common with Java, and it is easy for a Java programmer to gain a working knowledge of C++.

How long does it take to switch from Java to C++?

C++ to Java: 1 week. Java to C++: 1 month.


1 Answers

Biggest tip: go with the .NET naming conventions from the word go. That way you'll constantly be reminded about which language you're in. (Sounds silly, but it really is helpful.) Embrace the idioms of the language as far as possible.

There are various books specifically for folks in your situation - search for "C# for Java" in Amazon and you'll get plenty of hits. It's worth reading carefully to make sure you don't assume that things will work the same in C# as in Java. (For instance, in C# instance variable initializers are executed before the base class constructor body; in Java they happen after. Subtle things like this can take a while to learn, and are easy to miss if you're skimming.)

If you're going to be using C# 3, I'd get a book which definitely covers that - everything in C# 3 will be new to you. Gratuitous plug: my own book (C# in Depth) covers C# 2 and 3, but assumes you already know C# 1. (In other words, it won't be enough on its own, but you may want it as a "second" book.)

like image 86
Jon Skeet Avatar answered Sep 19 '22 14:09

Jon Skeet