A
A
Anatoly Ferisov2012-08-30 13:34:14
Java
Anatoly Ferisov, 2012-08-30 13:34:14

What do Java and .NET programmers develop?

I choose between С#/.NET and Java. Gathered a lot of information on both languages:

Java (Pros) - multi-platform, many vacancies (almost 3 times more than for .net), good salary (on average $ 500-1500 more than .net developers), android, the opportunity to get a job at Google, Oracle, Yandex, and so on.
Java (Cons) - its diversity (it seems to me that you can drown only in java - all sorts of jse, j2ee, j2mee, Swing, JSP, JSF, AXIS, JDBC, etc. on the one hand it's cool, on the other hand it's scary and very there is little good literature), the variety of IDEs (I also like VS2010 more than eclipse, I have not tried other IDEs), speed and its future (I read this article somehowand I thought a lot about the future of java, version 8 will be released soon, but there are only extensions, Microsoft is another matter, they develop C # and .Net very quickly and can speed them up even at the OS level.

C#/.NET (pros): C# language is better (more convenient) than java (I can't say for sure here but those who worked on both say that java does not have many C# features), VS2010 is very well done (2012 will be soon), a lot of good documentation, WinRT - can become the 3rd leading platform for both ios and android (WinRT will also be compatible with windows 8, and this opens up great opportunities for interaction between desktops and mobile devices), covers many areas asp.net, ado.net, game dev (games are also written in java, but I saw real vacancies only in C # / unity3D).
С#/.NET (disadvantages): Microsoft as a company (I don't know why, but I don't always like their policies), reliance on Microsoft products (MS sql, MS server, etc.).

Now the questions are:
What do Java and C#/.NET developers write and develop? (If possible with examples)
And did I understand the specifics of both directions correctly?

PS: I often saw that when a person asks which language to choose, they answer him - “choose what you like”, but how can I choose if I haven’t programmed before, and then languages ​​are similar.

PSPS: Maybe I missed something or maybe somewhere I'm wrong, I'll be glad if they convince me.

Answer the question

In order to leave comments, you need to log in

20 answer(s)
B
barker, 2012-08-30
@barker

I don’t understand at all when they ask “which language to choose”? Is it possible to select it once? Or are they burned on the forehead forever? Find an area of ​​interest and work in it. If you want to go mobile, there is one thing. The web is different. Enterprise is the third. Each one has to be considered. The differences in these areas are greater than in the languages ​​in each of these areas. Well, and so on. In any case, it is useless to advise this - everyone will say what he does and that's it.

T
TheEternal, 2012-08-30
@TheEternal

Not quite the right approach, in my opinion.
If I understand the context of the question correctly, then you, a graduate student with no commercial programming experience, choose what to study for further employment.
The offices that will hire you, most likely, will not have any illusions. You are a junior, demand is appropriate. Deep knowledge of a particular language is not required, and if it is written in a resume, they will not believe it. But they should ask how a List differs from a Vector, which works faster in what cases, which hash function seems good to you, how Map works, what is the complexity function, what is the difference, in your opinion, between good code and bad code, and so on.
In this case, it makes no sense for you to learn "Swing, JSP, JSF, AXIS, JDBC" - at most, you will need an understanding of what it is and why it is used. General ideas and concepts.
There is another problem: Usually, “experience from a year” is required. The question of where to get the first year is behind the scenes. So first you need to get settled and start gaining experience. In the process, you yourself will understand what is closer to you.
If we proceed from the above logic, then you need to study both in order to broaden your horizons. You will not be able to achieve a deep understanding stupidly due to lack of experience in real situations, but you will be able to interview for a wider range of positions (both Java and Sharp) - you will quickly begin to gain real experience.
Well, to answer at least something of what was asked. :)
Java is mostly the back-end of some "business logic" in the broadest sense. Starting from the engine of the online store and ending with the MMOG server.
Sharp - Either UI, under Windows, back-end to ISS, if such a nuisance happened that the site works on it.
PS. VS is an epic squalor, it can be called a development environment with a stretch, and it can only be used because there is nothing else to write stupidly in C ++ (well, we won’t seriously consider Eclipse, right?)

