1. Check hardware compatibility _before_ you order your laptop. Intel video drivers and wifi drivers are open source and reliable. Stay away from Broadcom, and unless you plan to do gaming, stay away from Nvidia (tho modern Ubuntu makes nvidia pretty darn easy). 2. Pick a DE (I recommend Gnome 3, but KDE is great too) and learn the shortcut keys. Expect a day or two of spinup time. If you go with Gnome, make use of the Gnome Tweak Tool and the super key shortcuts.
Good luck! This is exciting :-)
Frankly, I consider this table stakes for a competent OS and I don't understand why people put up with being deprived of this (especially devs): over the last decade I haven't been able to shake the feeling that almost everyone else in the personal computer market has been conned.
I remember following KDevelop progress hoping that one day it could eventually match what I already had available in Borland and MS tools.
(Of course none of this applies to personal computing, where I still don't understand Windows usage beyond the need for niche software).
Yet the majority of lab computers were running Windows 95/98.
UNIX was mostly used for the OS, compiler design and distributed computing classes.
Everything else, including graphics programming was on Windows.
Or any sort of GPU compute / machine learning. That is actually my primary reason for buying laptop with a dedicated Nvidia GPU - it sucks performance wise, that's to be expected, but at least I can play with both OpenCL and CUDA.
The newer AMD cards work very well with the mainline kernels and Mesa. (My desktop PC has an R9 Nano from 2015.) Haven't tried compute or Vulkan yet, though.
Of course, I work at Microsoft. That being said, many devs I see are open to or enjoy using Linux--myself included. I think, and hope, we'll see continued growth in support for it. Though, I have little to no influence over such things.
If we are talking about a beefy Xeon E5 workstation with 64 gigs of memory, you'll probably be able to assign more resources to the Windows VM than Visual Studio knows how to deal with.
Does the group working on Windows OS feel alienated at all?
I'd look at what the big names are, especially in paid versions as they have their business on the line, and check youtube or blogs for performance tweaks or maximizing performance, and see what those who use it day in and day out have found. There aren't any real benchhmark sites or articles I'd recommend, as it can be hard to distinguish unbiased reporting from advertising.
Personally, I would give the VMware products a trial (most have 60 day unlimited use options), but I'm also biased having been a VMware VCP5. Anecdotally, their performance (when set up properly) was better than when I ran VirtualBox or Xen.
Make sure all virtualization extension options are enabled in your BIOS, first off. Second, save some cores and RAM for your host machine. More cores is not always better when it comes to VMs, but this applies more to multiple VMs on a machine and CPU scheduling issues. Third, turn off any power saving features in the host software or guest VM. Things like CPU C states can be a silent performance killer. Fourth, make use of whatever metrics or utilities the software provides to see at the host and guest levels where the bottlenecks are. The guest may think it's waiting on CPU while the host is busy paging memory blocks on disk.
This very much depends on your machine. For example, I have an office machine running an older i7 with 16 GB of RAM. I give my VM's 6 cores and 8 GB of ram and I don't run into the issues you describe.
I also precreate the disk (instead of using dynamic) and shut off things that tend to be I/O intensive in Visual Studio, but once done I've not noticed a performance difference between it and native.
For the times you need Windows, there's always VirtualBox.
so i returned the XPS and ordered a new MacBook Pro. Sure touchbar is a gimick, and i dont like new keyboard even after so much time but its better then the alternative.
Latitudes lack that infinity display, sure, but at least I'm almost always using an external monitor anyway. Some of the other features are more subjective, but I also like the matte screen, better keyboard, camera on lid upper edge, support for a docking station, and so on.
Not so well on displays with non-integer scale factor (1.25-1.5x).
I've somehow managed Plasma & Qt apps to have acceptably sanely sized windows decorations and widgets, but failed to e.g. teach the browsers to calculate sizes correctly (e.g. make a block with `width: 50mm` to have correct size).
Biggest GNU/Linux problem is having way too much of the completely different solutions for the roughly the same thing that can't interoperate with each other.
There is a world of Windows software that is not POSIX and has viable business opportunity. I've been neglecting that because "OSX rules! POSIX or bust!" mentality. I am going to change my mindset.
Which is why GNOME and KDE to this day, still need to try to advocate to get more UI/UX developers involved into their projects.
RHEL/Centos is probably the most common distro used.
This is problem I have with a dual boot system, even with the ability to save state. Unless I absolutely have to, I'd rather keep running macOS's
That said, I understand not wanting to restart in order to get work done. However, I am looking at it with the perspective that I will be able to fully focus on the tasks at hand (ala Deep Work by Cal Newport), in a distraction free environment.
My plan is to try dual booting linux and/or using a Linux VM. I think the biggest hurdle will be changing my mindset. That is, looking for the OSX version of whatever it is I am looking for. Wrapping my mind around Linux... just Linux for as much as possible.
I am looking forward to using just Linux as time goes on. I need to ween myself off of a few things before I can make the switch completely... I did it when I went from win to mac.