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.

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

closed as off-topic by Ampt, Snowman, TZHX, GlenH7, MichaelT May 23 at 0:09

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – Ampt, Snowman, TZHX, GlenH7, MichaelT
If this question can be reworded to fit the rules in the help center, please edit the 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

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