S
Sild, 2012-08-30
@Sild

Choose lisp and you will have lisp

A
Avega, 2012-08-30
@Avega

If you have not programmed before, then I can advise you to just look at C. Not for the sake of holivar, you can just get acquainted with such concepts as pointers and links. At least for this.
I just met people writing in C#/Java who don't understand what pointers are and how it all works.
As for what they write. So what the boss says, then they write) Is it more convenient to develop an interface under .Net, IMHO. Although at one of the conferences they presented some kind of Java framework for developing interfaces. Interesting at first glance. I can try to remember the name if you're interested.

A
asm0dey, 2012-08-30
@asm0dey

Visual Studio, according to reviews, is much worse than Java IDEs. Even with a resharper.

P
Pavel Tyslyatsky, 2012-08-31
@tbicr

First you need to say that good specialists writing in java, .net or another language are always in demand, but as I understand it, you still need to get to this point. That's why it's better to choose what your soul lies in :)
If you want to write a web, then it's better to try python or ruby ​​and also java script.
If you want to write system utilities, algorithms, then it's better to try C or C++.
If you want to write for mobile systems, then you can choose between java, objective-C, .net (you can also think about java script, but the advice is debatable).
If you want to write games, I won't suggest anything here.
If you want to write desktop applications, then it is better to try C ++, .net (only for Windows).
If you want to sit not on vend and write not only under vend, then it's better not to think about .net.
Regarding the IDE: java has eclipse, net beans, but I would advise idea (especially when you don’t see life without a vizhla resharper). By the way, all these IDEs are written in java.
Regarding the use: it is clear that .net is widely used by microsoft, while java is used, for example, by google. But I should note that in both of these languages, “some” outsourcing companies widely write so-called enterprise applications (probably most of the vacancies are theirs) whose code may have been in the hands of some Hindu tribes or is obsolete.
It's worth noting that the two languages ​​are quite similar, especially considering that many popular libraries exist for both java and .net.
Therefore, once again I advise you to choose what the soul lies more in. For example, at first I liked java and I started learning it, but then I had to work with .net, and now I'm switching to python. Or find a company where you want to work (and / or where there is a high probability of being hired), find out what they write there. Maybe also don't limit yourself to just java and .net. In any case, if you work hard and develop, then the choice of language essentially does not matter.

A
Andrew, 2012-08-30
@xaoc80

Java Enterprise - usually complex industrial-level network systems, such as banking or ERP
. Basically, these are WEB applications,
Java SE services - the client part for them or independent desktop applications, applications that can be run in a browser
For example, the MatLab interface is written in Java SE, Eclipse etc.
Java ME -
Java Android mobile java, here I think everything is clear
. I use java for android and a little SE. On Android I use Eclipse. But idea is also possible, it is a little faster.
If you start writing under Java EE, it is convenient to start with Net Beans

I
isergeymd, 2012-09-01
@isergeymd

the most sensible thing is to open a job site in your city and look at who is required, look at what technologies, what kind of projects, and already decide, look what is more, what is more interesting, and that’s it, the market makes the choice for you…

O
Oleg Karnaukhov, 2012-08-30
@BupycNet

Well, in general, I can’t objectively think too much, because. Linux user and we have only Mono and .NET in C# through Wine. Not much. At the same time, the variety of Java will give you the opportunity to write for Android, Windows, Mac and Linux. I'm thinking about studying like this.
Now I know Web languages, I study С++. Then maybe I'll read books on C. Then I'll read about Java and move on to Android development. Then I will link all this knowledge. For example, I will write a service in C ++ in conjunction with Ajax and possibly some parts in PHP if necessary. And all this will work with Android for example. Or multiple interfaces, web android, desktop, etc. In parallel, I will have C # at the institute. True, I'm moving the whole group a little towards Mono.
I would learn both if I were you. And something like C and C ++ is better. these are compiled languages, not virtual machine languages. When you know several languages, then you can in your right mind separate their areas of use and combine the best aspects of languages ​​​​in solving problems.

T
teremock, 2012-08-30
@teremock

