I maintain a large-ish enterprisey system, most of which is written in C#. I use the functional features of C# every day. However, I would caution you against lumping all functional features under a single heading of "functional programming" because you can look at each feature independently and decide whether you want to use it.
For me, I definitely use immutability, both in combination with dependency injection for my service classes, but also in many of my data structures. For instance, I might have a module that pulls a bunch of state from the database and then organizes it into a projection, such as a forecast of material usage. That forecast is immutable. I then (optionally) have the ability to cache that either locally in the program, or cache it to the database, but when I bring it back it's still immutable, so that data with that ID never changes, and none of the consumers of that data need to worry about it changing. In some cases that means I can safely split the further processing of that data across multiple threads rather easily.
Also, LINQ is really just a ripoff of Lisp's S-expressions, and I find it extremely useful. If I have a list of anything, and I need to manipulate it into another form, then LINQ allows me to do that without loops and with less complexity. I generally still use loops for modifying data.
LINQ is really a combination of three features: 1) functions as first-class citizens, 2) lambda expressions/syntax, and 3) closures. These are very useful on their own. Being able to take a function as an argument is extremely powerful, and being able to define a function inline when you call that method, and have it capture values from outside that function in the form of a closure -- very powerful.
That doesn't mean there isn't a use for imperative programming, but when I see a colleague filtering a list of objects with a foreach loop, I just cringe. Just use a
Unless you fell through the map and the bottom of the screen and entered the real world that really has precious little to do with this.
Seeing as you don't know the difference between land and sea ice, it's safe to ignore your comments on this subject, as you have demonstrated your lack of fundamental knowledge.
The same MS which just released a massive update to its linux subsystem in Windows, incorporating all sorts of improvements, in order to appeal to the self same power users you mention?
I get that you don't like MS. I really do. There is a lot to criticise them for without resorting to making stuff up.
That makes no sense. So what if Edge is running in the background? If it's not doing anything it's not doing anything. Chrome also runs in the background on Windows, so I don't know what your point is, and I'm slowly suspecting you don't either...
Hardware acceleration is definitely up to the browser, and that has a huge impact on battery life and video performance. On my shitty AMD APU machine, Chrome chokes when playing video in the browser. For some reason Edge plays them with full hardware acceleration, removing the tearing and stuttering present in Chrome - with the same video. It's not as simple as you seem to assume it is...
Dev tools can do all that. You can break when elements change, etc., or have JS breakpoints wherever you want. You can even get a frame-by-frame trace of the app's behaviour should you want.
Because the two are not even remotely comparable. Are you seriously asking why we don't download hundreds of megabytes or a gigabyte or two VM image as opposed to 500KB of JS in a browser?
That's not what the rest of Europe is doing. A lovely scapegoat you've made, but not exactly based in truth. I'm sure you can find a couple of politicians who fit this description, but if you look how they got there and the number of decent politicians also there, your quip falls flat.
Or how about having a decent method of stopping all forms of extremism - that way when your chosen demon of the day ceases to be an issue, your entire system isn't wasted. Your knee-jerk reaction sounds like a good idea, but upon closer inspection it's anything but.
In order to dial out, it is necessary to broaden one's dimension.