Hacker News new | ask | show | jobs
by noahl 2105 days ago
I think Microsoft's strategy (I work there, but I don't have any special knowledge of this) is to be the best possible platform for development in general, not just machine learning. That's why they bought GitHub, and it's also why they have WSL, remote debugging on Linux, etc. I expect they will go wherever they think developers want to be to achieve that goal.

I can see this hurting traditional Linux graphics systems and development tooling, but I think the main dynamic driving this is not proprietary-vs-open, it's Microsoft's ability to coordinate large numbers of developers, because they have a massively more united org than random hobbyists.

If you combined all of the efforts of all of the people working on Linux tools for the past 20 years and got them working on the same thing, it would probably be an amazing stack, and Microsoft would probably just support it. Instead, the open source efforts have been scattered among a lot of different ideas, which means there hasn't been a single windowing toolkit, IDE, or whatever for people to rally around and all contribute to. And as a result, Microsoft can show up, get a few hundred people pulling in the same direction, and have the market-leading product not through any dirty tricks, but just by putting in more coordinated effort than anyone else.

6 comments

Agreed - I will note however how badly Microsoft has bungled this same story on Windows itself. They went from a very high productive and unified development story in mfc/winforms to a super fragmented space.

I am getting going with WPF. (But that was then followed by maybe Silverlight? Then HTML with bindings?). Now we have been told that UWP is the big future (basically Windows Phone framework?). Gah! XAML? I mean, we went from a drag and drop unified and simple and extendable dev experience that was actually fast to develop into this GUI nightmare - all produced by ONE company with total command and control over their developers.

It tells you something that google web browser is almost a more stable and targetable platform than the native Windows platform (chromium / electron). I mean, that is desparation right there. At least someone was smart enough at microsoft to just give up on IE even on their own platform!

If QT had a bit of a simpler onboarding flow or linux was more unified I think there actually is an opportunity to actually be a good standard for line of business apps that want snappy responsiveness etc. But I just can't believe how badly Microsoft has screwed up their GUI story for the developers they claim to care so much about.

I think you forgot ASP.net, Blazor, Xamarin.Forms and MAUI. UI development with .NET is just incredibly fragmented.

If Qt had a good bridge to C#, they could probably get a lot of marketshare on .NET while this confusion lasts.

Add C++/WinRT to the mix, which dropped the productivity features of C++/CX, with the team that managed to kill it telling us to just wait for ISO C++ to catch up, while dealing with IDL files pre-.NET style.

Naturally the reception has been less than stellar and they are finally acknowledging that waiting isn't not an option and something is being discussed, however don't expect any improvements in 2020.

Haha! So true!

My thoughts exactly on QT! A good bridge to C# and a good "get a button on a page that triggers "onClick" quickstart workflow" and they'd be in a great position.

There is a lot of confusion on their site between QT creator, Design Studio, bindings, etc etc - so simplifying all that would be great.

They could target C# and (maybe) python (since it already is developed) for the windows story.

This puzzles me as well. Win32 is fine. If you download Dolphin Smalltalk or Corman Lisp or Free Pascal/Lazarus, they're still targeting Win32 for GUIs. Especially since, with Wine, Win32 GUIs are effectively cross platform.
What boggles the mind is the insane peoplepower they have poured into the redo redo redo here. They spin up huge documents on MSDN, platform toolkits etc.

Instead of trying to chase every random idea out there if they'd just gone deep on Win32 (now effectively x-platform) I think they could have gone a LOT further / faster. The new setups are also super complex and feel a lot more brittle by the time you build out all the toolchain.

Maybe my memory is going, but powering up VS and doing stuff was quick on windows in the past, now it's GB's of junk to just say hello world.

