I want to stop being a NEET and do something with my life besides sudoku.
Help me choose which programming language to learn: C# or Java?
You won't get a junior position by just learning a single programming language, anon.
The language is ultimately irrelevant, what matter are your problem solving skills.
I got a job as a C++ programmer without even knowing C++ (and my boss was aware about this).
C#. It's much more modern and streamlined, shit can actually get done in it. The libraries are decently well-designed, too.
Java's libraries are a nightmare and it's completely dependent on one of the most annoying virtual machines in existence.
Yes, I knew multiple languages at that point. And in that case, Java and C# is so similar it doesn't really matter which one you start with. The important thing is that you start with one of them and stick to it, and then broaden your knowledge by learning a different language.
I cannot help but agree with everything you said. I just feel that companies that ask for "Java developers" fish for degree holders more frequently because Java is taught in almost every CS curriculum, whereas learning C# and the accompanying toolkit requires personal interest.
You mean .net or c# per se?
Because c# per se ain't that good.
I'd take Java then.
But if you are a winfag and plan to use .net framework than I can tell you it has been open sourced. Also Visual Studio has been open sourced. And Visual Studio is a Masterrace IDE (I say this even though I'm a Loonixfag).
I think .net has been open sourced because Java became to dominant on the market and MS struggles on keeping .net cutting edge. You need lots of testing and users and that is what open source makes things so valuable.
So it does not really matter. I'd take Java if you not really sure if you want to make desktop, web, phone applications and would like to keep you doors open.
On the other hand, if you like to be guided and have an insane good IDE from start on, than take c#+.net. (but sure not c# alone)
Erlang. You should avoid languages that have a low signal-to-noise ratio. There are already millions of code monkeys that are better than you and willing to work for less.
Go Java OP. Its syntax is more "pure", no operator overloading, properties and other shit, you do things consistently. When you are aware of how stuff works you can later learn C# and enjoy the convenience features.
Also you won't have to touch the abomination called Visual Studio
>abomination called Visual Studio
lel there's shitload of people both on /g/ and in real life who say VS is actually good thing
Yes, it installs A LOT of obscure shit and it's not modular but it's very VERY god IDE
- bloated, no the MOST bloated software ever
- starts about 2 times slower than eclipse and is generally unresponsive
- lags for like 5 secs each time you start debugging
- can't delete project files on disc
- doesn't report errors when running without debug
- shitty project management system; no good list of past projects, always have to browse the drive
- shitty editor
- shitty 2-key shortcuts
- shitty debugging
- can't even fucking update auto-generated docstrings
And a lot more
- no Vim integration
- auto-completion sometimes suggest even shit like "Type t = new COMPLETELYANOTHERTYPE"
- holds your hand with formatting, have to change settings each time or it shits up existing files
- TODO view is buried somewhere deep
- doesn't show which files have errors
- retarded layout
Java has a wider market since C# is mostly used on Windows even though mono exists. Java is more portable and has been used by enterprises far longer.
However C# is a nicer, better designed language.
Yes, it is, but not so much: I think C# just provide facilities, and Java is very stuck because backwards compatibility.
What? Are you too lazy for just write getters and setters for a field?
What is the observer pattern?
No, Java has not them, but anonymous classes do the work, even though are verbose.
Yes, better, but type erasure just works fine and this approach to generics harm perfomance, oh yeah? Also, I've read in somewhere that was impossible to port Scala do CLR because some issue regarded to that.
>implying utility classes aren't the sufficient
>LINQ and SQL Like filtering in collections
Just a optional solution. Microsoft is just bringing the SQL style to query to programming. Personally, I prefer the stream + fluent API style in Java 8.
Shill all you want but (even?) Eclipse is way better than VS.
On a side note I use Eclipse for building, debugging, testing, refactoring and code generation, Vim and eclim for everything else. Eclipse is fine.
>Yes, it is, but not so much: I think C# just provide facilities, and Java is very stuck because backwards compatibility.
However what I also like is how easily I can call native code.
Also, providing facilities for actually useful stuff is not that bad and I kinda like the FCL better compared to Java's standard library. Although it has it's strange moments as well.
>read this post
>go to take a look in the FCL
>starts about 2 times slower than eclipse and is generally unresponsive
When did you last used VS? 2005? My community starts under 4 seconds and if you keep restarting your IDE daily honestly you'll waste like 20 seconds per day in 5 "start-ups".
How the actual fuck is this a factor when you pick a language again?
Nah, I was exposed to Java, before C#. I don't know, probably you are partially right and I'm just not used to it. Though as I said it was a lot less strange the last time I looked at it. Probably I would have to catch up on a few things if I wanted to be heavily competent in Java.
A thing I don't like about .NET is the fact Microsoft without any shame copied Java and all its ideas but locked it in Windows.
Even in the external things .NET copies Java: Prefer XML (which Microsoft like to call XAML), use C#-like DSL languages, etc...
Even in Windows Phone development it looks like to another Java enviroment: Android.
In Android, you basically write XML for your GUI and Java for the real stuff. In Windows Phone, you write your XAML for the GUI, and C# for the real stuff.
And yes, C# is more pleasant than Java. But I find Java a much more mature technology.
>In Windows Phone, you write your XAML for the GUI, and C# for the real stuff.
XAML existed before Windows Phones were a thing, by the way. But your point is valid. With that said, it IS an improvement over Java.
What language is Visual Studio written?
I've heard it is C++. If true... WHAT THE FUCK? HOW CAN VS BE SLOWER THAN ECLIPSE THAT IS WRITTEN IN JAVA?
Is Microsoft that incopentent in write efficient code?
>execution speed relies solely on the language it is written in
If you're comparing it with Eclipse Vanilla barebones no wonder it's faster. Try loading the equivalent functionality the default Professional edition provides with support for web pages, phone apps, UI design etc.
>he doesn't know that Microsoft just recently open sourced .NET
>he doesn't know about Xamarin
>he doesn't know about Mono
My post makes sense:
>C++ is a compiled language sometimes as fast as C
>Java runs in a VM written in C/C++
>Java has the overhead of running in a VM
>VS runs slower than eclipse, whereas VS runs on your processor and eclipse runs on a VM
>>he doesn't know that Microsoft just recently open sourced .NET
It will need years to become anything. If it will become anything.
Also will the different platforms that the open source version supports be supported by Microsoft or someone else for enterprise use?
>he doesn't know about Mono
Java is more mature across all platforms. Hell even sim cards run a primitive version of Java.
Java has been around for a long time.
>he doesn't know about Xamarin
Compared to VS it lacks a lot.
>Visual Studio and Eclipse are identical in implementation
>they have the exact same features, use the exact same graphic library with the exact same layouts, the exact same plugin system
That would be true if I could actually read a post anywhere other than yours. You're the only person out of 5 sources that I've asked today who's so vehemently against Visual Studio.
Either they are all retarded and you're a genius or you're shitposting.
I've never seen anybody point out things that VS does better than other IDEs. Have you even used VS yourself?
>Either they are all retarded and you're a genius or you're shitposting.
I'll go with them being retarded.
Not him but VS has a fairly good auto-completion and info-on-hover. The project panel is also painless to use.
On the other hand the compiler's error messages are worthless, it's really slow, and always 5 years behind.
About the info-on-hover thing, I've found eclipse to be better for that too. VS only shows faint underlines which are easy to miss, that stupid box doesn't always come up when you hover, and then you still have to click it which is very clumsy.
The completion on VS2010 is ok but sometimes it seems to shit itself and suggest totally irrelevant stuff.
>Java is more mature
I'll give you that. JVM has been implemented as a processor for java bytecode in embedded systems. That's pretty cool.
>Compared to Vs it lacks a lot
Xamarin isn't an IDE. It allows C# to be used in the development of apps for iPhone, Android, and WinPhone.
>A thing I don't like about .NET is the fact Microsoft without any shame copied Java and all its ideas but locked it in Windows.
Oh boy, here we go.
>Even in the external things .NET copies Java: Prefer XML
Maybe that's because XML is a concise and easy to parse markup language?
>(which Microsoft like to call XAML)
XAML is the markup language used to write UIs in WPF.
>use C#-like DSL languages, etc...
What the fuck are you even talking about? C# isn't a DSL language.
>In Android, you basically write XML for your GUI and Java for the real stuff. In Windows Phone, you write your XAML for the GUI, and C# for the real stuff.
But oh wait, that's exactly what WPF does, which was released in 2006.
>Just a optional solution. Microsoft is just bringing the SQL style to query to programming. Personally, I prefer the stream + fluent API style in Java 8.
Do you have a source in this.