Is it difficult to switch from C # to java? What nuances should be considered in order not to learn the language from scratch? What is the best place to start and what common technologies should be learned?
Closed due to the fact that it is necessary to reformulate the question so that you can give an objectively correct answer to the party PashaPash ♦ 8 Oct '16 at 9:34 .
The question gives rise to endless debates and discussions based not on knowledge, but on opinions. To get an answer, rephrase your question so that it can be given an unambiguously correct answer, or delete the question altogether. If the question can be reformulated according to the rules set out in the certificate , edit it .
- Going for you is not difficult, but, in my opinion, the main question is not this, but in the other - do you need it? - Zowie
- Why embarrass a person? The language is good, demanded. And in general, the more you know, the better from all points of view. - skegg
- 2@AlexWindHope, it is useful for any good programmer to periodically learn some unfamiliar language, at least for information. - Nofate ♦
- 3learning languages that implement other paradigms is doubly useful - Specter
- 2What are you attached to a person? Well, he needs to. By job required. Or the soul requires. Or the salary offered above. Empty goes where he wants. Let him teach what he wants. ))) - skegg
4 answers
Going is not difficult, the languages are pretty close.
How else to learn, if not from scratch? Take a tutorial and read. Fundamentals of syntax, principles of OOP implementation in Java, main classes and their elements. What exactly to specialize in is already decide. Probably, you need to pay special attention to network programming and databases, it seems to me that now is the most popular. And the creation of a GUI is also probably worth a look.
I will bring my 5 kopecks to Java vs. Holivar. C #
One of the fundamental differences between C # and Java is the virtual keyword - the need to manually declare virtual functions, that is, functions that are associated with runtime. In Java, all functions (minus naturally static) are virtual. And in C #, you need to declare it and still keep track of what class they overlap (override).
To whom as, and Java because of it seems to me more pure and clear. Of course, you can argue :)
If you know C # well and are familiar with the so-called language-agnostic programming, it makes sense to immediately read several books on the in-depth Java series.
I once read Effective Java.
Well, after that everything is at your discretion, one more or less adequate open-source project should be enough to finally consolidate the knowledge gained.
I also recommend carefully studying some examples of good projects , for example, I really like how Google Guice is written .
The complexity of the transition will not be in the development of a language but in the study of technologies, frameworks. In .Net everything is in one copy, there are many frameworks in the JAVA world, there is almost no documentation in Russian. You go to the bookstore and see that in C # .Net there is EVERYTHING in Russian! and for Java only language constructs. = so that I would not advise. Swim along the stream that is already floating;)