IMO replacing Win32 is needed but they do that too many times.
Just to throw my 2 cents in I appreciate having the choice between 10 mediocre programs (3 of which are actually quite passable!) vs. being tied into the one all-inclusive solution with maybe a few knobs to twist and that's it. That's what drove me away from Windows.
There are probably more tools for Windows then any other platform.
I guess it depends on what you're looking for but I'm happy with what I've got. But I meant more basic things like window managers and desktop environments. Systems like Debian just allow you to build things the way you want using the components you want.
> the main dynamic driving this is not proprietary-vs-open,

Some would say that's the whole point. Not which company wins, not even which standard wins, but that openness wins.

Of course the fragmentation strategy can be successful against such a push. It's bascially the oldest trick in the book. That doesn't mean it will win in the long run.

> ... "bunch of random hobbyists" ...

That beat Microsoft dead in the server market. In academic and scientific computing. How about the embedded market?

From my perspective the random hobbyists have Microsoft backed into a corner, with only their hold on a narrowing desktop market share remaining.

How many 0-days has Microsoft left hanging open for the better part of a decade while trying to figure out how to defeat open source software?

I think that if Microsoft focused on being the best of something they'd not have a problem right now. I think they focused on being the only of something, trying to make sure no one else could enter the market. I think now they're trying to use money to make themselves an asset in that market.

Those hobbyists know how to build tools they want; that translates well into server related stuff.

Microsoft knows how to build tools that untechnical people can use. They are the best at this; that's why they have the desktop market. If Microsoft can make user centric tools that have at their backend Linux tech, then they will have the best of both worlds.

Any idiot can click around Excel or Active Directory and get something good enough. That's what Microsoft is good at facilitating. If Microsoft can make the rest of the Linux stack as easy to use as visual studio code, then why should a random busy sysadmin or webdev bother with buggy Ubuntu? Windows 10 will have everything they need, with more convenience.

Microsoft isn't backed into a corner: you're resting on your laurels. They're about to Embrace everything about Linux that's awesome. Get ready for what comes after.

let's consider PowerShell for a moment. when it came out the bulk of windows admins noted as much as the command prompt changing its Color, and the bulk of Unix admins did not even pay a cent, cause they are so happy with existing Unix tools.

no one noted that PS is literally taking 'the best of Unix shells and then some', putting this on steroids which vastly simplifies all DevOPs and does so in a fairly structured-OO-fancy. Even even the worst PS1 program is practically more comprehensible than arbitrary /etc/init.d script. And it pumps objects, not streams that you need to through Regexes against to parse.

It's been very clear that MS is very well into the idea of embrace opensource, because there is value to it, which even blind opensource advocates can not properly evaluate and then put to work.

The non-developer crowd blindly believes that open source is about free software and daring David-vs-Goliath, but open software actually has cost, and this cost can be quite high. at the end - someone pays the bill.

For example - number of big organizations put money into Postgre and it's why it's still there. Put money in RedHat, do put money and effort for linux kernel, and I really hope Mozilla will transform soon to actually be able to sell some stuff. Opensource is key asset in this case but likely valued are the communities around it.

By no means is open software built by enthusiasts, the most fundamental parts opensource software are built by top-notch hard-core developers unmatched in their coding skills.

> no one noted that PS is literally taking 'the best of Unix shells and then some', putting this on steroids which vastly simplifies all DevOPs and does so in a fairly structured-OO-fancy.

This is a big thing on Windows, but not so much on Linux, where you have a number of languages available - you don't need to write all your scripts in Bash - a lot of my company's automation is written in Python, which is vastly superior as a programming language - and you don't need to limit yourself to what's built into the shell - there are dozens of small utilities that operate on streams that make your life easier. The self-contained approach of a shell-to-end-all-shells makes sense in the Windows environment (where "curl" is not an executable) and absolutely doesn't anywhere else.

Putting the whole .net library as available to use as well as any CLI tool is very interesting. The syntax is a slightly on the quirk side. But not terrible and it is consistent in its own logic.

To put it to someone who has not used PS it is like taking the entirety of the C/C++ runtime and whatever lib is in your libs folder available to use without writing a bunch of wrapper bits of code to use it. Then still being able to use the existing set of wrapper bits.

