Apparently you never heard of J#.
Apparently you never heard of J#.
Developers are well aware that it would take minimal effort to make the languages compatible so they make little effort to port from one to the other. And Microsoft's problem is that the vast majority of these projects already target Java. If the languages were vastly different ports would be more interesting and fun to do, but since they're not porting is basically a boring and vastly annoying syntax conversion. Something annoying that nobody wants to do for free.
If Microsoft officially supported interop with native Java libraries I believe C# would take off like a rocket. Unfortunately, so far, Microsoft hasn't really sent out an olive branch to the massive open source Java community
Quantity does not matter, if the relevant libraries are there.
I do consulting mostly using JVM and .NET languages, Web and C++.
Never was a .NET project where I missed having access to a particular Java library.
I also greatly miss native database libraries when I'm using .NET. a large number, maybe a majority, of open source databases have an outdated buggy port to C# if anything. I will never forget the hell of integrating Lucene with C# because the port is bugged and close to a decade old. This is par the course for .NET
MS has a huge problem with lack of open source support unless you're stuck on the (IMO archaic) SQL Server+ Windows server platform.
Microsoft has fallen many years behind the times. Having to get a multi thousand dollar license for a server OS and SQL database is a joke. Their VM support outside of Azure is severely lacking and support for containers is junk because they're not based on Linux cgroups like everyone else. Windows as a server OS is as dead as OS/2 was 5 years ago. Linux won, by a landslide, and MS is too proud to just deal with that. Their software is severely crippled in server land as a result.
The type of customers I work with don't waste any second thinking about Oracle, WebSphere, Enterprise Architect or Visual Studio Ultimate licenses. They are a tiny water drop in the ocean of overall project budgets.
Outside the HN bubble, Windows servers are doing pretty well.
Containers are the new buzzword.
I could also say that Linux containers are junk, because they have quite a bit to learn from proprietary UNIXes experience and what IBM and Unisys mainframes are capable of.
Containers are hardly a buzzword, I would say more than half the fortune 500 run their systems exclusively in containers and that's only increasing. The last two companies I worked at were 100% containers for pretty huge fleets of machines. I don't know of a single large tech companies that isn't exclusively containers or at least KVM virtualized machines.
Mainframes are so past dead that they've resorted to haunting us. Mainframes (and SQL server and Oracle Db) are so behind that they make it illegal to benchmark their systems in license agreements. From the leaked benchmarks I've seen, a power mainframe CPU is maybe 10x slower than a single X86 core from Intel or AMD. Oracle Db is also about an order of magnitude slower than Postgres and MySQL which you can get for free.
I'm not trying to be a dick, just convince you that based on your beliefs it is you that is in a bubble :) . In fact the same bubble I used to be in (used to do consulting and shared a lot of the same opinions until I moved to different parts of the industry). That's fine if you still making $, but it's something to be aware of if you're looking around for other opportunities in different areas of the space
I work on postgres. And still: I wish.
Take a look at the typical server room at a typical small-to-medium business, and most servers (virtual or physical) you are going to find run Windows.
And a fair amount of those machines run Windows because they run some third-party application that is only available on Windows.
Much as I would like to agree with you on this, outside the cloud arena, Windows Server has a significant market share and will continue do so, even if it is only because of inertia.
> the (IMO archaic) SQL Server
Also, as much as I like Postgres, SQL Server is the one piece of software from Microsoft I really do like. It is very stable, offers good performance, and the fact that T-SQL offers a unified query and procedural language makes working with it fairly pleasant. It has its pitfalls (I once managed to paralyze our ERP system with a stuck transaction), but I strongly suspect other RDBMS have their own pitfalls.
The price tag on SQL Server makes me want to faint, when I think about it, but keep in mind that from Microsoft's perspective they are not competing with MySQL or Postgres, but with Oracle and DB2, which to my knowledge are at least as expensive, if not more so.
> MS has a huge problem with lack of open source support
Okay, this we can easily agree on. ;-)
Windows Server has decent market share because of inertia but I would bet money that it's in an irreversible decline. MS has been taking the unusual step of making their server software like SQL Server and .NET Core run on native Linux, so it seems they've seen the end coming as well.
I agree with you that SQL Server is a good product. Far better than other 'legacy' databases like Oracle and DB2. The problem is that the paid contract model is dying. There's tons of mature and free SQL databases, and for the average project you only need so many features. SQL is such a mature tech that most projects could use any SQL database. The differentiation is gone, so there's no longer a reason to pay.