Answer the question
In order to leave comments, you need to log in
Your opinions about C#(.NET) and Java in general and separately
I'm not sure at all here. I have been writing C# for 1 year. But I want to work in Linux, Mono is somehow not very attractive, but if there are arguments in its favor, write. I would like to hear your opinion about these technologies and what would be without holivars - only with arguments.
Answer the question
In order to leave comments, you need to log in
The experience of programming in java will suit you in many more places than knowledge of c # (and more precisely the .net framework, since usually speaking c # implies both the language and the development environment and libraries from Microsoft).
As I speak, java is both the web, and everything mobile (both old and new - android), and desktop, and games, and most importantly, cross-platform.
In the minuses - the sad policy of oracle, the owner of java as a technology and a pool of patents. And as a result, a vague distant future. But c# is 'holding by the throat' an even worse monster - microsoft ...
It's really hard to make an argument. Rather, you need to rely on what you still want to do and whose policy is closer. Personally, I write in Java, but I understand that C # is in no way inferior and it’s just stupid to holive. More or less now everything is transparent in the mobile platform market
If the ultimate goal that you specifically highlighted in the question is the transition to an open stack of technologies, then, of course, you need to start with Java.
My profile is dotnet, but the java experience is also good. And the projects on the github are finished and I have the same problem as you.
So, if you take Java, you can switch to some POSIX-compatible OS and continue to dig open technologies. Taking Java as a direct competitor to dotnet in the business environment, you can safely position yourself as a Java developer. You are about as likely to get a job as you would be if you were a do-networker.
I'll put in a good word for C#. Convenient development environment, good documentation, fewer bugs (how many times have you updated your JRE in the last month?). Lots of goodies in the language. Eats less memory. There are also disadvantages, you are tied to the enterprise once and for all
No one can answer this question better than you. But it is also worth remembering that the syntax is very similar in both languages, and if you also know how to use the language, you can switch at any time and without much difficulty.
My opinion, on-topic - Mono is not yet what you want to see, then why go in this direction? If Linux means definitely Java , or C++ , depending on your direction.
Arguments failed...
I chose Java and have no regrets. Openness, the ability to choose among several normal IDEs, a large ecosystem around the language. And, finally, more vacancies, there is always a demand, good salaries. By the way, the most difficult thing in the transition from one to another is getting used to writing method names with a capital (small) letter - otherwise the languages are quite similar, and jumping to another language will not be a problem.
There is one important difference between Java and .Net - the difference in the freedom of choice of infrastructure:
1. Java - code. As mentioned above, an open stack of technologies: choose the right IDE, choose the right library and go. 360 degree freedom. A huge number of large-scale projects are already in Java. Google, Yandex, banking software - Java.
2. .Net is a disadvantage. The path dictated by Microsoft. It controls what IDE you will write in, what library you will work with, etc...
Choose Java!
Spend one evening on python and life will change forever :))
5 years ago I had this - Delphi, 1C, Java, windows
Now Python, JavaScript, 1C, FreePascal / Delphi linux
Everything based on the task and the readiness of the language (libraries) for it solutions.
The most versatile python in this regard.
At one time I began to prepare for Java certification, but that NET and Java are practically the same, I use it only in specialized cases.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question