JVM is still the best platform for any type of back-end application. It has the widest array of libraries, is proven to run on any type of hardware and comes standard on every OS and every cloud instance.
.Net is a great platform and all but it still hasn't done enough to really merit switching teams. Especially when you have Scala, Kotlin, Clojure etc to pick from.
But even if it does come “standard” on Linux. How many people actually count on the installed instances of runtimes and don’t install their own tested versions?
For instance, Python 2.7 comes on a Windows EC2 AWS instance.
I brought up Python as an example of a language that does come “standard” on “cloud instances”(and MacOS) but it’s an older version. Most people wouldn’t count on the bundled version of either.
We run nearly 2x more Windows Server instances than the next largest cloud provider, according to an IDC report.
¹ The story is Steve Balmer was very anti-open source and forbade most interop or support for Linux, so this only could start changing when he left in 2014.
² You always had Mono with is why Unity and GNOME could also use C#, but is was very niche outside of Unity.
Which still leaves me a tad confused, is the anger because c# is a propriety windows tech(I'm guessing from the responses - which btw thank you to the threads I don't respond to).
Things aren't "changing," they've changed already. .NET Core is more than stable enough to run on any major platform and has been for quite some time now. C#--especially the upcoming C# 8.0 with the new nullable reference types feature--is an excellent language that can handle anything you want to throw at it.
The hate comes from ignorance, pure and simple.
https://github.com/dotnet/cli/issues/3093
The data is supposedly anonymized, except sometimes (according to comments on above-mentioned issue) when it accidentally isn't. You can also disable it, except when the disabling mechanism is accidentally broken.
TLDR; Price was a big factor which only large companies could afford. Not everyone can be employed by large companies. This had a lot of secondary effects.
Back when I was learning code(early high school) it was qbasic, HTML and c++, once I was able to afford a cheap pc I learnt via scripting (for Ultima online free servers).
I guess it's a big difference between learning for a job and learning for fun(pre-job that is). Which it seems I have kept on the years after haha.
Thank you again :-)
I'm thinking perhaps I should take some primers on non windows coding, and the advantages there of. Anyone have any good beginners links (note I'm fairly adept at Java, .net, vb and such, just trying to find a good place - and reason - to learn something cross platform).
Pre:edit: I don't mean this to sound argumentative about platforms, just honestly looking for some good resources (and I'm fairly time constrained)
Either way, both are quite un-windows, and un-corporate, but used all over the place. I'm suggesting them because, as someone who hasn't been part of any 'corporate' ecosystem since Delphi (to the point where even Java is 'too corporate'), I've been meaning to dip into the 'less sexy' world of Java/Delphi/C#/.Net/VB just to find out what it's like.
I'd very much like to hear your thoughts if you decide to check out this side of the fence, so by all means do so and write a blog post about it (or send me an email and perhaps we could write a dual-author post about our respective experiences someday!).
I may have some automation things I can do at my work soon, I might write up a blog about that, interesting idea! (Queue the 'if I only had more time' chant haha)
The downside is that it's not a very mainstream language. The upside is that it's arguable one of the more 'unique' languages out there (alongside Erlang), and IMO just really fun.
Complaining about it is often brutally punished by more downvotes though, so beware!
I only write C# despite having tried a few other languages (F#, Python, Java, Elixir, etc) because I'm not prepared to invest the time in languages until the tooling is as productive for me as C#. I'm more interested in what I want to do than how to write it. Both C# and Java remain big in the market here in the UK and I believe in the US; you just might not find work at the cutting edge with them.
For me, my short term memory is too bad for languages without types and autocomplete on the level of JetBrains products.
I feel like C# specifically (I don't have any real Java experience) is a lot lower on boilerplate now and I can usually get a working prototype of something together in a day or two and it allows me to target games, desktop, mobile, Web, ML, etc. But it's not to everyone's taste and that's fine.
And a proper story for something similar to Swing, not even considering JavaFX here. There is Xamarin, but again, the platforms with Java compilers available.
And I am stating this as someone that works daily within .NET eco-system.
And I guess for you .NETduino doesn't count for .NET devs, because it isn't .NET as defined by specification.
Today your server is x64 and it's running Linux. Your client is a browser.
And plenty more.
It is not that is impossible to have them as .NET deployment target, just that right now, those industries don't care about it.
Now Cobol, there's a much better bet, because Oracle can't sabotage it and audit everyone using it to make a few bars of silver!
Outside HN bubble most companies are perfectly fine with its management.
In case you missed it, modern COBOL compilers, outside mainframes, target JVM and CLR as deployment targets.
And no one is jumping in into COBOL development courses.
Could you recommend good tutorials/manuals for developers with Java experience to learn C# (preferably without having to install Windows)?
On OSX, just use Visual Studio Code and .NET Core: https://weblogs.asp.net/dixin/c-8-0-in-depth-setup-c-8-0-and...
Edit: as to the reference to the last part of your comment, I have only been using what I knew to do the job I needed, I'm not a full time coder so I can't search the latest and greatest, another reason I picked this thread to ask :-)