4 ms·
This seems to sum up the article (and your response) pretty well: "Why the shortage? ....NET developers earn around $83,000 per year, but Java developers typic
by blacksmythe 15y ago
This seems to sum up the article (and your response) pretty well:
"Why the shortage? ....NET developers earn around $83,000 per year, but Java developers typically make more than $91,000."
- deleted 15y ago[deleted]
- deleted 15y ago[deleted]
- euroclydon 15y agoIt's not the eight thousand dollars. Trust me. Most schools teach OO in Java. HR departments and often times hiring managers just play keyword bingo. A good developer who knows Java will pick up C# just fine. Java, and it's ecosystem, are a little more difficult to use and master than C#, and IMO, warrant the extra average pay.
- dos1 15y agoI believe it's the other way around. C# is much more difficult to master than Java in my opinion. You have reified generics in C#, there's true lambda expressions, the dynamic keyword, named arguments, p/invoke etc. Many of these things make the language more expressive and powerful in my opinion, but also give it a much steeper learning curve to truly master.
- eropple 15y agoJava is a little more difficult to practically use because it lacks most of that. Writing clean, maintainable code in Java is a lot harder (for me, at least) than the same in C# (or even in Scala, and Scala seems to lend itself naturally to writing a mess). Also, let's be honest: the Java ecosystem is a mess in a lot of ways. One of the biggest pluses to the .NET world is that things tend to Just Work a lot more than in the Java world. Not that this is a huge deal (I work in Java, and handle it fine), but considerably more knowledge of the entire Java stack is often necessary than on .NET.
- sreque 15y agoI think Java is much easier to learn because the online documentation and community is superior to C#'s. I've also found that you can't understand the entire stack in .NET because that information is often just not available. You could argue that this makes .NET simpler, but we all know that software abstractions leak. When they do, it's nice to be able to peel the abstractions away. Oh, and Scala naturally lends itself to writing maintainable and bug-free code.
- eropple 15y ago> I think Java is much easier to learn because the online documentation and community is superior to C#'s. This does not match my experience in the slightest. MSDN is leaps and bounds better than the Java documentation and the available resources at places like Stack Overflow tend, in my experience, to be of higher quality and quantity. In this I find that C#'s lack of favor as a pedagogical language works in the C# developer's favor: there's much more signal to much less noise. > I've also found that you can't understand the entire stack in .NET because that information is often just not available. This is simply not true. There is very, very little information that is not available about .NET (largely derived from either reading the specs or inspecting the IL) and essentially nothing unavailable about the .NET libraries thanks to Rotor (for legally safe inspection of certain libraries) and Reflector (which poisons you for Mono contribution, but is a fairly accepted practice). > When they do, it's nice to be able to peel the abstractions away. You can, trivially. It is an indictment of the largely ASP.NET-focused developers mentioned previously that they do not, but it is not a difficult task. > Oh, and Scala naturally lends itself to writing maintainable and bug-free code. After some confusion from this statement I entertained, if unwillingly, the thought that you are serious. Scala is no Perl with regard to its distaste for readable code, but it lends itself to ambiguous or stupid syntax (the inanity about "using what you like" for parens versus braces comes to mind as a minor quibble, the flinging of underscores throughout "idiomatic" code being a much greater one). To complicate matters, Scala's IDE support (even in IDEA, the best of a sorry lot) is horrifyingly bad. To what Scala lends itself, I have not yet been able to ascertain, but "maintainable" has surely not been an adjective I'd use. Partial credit for "bug-free" due to its tendency to encourage immutability, for which I am very thankful, but...only partial. I still have to read the byte-vomit. The best compliment that I can pay to Scala is that it is better than Java--damning with very, very faint praise. I'm praying that Ceylon or Kotlin comes along and deals with this insanity in an adequate manner.
- icefox 15y agoDon't forget that C# guys are usually Microsoft bred. Windows guys (in general) just can't seem to grok any other OS or command line tools while non-Windows guys can do ok in Windows (but they complain a lot about not being as productive as they could be). So hiring Java guys to do C# is probably easier than the other way around, but they might want more for the pain of having to deal with Windows. Edit: There are of course exceptions to this, but I have seen it too many times to not see believe it is the norm.
- CWuestefeld 15y agoWindows guys (in general) just can't seem to grok any other OS or command line tools I have to take exception to that -- or at least the specific phrasing. It's certainly true that most MS-platform guys don't grok other platforms. But I strongly disagree that they cannot do so, given a brief period to learn.
- kenjackson 15y agoAlmost everyone I know who does Windows dev work used to do Unix work. All you do in college is Unix. And most university recruiting is for Unix positions. Those .NET enterprise jobs don't recruit at colleges, but no college student knows C# or .NET or ASP.NET. My experience is these people typically transition over later in their careers.
- hello_moto 15y agoPerhaps it is the scope of the project. Java projects seem to be bigger than that of .NET. .NET tends to be internal apps while Java app could be like some sort of mother-ship type of application (or what people used to joke as the "Command Center" software) or huge integration project. Having said that, I agree that Java ecosystem is more difficult to learn. Many students during my college time prefer .NET because VS.NET Express makes a lot of things easier compare to Eclipse, Java, Ant, classpath, etc (forget Maven).