MS has lost the server space, and a good chunk of the developer space on desktop to opensource and macos. To expect them to sit back and not do something would be astonishing. Of course they are going to make software for those platforms. They make software even if they do not own the platform it runs on. MS sees software as a way to get things done. Sometimes in the opensource world people see it as a lifestyle decision. Those can coexist, because they are not against each other. They can complement each other.

This was how Xerox PARC and ETHZ workstations worked, and is a great idea that UNIX never grew to adopt.
Powershell is more akin to Xerox PARC REPLs than anything UNIX, besides the pre-configured alias.
True, the way PS passes objects is great and I really miss that on Linux now :)
PowerShell runs on Linux, too.
Sure it does but the OS integration isn't there so it's not nearly as useful.
Yeah, PowerShell is light years ahead of any linux shell. I wonder when will we see first linux distro that uses it as default shell.
You’ll have to elaborate on how PS is actually better rather than different
It brings the Xerox PARC and ETHZ workstations REPLs into Windows.

Basically everything in the OS is available for scripting, regardless if it is a DLL, COM, .NET library.

And the shell is a proper programming language with modules support and uses structure data as default.

This means you can easily make use of any OS feature or even automate existing GUI applications via COM/OLE, or their own libraries.

And there is an OS provided IDE as well, with integrated debugger.

So overall one gets a little closer to what the Lisp Machines used to be, just with a mix of .NET and native libraries.

Yes this would be possible in UNIX, but given the fragmentation and POSIX culture, it will never be adopted at scale for it to work the same way as Powershell does on Windows.

Its better because you are way more efficient because you do not parse strings. You can't argue with that fact.

Besides, everything that can be used with bash can be used with PowerShell. Opposite is not true.

Better. Much much better.

It has deep ties to Windows, which makes it very powerful, on Windows.

Windows users seem to be fond of its syntax, which is understandable considering how starved of languages they'd been for the past 40 years.

> Microsoft knows how to build tools that untechnical people can use

They have a pretty hit and miss history there. They got a few things (mostly) right and leveraged them from there. Every attempt they made to replace the hierarchical file system as a way to store files on your computer failed comically, almost as comically as Microsoft Bob or Microsoft Network.

> They are the best at this; that's why they have the desktop market.

One could say they did that by suffocating the competition with legally dubious tactics until they effectively had a monopoly on corporate desktops, which gave them the push they needed to leverage it into a de-facto monopoly on all things x86. Note that for anything that's not an x86 box they have approximately zero market share.

> Microsoft isn't backed into a corner: you're resting on your laurels. They're about to Embrace everything about Linux that's awesome.

I agree with you on that - they aren't going the way of the dinosaur quietly. They'll do whatever they can to gain relevance and force other players out of the market so they can enjoy a de-facto monopoly like they did before.

Plenty of Windows servers around my projects.
I know what you're saying but I still wanted to opine that I find Linux distros amazing stacks! The best stack I know off at least.
>I can see this hurting traditional Linux graphics systems and development tooling, but I think the main dynamic driving this is not proprietary-vs-open, it's Microsoft's ability to coordinate large numbers of developers, because they have a massively more united org than random hobbyists.

As one of the people using this wonderful free technology, I would like to actively state that I will fight MS and any other Tech provider remotely involved in destroying my most productive way of working, and trying to supplant me back into a machine that sells only advertising. I didn't pay for a machine to sell me advertising.

"Oh you can disable ads". Why should I need to?

On that note: >"If you combined all of the efforts of all of the people working on Linux tools for the past 20 years and got them working on the same thing,"

Why don't all car manufacturers focus on the same thing?

Why is there more than one company for anything then?

Shouldn't the government just run everything then?

Who needs competition and a free market?

But, really, the reason we all know deep down inside is:

Because if we did that we would end up with Microsoft, a company that builds AI to find novel ways of forcing you to interact with advertising, somewhat akin to a Black Mirror episode.