Why do some programmers prefer Windows over Linux?

Why do some programmers prefer Windows over Linux? by @rlnel

Answer by Ryan Nel:

Edit: Based on Hamed Zitoun’s comment. They prefer it because they have the luxury of using .Net.

I’ve worked for years on Linux systems, but after 3 years on the Microsoft stack I’m firmly convinced that Windows offers us the single most advanced development ecosystem in the world.

I can’t cover every benefit that you get from Data Analysis, modeling, R integration, C#, SQL, Development environment etc. But I’m going to try and give you a taste of the workflow that Microsoft gives you.

Sprint Planning on TFS

Let’s look at our workflow, we start by planning our Agile sprints on TFS. Our projects managers assign stories, track burn downs, generate reports and we go back to our desks with a set of tasks.

Starting Dev

When we open Visual Studio all of our work items (tasks) are there waiting for us.

Intelli Sense and Code quality

Before I even begin to change any code Visual Studio is telling me what I’m dealing with. I can see how many references there are to each function, the number of unit tests, code reviews, authors and even the number of times this function has triggered errors in production.

Daniel Turan’s image:

I can also rely on generated code maps and analysis tools to help me discover the logic flow of the feature I’m working on.

When I begin to write code I have the full support of the C# language and tooling which was designed from the ground up to give you the best possible intelli sense and real time code quality information and templating.

See Daniel Turan’s answer for more on this.

The ReSharper tooling takes this to the next level, check out there showcase for more:

ReSharper :: Features – The Most Intelligent Add-in to Microsoft Visual Studio .NET for professional software developers offers support for C#, Visual Basic .NET, ASP.NET, XML, and XAML, and provides refactorings, unit testing, and many more features

Converting a loop to a single line Linq query:

Debugging and Performance profiling

I won’t go into this too much as there is far too much to cover, but Visual Studio offers some of the best performance profiling and multi threaded debugging tools available.

Database Integration

Visual Studio is completely aware of SQL Server and bridges the gap between your code and your DB seamlessly. Through Entity Framework my models are kept constantly in sync with my DB which I design and update without even leaving Visual Studio.

This allows for some fantastic benefits like receiving JSON data from a HTTP push, mapping that down to a fixed datatype and inserting a row in your DB all in a single line of code.

Web Server Integration

Visual Stuido, C# and IIS work together like old friends. My web server settings for both production and dev are driven and configured entirely from a single code base.

Code Review

Once my code has been completed and I’m ready for code review I don’t even leave my IDE.

Ready to close a Task

Code reviews are done, unit tests are passing the testers have signed off and I’m ready to close my task. I push my code commit up, linking it to my tasks with comments. This puts a smile on my project managers face as another notch immediately comes off her down down chart and the task is marked as closed on TFS.

Deployments and Azure

I’m not even going to go into this, the benefits are obvious and deep. Having a development environment that is deeply integrated and backed by one of the worlds largest cloud environments takes things to a level that no one can compete with.

When you set out to start a new C# project this check box speaks volumes about how much Azure gives you.

TLDR

Microsoft is a company that charges a small fortune for its software environment and that fortune is what allows it to out perform and out compete any other open source product, not only in functionality but also in sheer scope and scale of their thinking.

It is an environment that’s completely aware of itself. Right down to the machine you’r working on and the user you have logged in as. You have access to all of it, and all of it is integrated seamlessly into some of the most advanced tooling in the development community.

Don’t get me wrong, I still love Linux and I always will. As a compute user you lose a lot when you buy into this Microsoft world (customization and control) but I know this much. As a developer, I’ve never been more productive.

Why do some programmers prefer Windows over Linux?

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s