Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I face a problem nowadays, I have a really good book that explain OOP but it uses a language which I do not want to learn which is Java because my goal is to learn C#. And I don't know if I should understand OOP with Java at first and then learn C# or should I find any C# book even if the Java book is excellent in teaching OOP?

share|improve this question
The language syntax is similar and most OOP is universal but the idioms differ more substantially than the syntax. This is as much driven by framework differences as it is language differences. Without knowing the book you have its hard to give a good recommendation here. –  Jeremy Oct 14 '11 at 14:16

3 Answers 3

Java and C# are so similar, if you learn OOP fundamentals in Java, you can reuse your knowledge in C# almost directly. There are some differences but the OO concepts are implemented pretty much the same way. C# has several features which Java lacks (delegates, lambdas, LINQ etc.) but these you can learn once you are comfortable with OOP (since these are actually coming from the functional world anyway).

share|improve this answer

I first tried to learn OOP in C++, but it didn't click for me until I learned it in perl, because perl requires (required?) an explicit call to associate an instance with a class, which helped me distinguish between them. Then applying it to C++ was trivial. It doesn't really matter what language you learn a concept in.

However, if C# is going to be your first language, I would recommend learning OOP in C# if you can. It's enough to tackle without throwing two languages into the mix.

share|improve this answer

This question is to personal to have a simple answer.

In my opinion, OO is language independent but it use it's syntax is different for the different languages. Try to find a good one about C#.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.