DEV Community

Vincent
Vincent

Posted on

About Windows for devs

I've read days ago a #discuss about why people prefer to use Mac (or Linux in my case) for developing instead of Windows, starting a kind of evergreen "OS war", however, my question is: is it so bad to use Windows in dev? independently from what kind of dev you are (web, mobile, desktop etc.)

PS This in NOT meant to start another OS war, please don't, my question is only about real and justified reasons why Windows is not so recommended for dev, even because I'm not a Win user.

Latest comments (28)

Collapse
 
leob profile image
leob • Edited

The shell/terminal traditionally sucks on Windows (I believe it's getting better tho, heard that you can install BASH and it's usable, same for Docker) which would be a big deal for me, a lot of stuff you can't (or couldn't) do from the command line, you have to click through GUIs instead which is annoying ...

And many dev tools (node, npm, languages and so on) are developed first for Linux or OSX, then ported to Windows, so tend to be 'second class' with limitations (some stuff doesn't even run on Windows).

However like I said I do believe the situation on Windows is improving (including MS' ethics/mentality and their CEO) ... only hearsay though, because I haven't used Windows for more than 10 years.

Collapse
 
vgrovestine profile image
Vincent Grovestine • Edited

I'm a die-hard desktop Linux user and have been for the better part of 10 years. I've still dabbled with OSX and Windows 7/8/10 during this time; however, I come back to Linux because it fits my workflow.

At the office, I'm the lone Linux user in a sea of Windows/Office365-centric folk. At home, my machines are Linux and my wife's are OSX.

To each their own, I say. So long as the operating system doesn't get in the way, it makes no difference what environment one chooses to develop in.

#osAgnostic :)

Collapse
 
fida1989 profile image
Fida Muntaseer

I am currently using Windows 10 both at home and office for my Android development activities. It's just fine. Previously I used Linuxmint distro for around 5 years as my daily driver. Though I prefer Linux, but Windows does the job just fine. Just don't install unverified softwares and avoid unsafe websites to stay away from malwares.

Collapse
 
raventhedev profile image
Chris Raven

For me I use Arch Linux. The reasons are as follows:

  • Super easy to install and keep my languages and support packages up to date
  • The OS does not cost a cent to run, and runs much better than windows on my Laptop
  • The OS is easier to use, easier to maintain, and does not require cumbersome anti-virus to keep secure
  • The Bash command line on Linux is far superior (IMO) to the Windows command line
  • Windows uses a tonne of RAM to run, which takes away from RAM available for development
  • I can develop and setup the OS however I want without being limited or "controlled"

I love running [pacman -Syu] and getting updates for everything, instead of having to fight to update all the packages on Windows manually.

Collapse
 
pbeekums profile image
Beekey Cheung

I used to have a very strong opinion about developing in Linux. Since I've been too lazy to dualboot my current desktop and I play games, I've been developing in Windows for a little over two years.

It really doesn't matter most of the time. Most of what I do is in vagrant boxes which means my runtime is Linux anyway (so it has higher fidelity with production environments). Occasionally you get a nasty surprise (like having to use no-bin-links with npm), but it isn't often. In fact most of the annoying things are things that rarely need to be done (like manipulating host files). I save more time by not dual booting.

Most IDEs will run on any OS too so that doesn't matter much.

Collapse
 
linrstudio profile image
Linr

这个讨论不够严谨。因为 Windows 目前有 3 个主流版本,Windows XP/Windows 7/Windows 10。而 Windows 10 在我看来是最适合开发人员的 windows 版本。一来有大家在 Mac/Linux 上羡慕的命令终端(Linux子系统和 Powershell);其次 Windows 10 本身就有极高的生产力。就代码编辑器来说,VS Code 和 Visual Studio 已经是最好的编辑器之一了。如果要涉及一些设计的工作,也是有很好的选择。Sketch 的替代品也有几个,比如 Lunacy,Figma,当然还有 Adobe XD。另外设计师最喜欢的触屏做设计,加上 pen 和 dial,已经是最酷的了。我在一个较大公司的设计部门里做前端开发,很显然我的同事大都买 Mac 笔记本,特别是开会时就可以看到,清一色的都是。但是演示的时候经常要缩放一些东西,显得很不便,直到我拿着 Surface 去演讲过一次,他们惊呆了,觉得触屏在某些时候很方便。另外在演示一些 3d 的东西的时候也是很方便,Powerpoint 里面很方便插入 3d模型。前端开发往往有一部分设计的工作,比如在做 threejs/babylon 等 webGL 等项目的时候,比如在将设计稿用代码实现的时候。
无论是做移动端web开发,还是跨平台桌面的开发(如 electron,.net core),都能得心应手。Windows 还有很多玩法,vbs/hta/bat/cmd/jscript等,可以直接桌面环境里跑,注册表和组策略里面也可以定制很多功能,这些都可以在自动化任务里帮我们完成很多事情。
时代有些变化,Mac 已经不是最优开发人员的选择了,Surface 系列在我看来越来越适合开发。当然很多用 Mac习惯的人,他们只记得 Windows xp/Windows 7的各种麻烦,不知道 Windows 10的进步,也不会再回来用 Windows 了,这是事实。没关系,我们选择自己认为最好的平台做开发就好了,无需关心其他。当然如果你需要开发 iOS 程序,你真的需要被迫买一台 mac,这是没法避免的,只不过 Cook 在明年就会按下升级键,让你的 Mac 运行变慢,变卡,你需要更换一台 the new Mac😂

Collapse
 
muehan profile image
André

as a .net developer and gamer windows is the only OS i need. but if there is a reason to use Linux I'm also happy to dive into the Linux console. OSX has nothing to offer for me. Visual Studio Code with git bash as terminal is all I need for JS web development.

Collapse
 
twigman08 profile image
Chad Smith

I have tried both Linux and Windows as my primary development OS. For me I just stuck with Windows in the long run for my development. Mostly because it just already has what I need and supports it very well. What I use for development is supported on Windows very well so I just find it easier. Go to their website, download and install version needed. Done. Don't need to remember to do an "apt-get" or whatever you use. Don't need to remember or know what version is in the repo. I guess I never really believed I needed a package manager. Sense what I use is already supported really well I just find it easier to go to their website and get exactly what I needed that way. But maybe I'm just doing it wrong. I'll be the first to admit I could be.

Plus Microsoft has made great strides all around. I do use the WSL and love it for the times I do need to drop and use BASH commands. Plus the move and push of .NET Core and the .NET Standard you can easily go and use Linux or OSX all you want, if that is your cup of tea too. Microsoft has really improved and started to support developers all around.

Collapse
 
sake_92 profile image
Sakib Hadžiavdić • Edited

Windows OS is not bad per se.

Batch scripting is awful, PowerShell is not familiar to many users and it's kinda cryptic (I'll try to learn it).

Many programming languages are Unix-first since they use open-source stuff that is mainly made for Unix OS-es. Ruby, PHP etc. are in my eyes made just for Unix. Either they don't know/want/can port them properly to other OS-es.

Java and other JVM languages on the other hand are just fine.

All in all, I like Windows because I'm used to it. File explorer is great (e.g. I can't paste a path in OSX explorer to get to it, why?). Linux is great also, installation from CMD is great, you don't need to think about that stuff.

Collapse
 
jj1bdx profile image
Kenji Rikitake

For writing apps for Windows (desktop), writing apps with Visual Studio using C#, XAML, and C++ with .NET will be the fastest path. OTOH if you write a cross-platform app especially those which have some difficulties on running on Windows (WSL may help though), developing the app on Windows might be harder.