Hacker News new | ask | show | jobs
by BF179580656B 4068 days ago
Microsoft is on par with Linux and BSD machines. Until you are reading all the source code, there's no point in switching to Linux or BSD if you're already using Microsoft. Microsoft has the best and robust tools for the job.
2 comments

Not quite... when I run into an issue with my Linux machine, I can trace the code all the way down to the kernel.

When I run into a problem with my Windows machine, I have to resort to random searches and hoping that someone else has seen it.

> I can trace the code all the way down to the kernel.

Maybe you can but do you? This requires not only figuring out how to compile your ENTIRE stack but also doing it AND figuring out how to debug each piece (since generic debugging tools are not the best). I understand there may be major issues that require this level of insanity but the rarity is so incredibly high and so few have enough domain knowledge to do it effectively that I don't buy this argument at all.

There's a level of understanding and debugging possible from reading the source without compiling/debugging that's not possible with access only to binaries. I'm a .NET/Windows developer mostly, and I've found myself consulting the .NET library reference source dozens of times over the past year. This has been useful, despite the fact I've never compiled it. Five years ago I would never have thought my work would require that level of understanding. You may be surprised how fast you can find yourself in areas where the internet doesn't provide ready answers when you start working on unusual stuff. You may also be surprised how fast you can figure out code that once seemed impenetrable when it's the next logical step in fixing an issue you desperately want solved.
> There's a level of understanding and debugging possible from reading the source without compiling/debugging that's not possible with access only to binaries. I'm a .NET/Windows developer mostly,[...]

I certainly agree with you but the claims of tracing the flow of execution down to the kernel? That's extreme in my opinion. Obviously there are times that's useful but for the majority of developers I can't imagine that's even as frequent as a rare occurrence. At least in my personal experience I only know maybe 2 people in my past experience who could actually do this. I just don't think the majority of developers know how to step outside of a few frameworks or languages.

At least Microsoft released the debug symbols for .Net back in 2012 so you've been able to at least trace through your framework's source for a while now :)

Yes, I have to do this maybe a couple times a year (tracking down weird KVM bugs, or figuring out poorly documented features)
What percentage of Linux users do you think have the capability or the desire to spend their time tracing calls through various libraries and kernel source?

When I run into a problem on my Linux machine, I typically have to do a lot of searching. More searching than I must do with Windows, because while there is generally only one Windows (at least relative to Linux), there are hundreds of Linuxes, distros and versions of those distros - many that are majorly different than the previous version.

Do you think it's easier for the average Linux user to find answers?

>What percentage of Linux users do you think have the capability or the desire to spend their time tracing calls through various libraries and kernel source?

A minority, to be sure. But ultimately I am worried about the ability possessed by myself, my team, and potential hires. Not that of the average Linux user not working on the problems I am working on.

The argument for how the ability to do this is beneficial is not predicated on general users being able to do it, but the people administrating the services in question being able to do it.

If you have the ability to do so, it's possible in Linux (or the other open source OS). It's simply not possible in Windows.

Whether or not that's a huge deal is up for debate, but you're not really attacking a part of the argument that's relevant to their original point.

Who said anything about average linux users?

We're talking about a product designed to be run on multiple servers, in a datacenter. At that level, you're generally talking about professionals.

I thought the average linux user was a professional user. So, I guess I'd like to know if you think that most pros actually take the time to start digging into unknown code versus just looking things up?

(edit: clarification)

Windows is not free software, so there is certainly risk in building out on a proprietary O/S.

Increasingly, many tools and environments work best on Linux - which is quite an amazing shift from a decade ago.