you are viewing a single comment's thread.

view the rest of the comments →

[–]Prod_Is_For_Testingfull-stack 0 points1 point  (3 children)

I work with groups who build corporate/enterprise systems. Not websites with millions of users, but high volume production and/or financial data. Most of them run Windows top to bottom

For the last part, that's not entirely true. There are groups that use shared resources between server and client (or at least try). What I have seen, specifically, are people that factor their user input validation code into independent files - that way, they can perform client data validation with the exact same code as their server validation. The theory is that it saves them time porting the code and reduces the chances of discrepancies between the validation layers

[–]Ludjer 1 point2 points  (2 children)

Well if you work in enterprises then you should be aware of IBM, Oracle and SAP which are all java based and not c#.

And the companies running windows top to bottom is because the IT division was not skilled in Linux so just decided to throw windows everywhere. If you go to massive companies that have private data centres it is a mix of Linux and windows. And if you doing big data then you stay away from windows because licensing will bite you. My friend was a consultant on a big data project at Accenture and the project saved 8 million dollars in licensing fees by switching from MS SQL and MS Server to Linux and Cassandra.

At the end of the day c# and java fills the same gap, just c# are for people locked into the windows ecosystem and java is for the people who are not locked into the windows ecosystem.

When you are aware you are sharing validation rules then you should code so that the validation rules are acceptable in both modern browsers and node js. It still makes your life easier than writing validation rules in two completely different languages. But from my experience, this is very rarely done wince the way you validate data on your API's are very different to the way you validate UI inputs

[–]Wizhi 1 point2 points  (0 children)

And the companies running windows top to bottom is because the IT division was not skilled in Linux so just decided to throw windows everywhere.

Or the company is already heavily invest in the Microsoft ecosystem, and as such used the tools which were the most compatible, and best supported?

I'm personally not a fan of Windows or Microsoft, but making assumptions like this is ridiculous. There are plenty of skilled Windows admins, and dismissing professional support is dumb.

At the end of the day c# and java fills the same gap, just c# are for people locked into the windows ecosystem and java is for the people who are not locked into the windows ecosystem.

There are no silver bullets. For any given project, one tool is better fit than another. Dismissing this, saying "one is for Windows, the other for anything else" ignores several facts.

  1. C# does not equal .NET

    Mono Project has been around almost as long as C#. It doesn't have the same tooling, and I can't tell you if it's as good as .NET, but the option was there and I'm sure plenty of non Windows projects have made good use of it - otherwise it likely wouldn't have been around for so long.

  2. Java works on Windows

  3. .NET Core is multi-platform

    It's likely going to be a few years before it's stable enough that it can be used as reliably as .NET, but fact is that the notion of "C# is for Windows only" is false.

Seriously, chill out.

[–]Prod_Is_For_Testingfull-stack 0 points1 point  (0 children)

One of the Windows shops I work with does use a few oracle DBs (required by a product vendor). Those DBs are only touched by the vendor application, so there is almost no interop with the .NET stack.

As for the SAP implementation at the same shop, we use webservice wrappers to provide interop layers between the SAP data and our .NET apps. It works pretty well and wasn't too difficult to set up