Answer the question
In order to leave comments, you need to log in
How to make the right choice between C# and Java?
Hello.
In the distant past, I was engaged in a waste of time. Namely - the choice of programming languages.
But over time, I chose 4 programming languages for myself. C++/C#/PHP/Python.
C# and Python were the most important.
Now I started to have new tasks, and I thought about whether to continue learning C #, maybe choose Java instead, or learn 2 at the same time.
In the beginning, I want to say what I think about these two languages.
C# is considered by many to be Microsoft's attempt to create its own Java.
The syntax of these programming languages is very similar. But C# has advantages in my opinion, delegates, events, properties.
But, unfortunately, Java's technology stack is wider and larger than C#. A simple developer probably doesn't care, but a developer who will be looking for a job in the future... After looking through the
vacancies, I realized that they demand less from a C# junior than from a Java junior.
Wikipedia has an article comparing C# and Java, and there is a very good quote.
Kik Redek of Microsoft considers C# to be a more complex language than Java. In his opinion, "Java was built to keep a developer from shooting himself in the foot", and "C# was built to give the developer a gun, but leave the safety turned on" (eng. "C# was built to give the developer a gun but leave the safety turned on").
On Quoro 1, a developer wrote that Java is more verbose, while C# is more precise and less verbose.
In general, I like C# more than Java. I started with C#, studied C#, practiced a lot, even developed some useful things. Java is more verbose, and yet it is a different programming language.
Initially, I had the following goals and objectives:
Development of desktop applications, development of client-server applications, game development.
All would be fine, C # is able to solve these problems. But now there are new ones:
Working with robotics (For this, I mainly study C ++ and Python);
Android programming;
Development of various devices. For example, recently, I was in the State Migration Service (in Ukraine) and made a passport. There was a sensor where you put your fingers, and it scans prints and punches through the base. There was also a special pen with which you draw your painting on the sensor, and it writes it into the database.
Okay, robotics can be omitted, since C++ and Python are better suited for this.
Programming for Android. There is Xamarin. But is it as efficient as Java?
Development of such things with sensors. It is unlikely that this can be implemented in C#...
What will I lose by learning C#, what will I lose by learning Java?
How to make the right choice between these two programming languages, or learn both?
Is it possible in principle to study these two languages at the same time, and how effective is it in my case?
Thanks in advance for your reply!
Answer the question
In order to leave comments, you need to log in
In the distant past, I was engaged in a waste of time. Namely - the choice of programming languages.
What you wrote is a terrible piece of shit.
And the fact that you study 4 languages in parallel... Because you can write hello world in 10 languages, no one will hire you. Only if you teach at a university for 20k.
In general, the answer is obvious, C # is most needed only in the Microsoft ecosystem, and there is only corporate garbage on it.
And Java has a JVM, mobile phones, 90% of test automation is done in Java, and there is Scala with Kotlin. Well, where without Spring
A simple developer probably doesn't care, but a developer looking for a job in the future...A simple developer - always looking for a job!
I’ll tell you from my own example, I’ve been programming in php and the laravel framework for more than two years, I always get a good salary, I always have a lot of work, I work remotely abroad, I know these technologies very well and I don’t worry, and people choose and pay me, because I’m a pro in exactly this.
If you want to take advantage of the JVM but don't like Java as a language, there are plenty of other options for the platform: Groovy, Scala, Clojure... I would recommend Kotlin. It is beautiful, comfortable, modern, and now many top companies are switching to it. Actually in terms of Android and backend development.
In general, a lot depends on specialization. As soon as you stop being scattered and decide what you will do professionally, then it will be possible to choose development tools.
I'm not a professional developer and rather, it's even a hobby. But I prefer to work with java. In no case do I want to belittle the possibilities of C # and even note that in the field of game development, c # is superior .. probably because there is a wonderful Unity engine that supports c #, js, etc. Although, in Java tcnm libgdx jmonkey and others.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question