Skill level has little to do with the tool (language)
Conversely, if you choose the "right" language, this does not mean that you will be a good programmer.
Toad is cross-platform - but you have to learn each platform to create a full-fledged application.
Seasharp is especially convenient for desktop business applications for Windows.

X
x2bool, 2012-08-30
@x2bool

Judging by what you wrote here, it will not matter what language to learn. By the time you level up, time will pass. And then decide. By the way, whatever is selected will be easy to skip. It's probably hard to come up with something more suitable for the transition.

G
gleb_kudr, 2012-08-30
@gleb_kudr

> tied to Microsoft products (MS sql, MS server, etc.).
For .net, the string is not fundamental. Both the database and the server can be taken open and free.

G
GalinaM, 2012-08-31
@GalinaM

Which is very typical - in such holy wars Net vs Java, the main argument against Net is always something like this

Microsoft as a company (I don't know why, but I don't always like their politics)

Note that more arguments against were not given, although they exist, but in order to understand them and operate with them, you need to be a normal specialist in both languages. And there are not so many such people - to understand both that and that time is not enough - you need to work. For clarity: I myself - on Net, Java never opened, so I can’t give any more sensible arguments.
“choose what you like”, but how can I choose if I haven’t programmed before, and then the languages ​​​​are similar.
- yes, they are similar, they compete and will develop and compete even when you choose something, learn it and start working on it. So flip a coin and get to work. In which case, switching to another language will then be much easier than learning the first one from the initial state.

G
Gregy, 2012-08-31
@Gregy

It is convenient to write systems for heterogeneous systems in Java, for example, you can see how much java has for ESB and SOA. Much is written for the Web, where a balance between performance and support is needed.

Y
Yaroslav, 2014-04-16
@kciray

Personally, I compared Java with other technologies for a very long time, read and re-read holivars for a long time, especially with C #, and came to the conclusion that Java is a little better and more promising. So if you choose from scratch, then Java is better.
But I also respect C# programmers, and I think there should be a competing technology that will drive Oracle to add new features. And in Java 8 they have come true, Java has caught up with C# in many ways.
So no offense to C# programmers. If you started learning C# - bring it to the end and you will be happy.
PS I myself do not almost regret that I chose Java.

O
Odissey Nemo, 2014-12-24
@odissey_nemo

In java, you can write everything that is written in other languages. And databases (via JDBC) and applications with forms (Swing) and graphics processing (via GDAL, for example). This is not counting WEB applications, for which Java is especially sharpened.
So, over the past 7 years, alone or in collaboration, they have written:
1. The core of a GIS system (rendering and spatial queries.
2. Preprocessing of satellite images (of any size through caching in pieces).
3. Fast median filtering of single-bit images.
4. WEB service for storing and displaying heterogeneous data, written entirely in Java SE, without any JavaScripts, Pythons, etc. But with the help of the Vaadin library.
The GIS core was written, in particular, in order to compare the speed of Java with C and Delphi. No speed loss was detected in the user's desktop application. Pieces of the map the size of a monitor screen were generated from vector data on disk in tenths of a second. At the same time, the memory remained of a constant size, regardless of the size of the data or simultaneously open maps.
Hence the conclusion: the programmer writes, but not the language he uses. And the choice of language for development is more influenced by the requests and conditions of the customer, and not by the predilections of developers.
It is probably more difficult to program in COBOL today, it is in Java, C [#] or Fortran, but this language is one of those that have ended their existence.

S
skywatcher, 2013-10-22
@skywatcher

fail on all counts

E
Eugene, 2014-03-16
@zolt85

A necropost, of course, but I'll say it anyway: you can code shit in absolutely any programming language.
By the way, have you made your choice? Time has passed, mother do not worry!

M
MaxLich, 2017-05-04
@MaxLich

stumbled upon this question by accident. The phrase "WinRT - can become the 3rd leading platform like ios and android (WinRT will also be compatible with windows 8, and this opens up great opportunities for the interaction of desktops and mobile devices)" - now it looks ridiculous.)

S
shaman4d, 2019-09-19
@shaman4d

Greetings from 2019 - "WinRT could become the 3rd leading platform for both ios and android"

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question