- Embracing Linux. Beyond what's mentioned in the article, there's the Windows Subsystem for Linux, and the new Terminal app. Being able to run Ubuntu (or whichever distribution) natively on a windows machine, accessing the same file system, is huge for developers. The new Terminal app will make interacting with it even better.
- IDE dominance. Visual Studio (classic) combined with the .NET environment languages is very, very powerful. Visual Studio Code has taken web development by storm. A lot of what makes these two so powerful is Intellisense, which is extremely good at what it does. Compare this with XCode.
- Premium first party hardware. The Surface line of laptops / 2-in-1s / etc is at least as good as the recent Macbook Pros. They also innovated in an actually useful way (the detachable tablet on the Book), as compared to the developer-hostile "innovations" from Apple (replacing the escape key with a skinny phone, a universally reviled keyboard, etc)
I really have to give Nadella credit for the way this has all been orchestrated.
Anyone remember DEVELOPERS DEVELOPERS DEVELOPERS...?
EDIT: found a clip: https://www.youtube.com/watch?v=Vhh_GeBPOhs
But now the winds really have turned. MacBooks turned to crap, Windows laptops improved and we have WSL with perfect VS code integration. I recommend anyone to try WSL, install VS code, install its remote extension and then go to a git repo in bash and type "code ."
> Why should I invest in the Microsoft stack? I'm done. Microsoft is no longer a platform I will work on and I will recommend open source products and frameworks from now on.
> The Windows tech hegemony is a graveyard. XNA. Silverlight. WPF. DirectX. Managed C++. C++/CLI. Managed DirectX.
Android hasn't led to anything like a mobile Linux. Google took Linux, built Android on top of it, and now owns the mobile space. Apple did something similar using FreeBSD inside OS X.
Microsoft could use Linux in the same way.
I don't play too much in the MS ecosystem but from what I read they seem to have moved away from the embrace, extend, extinguish methodology. Which is a good thing.
Give them a perf improvement and they will love you!
Plus, Apple stuff just works. You still end up being an unpaid IT support for MSFT when you buy Windows machines for your loved ones.
Idk but if you're willing to break your privacy for one state, what's stopping you from breaking it for another?
>Keep your data within datacenters located in China with an Azure China account and stay compliant with international and industry-specific compliance standards. Access to your customer data is controlled by an independent company in China, 21Vianet. Not even Microsoft can access your data without approval and oversight by 21Vianet.
I said that selling point for Apple is just invalid.
Google, for instance, bragged on their blog to their real customers in advertising that they now buy a copy of everyone's credit card transaction history.
No nation forced them to do that.
What I'm saying is expecting Apple to have your back sounds meh.
Obviously, Mac doesn't need a subsystem for Linux because it's already a *nix and all the tools work there already. Microsoft was playing catch up, but they're starting to look pretty well caught up.
Now, this isn't to say Apple is doing poorly, obviously they make ungodly gobs of money and are usually the most valuable company in the world. My original comment was about developer mind share, though, which I think is swinging back towards MS after being thoroughly owned by Apple from, say, 2008-2016. By not making the developer experience a priority, I think Apple is losing ground that they didn't have to cede.
The entirety of Mac revenue is around 10% of Apple’s revenue. If it does lose the love of developers, it doesn’t make a difference.
That being said, I’m mostly all in on Apple - the Watch, iPhone, iPad, AppleTV, and soon AirPods Pro. But I don’t see any purpose for buying a Mac. My tooling and other apps would be the same and you have a lot more options at better prices on Windows.
* Keyboard quality (compared to macbooks)
* Low cost
* Good physical design if you choose the right brand (thinkpad carbon for example)
* Dark patterns push you hard to connect your account to a skype/xbox/microsoft live/whatever they call it these days account
* License key hell is still a thing
* Schizophrenic split between screens that work on high DPI displays and screens that don't. Sometimes in the same application.
* Too many versions of windows with features arbitrarily disabled depending on the version you have. Neither of these two laptops can enabled bitlocker, and no windows linux subsystem. Is all the code for bitlocker and wsl on my disk? I bet it is, just routed around with an `if version` branch.
* Crapware pre-installed
* Fairly crashy. On one if you put it to sleep with a full screen app open it wakes up with a black screen. Needs a hard reboot every time.
The first rule of buying a prebuilt system has always been nuke it from orbit and start from scratch. Sounds like this isn’t changing any time soon.
Compare that with and Debian installation, quicker, no dark patterns, and no crap. Fedora works too, AFAICR, but Ubuntu has gone already a bit the M$ way, it seems..
Also I wouldn't call think pad carbon cheapish
Microsoft Office, if anything, has gone completely backwards in regards to UX. On a fundamental level it 'just works' but when I started becoming more of a power user I found reproducible bugs, unexpected or inconsistent behaviors, and a complete lack of extensibility for creating / modifying docx documents programmatically in !C#.
By far my least favorite issue is the constant battle I have with locale - I'm not sure if the document creators local was set to EN-US or if my system config is not correct, but every time I try and force the document to EN-AU it seems to switch back seemingly on a per-section basis or something. The most amusing side effect of this is the 'Read aloud' voice changing gender mid sentence but the amusement is quickly offset by it deciding to auto-correct perfectly valid EN-AU spelling for its American localisation for the fifth time in a paragraph.
It also gets quite clever with detecting repeated formatting. Just like Word can notice when the part up to a colon of each enumeration item is bold and does this automatically, it can notice that the second column of a table is always the same language and can even change the keyboard layout accordingly. But overriding the language once for everything should stop all that, still.
I just encounter countless broken programs that don't really support that distinction (e.g. Chrome ignoring date/time formatting settings in its UI since UI language and locale are being conflated, some applications trying to guess the UI language based on the locale or even the keyboard layout (what thought was behind that, I cannot even guess). It's a mess, but mostly on the application side and probably because lots of cross-platform applications don't even know there is a distinction on some platforms (and gettext not knowing about UI language and thus using locale doesn't help either).
When I was working on a host where I needed two layouts (US-Dvorak + US-Qwerty for other users) I ended up solving the problem using AutoHotKey to hook all keys and send a different keyevent. It was pretty gross but it bypassed all the issues I was having in a convenient way.
Perhaps you could hook US symbols such as "$" and rebind to UK equivalents with AHK? Alternatively, creating a modified EN-US keyboard layout which has relevant key-symbols would also work / be less hacky, but probably require more effort.
And right now, there are some exceedingly-common things that are far too broken considering how many decades Microsoft has had to fix them. I’m sure we all have our lists but just off the top of my head...
- The complete inability of an OS named Windows to remember where any of its windows were a second ago, after you have the audacity to plug in a cable such as a dock or external monitor.
- An OS that drinks laptop energy from a giant straw, combined with an OS that is poor at restoring state when the machine inevitably runs out of battery in your bag and has to be rebooted unexpectedly when you open the lid.
- An OS and apps that cannot handle the extremely common scenario of a network outage or even a momentary blip. I will be spammed with a half-dozen login prompts from all over the place as punishment for the crime of briefly losing WiFi, as network disks and other apps all lose their minds. The OS also cannot auto-close any of these prompts when I reconnect.
- Core UI elements can become completely unusable. For example, I should be able to click the WiFi task bar icon at any time, yet at some point this menu will just stop working (its icon still highlights when clicked but no menu appears anymore!). Text is frequently cut off to the point where I am required to hover for a tooltip to even see what the rest of the text says...assuming that a tooltip has been implemented.
- The OS still completely disrespects its users. Completely unimportant windows will appear right in the middle of the screen, blocking everything behind them, with no apparent way to close them or even move them.
Before they started creating business applications and operating systems, Microsoft was in the business of programming tools. Their first software was Microsoft Basic. Microsoft Basic was available on pretty much every major personal computer platform.
Thus in some sense this is Microsoft returning to its roots as a cross-platform programming tools company.
The language is named after its goal of being something easy to learn. It is a fairly contrived acronym, Beginner's All-purpose Symbolic Instruction Code.
I really don’t care for Windows 10 at all, and make a point of not running it on any of my machines (I am running Linux everywhere.) I keep checking and rather than getting better it often feels it’s getting worse. The fresh install experience is abysmal.
Is the “new” Microsoft really great? GitHub has been doing awesome, and I love Visual Studio Code, but as much as it pains me to say it they still have a long way to go. It feels like Microsoft, as large a company as it is, is in two places about many of these issues. I still have fears. Can I trust VS Code remoting? (It’s not open source, from what I can tell.) Hard to say. (I still use it, because it’s awesome. But, I have second thoughts every time. It’s hard to shake the feeling that maybe something is off.)
Just shell out some cash to support a proper IDE company like JetBrains.
Try plugging a USB stick with an ext2 partition into Windows 10. At least in 1803, you get TWO dialog boxes asking you to format the partition, with the default being format! In between is another dialog box with just one button. This is the new Microsoft, same as the old Microsoft.
Microsoft would prefer to have a monopoly on operating systems, but to the extent that isn't possible/allowed a duopoly with Apple isn't so bad due to Apple's "premium" focus and special hardware. It is clear that the first priority relating to Linux is to prevent new Linux users. While they would love to have a better reputation anyway, I doubt many people will be fooled for long.
The new Microsoft makes money well beyond Windows: billing running containers and Linux (or Windows) VMs, GB/month of Azure Storage, GB/month of outbound traffic, Visual Studio professional subscriptions, and so on.
It's a clever strategy. Managers usually won't care/understand about containers, runtime environments, Active Directory, APIs, libraries, etc., but developers/devops folks do. By addressing devs, Microsoft is getting quite a competitive edge (no pun intended) in the operational part of enterprises.
Microsoft salespeople already address managers in terms of solutions in manager-lingo (synergies, CapEx/OpEx, yada, yada).
What do you mean?
I propose universal opt-out environment variables (e.g. OPT_OUT_ALL_TELEMETRY=1, OPT_OUT_ALL_AUTOMATIC_UPDATES=1) that all software, not just MS's, should pride themselves in respecting.
They do have a lot of cool new stuff but MS is still the same old MS. Tried doing some RAID driver stuff the other day on a Win 2019 test box and wanted to get hit by a train. I have spent so many years in open source land that I forgot how painful it is to get help with obscure errors in Microsoft world. Installing a fresh OS takes what feels like forever, especially account provisioning and unchecking the dozen (literally) trackers/cortana/etc garbage. Simple things feel slow. The UI is clunky, and half the stuff you use is going ot be using a circa-last-last generation UI toolkit anyway so it all looks out of place.
But I use windows as my daily driver and what does work amazingly well for me is virtualbox and running a VM as my developer machine on it. I run Ubuntu server. And for developing, VS code has this amazing feature that allows one to connect to a remote and develop on it as if it's a local filesystem. This includes having extensions that interact with the remote too. This also means I don't do the whole shared folders dance with all its oddities around speed and syncing anymore. Honestly, it changed the whole windows dev game for me.
Once the new terminal for windows is actually v1 (not holding breath for that. Theres a lot of work for that. Its probably going to miss the winter v1 projection) I think the windows dev experience will be complete.
I don't ever see myself going back to Windows.
Other Microsoft products, sure. I prefer Atom but Code is a fantastic editor that has quite literally changed the game in web development. The acquisition of GitHub was incredibly smart. .NET core, etc.
They've made many correct plays over the last 5 years with the dev community - the problem lies in their core product...Windows.
We see MS making launchers for Android, and offering their products more and more cross platform (based on electron + web client). Even switched Edge to be Chromium based.
How long until MS makes a Windows launcher for Linux. As long as they can provide a consistent experience and offer their services, they don't seem to care so much about which OS they champion.
Until switching to that, I had assumed Microsoft incapable of producing something with excellent design/UX. Also it's open source.
Opening Microsoft software every day on my Ubuntu machine and feeling grateful they made it has slowly chipped away at my anti-Microsoft stance.
Still, I did prefer Borland Builder and do prefer Jetbrains Rider.
I still do not trust Microsoft at all.
Patent wars, appropriation of standards, locking out of competitors, underhanded business tricks, etc, etc. None of that has changed. It still continues.